tango-app-ui-analyse-traffic 3.8.0-alpha.2-test → 3.8.0-alpha.4

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.
@@ -14,10 +14,11 @@ import * as i2 from "tango-app-ui-global";
14
14
  import * as i3 from "@ng-bootstrap/ng-bootstrap";
15
15
  import * as i4 from "@angular/forms";
16
16
  import * as i5 from "tango-app-ui-shared";
17
- import * as i6 from "@angular/common";
18
- import * as i7 from "@angular-magic/ngx-gp-autocomplete";
19
- import * as i8 from "../reactive-select/reactive-select.component";
20
- import * as i9 from "../../directive/magnifier.directive";
17
+ import * as i6 from "../../services/traffic-rvps.service";
18
+ import * as i7 from "@angular/common";
19
+ import * as i8 from "@angular-magic/ngx-gp-autocomplete";
20
+ import * as i9 from "../reactive-select/reactive-select.component";
21
+ import * as i10 from "../../directive/magnifier.directive";
21
22
  dayjs.extend(utc);
22
23
  dayjs.extend(timezone);
23
24
  export class ImageDocComponent {
@@ -27,6 +28,7 @@ export class ImageDocComponent {
27
28
  modalService;
28
29
  fb;
29
30
  toaster;
31
+ rvpsService;
30
32
  placesRef;
31
33
  selectIndex = 0;
32
34
  selectedTime;
@@ -67,13 +69,14 @@ export class ImageDocComponent {
67
69
  missedoptunityReason = [];
68
70
  countryList = [];
69
71
  pendingcount;
70
- constructor(service, gs, cd, modalService, fb, toaster) {
72
+ constructor(service, gs, cd, modalService, fb, toaster, rvpsService) {
71
73
  this.service = service;
72
74
  this.gs = gs;
73
75
  this.cd = cd;
74
76
  this.modalService = modalService;
75
77
  this.fb = fb;
76
78
  this.toaster = toaster;
79
+ this.rvpsService = rvpsService;
77
80
  this.form = this.fb.group({
78
81
  selectValue: new FormControl('') // Initialize as FormControl
79
82
  });
@@ -822,14 +825,14 @@ export class ImageDocComponent {
822
825
  const control = this.userForm.get(fieldName);
823
826
  return !!(control && control.invalid && (control.touched || this.submitted));
824
827
  }
825
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageDocComponent, deps: [{ token: i1.TrafficService }, { token: i2.GlobalStateService }, { token: i0.ChangeDetectorRef }, { token: i3.NgbModal }, { token: i4.FormBuilder }, { token: i5.ToastService }], target: i0.ɵɵFactoryTarget.Component });
826
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImageDocComponent, selector: "lib-image-doc", viewQueries: [{ propertyName: "placesRef", first: true, predicate: ["ngxPlaces"], descendants: true }], ngImport: i0, template: "<div class=\"card mt-3\">\r\n <div class=\"card-header mt-3 px-0 border-bottom-0\">\r\n <div class=\"custom-accordion\">\r\n <div class=\"custom-accordion-item\">\r\n <button class=\"mainheading pb-0 custom-accordion-header\" (click)=\"toggleAccordion()\">\r\n <div class=\"header-row\">\r\n <span class=\"img-direc\">Image Directory</span>\r\n \r\n <span class=\"divider\"></span>\r\n <span class=\"accordion-arrow\">\r\n <!-- Down arrow for collapsed state, up arrow for expanded state -->\r\n <svg *ngIf=\"!isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 1L5 5L9 1\" stroke=\"#071437\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 5L5 1L9 5\" stroke=\"#1b84ff\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n \r\n <section *ngIf=\"isAccordionExpanded\">\r\n <div class=\"col-md-12 px-5\" *ngIf=\"!hideDoc\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Examine individual footfall in gallery view with optimal sample images for detailed analysis.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div class=\"cursor-pointer\" (click)=\"closeData()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <div *ngIf=\"folderView\" class=\"card-body px-0\">\r\n <div class=\"scroll-container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of dateArray;let i = index\">\r\n <div (click)=\"getimages(i,obj)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n </div>\r\n <div *ngIf=\"!folderView\" class=\"card-body\">\r\n <section *ngIf=\"!imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <span *ngIf=\"backnav\" class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"img-direc ms-2\">{{folderDate | date:'dd MMM, yyyy'}}</span>\r\n <div class=\"ms-auto text-end\">\r\n <form *ngIf=\"!normalize && !clientData?.isFootfallView\" [formGroup]=\"form\">\r\n <lib-reactive-select \r\n [formControl]=\"selectControl\" \r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"datasets\"\r\n class=\"w-100 text-start\"\r\n (valueChange)=\"onValueChange($event)\">\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x px-0\">\r\n <ng-container *ngIf=\"this.headerData?.client !=='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.headerData?.client ==='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray.slice(0, -1)\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div *ngIf=\"normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata1\" src=\"./assets/tango/Icons/not-applicable.svg\" alt=\"\">\r\n <div class=\"nodata-title mt-3\">Data Not Found</div>\r\n <div class=\"nodata-sub\">Normalized data is not applicable</div>\r\n </div>\r\n <div *ngIf=\"!normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this image directory</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row px-0 img-traffic contain high-400px scroll-y\" *ngIf=\"!noData && !loading\">\r\n <div class=\"col-md-3 border-gray mx-2 p-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <section *ngIf=\"headerData?.client ==='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" >\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"revopTagging(obj)\">\r\n </section>\r\n <img *ngIf=\"obj.images.entryTimeImage&&!clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\">\r\n <div *ngIf=\"!obj.images.entryTimeImage\" class=\"no-preview\">\r\n <span class=\"mb-5\" >\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n <div class=\"row px-2 mb-2\">\r\n <div class=\"col-md-7\">\r\n <div class=\"py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{obj.tempId}}</span> \r\n <!-- <span *ngIf=\"selectControl.value ==='missedOpportunity'\" class=\"badge badge-light-success ms-2\">Missed Opportunity</span>\r\n <span *ngIf=\"selectControl.value ==='bounced'\" class=\"badge badge-light-success ms-2\">Bounced Footfall</span> -->\r\n <span *ngIf=\"obj?.revopsType || selectControl.value as value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall'|| !value ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion',\r\n \r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-5 text-end\" >\r\n <div class=\"py-2 mt-4\" *ngIf=\"!clientData?.isRevops\"></div>\r\n \r\n <div class=\"py-2\" *ngIf=\"clientData?.isRevops\">\r\n <section *ngIf=\"headerData.client ==='11'\">\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" (click)=\"revopTagging(obj)\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" (click)=\"revopTagging(obj)\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" (click)=\"backToView()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"ms-2 py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{Imagedata.tempId}}</span> \r\n <ng-container *ngIf=\"selectControl.value as value\">\r\n <span *ngIf=\"value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall' ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion'\r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </ng-container>\r\n \r\n \r\n </span>\r\n </div>\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isFirstImage() }\"\r\n [style.pointer-events]=\"isFirstImage() ? 'none' : 'auto'\"\r\n (click)=\"!isFirstImage() && previous()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M22.5 25L17.5 20L22.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isLastImage() }\"\r\n [style.pointer-events]=\"isLastImage() ? 'none' : 'auto'\"\r\n (click)=\"!isLastImage() && next()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M17.5 25L22.5 20L17.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row contain mt-10\">\r\n <div class=\"col-md-6 col-lg-6 col-xl-6\">\r\n <img class=\"img-src1\" [src]=\"Images\"\r\n (error)=\"Images = null\" alt=\"\" appMagnifier >\r\n \r\n <!-- {{myThumbnail}}\r\n <ngx-image-zoom\r\n [thumbImage]=myThumbnail\r\n [fullImage]=myFullresImage\r\n [magnification]=\"1\"\r\n [enableScrollZoom]=\"true\"\r\n [enableLens]=\"true\"\r\n [lensWidth]=\"200\"\r\n [lensHeight]=\"200\"\r\n ></ngx-image-zoom> -->\r\n <div *ngIf=\"!Images\" class=\"no-preview\">\r\n <span class=\"mb-5\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\" d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"row slider mt-5\">\r\n <ng-container>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.entryTimeImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.entryTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.entryTimeImage\r\n }\">\r\n <div>Entry Time1</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.entryTimeImage\"\r\n (error)=\"Imagedata?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageData('entry')\">\r\n <div *ngIf=\"!Imagedata?.images?.entryTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.staffEngagementImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.staffEngagementImage,\r\n 'border-gray': Images !== Imagedata?.images?.staffEngagementImage\r\n }\">\r\n <div>Staff Engagement</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.staffEngagementImage\"\r\n (error)=\"Imagedata?.images.staffEngagementImage = null\" alt=\"\" (click)=\"imageData('staff')\">\r\n <div *ngIf=\"!Imagedata?.images?.staffEngagementImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4 \" *ngIf=\"Imagedata?.images?.exitTimeImage && footfallDataShow !=='tracking-enabled'\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.exitTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.exitTimeImage\r\n }\">\r\n <div>Exit Time</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.exitTimeImage\"\r\n (error)=\"Imagedata?.images.exitTimeImage = null\" alt=\"\" (click)=\"imageData('exit')\">\r\n <div *ngIf=\"!Imagedata?.images?.exitTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>\r\n <div class=\"col-md-6 col-lg-6 col-xl-6 pe-0 mb-3\">\r\n <ul class=\"nav flex-wrap nav-dev fw-bold align-items-center\">\r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'tagged'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'tagged'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Tagged Info\r\n </a>\r\n </li>\r\n \r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'customer'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'customer'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Customer Info\r\n </a>\r\n </li>\r\n </ul>\r\n <section *ngIf=\"selectedTab === 'tagged'\">\r\n <div class=\"row mx-3 mt-5 mb-3\">\r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioNonShopper\"\r\n value=\"nonShopper\" [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('nonShopper')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioNonShopper\">\r\n Non Shopper\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioPurchaser\" value=\"purchaser\"\r\n [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('purchaser')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioPurchaser\">\r\n Purchaser\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioMissed\"\r\n value=\"missedOpportunity\" [(ngModel)]=\"selectedCustomerType\"\r\n (change)=\"onRadioChange('missedOpportunity')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioMissed\">\r\n Missed Opportunity\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section *ngIf=\"selectedCustomerType ==='nonShopper'\">\r\n <div class=\"row mt-5 mx-3\">\r\n <div class=\"border-gray-active1\">\r\n <span *ngFor=\"let obj of nonShopperList\" class=\"cursor-pointer\">\r\n <div class=\"badge mt-3 me-8\" [ngClass]=\"obj!==nonShoperType ? 'badge-light-default' :'badge-light-primary'\" (click)=\"selectnonShoper(obj)\" >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj!==nonShoperType\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj===nonShoperType\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n <span class=\"ms-3\">{{obj}}</span></div>\r\n </span>\r\n \r\n <div class=\"col-md-12 mt-5 pb-10\">\r\n <div class=\"form-group\">\r\n <label for=\"exampleInputName\">Description (Optional)</label>\r\n <textarea [(ngModel)]=\"description\" class=\"form-control mt-3\" rows=\"4\" placeholder=\"\"></textarea>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\" (click)=\"nonShopperSubmit()\" >\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='purchaser'\">\r\n <div class=\"row mt-5\">\r\n <form [formGroup]=\"userForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"row border-gray-active1\">\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">Name<span class=\"alert-required text-danger\">*</span></label>\r\n <input\r\n type=\"text\"\r\n id=\"name\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Enter Name\" autocomplete=\"off\"\r\n formControlName=\"name\" required [ngClass]=\"{ 'is-invalid':userForm.get('name')?.invalid && (userForm.get('name')?.touched)}\"\r\n />\r\n <div *ngIf=\"isInvalid('name')\" class=\"text-danger\">\r\n <div *ngIf=\"f.name.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact Number <span class=\"alert-required text-danger\">*</span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <select class=\"form-select ps-3 pe-8\" id=\"inputGroupSelect01\" formControlName=\"countryCode\">\r\n <option *ngFor=\"let country of countryList\" [value]=\"country.phonecode\">\r\n {{country.name}} ({{country.phonecode}})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <input type=\"text\" class=\"form-control\" (keypress)=\"omit_special_char($event)\"\r\n id=\"mobile\" autocomplete=\"off\" formControlName=\"mobile\" minlength=\"8\" maxlength=\"13\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('mobile')?.invalid && (userForm.get('mobile')?.touched)}\">\r\n <div *ngIf=\"isInvalid('mobile')\" class=\"text-danger\">\r\n <div *ngIf=\"f.mobile.errors?.required\">Contact Number is required.</div>\r\n <div *ngIf=\"f.mobile.errors?.minlength\">Contact Number must be at least 8 digits.</div>\r\n <div *ngIf=\"f.mobile.errors?.maxlength\">Contact Number cannot exceed 13 digits.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"email\" class=\"form-label\">Email </label>\r\n <input type=\"email\" class=\"form-control\" id=\"email\" formControlName=\"email\" autocomplete=\"off\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('email')?.invalid && (userForm.get('email')?.touched)}\">\r\n <div *ngIf=\"isInvalid('email')\" class=\"text-danger\">\r\n <div *ngIf=\"f.email.errors?.pattern\">Invalid email format.</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"location\">Location</label>\r\n <!-- <input\r\n type=\"text\"\r\n id=\"location\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Location\"\r\n formControlName=\"location\"\r\n /> -->\r\n <input type=\"text\" class=\"form-control mt-3\" id=\"location\" formControlName=\"location\" #placesRef=\"ngx-places\" ngx-gp-autocomplete (onAddressChange)=\"handleAddressChange($event)\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('location')?.invalid && (userForm.get('location')?.touched)}\">\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"age\">Age</label>\r\n <select class=\"form-select mt-3\" formControlName=\"age\">\r\n <option value=\"\">Select Age</option>\r\n <option value=\"Below 12\">Below 12</option>\r\n <option value=\"13-19\">13\u201319</option>\r\n <option value=\"20\u201330\">20\u201330</option>\r\n <option value=\"31\u201345\">31\u201345</option>\r\n <option value=\"46\u201359\">46\u201359</option>\r\n <option value=\"Above 60\">Above 60</option>\r\n </select>\r\n <!-- <div class=\"input-group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"left: 0.25rem;\"\r\n (click)=\"decrementAge()\"\r\n >\r\n -\r\n </button>\r\n \r\n <input\r\n type=\"text\" (keypress)=\"omit_special_char($event)\"\r\n id=\"age\"\r\n class=\"form-control pe-5 text-center mt-3\"\r\n formControlName=\"age\"\r\n min=\"1\" max=\"99\"\r\n />\r\n \r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"right: 2.5rem;\"\r\n (click)=\"incrementAge()\"\r\n >\r\n +\r\n </button>\r\n </div> -->\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"gender\">Gender</label>\r\n <select class=\"form-select mt-3\" formControlName=\"gender\">\r\n <option value=\"\">Select Gender</option>\r\n <option value=\"male\">Male</option>\r\n <option value=\"female\">Female</option>\r\n </select>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </form>\r\n \r\n \r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='missedOpportunity'\">\r\n <div class=\"row mt-5 mx-3 border-gray-active1\">\r\n \r\n <div\r\n *ngFor=\"let obj of missedOpportunityList\"\r\n class=\"nav-item nav-item1 w-25\"\r\n (click)=\"selectedTabs(obj.name)\">\r\n <span\r\n [ngClass]=\"selectedMissed === obj.name ? 'active' : 'active-normal'\"\r\n class=\"nav-link nav-link1 cursor-pointer text-nowrap\">\r\n {{ obj.name }}\r\n </span>\r\n </div>\r\n \r\n <div class=\"separator separator-double mb-3\"></div>\r\n <!-- Issue Badges -->\r\n <div *ngFor=\"let obj of missedOpportunityList\">\r\n <div *ngIf=\"selectedMissed === obj.name\" class=\"mt-4\">\r\n <span *ngFor=\"let item of obj.issues\">\r\n \r\n <span\r\n (click)=\"selectSubissue(obj, item)\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': selectedIssues.includes(item),\r\n 'badge-light-default':!selectedIssues.includes(item)\r\n }\"\r\n class=\"badge mt-2 me-2 cursor-pointer\">\r\n <span class=\"me-2\" *ngIf=\"!selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"me-2\" *ngIf=\"selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n </span>\r\n {{ item }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"mt-4\">\r\n <label class=\"form-label\">Description (Optional)</label>\r\n <textarea\r\n rows=\"3\"\r\n class=\"form-control\"\r\n placeholder=\"Enter comments\"\r\n [(ngModel)]=\"description\"\r\n ></textarea>\r\n </div>\r\n \r\n \r\n <div class=\"text-end mt-5\" (click)=\"submitMissedOpportunity()\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n <section *ngIf=\"selectedTab === 'customer'\">\r\n <div class=\"row mt-10\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Tagged Summary <span *ngIf=\"tagggedData?.status==='submitted'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M14.6668 7.38674V8.00007C14.666 9.43769 14.2005 10.8365 13.3397 11.988C12.4789 13.1394 11.269 13.9817 9.8904 14.3893C8.51178 14.797 7.03834 14.748 5.68981 14.2498C4.34128 13.7516 3.18993 12.8308 2.40747 11.6248C1.62501 10.4188 1.25336 8.99211 1.34795 7.55761C1.44254 6.12312 1.9983 4.75762 2.93235 3.66479C3.8664 2.57195 5.12869 1.81033 6.53096 1.4935C7.93323 1.17668 9.40034 1.32163 10.7135 1.90674M14.6668 2.66674L8.00017 9.34007L6.00017 7.34007\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> </span>\r\n </div>\r\n <div class=\"col-md-6 text-end\" *ngIf=\"tagggedData?.status!=='submitted'\">\r\n <span class=\"badge badge-light-warning ms-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10901_7795)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.13152 0.00142049C5.25855 -0.0175778 4.39195 0.154192 3.59222 0.504738C2.7925 0.855283 2.07892 1.37616 1.50131 2.03099C0.923703 2.68583 0.495981 3.45885 0.248009 4.29608C3.70294e-05 5.1333 -0.0622095 6.01457 0.0656154 6.87834C0.19344 7.74212 0.508256 8.56758 0.988083 9.29711C1.46791 10.0266 2.10119 10.6426 2.8437 11.1021C3.58621 11.5616 4.42006 11.8535 5.28703 11.9574C6.15401 12.0613 7.03322 11.9747 7.86327 11.7037C8.0051 11.6573 8.1227 11.5565 8.19022 11.4235C8.25773 11.2904 8.26962 11.136 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81002 10.5997 7.6556 10.5878 7.51377 10.6342C6.61175 10.9287 5.64338 10.9536 4.72742 10.7058C3.81146 10.458 2.98773 9.94825 2.35725 9.2391C1.72677 8.52995 1.31696 7.65221 1.17807 6.71354C1.03917 5.77487 1.17724 4.81607 1.57534 3.95473C1.97343 3.09338 2.61425 2.36694 3.4192 1.86449C4.22414 1.36204 5.15823 1.10543 6.10689 1.12613C7.05556 1.14683 7.97756 1.44393 8.75983 1.98101C9.5421 2.51809 10.1506 3.27178 10.5108 4.14967C10.5674 4.28772 10.6765 4.39763 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28347 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.1085 2.64239 10.3596 1.7147 9.39677 1.05365C8.43396 0.392587 7.29915 0.0268946 6.13152 0.00142049ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.29253 2.30918 6.14946 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91227 7.29217C3.85701 7.34367 3.81268 7.40577 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.80247 7.98441 3.84458 8.04804 3.89799 8.10145C3.95141 8.15486 4.01503 8.19697 4.08507 8.22526C4.15512 8.25355 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.59368 8.18676 4.65578 8.14244 4.70727 8.08717L6.39777 6.39742L6.56277 6.23242V2.81242ZM11.2503 11.2499C11.2503 11.4488 11.1713 11.6396 11.0306 11.7803C10.8899 11.9209 10.6992 11.9999 10.5003 11.9999C10.3014 11.9999 10.1106 11.9209 9.96994 11.7803C9.82929 11.6396 9.75027 11.4488 9.75027 11.2499C9.75027 11.051 9.82929 10.8602 9.96994 10.7196C10.1106 10.5789 10.3014 10.4999 10.5003 10.4999C10.6992 10.4999 10.8899 10.5789 11.0306 10.7196C11.1713 10.8602 11.2503 11.051 11.2503 11.2499ZM11.0628 6.56242C11.0628 6.41324 11.0035 6.27016 10.898 6.16467C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16467C9.99704 6.27016 9.93777 6.41324 9.93777 6.56242V9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6495 9.74992 10.7925 9.69066 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V6.56242Z\" fill=\"#B54708\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.2409 3.07775C11.1762 2.96171 11.1078 2.84799 11.0357 2.73674C10.7826 2.34623 10.4848 1.98631 10.1483 1.6644C9.91561 1.44184 9.66446 1.23744 9.39677 1.05365C9.39672 1.05361 9.39683 1.05368 9.39677 1.05365C9.23737 0.944207 9.07308 0.842748 8.90487 0.749705C8.7207 0.647828 8.53163 0.5559 8.3385 0.474192C7.64269 0.179813 6.8941 0.0180577 6.13152 0.00142049C6.13149 0.00141983 6.13155 0.00142115 6.13152 0.00142049C6.08778 0.00046929 6.04397 -5.01265e-06 6.00027 3.99426e-08C5.19726 9.28871e-05 4.40222 0.161386 3.66237 0.47452C3.63893 0.484441 3.61555 0.494513 3.59222 0.504738C3.42243 0.579166 3.25651 0.661273 3.09496 0.75071C3.00307 0.801577 2.9126 0.854814 2.82363 0.910359C2.33223 1.21713 1.88653 1.59427 1.50131 2.03099C1.11608 2.46773 0.797516 2.95704 0.554486 3.48291C0.433124 3.74551 0.330597 4.01723 0.248009 4.29608C5.51343e-05 5.13324 -0.0622004 6.01444 0.0655874 6.87815C0.065578 6.87809 0.0655967 6.87822 0.0655874 6.87815C0.193412 7.74193 0.508256 8.56758 0.988083 9.29711C1.14783 9.53998 1.32458 9.77027 1.51671 9.98639C1.90168 10.4194 2.34838 10.7956 2.8437 11.1021C3.33882 11.4085 3.87455 11.6404 4.43364 11.7917C4.71299 11.8673 4.99817 11.9228 5.28703 11.9574C5.31999 11.9613 5.35296 11.965 5.38594 11.9684C5.86275 12.0175 6.34254 12.0092 6.81514 11.9445C6.99265 11.9202 7.16915 11.8879 7.34409 11.8477C7.5188 11.8076 7.69196 11.7596 7.86302 11.7038C7.86294 11.7038 7.86311 11.7037 7.86302 11.7038C7.89127 11.6945 7.9188 11.6831 7.94492 11.6697C8.04995 11.6159 8.13615 11.53 8.19022 11.4235C8.21812 11.3685 8.23653 11.3098 8.24524 11.2499C8.25761 11.1649 8.25046 11.0774 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81011 10.5998 7.65579 10.5878 7.51404 10.6341C7.51395 10.6341 7.51413 10.6341 7.51404 10.6341C7.43563 10.6597 7.35645 10.6833 7.27711 10.7049C7.16292 10.7359 7.04786 10.7626 6.93215 10.7851C6.88016 10.7953 6.82804 10.8045 6.77581 10.8129C6.49267 10.8585 6.20633 10.879 5.92014 10.8743C5.84832 10.8731 5.7765 10.8704 5.70476 10.866C5.60998 10.8602 5.51532 10.8517 5.4209 10.8404C5.37256 10.8346 5.32428 10.8281 5.27608 10.8208C5.09176 10.7931 4.90856 10.7548 4.72742 10.7058C4.59856 10.6709 4.47152 10.6309 4.34659 10.5858C4.02763 10.4708 3.7224 10.3231 3.43559 10.1456C3.40186 10.1248 3.36839 10.1035 3.33518 10.0818C3.05409 9.89826 2.79178 9.68556 2.55287 9.44658C2.48578 9.37947 2.42054 9.31029 2.35725 9.2391C2.20011 9.06234 2.05667 8.87512 1.92772 8.67908C1.92445 8.67411 1.92118 8.66913 1.91793 8.66414C1.7113 8.34749 1.54234 8.00807 1.41432 7.65286C1.30511 7.34986 1.2257 7.03536 1.17809 6.71371C1.17808 6.71366 1.1781 6.71377 1.17809 6.71371C1.1575 6.57457 1.14297 6.43481 1.1345 6.29516C1.1301 6.22253 1.12732 6.14989 1.12617 6.07729C1.11832 5.58257 1.18585 5.08961 1.3263 4.61545C1.39297 4.39036 1.47607 4.16951 1.57534 3.95473C1.7744 3.52403 2.03414 3.12706 2.34475 2.77496C2.3762 2.73932 2.40816 2.70413 2.44064 2.66942C2.72893 2.36127 3.05749 2.09027 3.4192 1.86449C3.61995 1.73918 3.82874 1.62916 4.04379 1.53492C4.2051 1.46422 4.36993 1.40241 4.53753 1.34968C5.00877 1.20143 5.50191 1.125 6.00027 1.12497C6.03579 1.12497 6.07133 1.12535 6.10689 1.12613C6.56965 1.13624 7.02621 1.21212 7.46315 1.34954C7.9219 1.49383 8.35919 1.70595 8.75983 1.98101C8.75978 1.98097 8.75988 1.98104 8.75983 1.98101C8.91447 2.08719 9.06247 2.20193 9.20295 2.32433C9.32789 2.43318 9.447 2.54816 9.55988 2.66877C9.67464 2.79139 9.78295 2.91982 9.8844 3.05355C10.0182 3.22986 10.14 3.41537 10.2489 3.60887C10.3086 3.71493 10.3644 3.82339 10.4162 3.93405C10.4455 3.99677 10.4736 4.06019 10.5003 4.12428C10.5038 4.13273 10.5073 4.1412 10.5108 4.14967C10.5107 4.14959 10.5108 4.14975 10.5108 4.14967C10.5674 4.28761 10.6765 4.39766 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28348 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.5517 3.72283 11.5518 3.72301 11.5518 3.72292C11.4834 3.55631 11.4077 3.39306 11.3251 3.23413C11.2978 3.18156 11.2697 3.12942 11.2409 3.07775ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.3121 2.32875 6.20124 2.2735 6.08246 2.25595C6.05548 2.25198 6.02787 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91245 7.292C3.90275 7.30103 3.89322 7.31057 3.88421 7.32023C3.84187 7.36567 3.80729 7.41787 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.78054 7.93011 3.78759 7.94552 3.79532 7.96057C3.82196 8.01249 3.85658 8.06004 3.89799 8.10145C3.95141 8.15487 4.01503 8.19697 4.08507 8.22526C4.15512 8.25356 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.58157 8.19216 4.63377 8.15757 4.67921 8.11524C4.68881 8.10629 4.69811 8.097 4.70708 8.08737C4.70702 8.08744 4.70715 8.08731 4.70708 8.08737L6.56277 6.23242V2.81242ZM9.93777 9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6437 9.74992 10.7815 9.69514 10.8857 9.59716C10.8898 9.59323 10.894 9.58924 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V7.54234C10.8777 7.51426 10.6897 7.49992 10.5003 7.49992C10.3108 7.49992 10.1228 7.51426 9.93777 7.54234V9.18742ZM9.93777 7.32686C10.1215 7.38612 10.3096 7.4303 10.5003 7.45904C10.6714 7.48483 10.8445 7.49818 11.0183 7.49881C11.0331 7.49887 11.0479 7.49883 11.0628 7.4987V6.56242C11.0628 6.49008 11.0488 6.41917 11.0224 6.35328C10.9944 6.28331 10.9524 6.21901 10.898 6.16468C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16468C10.1003 6.16692 10.0981 6.16917 10.0959 6.17145C9.9977 6.27299 9.94135 6.40773 9.93794 6.54882C9.93783 6.55335 9.93777 6.55788 9.93777 6.56242V7.32686ZM11.2488 11.2968C11.2498 11.2813 11.2503 11.2656 11.2503 11.2499C11.2503 11.2487 11.2503 11.2475 11.2503 11.2463C11.2493 11.0487 11.1704 10.8594 11.0306 10.7196C10.8899 10.5789 10.6992 10.4999 10.5003 10.4999C10.3014 10.4999 10.1106 10.5789 9.96994 10.7196C9.82929 10.8602 9.75027 11.051 9.75027 11.2499C9.75027 11.4488 9.82929 11.6396 9.96994 11.7803C10.1106 11.9209 10.3014 11.9999 10.5003 11.9999C10.6992 11.9999 10.8899 11.9209 11.0306 11.7803C11.1602 11.6507 11.2374 11.4786 11.2488 11.2968Z\" fill=\"#B54708\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10901_7795\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg><span class=\"ms-2\">Pending Tagged Info</span></span> \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='purchaser'\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Name</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.name}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Location</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.location?tagggedData?.customerInfo?.location:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Mobile</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.mobile}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Age</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.age?tagggedData?.customerInfo?.age:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Email</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.email?tagggedData?.customerInfo?.email:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Gender</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.gender?tagggedData?.customerInfo?.gender:\"-\"}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tagggedData?.revopsType==='missedOpportunity'\">\r\n\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngFor=\"let item of tagggedData.issueList\" >\r\n <div class=\"ms-2 mb-2 spent-value\">{{item.name}}</div>\r\n <span class=\"badge badge-light-default ms-2\" *ngFor=\"let data of item.issue\">{{data}}</span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='nonShopper'\">\r\n <span class=\"badge badge-light-default ms-2\">{{nonShoperType}}</span>\r\n </div>\r\n <!-- <div class=\"my-2\"><span class=\"desc-id\">Original ID</span> : <span class=\"spent-value1\"\r\n style=\"font-size: 12px !important;\">{{Imagedata?.tempId}}</span></div> -->\r\n \r\n <div *ngIf=\"tagggedData?.description&&tagggedData?.description!==''\" class=\"my-3 desc-id\">{{tagggedData.description}}\r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n <div class=\"my-3\">\r\n <span class=\"tag-class\">Time Spent</span>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap\">\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.totalTimeSpent}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Total Time Spent</div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.entryTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('entry')\">Entry Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.exitTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('exit')\">Exit Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"row\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Zones Visited</span>\r\n\r\n </div>\r\n \r\n <ng-container class=\"h-200px scroll\">\r\n <div class=\"col mt-2\" *ngFor=\"let obj of Imagedata?.zoneVisited\">\r\n <span class=\"badge badge-light-primary \">{{obj}}</span>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited.length ===0\" class=\"col-md-12 mt-2 text-center\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No Zones Visited</div>\r\n <div class=\"nodata-sub\">There is no result for this Zones</div>\r\n </div>\r\n \r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"my-3\">\r\n <span class=\"tag-class\">Staff Engagement</span>\r\n </div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"d-flex flex-wrap\">\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeTakenToAssist}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time taken to assist \r\n <!-- <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeSpentWithStaff}}</div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time spent with staff</div>\r\n </div>\r\n \r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n</section>\r\n</div>", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}.no-preview{border:1px solid #F04438;background:#fee4e2;border-radius:8px;stroke-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:41px 16px}.no-preview .header{color:#f04438;font-size:20px;font-weight:700;line-height:20px}.no-preview .description{color:#f04438;font-size:12px;font-weight:500;line-height:18px}.img-nodata{width:25%;height:15%}.img-nodata1{width:15%;height:15%}.nodata-title{font-size:14px!important;font-weight:600}.img-direc{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:500;line-height:28px}.custom-accordion{border-radius:5px}.custom-accordion-item{margin-bottom:10px}.custom-accordion-header{background-color:#fff;border:none;cursor:pointer;padding:10px;text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}.custom-accordion{width:100%}.mainheading{width:100%;display:flex;justify-content:space-between;align-items:center;padding:19px;border:none;background:none;cursor:pointer}.header-row{display:flex;align-items:center;width:100%;justify-content:space-between}.img-dire{font-size:16px;font-weight:700}.divider{flex-grow:1;height:1px;background-color:#ddd;margin:0 10px}.accordion-arrow{display:flex;align-items:center}.scroll-container{max-height:400px;overflow-y:auto;overflow-x:hidden}.high-400px{min-height:auto!important;max-height:800px!important}.slider{position:relative}.slider .previous{position:absolute;top:30%;left:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.slider .next{position:absolute;top:30%;right:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-src1{border-radius:12px;border:1px solid var(--Gray-400, #98A2B3);background:var(--Gray-50, #F9FAFB);width:100%;height:375px}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);padding:0 4px}.border-gray-active{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #EAF8FF);padding:0 4px}.zone-header{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.last-visit{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.toggle-label{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.nav-dev{border-radius:8px!important;border:1px solid var(--Primary-200, #99DAFF)!important;background:var(--Primary-25, #F6FCFF)!important}.tab-active{border-radius:6px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3)!important;font-size:14px;font-weight:500;line-height:20px}.tab-text-default{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}.border-gray-active1{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:12px!important}.nav-item1 .nav-link1.active{border:none;border-radius:0;background:var(--Primary-50, #EAF8FF);border-bottom:2px solid #009BF3!important;padding:12px;color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.active-normal{padding:12px;color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.nav-item1 .nav-link1:hover{border:none}.tag-class{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.spent-title{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.spent-value{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.spent-value1{color:var(--Primary-500, #33B5FF);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.w-33{width:30%}.w-45{width:45%}.view-tetory{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;text-transform:capitalize}.border-gray-tagged{border-radius:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:8px!important}.desc-id{color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:400;line-height:20px}.active-tab{border-bottom:2px solid #0d6efd;font-weight:600;color:#0d6efd}.badge-selected{background-color:#e0f3ff;color:#0d6efd;border:1px solid #0d6efd;border-radius:20px;padding:6px 12px}.badge-unselected{background-color:#f0f0f0;color:#333;border-radius:20px;padding:6px 12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cursor-not-allowed{cursor:not-allowed!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.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: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i8.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["valueChange"] }, { kind: "directive", type: i9.MagnifierDirective, selector: "[appMagnifier]" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i6.DatePipe, name: "date" }] });
828
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageDocComponent, deps: [{ token: i1.TrafficService }, { token: i2.GlobalStateService }, { token: i0.ChangeDetectorRef }, { token: i3.NgbModal }, { token: i4.FormBuilder }, { token: i5.ToastService }, { token: i6.TrafficRvpsService }], target: i0.ɵɵFactoryTarget.Component });
829
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImageDocComponent, selector: "lib-image-doc", viewQueries: [{ propertyName: "placesRef", first: true, predicate: ["ngxPlaces"], descendants: true }], ngImport: i0, template: "<div class=\"card mt-3\">\r\n <div class=\"card-header mt-3 px-0 border-bottom-0\">\r\n <div class=\"custom-accordion\">\r\n <div class=\"custom-accordion-item\">\r\n <button class=\"mainheading pb-0 custom-accordion-header\" (click)=\"toggleAccordion()\">\r\n <div class=\"header-row\">\r\n <span class=\"img-direc\">Image Directory</span>\r\n \r\n <span class=\"divider\"></span>\r\n <span class=\"accordion-arrow\">\r\n <!-- Down arrow for collapsed state, up arrow for expanded state -->\r\n <svg *ngIf=\"!isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 1L5 5L9 1\" stroke=\"#071437\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 5L5 1L9 5\" stroke=\"#1b84ff\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n \r\n <section *ngIf=\"isAccordionExpanded\">\r\n <div class=\"col-md-12 px-5\" *ngIf=\"!hideDoc\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Examine individual footfall in gallery view with optimal sample images for detailed analysis.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div class=\"cursor-pointer\" (click)=\"closeData()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <div *ngIf=\"folderView\" class=\"card-body px-0\">\r\n <div class=\"scroll-container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of dateArray;let i = index\">\r\n <div (click)=\"getimages(i,obj)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n </div>\r\n <div *ngIf=\"!folderView\" class=\"card-body\">\r\n <section *ngIf=\"!imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <span *ngIf=\"backnav\" class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"img-direc ms-2\">{{folderDate | date:'dd MMM, yyyy'}}</span>\r\n <div class=\"ms-auto text-end\">\r\n <form *ngIf=\"!normalize && !clientData?.isFootfallView\" [formGroup]=\"form\">\r\n <lib-reactive-select \r\n [formControl]=\"selectControl\" \r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"datasets\"\r\n class=\"w-100 text-start\"\r\n (valueChange)=\"onValueChange($event)\">\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x px-0\">\r\n <ng-container *ngIf=\"this.headerData?.client !=='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.headerData?.client ==='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray.slice(0, -1)\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div *ngIf=\"normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata1\" src=\"./assets/tango/Icons/not-applicable.svg\" alt=\"\">\r\n <div class=\"nodata-title mt-3\">Data Not Found</div>\r\n <div class=\"nodata-sub\">Normalized data is not applicable</div>\r\n </div>\r\n <div *ngIf=\"!normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this image directory</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row px-0 img-traffic contain high-400px scroll-y\" *ngIf=\"!noData && !loading\">\r\n <div class=\"col-md-3 border-gray mx-2 p-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <section *ngIf=\"headerData?.client ==='11'\">\r\n <img class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\"> <!--(click)=\"imageView(obj,objData.footfallDate)\" -->\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"revopTagging(obj)\">\r\n </section>\r\n <img *ngIf=\"obj.images.entryTimeImage&&!clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\">\r\n <div *ngIf=\"!obj.images.entryTimeImage\" class=\"no-preview\">\r\n <span class=\"mb-5\" >\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n <div class=\"row px-2 mb-2\">\r\n <div class=\"col-md-7\">\r\n <div class=\"py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{obj.tempId}}</span> \r\n <!-- <span *ngIf=\"selectControl.value ==='missedOpportunity'\" class=\"badge badge-light-success ms-2\">Missed Opportunity</span>\r\n <span *ngIf=\"selectControl.value ==='bounced'\" class=\"badge badge-light-success ms-2\">Bounced Footfall</span> -->\r\n <span *ngIf=\"obj?.revopsType || selectControl.value as value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall'|| !value ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion',\r\n \r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-5 text-end\" >\r\n <div class=\"py-2 mt-4\" *ngIf=\"!clientData?.isRevops\"></div>\r\n \r\n <div class=\"py-2\" *ngIf=\"clientData?.isRevops\">\r\n <section *ngIf=\"headerData.client ==='11'\">\r\n <span *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" (click)=\"revopTagging(obj)\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" (click)=\"revopTagging(obj)\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" (click)=\"backToView()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"ms-2 py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{Imagedata.tempId}}</span> \r\n <ng-container *ngIf=\"selectControl.value as value\">\r\n <span *ngIf=\"value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall' ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion'\r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </ng-container>\r\n \r\n \r\n </span>\r\n </div>\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isFirstImage() }\"\r\n [style.pointer-events]=\"isFirstImage() ? 'none' : 'auto'\"\r\n (click)=\"!isFirstImage() && previous()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M22.5 25L17.5 20L22.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isLastImage() }\"\r\n [style.pointer-events]=\"isLastImage() ? 'none' : 'auto'\"\r\n (click)=\"!isLastImage() && next()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M17.5 25L22.5 20L17.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row contain mt-10\">\r\n <div class=\"col-md-6 col-lg-6 col-xl-6\">\r\n <img class=\"img-src1\" [src]=\"Images\"\r\n (error)=\"Images = null\" alt=\"\" appMagnifier >\r\n \r\n <!-- {{myThumbnail}}\r\n <ngx-image-zoom\r\n [thumbImage]=myThumbnail\r\n [fullImage]=myFullresImage\r\n [magnification]=\"1\"\r\n [enableScrollZoom]=\"true\"\r\n [enableLens]=\"true\"\r\n [lensWidth]=\"200\"\r\n [lensHeight]=\"200\"\r\n ></ngx-image-zoom> -->\r\n <div *ngIf=\"!Images\" class=\"no-preview\">\r\n <span class=\"mb-5\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\" d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"row slider mt-5\">\r\n <ng-container>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.entryTimeImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.entryTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.entryTimeImage\r\n }\">\r\n <div>Entry Time1</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.entryTimeImage\"\r\n (error)=\"Imagedata?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageData('entry')\">\r\n <div *ngIf=\"!Imagedata?.images?.entryTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.staffEngagementImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.staffEngagementImage,\r\n 'border-gray': Images !== Imagedata?.images?.staffEngagementImage\r\n }\">\r\n <div>Staff Engagement</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.staffEngagementImage\"\r\n (error)=\"Imagedata?.images.staffEngagementImage = null\" alt=\"\" (click)=\"imageData('staff')\">\r\n <div *ngIf=\"!Imagedata?.images?.staffEngagementImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4 \" *ngIf=\"Imagedata?.images?.exitTimeImage && footfallDataShow !=='tracking-enabled'\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.exitTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.exitTimeImage\r\n }\">\r\n <div>Exit Time</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.exitTimeImage\"\r\n (error)=\"Imagedata?.images.exitTimeImage = null\" alt=\"\" (click)=\"imageData('exit')\">\r\n <div *ngIf=\"!Imagedata?.images?.exitTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>\r\n <div class=\"col-md-6 col-lg-6 col-xl-6 pe-0 mb-3\">\r\n <ul class=\"nav flex-wrap nav-dev fw-bold align-items-center\">\r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'tagged'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'tagged'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Tagged Info\r\n </a>\r\n </li>\r\n \r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'customer'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'customer'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Customer Info\r\n </a>\r\n </li>\r\n </ul>\r\n <section *ngIf=\"selectedTab === 'tagged'\">\r\n <div class=\"row mx-3 mt-5 mb-3\">\r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioNonShopper\"\r\n value=\"nonShopper\" [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('nonShopper')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioNonShopper\">\r\n Non Shopper\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioPurchaser\" value=\"purchaser\"\r\n [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('purchaser')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioPurchaser\">\r\n Purchaser\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioMissed\"\r\n value=\"missedOpportunity\" [(ngModel)]=\"selectedCustomerType\"\r\n (change)=\"onRadioChange('missedOpportunity')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioMissed\">\r\n Missed Opportunity\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section *ngIf=\"selectedCustomerType ==='nonShopper'\">\r\n <div class=\"row mt-5 mx-3\">\r\n <div class=\"border-gray-active1\">\r\n <span *ngFor=\"let obj of nonShopperList\" class=\"cursor-pointer\">\r\n <div class=\"badge mt-3 me-8\" [ngClass]=\"obj!==nonShoperType ? 'badge-light-default' :'badge-light-primary'\" (click)=\"selectnonShoper(obj)\" >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj!==nonShoperType\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj===nonShoperType\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n <span class=\"ms-3\">{{obj}}</span></div>\r\n </span>\r\n \r\n <div class=\"col-md-12 mt-5 pb-10\">\r\n <div class=\"form-group\">\r\n <label for=\"exampleInputName\">Description (Optional)</label>\r\n <textarea [(ngModel)]=\"description\" class=\"form-control mt-3\" rows=\"4\" placeholder=\"\"></textarea>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\" (click)=\"nonShopperSubmit()\" >\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='purchaser'\">\r\n <div class=\"row mt-5\">\r\n <form [formGroup]=\"userForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"row border-gray-active1\">\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">Name<span class=\"alert-required text-danger\">*</span></label>\r\n <input\r\n type=\"text\"\r\n id=\"name\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Enter Name\" autocomplete=\"off\"\r\n formControlName=\"name\" required [ngClass]=\"{ 'is-invalid':userForm.get('name')?.invalid && (userForm.get('name')?.touched)}\"\r\n />\r\n <div *ngIf=\"isInvalid('name')\" class=\"text-danger\">\r\n <div *ngIf=\"f.name.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact Number <span class=\"alert-required text-danger\">*</span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <select class=\"form-select ps-3 pe-8\" id=\"inputGroupSelect01\" formControlName=\"countryCode\">\r\n <option *ngFor=\"let country of countryList\" [value]=\"country.phonecode\">\r\n {{country.name}} ({{country.phonecode}})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <input type=\"text\" class=\"form-control\" (keypress)=\"omit_special_char($event)\"\r\n id=\"mobile\" autocomplete=\"off\" formControlName=\"mobile\" minlength=\"8\" maxlength=\"13\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('mobile')?.invalid && (userForm.get('mobile')?.touched)}\">\r\n <div *ngIf=\"isInvalid('mobile')\" class=\"text-danger\">\r\n <div *ngIf=\"f.mobile.errors?.required\">Contact Number is required.</div>\r\n <div *ngIf=\"f.mobile.errors?.minlength\">Contact Number must be at least 8 digits.</div>\r\n <div *ngIf=\"f.mobile.errors?.maxlength\">Contact Number cannot exceed 13 digits.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"email\" class=\"form-label\">Email </label>\r\n <input type=\"email\" class=\"form-control\" id=\"email\" formControlName=\"email\" autocomplete=\"off\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('email')?.invalid && (userForm.get('email')?.touched)}\">\r\n <div *ngIf=\"isInvalid('email')\" class=\"text-danger\">\r\n <div *ngIf=\"f.email.errors?.pattern\">Invalid email format.</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"location\">Location</label>\r\n <!-- <input\r\n type=\"text\"\r\n id=\"location\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Location\"\r\n formControlName=\"location\"\r\n /> -->\r\n <input type=\"text\" class=\"form-control mt-3\" id=\"location\" formControlName=\"location\" #placesRef=\"ngx-places\" ngx-gp-autocomplete (onAddressChange)=\"handleAddressChange($event)\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('location')?.invalid && (userForm.get('location')?.touched)}\">\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"age\">Age</label>\r\n <select class=\"form-select mt-3\" formControlName=\"age\">\r\n <option value=\"\">Select Age</option>\r\n <option value=\"Below 12\">Below 12</option>\r\n <option value=\"13-19\">13\u201319</option>\r\n <option value=\"20\u201330\">20\u201330</option>\r\n <option value=\"31\u201345\">31\u201345</option>\r\n <option value=\"46\u201359\">46\u201359</option>\r\n <option value=\"Above 60\">Above 60</option>\r\n </select>\r\n <!-- <div class=\"input-group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"left: 0.25rem;\"\r\n (click)=\"decrementAge()\"\r\n >\r\n -\r\n </button>\r\n \r\n <input\r\n type=\"text\" (keypress)=\"omit_special_char($event)\"\r\n id=\"age\"\r\n class=\"form-control pe-5 text-center mt-3\"\r\n formControlName=\"age\"\r\n min=\"1\" max=\"99\"\r\n />\r\n \r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"right: 2.5rem;\"\r\n (click)=\"incrementAge()\"\r\n >\r\n +\r\n </button>\r\n </div> -->\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"gender\">Gender</label>\r\n <select class=\"form-select mt-3\" formControlName=\"gender\">\r\n <option value=\"\">Select Gender</option>\r\n <option value=\"male\">Male</option>\r\n <option value=\"female\">Female</option>\r\n </select>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </form>\r\n \r\n \r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='missedOpportunity'\">\r\n <div class=\"row mt-5 mx-3 border-gray-active1\">\r\n \r\n <div\r\n *ngFor=\"let obj of missedOpportunityList\"\r\n class=\"nav-item nav-item1 w-25\"\r\n (click)=\"selectedTabs(obj.name)\">\r\n <span\r\n [ngClass]=\"selectedMissed === obj.name ? 'active' : 'active-normal'\"\r\n class=\"nav-link nav-link1 cursor-pointer text-nowrap\">\r\n {{ obj.name }}\r\n </span>\r\n </div>\r\n \r\n <div class=\"separator separator-double mb-3\"></div>\r\n <!-- Issue Badges -->\r\n <div *ngFor=\"let obj of missedOpportunityList\">\r\n <div *ngIf=\"selectedMissed === obj.name\" class=\"mt-4\">\r\n <span *ngFor=\"let item of obj.issues\">\r\n \r\n <span\r\n (click)=\"selectSubissue(obj, item)\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': selectedIssues.includes(item),\r\n 'badge-light-default':!selectedIssues.includes(item)\r\n }\"\r\n class=\"badge mt-2 me-2 cursor-pointer\">\r\n <span class=\"me-2\" *ngIf=\"!selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"me-2\" *ngIf=\"selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n </span>\r\n {{ item }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"mt-4\">\r\n <label class=\"form-label\">Description (Optional)</label>\r\n <textarea\r\n rows=\"3\"\r\n class=\"form-control\"\r\n placeholder=\"Enter comments\"\r\n [(ngModel)]=\"description\"\r\n ></textarea>\r\n </div>\r\n \r\n \r\n <div class=\"text-end mt-5\" (click)=\"submitMissedOpportunity()\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n <section *ngIf=\"selectedTab === 'customer'\">\r\n <div class=\"row mt-10\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Tagged Summary <span *ngIf=\"tagggedData?.status==='submitted'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M14.6668 7.38674V8.00007C14.666 9.43769 14.2005 10.8365 13.3397 11.988C12.4789 13.1394 11.269 13.9817 9.8904 14.3893C8.51178 14.797 7.03834 14.748 5.68981 14.2498C4.34128 13.7516 3.18993 12.8308 2.40747 11.6248C1.62501 10.4188 1.25336 8.99211 1.34795 7.55761C1.44254 6.12312 1.9983 4.75762 2.93235 3.66479C3.8664 2.57195 5.12869 1.81033 6.53096 1.4935C7.93323 1.17668 9.40034 1.32163 10.7135 1.90674M14.6668 2.66674L8.00017 9.34007L6.00017 7.34007\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> </span>\r\n </div>\r\n <div class=\"col-md-6 text-end\" *ngIf=\"tagggedData?.status!=='submitted'\">\r\n <span class=\"badge badge-light-warning ms-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10901_7795)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.13152 0.00142049C5.25855 -0.0175778 4.39195 0.154192 3.59222 0.504738C2.7925 0.855283 2.07892 1.37616 1.50131 2.03099C0.923703 2.68583 0.495981 3.45885 0.248009 4.29608C3.70294e-05 5.1333 -0.0622095 6.01457 0.0656154 6.87834C0.19344 7.74212 0.508256 8.56758 0.988083 9.29711C1.46791 10.0266 2.10119 10.6426 2.8437 11.1021C3.58621 11.5616 4.42006 11.8535 5.28703 11.9574C6.15401 12.0613 7.03322 11.9747 7.86327 11.7037C8.0051 11.6573 8.1227 11.5565 8.19022 11.4235C8.25773 11.2904 8.26962 11.136 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81002 10.5997 7.6556 10.5878 7.51377 10.6342C6.61175 10.9287 5.64338 10.9536 4.72742 10.7058C3.81146 10.458 2.98773 9.94825 2.35725 9.2391C1.72677 8.52995 1.31696 7.65221 1.17807 6.71354C1.03917 5.77487 1.17724 4.81607 1.57534 3.95473C1.97343 3.09338 2.61425 2.36694 3.4192 1.86449C4.22414 1.36204 5.15823 1.10543 6.10689 1.12613C7.05556 1.14683 7.97756 1.44393 8.75983 1.98101C9.5421 2.51809 10.1506 3.27178 10.5108 4.14967C10.5674 4.28772 10.6765 4.39763 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28347 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.1085 2.64239 10.3596 1.7147 9.39677 1.05365C8.43396 0.392587 7.29915 0.0268946 6.13152 0.00142049ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.29253 2.30918 6.14946 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91227 7.29217C3.85701 7.34367 3.81268 7.40577 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.80247 7.98441 3.84458 8.04804 3.89799 8.10145C3.95141 8.15486 4.01503 8.19697 4.08507 8.22526C4.15512 8.25355 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.59368 8.18676 4.65578 8.14244 4.70727 8.08717L6.39777 6.39742L6.56277 6.23242V2.81242ZM11.2503 11.2499C11.2503 11.4488 11.1713 11.6396 11.0306 11.7803C10.8899 11.9209 10.6992 11.9999 10.5003 11.9999C10.3014 11.9999 10.1106 11.9209 9.96994 11.7803C9.82929 11.6396 9.75027 11.4488 9.75027 11.2499C9.75027 11.051 9.82929 10.8602 9.96994 10.7196C10.1106 10.5789 10.3014 10.4999 10.5003 10.4999C10.6992 10.4999 10.8899 10.5789 11.0306 10.7196C11.1713 10.8602 11.2503 11.051 11.2503 11.2499ZM11.0628 6.56242C11.0628 6.41324 11.0035 6.27016 10.898 6.16467C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16467C9.99704 6.27016 9.93777 6.41324 9.93777 6.56242V9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6495 9.74992 10.7925 9.69066 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V6.56242Z\" fill=\"#B54708\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.2409 3.07775C11.1762 2.96171 11.1078 2.84799 11.0357 2.73674C10.7826 2.34623 10.4848 1.98631 10.1483 1.6644C9.91561 1.44184 9.66446 1.23744 9.39677 1.05365C9.39672 1.05361 9.39683 1.05368 9.39677 1.05365C9.23737 0.944207 9.07308 0.842748 8.90487 0.749705C8.7207 0.647828 8.53163 0.5559 8.3385 0.474192C7.64269 0.179813 6.8941 0.0180577 6.13152 0.00142049C6.13149 0.00141983 6.13155 0.00142115 6.13152 0.00142049C6.08778 0.00046929 6.04397 -5.01265e-06 6.00027 3.99426e-08C5.19726 9.28871e-05 4.40222 0.161386 3.66237 0.47452C3.63893 0.484441 3.61555 0.494513 3.59222 0.504738C3.42243 0.579166 3.25651 0.661273 3.09496 0.75071C3.00307 0.801577 2.9126 0.854814 2.82363 0.910359C2.33223 1.21713 1.88653 1.59427 1.50131 2.03099C1.11608 2.46773 0.797516 2.95704 0.554486 3.48291C0.433124 3.74551 0.330597 4.01723 0.248009 4.29608C5.51343e-05 5.13324 -0.0622004 6.01444 0.0655874 6.87815C0.065578 6.87809 0.0655967 6.87822 0.0655874 6.87815C0.193412 7.74193 0.508256 8.56758 0.988083 9.29711C1.14783 9.53998 1.32458 9.77027 1.51671 9.98639C1.90168 10.4194 2.34838 10.7956 2.8437 11.1021C3.33882 11.4085 3.87455 11.6404 4.43364 11.7917C4.71299 11.8673 4.99817 11.9228 5.28703 11.9574C5.31999 11.9613 5.35296 11.965 5.38594 11.9684C5.86275 12.0175 6.34254 12.0092 6.81514 11.9445C6.99265 11.9202 7.16915 11.8879 7.34409 11.8477C7.5188 11.8076 7.69196 11.7596 7.86302 11.7038C7.86294 11.7038 7.86311 11.7037 7.86302 11.7038C7.89127 11.6945 7.9188 11.6831 7.94492 11.6697C8.04995 11.6159 8.13615 11.53 8.19022 11.4235C8.21812 11.3685 8.23653 11.3098 8.24524 11.2499C8.25761 11.1649 8.25046 11.0774 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81011 10.5998 7.65579 10.5878 7.51404 10.6341C7.51395 10.6341 7.51413 10.6341 7.51404 10.6341C7.43563 10.6597 7.35645 10.6833 7.27711 10.7049C7.16292 10.7359 7.04786 10.7626 6.93215 10.7851C6.88016 10.7953 6.82804 10.8045 6.77581 10.8129C6.49267 10.8585 6.20633 10.879 5.92014 10.8743C5.84832 10.8731 5.7765 10.8704 5.70476 10.866C5.60998 10.8602 5.51532 10.8517 5.4209 10.8404C5.37256 10.8346 5.32428 10.8281 5.27608 10.8208C5.09176 10.7931 4.90856 10.7548 4.72742 10.7058C4.59856 10.6709 4.47152 10.6309 4.34659 10.5858C4.02763 10.4708 3.7224 10.3231 3.43559 10.1456C3.40186 10.1248 3.36839 10.1035 3.33518 10.0818C3.05409 9.89826 2.79178 9.68556 2.55287 9.44658C2.48578 9.37947 2.42054 9.31029 2.35725 9.2391C2.20011 9.06234 2.05667 8.87512 1.92772 8.67908C1.92445 8.67411 1.92118 8.66913 1.91793 8.66414C1.7113 8.34749 1.54234 8.00807 1.41432 7.65286C1.30511 7.34986 1.2257 7.03536 1.17809 6.71371C1.17808 6.71366 1.1781 6.71377 1.17809 6.71371C1.1575 6.57457 1.14297 6.43481 1.1345 6.29516C1.1301 6.22253 1.12732 6.14989 1.12617 6.07729C1.11832 5.58257 1.18585 5.08961 1.3263 4.61545C1.39297 4.39036 1.47607 4.16951 1.57534 3.95473C1.7744 3.52403 2.03414 3.12706 2.34475 2.77496C2.3762 2.73932 2.40816 2.70413 2.44064 2.66942C2.72893 2.36127 3.05749 2.09027 3.4192 1.86449C3.61995 1.73918 3.82874 1.62916 4.04379 1.53492C4.2051 1.46422 4.36993 1.40241 4.53753 1.34968C5.00877 1.20143 5.50191 1.125 6.00027 1.12497C6.03579 1.12497 6.07133 1.12535 6.10689 1.12613C6.56965 1.13624 7.02621 1.21212 7.46315 1.34954C7.9219 1.49383 8.35919 1.70595 8.75983 1.98101C8.75978 1.98097 8.75988 1.98104 8.75983 1.98101C8.91447 2.08719 9.06247 2.20193 9.20295 2.32433C9.32789 2.43318 9.447 2.54816 9.55988 2.66877C9.67464 2.79139 9.78295 2.91982 9.8844 3.05355C10.0182 3.22986 10.14 3.41537 10.2489 3.60887C10.3086 3.71493 10.3644 3.82339 10.4162 3.93405C10.4455 3.99677 10.4736 4.06019 10.5003 4.12428C10.5038 4.13273 10.5073 4.1412 10.5108 4.14967C10.5107 4.14959 10.5108 4.14975 10.5108 4.14967C10.5674 4.28761 10.6765 4.39766 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28348 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.5517 3.72283 11.5518 3.72301 11.5518 3.72292C11.4834 3.55631 11.4077 3.39306 11.3251 3.23413C11.2978 3.18156 11.2697 3.12942 11.2409 3.07775ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.3121 2.32875 6.20124 2.2735 6.08246 2.25595C6.05548 2.25198 6.02787 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91245 7.292C3.90275 7.30103 3.89322 7.31057 3.88421 7.32023C3.84187 7.36567 3.80729 7.41787 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.78054 7.93011 3.78759 7.94552 3.79532 7.96057C3.82196 8.01249 3.85658 8.06004 3.89799 8.10145C3.95141 8.15487 4.01503 8.19697 4.08507 8.22526C4.15512 8.25356 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.58157 8.19216 4.63377 8.15757 4.67921 8.11524C4.68881 8.10629 4.69811 8.097 4.70708 8.08737C4.70702 8.08744 4.70715 8.08731 4.70708 8.08737L6.56277 6.23242V2.81242ZM9.93777 9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6437 9.74992 10.7815 9.69514 10.8857 9.59716C10.8898 9.59323 10.894 9.58924 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V7.54234C10.8777 7.51426 10.6897 7.49992 10.5003 7.49992C10.3108 7.49992 10.1228 7.51426 9.93777 7.54234V9.18742ZM9.93777 7.32686C10.1215 7.38612 10.3096 7.4303 10.5003 7.45904C10.6714 7.48483 10.8445 7.49818 11.0183 7.49881C11.0331 7.49887 11.0479 7.49883 11.0628 7.4987V6.56242C11.0628 6.49008 11.0488 6.41917 11.0224 6.35328C10.9944 6.28331 10.9524 6.21901 10.898 6.16468C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16468C10.1003 6.16692 10.0981 6.16917 10.0959 6.17145C9.9977 6.27299 9.94135 6.40773 9.93794 6.54882C9.93783 6.55335 9.93777 6.55788 9.93777 6.56242V7.32686ZM11.2488 11.2968C11.2498 11.2813 11.2503 11.2656 11.2503 11.2499C11.2503 11.2487 11.2503 11.2475 11.2503 11.2463C11.2493 11.0487 11.1704 10.8594 11.0306 10.7196C10.8899 10.5789 10.6992 10.4999 10.5003 10.4999C10.3014 10.4999 10.1106 10.5789 9.96994 10.7196C9.82929 10.8602 9.75027 11.051 9.75027 11.2499C9.75027 11.4488 9.82929 11.6396 9.96994 11.7803C10.1106 11.9209 10.3014 11.9999 10.5003 11.9999C10.6992 11.9999 10.8899 11.9209 11.0306 11.7803C11.1602 11.6507 11.2374 11.4786 11.2488 11.2968Z\" fill=\"#B54708\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10901_7795\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg><span class=\"ms-2\">Pending Tagged Info</span></span> \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='purchaser'\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Name</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.name}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Location</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.location?tagggedData?.customerInfo?.location:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Mobile</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.mobile}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Age</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.age?tagggedData?.customerInfo?.age:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Email</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.email?tagggedData?.customerInfo?.email:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Gender</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.gender?tagggedData?.customerInfo?.gender:\"-\"}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tagggedData?.revopsType==='missedOpportunity'\">\r\n\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngFor=\"let item of tagggedData.issueList\" >\r\n <div class=\"ms-2 mb-2 spent-value\">{{item.name}}</div>\r\n <span class=\"badge badge-light-default ms-2\" *ngFor=\"let data of item.issue\">{{data}}</span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='nonShopper'\">\r\n <span class=\"badge badge-light-default ms-2\">{{nonShoperType}}</span>\r\n </div>\r\n <!-- <div class=\"my-2\"><span class=\"desc-id\">Original ID</span> : <span class=\"spent-value1\"\r\n style=\"font-size: 12px !important;\">{{Imagedata?.tempId}}</span></div> -->\r\n \r\n <div *ngIf=\"tagggedData?.description&&tagggedData?.description!==''\" class=\"my-3 desc-id\">{{tagggedData.description}}\r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n <div class=\"my-3\">\r\n <span class=\"tag-class\">Time Spent</span>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap\">\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.totalTimeSpent}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Total Time Spent</div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.entryTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('entry')\">Entry Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.exitTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('exit')\">Exit Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"row\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Zones Visited</span>\r\n\r\n </div>\r\n \r\n <ng-container class=\"h-200px scroll\">\r\n <div class=\"col mt-2\" *ngFor=\"let obj of Imagedata?.zoneVisited\">\r\n <span class=\"badge badge-light-primary \">{{obj}}</span>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited.length ===0\" class=\"col-md-12 mt-2 text-center\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No Zones Visited</div>\r\n <div class=\"nodata-sub\">There is no result for this Zones</div>\r\n </div>\r\n \r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"my-3\">\r\n <span class=\"tag-class\">Staff Engagement</span>\r\n </div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"d-flex flex-wrap\">\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeTakenToAssist}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time taken to assist \r\n <!-- <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeSpentWithStaff}}</div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time spent with staff</div>\r\n </div>\r\n \r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n</section>\r\n</div>\r\n\r\n", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}.no-preview{border:1px solid #F04438;background:#fee4e2;border-radius:8px;stroke-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:41px 16px}.no-preview .header{color:#f04438;font-size:20px;font-weight:700;line-height:20px}.no-preview .description{color:#f04438;font-size:12px;font-weight:500;line-height:18px}.img-nodata{width:25%;height:15%}.img-nodata1{width:15%;height:15%}.nodata-title{font-size:14px!important;font-weight:600}.img-direc{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:500;line-height:28px}.custom-accordion{border-radius:5px}.custom-accordion-item{margin-bottom:10px}.custom-accordion-header{background-color:#fff;border:none;cursor:pointer;padding:10px;text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}.custom-accordion{width:100%}.mainheading{width:100%;display:flex;justify-content:space-between;align-items:center;padding:19px;border:none;background:none;cursor:pointer}.header-row{display:flex;align-items:center;width:100%;justify-content:space-between}.img-dire{font-size:16px;font-weight:700}.divider{flex-grow:1;height:1px;background-color:#ddd;margin:0 10px}.accordion-arrow{display:flex;align-items:center}.scroll-container{max-height:400px;overflow-y:auto;overflow-x:hidden}.high-400px{min-height:auto!important;max-height:800px!important}.slider{position:relative}.slider .previous{position:absolute;top:30%;left:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.slider .next{position:absolute;top:30%;right:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-src1{border-radius:12px;border:1px solid var(--Gray-400, #98A2B3);background:var(--Gray-50, #F9FAFB);width:100%;height:375px}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);padding:0 4px}.border-gray-active{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #EAF8FF);padding:0 4px}.zone-header{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.last-visit{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.toggle-label{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.nav-dev{border-radius:8px!important;border:1px solid var(--Primary-200, #99DAFF)!important;background:var(--Primary-25, #F6FCFF)!important}.tab-active{border-radius:6px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3)!important;font-size:14px;font-weight:500;line-height:20px}.tab-text-default{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}.border-gray-active1{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:12px!important}.nav-item1 .nav-link1.active{border:none;border-radius:0;background:var(--Primary-50, #EAF8FF);border-bottom:2px solid #009BF3!important;padding:12px;color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.active-normal{padding:12px;color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.nav-item1 .nav-link1:hover{border:none}.tag-class{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.spent-title{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.spent-value{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.spent-value1{color:var(--Primary-500, #33B5FF);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.w-33{width:30%}.w-45{width:45%}.view-tetory{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;text-transform:capitalize}.border-gray-tagged{border-radius:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:8px!important}.desc-id{color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:400;line-height:20px}.active-tab{border-bottom:2px solid #0d6efd;font-weight:600;color:#0d6efd}.badge-selected{background-color:#e0f3ff;color:#0d6efd;border:1px solid #0d6efd;border-radius:20px;padding:6px 12px}.badge-unselected{background-color:#f0f0f0;color:#333;border-radius:20px;padding:6px 12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cursor-not-allowed{cursor:not-allowed!important}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.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: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i8.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i9.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["valueChange"] }, { kind: "directive", type: i10.MagnifierDirective, selector: "[appMagnifier]" }, { kind: "pipe", type: i7.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i7.DatePipe, name: "date" }] });
827
830
  }
828
831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageDocComponent, decorators: [{
829
832
  type: Component,
830
- args: [{ selector: "lib-image-doc", template: "<div class=\"card mt-3\">\r\n <div class=\"card-header mt-3 px-0 border-bottom-0\">\r\n <div class=\"custom-accordion\">\r\n <div class=\"custom-accordion-item\">\r\n <button class=\"mainheading pb-0 custom-accordion-header\" (click)=\"toggleAccordion()\">\r\n <div class=\"header-row\">\r\n <span class=\"img-direc\">Image Directory</span>\r\n \r\n <span class=\"divider\"></span>\r\n <span class=\"accordion-arrow\">\r\n <!-- Down arrow for collapsed state, up arrow for expanded state -->\r\n <svg *ngIf=\"!isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 1L5 5L9 1\" stroke=\"#071437\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 5L5 1L9 5\" stroke=\"#1b84ff\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n \r\n <section *ngIf=\"isAccordionExpanded\">\r\n <div class=\"col-md-12 px-5\" *ngIf=\"!hideDoc\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Examine individual footfall in gallery view with optimal sample images for detailed analysis.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div class=\"cursor-pointer\" (click)=\"closeData()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <div *ngIf=\"folderView\" class=\"card-body px-0\">\r\n <div class=\"scroll-container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of dateArray;let i = index\">\r\n <div (click)=\"getimages(i,obj)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n </div>\r\n <div *ngIf=\"!folderView\" class=\"card-body\">\r\n <section *ngIf=\"!imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <span *ngIf=\"backnav\" class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"img-direc ms-2\">{{folderDate | date:'dd MMM, yyyy'}}</span>\r\n <div class=\"ms-auto text-end\">\r\n <form *ngIf=\"!normalize && !clientData?.isFootfallView\" [formGroup]=\"form\">\r\n <lib-reactive-select \r\n [formControl]=\"selectControl\" \r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"datasets\"\r\n class=\"w-100 text-start\"\r\n (valueChange)=\"onValueChange($event)\">\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x px-0\">\r\n <ng-container *ngIf=\"this.headerData?.client !=='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.headerData?.client ==='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray.slice(0, -1)\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div *ngIf=\"normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata1\" src=\"./assets/tango/Icons/not-applicable.svg\" alt=\"\">\r\n <div class=\"nodata-title mt-3\">Data Not Found</div>\r\n <div class=\"nodata-sub\">Normalized data is not applicable</div>\r\n </div>\r\n <div *ngIf=\"!normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this image directory</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row px-0 img-traffic contain high-400px scroll-y\" *ngIf=\"!noData && !loading\">\r\n <div class=\"col-md-3 border-gray mx-2 p-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <section *ngIf=\"headerData?.client ==='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" >\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"revopTagging(obj)\">\r\n </section>\r\n <img *ngIf=\"obj.images.entryTimeImage&&!clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\">\r\n <div *ngIf=\"!obj.images.entryTimeImage\" class=\"no-preview\">\r\n <span class=\"mb-5\" >\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n <div class=\"row px-2 mb-2\">\r\n <div class=\"col-md-7\">\r\n <div class=\"py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{obj.tempId}}</span> \r\n <!-- <span *ngIf=\"selectControl.value ==='missedOpportunity'\" class=\"badge badge-light-success ms-2\">Missed Opportunity</span>\r\n <span *ngIf=\"selectControl.value ==='bounced'\" class=\"badge badge-light-success ms-2\">Bounced Footfall</span> -->\r\n <span *ngIf=\"obj?.revopsType || selectControl.value as value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall'|| !value ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion',\r\n \r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-5 text-end\" >\r\n <div class=\"py-2 mt-4\" *ngIf=\"!clientData?.isRevops\"></div>\r\n \r\n <div class=\"py-2\" *ngIf=\"clientData?.isRevops\">\r\n <section *ngIf=\"headerData.client ==='11'\">\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" (click)=\"revopTagging(obj)\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" (click)=\"revopTagging(obj)\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" (click)=\"backToView()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"ms-2 py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{Imagedata.tempId}}</span> \r\n <ng-container *ngIf=\"selectControl.value as value\">\r\n <span *ngIf=\"value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall' ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion'\r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </ng-container>\r\n \r\n \r\n </span>\r\n </div>\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isFirstImage() }\"\r\n [style.pointer-events]=\"isFirstImage() ? 'none' : 'auto'\"\r\n (click)=\"!isFirstImage() && previous()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M22.5 25L17.5 20L22.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isLastImage() }\"\r\n [style.pointer-events]=\"isLastImage() ? 'none' : 'auto'\"\r\n (click)=\"!isLastImage() && next()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M17.5 25L22.5 20L17.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row contain mt-10\">\r\n <div class=\"col-md-6 col-lg-6 col-xl-6\">\r\n <img class=\"img-src1\" [src]=\"Images\"\r\n (error)=\"Images = null\" alt=\"\" appMagnifier >\r\n \r\n <!-- {{myThumbnail}}\r\n <ngx-image-zoom\r\n [thumbImage]=myThumbnail\r\n [fullImage]=myFullresImage\r\n [magnification]=\"1\"\r\n [enableScrollZoom]=\"true\"\r\n [enableLens]=\"true\"\r\n [lensWidth]=\"200\"\r\n [lensHeight]=\"200\"\r\n ></ngx-image-zoom> -->\r\n <div *ngIf=\"!Images\" class=\"no-preview\">\r\n <span class=\"mb-5\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\" d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"row slider mt-5\">\r\n <ng-container>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.entryTimeImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.entryTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.entryTimeImage\r\n }\">\r\n <div>Entry Time1</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.entryTimeImage\"\r\n (error)=\"Imagedata?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageData('entry')\">\r\n <div *ngIf=\"!Imagedata?.images?.entryTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.staffEngagementImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.staffEngagementImage,\r\n 'border-gray': Images !== Imagedata?.images?.staffEngagementImage\r\n }\">\r\n <div>Staff Engagement</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.staffEngagementImage\"\r\n (error)=\"Imagedata?.images.staffEngagementImage = null\" alt=\"\" (click)=\"imageData('staff')\">\r\n <div *ngIf=\"!Imagedata?.images?.staffEngagementImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4 \" *ngIf=\"Imagedata?.images?.exitTimeImage && footfallDataShow !=='tracking-enabled'\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.exitTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.exitTimeImage\r\n }\">\r\n <div>Exit Time</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.exitTimeImage\"\r\n (error)=\"Imagedata?.images.exitTimeImage = null\" alt=\"\" (click)=\"imageData('exit')\">\r\n <div *ngIf=\"!Imagedata?.images?.exitTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>\r\n <div class=\"col-md-6 col-lg-6 col-xl-6 pe-0 mb-3\">\r\n <ul class=\"nav flex-wrap nav-dev fw-bold align-items-center\">\r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'tagged'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'tagged'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Tagged Info\r\n </a>\r\n </li>\r\n \r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'customer'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'customer'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Customer Info\r\n </a>\r\n </li>\r\n </ul>\r\n <section *ngIf=\"selectedTab === 'tagged'\">\r\n <div class=\"row mx-3 mt-5 mb-3\">\r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioNonShopper\"\r\n value=\"nonShopper\" [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('nonShopper')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioNonShopper\">\r\n Non Shopper\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioPurchaser\" value=\"purchaser\"\r\n [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('purchaser')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioPurchaser\">\r\n Purchaser\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioMissed\"\r\n value=\"missedOpportunity\" [(ngModel)]=\"selectedCustomerType\"\r\n (change)=\"onRadioChange('missedOpportunity')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioMissed\">\r\n Missed Opportunity\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section *ngIf=\"selectedCustomerType ==='nonShopper'\">\r\n <div class=\"row mt-5 mx-3\">\r\n <div class=\"border-gray-active1\">\r\n <span *ngFor=\"let obj of nonShopperList\" class=\"cursor-pointer\">\r\n <div class=\"badge mt-3 me-8\" [ngClass]=\"obj!==nonShoperType ? 'badge-light-default' :'badge-light-primary'\" (click)=\"selectnonShoper(obj)\" >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj!==nonShoperType\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj===nonShoperType\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n <span class=\"ms-3\">{{obj}}</span></div>\r\n </span>\r\n \r\n <div class=\"col-md-12 mt-5 pb-10\">\r\n <div class=\"form-group\">\r\n <label for=\"exampleInputName\">Description (Optional)</label>\r\n <textarea [(ngModel)]=\"description\" class=\"form-control mt-3\" rows=\"4\" placeholder=\"\"></textarea>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\" (click)=\"nonShopperSubmit()\" >\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='purchaser'\">\r\n <div class=\"row mt-5\">\r\n <form [formGroup]=\"userForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"row border-gray-active1\">\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">Name<span class=\"alert-required text-danger\">*</span></label>\r\n <input\r\n type=\"text\"\r\n id=\"name\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Enter Name\" autocomplete=\"off\"\r\n formControlName=\"name\" required [ngClass]=\"{ 'is-invalid':userForm.get('name')?.invalid && (userForm.get('name')?.touched)}\"\r\n />\r\n <div *ngIf=\"isInvalid('name')\" class=\"text-danger\">\r\n <div *ngIf=\"f.name.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact Number <span class=\"alert-required text-danger\">*</span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <select class=\"form-select ps-3 pe-8\" id=\"inputGroupSelect01\" formControlName=\"countryCode\">\r\n <option *ngFor=\"let country of countryList\" [value]=\"country.phonecode\">\r\n {{country.name}} ({{country.phonecode}})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <input type=\"text\" class=\"form-control\" (keypress)=\"omit_special_char($event)\"\r\n id=\"mobile\" autocomplete=\"off\" formControlName=\"mobile\" minlength=\"8\" maxlength=\"13\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('mobile')?.invalid && (userForm.get('mobile')?.touched)}\">\r\n <div *ngIf=\"isInvalid('mobile')\" class=\"text-danger\">\r\n <div *ngIf=\"f.mobile.errors?.required\">Contact Number is required.</div>\r\n <div *ngIf=\"f.mobile.errors?.minlength\">Contact Number must be at least 8 digits.</div>\r\n <div *ngIf=\"f.mobile.errors?.maxlength\">Contact Number cannot exceed 13 digits.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"email\" class=\"form-label\">Email </label>\r\n <input type=\"email\" class=\"form-control\" id=\"email\" formControlName=\"email\" autocomplete=\"off\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('email')?.invalid && (userForm.get('email')?.touched)}\">\r\n <div *ngIf=\"isInvalid('email')\" class=\"text-danger\">\r\n <div *ngIf=\"f.email.errors?.pattern\">Invalid email format.</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"location\">Location</label>\r\n <!-- <input\r\n type=\"text\"\r\n id=\"location\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Location\"\r\n formControlName=\"location\"\r\n /> -->\r\n <input type=\"text\" class=\"form-control mt-3\" id=\"location\" formControlName=\"location\" #placesRef=\"ngx-places\" ngx-gp-autocomplete (onAddressChange)=\"handleAddressChange($event)\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('location')?.invalid && (userForm.get('location')?.touched)}\">\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"age\">Age</label>\r\n <select class=\"form-select mt-3\" formControlName=\"age\">\r\n <option value=\"\">Select Age</option>\r\n <option value=\"Below 12\">Below 12</option>\r\n <option value=\"13-19\">13\u201319</option>\r\n <option value=\"20\u201330\">20\u201330</option>\r\n <option value=\"31\u201345\">31\u201345</option>\r\n <option value=\"46\u201359\">46\u201359</option>\r\n <option value=\"Above 60\">Above 60</option>\r\n </select>\r\n <!-- <div class=\"input-group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"left: 0.25rem;\"\r\n (click)=\"decrementAge()\"\r\n >\r\n -\r\n </button>\r\n \r\n <input\r\n type=\"text\" (keypress)=\"omit_special_char($event)\"\r\n id=\"age\"\r\n class=\"form-control pe-5 text-center mt-3\"\r\n formControlName=\"age\"\r\n min=\"1\" max=\"99\"\r\n />\r\n \r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"right: 2.5rem;\"\r\n (click)=\"incrementAge()\"\r\n >\r\n +\r\n </button>\r\n </div> -->\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"gender\">Gender</label>\r\n <select class=\"form-select mt-3\" formControlName=\"gender\">\r\n <option value=\"\">Select Gender</option>\r\n <option value=\"male\">Male</option>\r\n <option value=\"female\">Female</option>\r\n </select>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </form>\r\n \r\n \r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='missedOpportunity'\">\r\n <div class=\"row mt-5 mx-3 border-gray-active1\">\r\n \r\n <div\r\n *ngFor=\"let obj of missedOpportunityList\"\r\n class=\"nav-item nav-item1 w-25\"\r\n (click)=\"selectedTabs(obj.name)\">\r\n <span\r\n [ngClass]=\"selectedMissed === obj.name ? 'active' : 'active-normal'\"\r\n class=\"nav-link nav-link1 cursor-pointer text-nowrap\">\r\n {{ obj.name }}\r\n </span>\r\n </div>\r\n \r\n <div class=\"separator separator-double mb-3\"></div>\r\n <!-- Issue Badges -->\r\n <div *ngFor=\"let obj of missedOpportunityList\">\r\n <div *ngIf=\"selectedMissed === obj.name\" class=\"mt-4\">\r\n <span *ngFor=\"let item of obj.issues\">\r\n \r\n <span\r\n (click)=\"selectSubissue(obj, item)\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': selectedIssues.includes(item),\r\n 'badge-light-default':!selectedIssues.includes(item)\r\n }\"\r\n class=\"badge mt-2 me-2 cursor-pointer\">\r\n <span class=\"me-2\" *ngIf=\"!selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"me-2\" *ngIf=\"selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n </span>\r\n {{ item }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"mt-4\">\r\n <label class=\"form-label\">Description (Optional)</label>\r\n <textarea\r\n rows=\"3\"\r\n class=\"form-control\"\r\n placeholder=\"Enter comments\"\r\n [(ngModel)]=\"description\"\r\n ></textarea>\r\n </div>\r\n \r\n \r\n <div class=\"text-end mt-5\" (click)=\"submitMissedOpportunity()\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n <section *ngIf=\"selectedTab === 'customer'\">\r\n <div class=\"row mt-10\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Tagged Summary <span *ngIf=\"tagggedData?.status==='submitted'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M14.6668 7.38674V8.00007C14.666 9.43769 14.2005 10.8365 13.3397 11.988C12.4789 13.1394 11.269 13.9817 9.8904 14.3893C8.51178 14.797 7.03834 14.748 5.68981 14.2498C4.34128 13.7516 3.18993 12.8308 2.40747 11.6248C1.62501 10.4188 1.25336 8.99211 1.34795 7.55761C1.44254 6.12312 1.9983 4.75762 2.93235 3.66479C3.8664 2.57195 5.12869 1.81033 6.53096 1.4935C7.93323 1.17668 9.40034 1.32163 10.7135 1.90674M14.6668 2.66674L8.00017 9.34007L6.00017 7.34007\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> </span>\r\n </div>\r\n <div class=\"col-md-6 text-end\" *ngIf=\"tagggedData?.status!=='submitted'\">\r\n <span class=\"badge badge-light-warning ms-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10901_7795)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.13152 0.00142049C5.25855 -0.0175778 4.39195 0.154192 3.59222 0.504738C2.7925 0.855283 2.07892 1.37616 1.50131 2.03099C0.923703 2.68583 0.495981 3.45885 0.248009 4.29608C3.70294e-05 5.1333 -0.0622095 6.01457 0.0656154 6.87834C0.19344 7.74212 0.508256 8.56758 0.988083 9.29711C1.46791 10.0266 2.10119 10.6426 2.8437 11.1021C3.58621 11.5616 4.42006 11.8535 5.28703 11.9574C6.15401 12.0613 7.03322 11.9747 7.86327 11.7037C8.0051 11.6573 8.1227 11.5565 8.19022 11.4235C8.25773 11.2904 8.26962 11.136 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81002 10.5997 7.6556 10.5878 7.51377 10.6342C6.61175 10.9287 5.64338 10.9536 4.72742 10.7058C3.81146 10.458 2.98773 9.94825 2.35725 9.2391C1.72677 8.52995 1.31696 7.65221 1.17807 6.71354C1.03917 5.77487 1.17724 4.81607 1.57534 3.95473C1.97343 3.09338 2.61425 2.36694 3.4192 1.86449C4.22414 1.36204 5.15823 1.10543 6.10689 1.12613C7.05556 1.14683 7.97756 1.44393 8.75983 1.98101C9.5421 2.51809 10.1506 3.27178 10.5108 4.14967C10.5674 4.28772 10.6765 4.39763 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28347 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.1085 2.64239 10.3596 1.7147 9.39677 1.05365C8.43396 0.392587 7.29915 0.0268946 6.13152 0.00142049ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.29253 2.30918 6.14946 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91227 7.29217C3.85701 7.34367 3.81268 7.40577 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.80247 7.98441 3.84458 8.04804 3.89799 8.10145C3.95141 8.15486 4.01503 8.19697 4.08507 8.22526C4.15512 8.25355 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.59368 8.18676 4.65578 8.14244 4.70727 8.08717L6.39777 6.39742L6.56277 6.23242V2.81242ZM11.2503 11.2499C11.2503 11.4488 11.1713 11.6396 11.0306 11.7803C10.8899 11.9209 10.6992 11.9999 10.5003 11.9999C10.3014 11.9999 10.1106 11.9209 9.96994 11.7803C9.82929 11.6396 9.75027 11.4488 9.75027 11.2499C9.75027 11.051 9.82929 10.8602 9.96994 10.7196C10.1106 10.5789 10.3014 10.4999 10.5003 10.4999C10.6992 10.4999 10.8899 10.5789 11.0306 10.7196C11.1713 10.8602 11.2503 11.051 11.2503 11.2499ZM11.0628 6.56242C11.0628 6.41324 11.0035 6.27016 10.898 6.16467C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16467C9.99704 6.27016 9.93777 6.41324 9.93777 6.56242V9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6495 9.74992 10.7925 9.69066 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V6.56242Z\" fill=\"#B54708\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.2409 3.07775C11.1762 2.96171 11.1078 2.84799 11.0357 2.73674C10.7826 2.34623 10.4848 1.98631 10.1483 1.6644C9.91561 1.44184 9.66446 1.23744 9.39677 1.05365C9.39672 1.05361 9.39683 1.05368 9.39677 1.05365C9.23737 0.944207 9.07308 0.842748 8.90487 0.749705C8.7207 0.647828 8.53163 0.5559 8.3385 0.474192C7.64269 0.179813 6.8941 0.0180577 6.13152 0.00142049C6.13149 0.00141983 6.13155 0.00142115 6.13152 0.00142049C6.08778 0.00046929 6.04397 -5.01265e-06 6.00027 3.99426e-08C5.19726 9.28871e-05 4.40222 0.161386 3.66237 0.47452C3.63893 0.484441 3.61555 0.494513 3.59222 0.504738C3.42243 0.579166 3.25651 0.661273 3.09496 0.75071C3.00307 0.801577 2.9126 0.854814 2.82363 0.910359C2.33223 1.21713 1.88653 1.59427 1.50131 2.03099C1.11608 2.46773 0.797516 2.95704 0.554486 3.48291C0.433124 3.74551 0.330597 4.01723 0.248009 4.29608C5.51343e-05 5.13324 -0.0622004 6.01444 0.0655874 6.87815C0.065578 6.87809 0.0655967 6.87822 0.0655874 6.87815C0.193412 7.74193 0.508256 8.56758 0.988083 9.29711C1.14783 9.53998 1.32458 9.77027 1.51671 9.98639C1.90168 10.4194 2.34838 10.7956 2.8437 11.1021C3.33882 11.4085 3.87455 11.6404 4.43364 11.7917C4.71299 11.8673 4.99817 11.9228 5.28703 11.9574C5.31999 11.9613 5.35296 11.965 5.38594 11.9684C5.86275 12.0175 6.34254 12.0092 6.81514 11.9445C6.99265 11.9202 7.16915 11.8879 7.34409 11.8477C7.5188 11.8076 7.69196 11.7596 7.86302 11.7038C7.86294 11.7038 7.86311 11.7037 7.86302 11.7038C7.89127 11.6945 7.9188 11.6831 7.94492 11.6697C8.04995 11.6159 8.13615 11.53 8.19022 11.4235C8.21812 11.3685 8.23653 11.3098 8.24524 11.2499C8.25761 11.1649 8.25046 11.0774 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81011 10.5998 7.65579 10.5878 7.51404 10.6341C7.51395 10.6341 7.51413 10.6341 7.51404 10.6341C7.43563 10.6597 7.35645 10.6833 7.27711 10.7049C7.16292 10.7359 7.04786 10.7626 6.93215 10.7851C6.88016 10.7953 6.82804 10.8045 6.77581 10.8129C6.49267 10.8585 6.20633 10.879 5.92014 10.8743C5.84832 10.8731 5.7765 10.8704 5.70476 10.866C5.60998 10.8602 5.51532 10.8517 5.4209 10.8404C5.37256 10.8346 5.32428 10.8281 5.27608 10.8208C5.09176 10.7931 4.90856 10.7548 4.72742 10.7058C4.59856 10.6709 4.47152 10.6309 4.34659 10.5858C4.02763 10.4708 3.7224 10.3231 3.43559 10.1456C3.40186 10.1248 3.36839 10.1035 3.33518 10.0818C3.05409 9.89826 2.79178 9.68556 2.55287 9.44658C2.48578 9.37947 2.42054 9.31029 2.35725 9.2391C2.20011 9.06234 2.05667 8.87512 1.92772 8.67908C1.92445 8.67411 1.92118 8.66913 1.91793 8.66414C1.7113 8.34749 1.54234 8.00807 1.41432 7.65286C1.30511 7.34986 1.2257 7.03536 1.17809 6.71371C1.17808 6.71366 1.1781 6.71377 1.17809 6.71371C1.1575 6.57457 1.14297 6.43481 1.1345 6.29516C1.1301 6.22253 1.12732 6.14989 1.12617 6.07729C1.11832 5.58257 1.18585 5.08961 1.3263 4.61545C1.39297 4.39036 1.47607 4.16951 1.57534 3.95473C1.7744 3.52403 2.03414 3.12706 2.34475 2.77496C2.3762 2.73932 2.40816 2.70413 2.44064 2.66942C2.72893 2.36127 3.05749 2.09027 3.4192 1.86449C3.61995 1.73918 3.82874 1.62916 4.04379 1.53492C4.2051 1.46422 4.36993 1.40241 4.53753 1.34968C5.00877 1.20143 5.50191 1.125 6.00027 1.12497C6.03579 1.12497 6.07133 1.12535 6.10689 1.12613C6.56965 1.13624 7.02621 1.21212 7.46315 1.34954C7.9219 1.49383 8.35919 1.70595 8.75983 1.98101C8.75978 1.98097 8.75988 1.98104 8.75983 1.98101C8.91447 2.08719 9.06247 2.20193 9.20295 2.32433C9.32789 2.43318 9.447 2.54816 9.55988 2.66877C9.67464 2.79139 9.78295 2.91982 9.8844 3.05355C10.0182 3.22986 10.14 3.41537 10.2489 3.60887C10.3086 3.71493 10.3644 3.82339 10.4162 3.93405C10.4455 3.99677 10.4736 4.06019 10.5003 4.12428C10.5038 4.13273 10.5073 4.1412 10.5108 4.14967C10.5107 4.14959 10.5108 4.14975 10.5108 4.14967C10.5674 4.28761 10.6765 4.39766 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28348 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.5517 3.72283 11.5518 3.72301 11.5518 3.72292C11.4834 3.55631 11.4077 3.39306 11.3251 3.23413C11.2978 3.18156 11.2697 3.12942 11.2409 3.07775ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.3121 2.32875 6.20124 2.2735 6.08246 2.25595C6.05548 2.25198 6.02787 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91245 7.292C3.90275 7.30103 3.89322 7.31057 3.88421 7.32023C3.84187 7.36567 3.80729 7.41787 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.78054 7.93011 3.78759 7.94552 3.79532 7.96057C3.82196 8.01249 3.85658 8.06004 3.89799 8.10145C3.95141 8.15487 4.01503 8.19697 4.08507 8.22526C4.15512 8.25356 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.58157 8.19216 4.63377 8.15757 4.67921 8.11524C4.68881 8.10629 4.69811 8.097 4.70708 8.08737C4.70702 8.08744 4.70715 8.08731 4.70708 8.08737L6.56277 6.23242V2.81242ZM9.93777 9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6437 9.74992 10.7815 9.69514 10.8857 9.59716C10.8898 9.59323 10.894 9.58924 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V7.54234C10.8777 7.51426 10.6897 7.49992 10.5003 7.49992C10.3108 7.49992 10.1228 7.51426 9.93777 7.54234V9.18742ZM9.93777 7.32686C10.1215 7.38612 10.3096 7.4303 10.5003 7.45904C10.6714 7.48483 10.8445 7.49818 11.0183 7.49881C11.0331 7.49887 11.0479 7.49883 11.0628 7.4987V6.56242C11.0628 6.49008 11.0488 6.41917 11.0224 6.35328C10.9944 6.28331 10.9524 6.21901 10.898 6.16468C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16468C10.1003 6.16692 10.0981 6.16917 10.0959 6.17145C9.9977 6.27299 9.94135 6.40773 9.93794 6.54882C9.93783 6.55335 9.93777 6.55788 9.93777 6.56242V7.32686ZM11.2488 11.2968C11.2498 11.2813 11.2503 11.2656 11.2503 11.2499C11.2503 11.2487 11.2503 11.2475 11.2503 11.2463C11.2493 11.0487 11.1704 10.8594 11.0306 10.7196C10.8899 10.5789 10.6992 10.4999 10.5003 10.4999C10.3014 10.4999 10.1106 10.5789 9.96994 10.7196C9.82929 10.8602 9.75027 11.051 9.75027 11.2499C9.75027 11.4488 9.82929 11.6396 9.96994 11.7803C10.1106 11.9209 10.3014 11.9999 10.5003 11.9999C10.6992 11.9999 10.8899 11.9209 11.0306 11.7803C11.1602 11.6507 11.2374 11.4786 11.2488 11.2968Z\" fill=\"#B54708\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10901_7795\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg><span class=\"ms-2\">Pending Tagged Info</span></span> \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='purchaser'\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Name</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.name}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Location</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.location?tagggedData?.customerInfo?.location:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Mobile</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.mobile}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Age</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.age?tagggedData?.customerInfo?.age:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Email</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.email?tagggedData?.customerInfo?.email:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Gender</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.gender?tagggedData?.customerInfo?.gender:\"-\"}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tagggedData?.revopsType==='missedOpportunity'\">\r\n\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngFor=\"let item of tagggedData.issueList\" >\r\n <div class=\"ms-2 mb-2 spent-value\">{{item.name}}</div>\r\n <span class=\"badge badge-light-default ms-2\" *ngFor=\"let data of item.issue\">{{data}}</span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='nonShopper'\">\r\n <span class=\"badge badge-light-default ms-2\">{{nonShoperType}}</span>\r\n </div>\r\n <!-- <div class=\"my-2\"><span class=\"desc-id\">Original ID</span> : <span class=\"spent-value1\"\r\n style=\"font-size: 12px !important;\">{{Imagedata?.tempId}}</span></div> -->\r\n \r\n <div *ngIf=\"tagggedData?.description&&tagggedData?.description!==''\" class=\"my-3 desc-id\">{{tagggedData.description}}\r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n <div class=\"my-3\">\r\n <span class=\"tag-class\">Time Spent</span>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap\">\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.totalTimeSpent}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Total Time Spent</div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.entryTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('entry')\">Entry Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.exitTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('exit')\">Exit Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"row\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Zones Visited</span>\r\n\r\n </div>\r\n \r\n <ng-container class=\"h-200px scroll\">\r\n <div class=\"col mt-2\" *ngFor=\"let obj of Imagedata?.zoneVisited\">\r\n <span class=\"badge badge-light-primary \">{{obj}}</span>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited.length ===0\" class=\"col-md-12 mt-2 text-center\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No Zones Visited</div>\r\n <div class=\"nodata-sub\">There is no result for this Zones</div>\r\n </div>\r\n \r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"my-3\">\r\n <span class=\"tag-class\">Staff Engagement</span>\r\n </div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"d-flex flex-wrap\">\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeTakenToAssist}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time taken to assist \r\n <!-- <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeSpentWithStaff}}</div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time spent with staff</div>\r\n </div>\r\n \r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n</section>\r\n</div>", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}.no-preview{border:1px solid #F04438;background:#fee4e2;border-radius:8px;stroke-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:41px 16px}.no-preview .header{color:#f04438;font-size:20px;font-weight:700;line-height:20px}.no-preview .description{color:#f04438;font-size:12px;font-weight:500;line-height:18px}.img-nodata{width:25%;height:15%}.img-nodata1{width:15%;height:15%}.nodata-title{font-size:14px!important;font-weight:600}.img-direc{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:500;line-height:28px}.custom-accordion{border-radius:5px}.custom-accordion-item{margin-bottom:10px}.custom-accordion-header{background-color:#fff;border:none;cursor:pointer;padding:10px;text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}.custom-accordion{width:100%}.mainheading{width:100%;display:flex;justify-content:space-between;align-items:center;padding:19px;border:none;background:none;cursor:pointer}.header-row{display:flex;align-items:center;width:100%;justify-content:space-between}.img-dire{font-size:16px;font-weight:700}.divider{flex-grow:1;height:1px;background-color:#ddd;margin:0 10px}.accordion-arrow{display:flex;align-items:center}.scroll-container{max-height:400px;overflow-y:auto;overflow-x:hidden}.high-400px{min-height:auto!important;max-height:800px!important}.slider{position:relative}.slider .previous{position:absolute;top:30%;left:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.slider .next{position:absolute;top:30%;right:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-src1{border-radius:12px;border:1px solid var(--Gray-400, #98A2B3);background:var(--Gray-50, #F9FAFB);width:100%;height:375px}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);padding:0 4px}.border-gray-active{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #EAF8FF);padding:0 4px}.zone-header{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.last-visit{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.toggle-label{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.nav-dev{border-radius:8px!important;border:1px solid var(--Primary-200, #99DAFF)!important;background:var(--Primary-25, #F6FCFF)!important}.tab-active{border-radius:6px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3)!important;font-size:14px;font-weight:500;line-height:20px}.tab-text-default{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}.border-gray-active1{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:12px!important}.nav-item1 .nav-link1.active{border:none;border-radius:0;background:var(--Primary-50, #EAF8FF);border-bottom:2px solid #009BF3!important;padding:12px;color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.active-normal{padding:12px;color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.nav-item1 .nav-link1:hover{border:none}.tag-class{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.spent-title{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.spent-value{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.spent-value1{color:var(--Primary-500, #33B5FF);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.w-33{width:30%}.w-45{width:45%}.view-tetory{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;text-transform:capitalize}.border-gray-tagged{border-radius:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:8px!important}.desc-id{color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:400;line-height:20px}.active-tab{border-bottom:2px solid #0d6efd;font-weight:600;color:#0d6efd}.badge-selected{background-color:#e0f3ff;color:#0d6efd;border:1px solid #0d6efd;border-radius:20px;padding:6px 12px}.badge-unselected{background-color:#f0f0f0;color:#333;border-radius:20px;padding:6px 12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cursor-not-allowed{cursor:not-allowed!important}\n"] }]
831
- }], ctorParameters: () => [{ type: i1.TrafficService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }, { type: i3.NgbModal }, { type: i4.FormBuilder }, { type: i5.ToastService }], propDecorators: { placesRef: [{
833
+ args: [{ selector: "lib-image-doc", template: "<div class=\"card mt-3\">\r\n <div class=\"card-header mt-3 px-0 border-bottom-0\">\r\n <div class=\"custom-accordion\">\r\n <div class=\"custom-accordion-item\">\r\n <button class=\"mainheading pb-0 custom-accordion-header\" (click)=\"toggleAccordion()\">\r\n <div class=\"header-row\">\r\n <span class=\"img-direc\">Image Directory</span>\r\n \r\n <span class=\"divider\"></span>\r\n <span class=\"accordion-arrow\">\r\n <!-- Down arrow for collapsed state, up arrow for expanded state -->\r\n <svg *ngIf=\"!isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 1L5 5L9 1\" stroke=\"#071437\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isAccordionExpanded\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"6\" viewBox=\"0 0 16 6\" fill=\"none\">\r\n <path d=\"M1 5L5 1L9 5\" stroke=\"#1b84ff\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n \r\n <section *ngIf=\"isAccordionExpanded\">\r\n <div class=\"col-md-12 px-5\" *ngIf=\"!hideDoc\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Examine individual footfall in gallery view with optimal sample images for detailed analysis.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div class=\"cursor-pointer\" (click)=\"closeData()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <div *ngIf=\"folderView\" class=\"card-body px-0\">\r\n <div class=\"scroll-container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of dateArray;let i = index\">\r\n <div (click)=\"getimages(i,obj)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj | date:'dd MMM'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n </div>\r\n <div *ngIf=\"!folderView\" class=\"card-body\">\r\n <section *ngIf=\"!imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <span *ngIf=\"backnav\" class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"img-direc ms-2\">{{folderDate | date:'dd MMM, yyyy'}}</span>\r\n <div class=\"ms-auto text-end\">\r\n <form *ngIf=\"!normalize && !clientData?.isFootfallView\" [formGroup]=\"form\">\r\n <lib-reactive-select \r\n [formControl]=\"selectControl\" \r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"datasets\"\r\n class=\"w-100 text-start\"\r\n (valueChange)=\"onValueChange($event)\">\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x px-0\">\r\n <ng-container *ngIf=\"this.headerData?.client !=='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.headerData?.client ==='459'\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of objectsArray.slice(0, -1)\">\r\n <ul *ngIf=\"lengthValue\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item cursor-pointer\">\r\n <a (click)=\"selectedTimes(obj.folderName)\"\r\n [ngClass]=\"selectedTime === obj?.folderName ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.folderName}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.folderName ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.count?obj?.count:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div *ngIf=\"normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata1\" src=\"./assets/tango/Icons/not-applicable.svg\" alt=\"\">\r\n <div class=\"nodata-title mt-3\">Data Not Found</div>\r\n <div class=\"nodata-sub\">Normalized data is not applicable</div>\r\n </div>\r\n <div *ngIf=\"!normalize\" class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this image directory</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row px-0 img-traffic contain high-400px scroll-y\" *ngIf=\"!noData && !loading\">\r\n <div class=\"col-md-3 border-gray mx-2 p-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <section *ngIf=\"headerData?.client ==='11'\">\r\n <img class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\"> <!--(click)=\"imageView(obj,objData.footfallDate)\" -->\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n <img *ngIf=\"obj.images.entryTimeImage&&clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"revopTagging(obj)\">\r\n </section>\r\n <img *ngIf=\"obj.images.entryTimeImage&&!clientData?.isRevops\" class=\"img-src cursor-pointer\" [src]=\"obj.images.entryTimeImage\" (error)=\"obj?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageView(obj,objData.footfallDate)\">\r\n <div *ngIf=\"!obj.images.entryTimeImage\" class=\"no-preview\">\r\n <span class=\"mb-5\" >\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n\r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n <div class=\"row px-2 mb-2\">\r\n <div class=\"col-md-7\">\r\n <div class=\"py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{obj.tempId}}</span> \r\n <!-- <span *ngIf=\"selectControl.value ==='missedOpportunity'\" class=\"badge badge-light-success ms-2\">Missed Opportunity</span>\r\n <span *ngIf=\"selectControl.value ==='bounced'\" class=\"badge badge-light-success ms-2\">Bounced Footfall</span> -->\r\n <span *ngIf=\"obj?.revopsType || selectControl.value as value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall'|| !value ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion',\r\n \r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-5 text-end\" >\r\n <div class=\"py-2 mt-4\" *ngIf=\"!clientData?.isRevops\"></div>\r\n \r\n <div class=\"py-2\" *ngIf=\"clientData?.isRevops\">\r\n <section *ngIf=\"headerData.client ==='11'\">\r\n <span *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n <section *ngIf=\"headerData.client !=='11'\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"!obj?.revopsType||obj?.revopsType===''\" ngbTooltip=\"Yet to tag the customer\" (click)=\"revopTagging(obj)\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22852)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.37328 0.00201606C7.20932 -0.023315 6.05385 0.205711 4.98755 0.673106C3.92125 1.1405 2.96981 1.835 2.19967 2.70811C1.42952 3.58123 0.859225 4.61192 0.528596 5.72822C0.197966 6.84453 0.114971 8.01955 0.285404 9.17124C0.455837 10.3229 0.875591 11.4236 1.51536 12.3963C2.15513 13.369 2.9995 14.1903 3.98951 14.8029C4.97953 15.4156 6.09133 15.8048 7.2473 15.9433C8.40326 16.0818 9.57554 15.9664 10.6823 15.605C10.8714 15.5432 11.0282 15.4088 11.1182 15.2314C11.2082 15.054 11.2241 14.8481 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6113 14.1331 10.4054 14.1172 10.2163 14.179C9.01359 14.5717 7.72242 14.6049 6.50114 14.2745C5.27986 13.9441 4.18155 13.2644 3.34092 12.3189C2.50028 11.3734 1.95386 10.2031 1.76867 8.95151C1.58348 7.69995 1.76757 6.42155 2.29837 5.27309C2.82916 4.12463 3.68358 3.15604 4.75684 2.48611C5.83011 1.81618 7.07555 1.47403 8.34044 1.50163C9.60533 1.52922 10.8347 1.92536 11.8777 2.64147C12.9207 3.35757 13.7321 4.3625 14.2123 5.53302C14.2877 5.71708 14.4332 5.86362 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44721 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05515 15.6003 4.96402C15.0093 3.52331 14.0107 2.28639 12.7269 1.40498C11.4432 0.523571 9.93012 0.0359815 8.37328 0.00201606ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.58796 3.07903 8.39719 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41428 9.72302C5.34059 9.79168 5.28149 9.87448 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.26788 10.646 5.32402 10.7308 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.32282 10.9158 6.40562 10.8567 6.47428 10.783L8.72828 8.53002L8.94828 8.31002V3.75002ZM15.1983 15C15.1983 15.2652 15.0929 15.5196 14.9054 15.7071C14.7179 15.8947 14.4635 16 14.1983 16C13.9331 16 13.6787 15.8947 13.4912 15.7071C13.3036 15.5196 13.1983 15.2652 13.1983 15C13.1983 14.7348 13.3036 14.4804 13.4912 14.2929C13.6787 14.1054 13.9331 14 14.1983 14C14.4635 14 14.7179 14.1054 14.9054 14.2929C15.0929 14.4804 15.1983 14.7348 15.1983 15ZM14.9483 8.75002C14.9483 8.5511 14.8693 8.36034 14.7286 8.21969C14.588 8.07903 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07903 13.668 8.21969C13.5273 8.36034 13.4483 8.5511 13.4483 8.75002V12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3972 13 14.588 12.921 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V8.75002Z\" fill=\"#F79009\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.1858 4.10379C15.0996 3.94907 15.0083 3.79744 14.9121 3.64911C14.5747 3.12843 14.1776 2.64854 13.7289 2.21932C13.4187 1.92257 13.0839 1.65004 12.7269 1.40498C12.7269 1.40493 12.727 1.40504 12.7269 1.40498C12.5144 1.25906 12.2954 1.12379 12.0711 0.999729C11.8255 0.863893 11.5734 0.741322 11.3159 0.632377C10.3882 0.239873 9.39006 0.024199 8.37328 0.00201606C8.37324 0.00201518 8.37332 0.00201694 8.37328 0.00201606C8.31496 0.00074779 8.25655 0.000115387 8.19828 0.000122124C7.1276 0.00024592 6.06754 0.215304 5.08108 0.632816C5.04983 0.646043 5.01865 0.659473 4.98755 0.673106C4.76115 0.772343 4.53993 0.88182 4.32452 1.00107C4.20201 1.06889 4.08139 1.13987 3.96275 1.21393C3.30756 1.62296 2.71329 2.12581 2.19967 2.70811C1.68602 3.29043 1.26127 3.94285 0.937232 4.644C0.775415 4.99414 0.638713 5.35643 0.528596 5.72822C0.19799 6.84445 0.114983 8.01938 0.285366 9.17099C0.285354 9.17091 0.285379 9.17108 0.285366 9.17099C0.4558 10.3227 0.875591 11.4236 1.51536 12.3963C1.72835 12.7201 1.96402 13.0271 2.22019 13.3153C2.73349 13.8927 3.32909 14.3943 3.98951 14.8029C4.64967 15.2115 5.36398 15.5206 6.10943 15.7224C6.4819 15.8232 6.86215 15.8971 7.2473 15.9433C7.29123 15.9486 7.33519 15.9535 7.37917 15.958C8.01492 16.0235 8.65464 16.0124 9.28478 15.9261C9.52146 15.8937 9.75678 15.8507 9.99004 15.7971C10.223 15.7436 10.4539 15.6796 10.6819 15.6051C10.6818 15.6052 10.6821 15.6051 10.6819 15.6051C10.7196 15.5928 10.7563 15.5775 10.7911 15.5597C10.9312 15.488 11.0461 15.3735 11.1182 15.2314C11.1554 15.1581 11.18 15.0799 11.1916 15C11.2081 14.8867 11.1985 14.77 11.1623 14.659C11.1005 14.4699 10.9661 14.3131 10.7887 14.2231C10.6114 14.1331 10.4056 14.1172 10.2166 14.1789C10.2165 14.1789 10.2168 14.1789 10.2166 14.1789C10.1121 14.213 10.0065 14.2446 9.90073 14.2733C9.74848 14.3146 9.59506 14.3503 9.44078 14.3803C9.37146 14.3938 9.30196 14.4062 9.23233 14.4174C8.8548 14.4782 8.47302 14.5055 8.09144 14.4992C7.99568 14.4976 7.89992 14.4939 7.80426 14.4881C7.6779 14.4804 7.55168 14.4691 7.42578 14.454C7.36133 14.4463 7.29696 14.4376 7.23269 14.4279C6.98693 14.391 6.74267 14.3399 6.50114 14.2745C6.32933 14.228 6.15995 14.1746 5.99337 14.1146C5.56809 13.9612 5.16112 13.7642 4.7787 13.5276C4.73373 13.4998 4.68911 13.4714 4.64483 13.4425C4.27003 13.1978 3.92028 12.9142 3.60174 12.5956C3.51229 12.5061 3.42531 12.4138 3.34092 12.3189C3.13139 12.0832 2.94014 11.8336 2.76821 11.5722C2.76385 11.5656 2.7595 11.559 2.75516 11.5523C2.47964 11.1301 2.25437 10.6775 2.08368 10.2039C1.93807 9.79993 1.83218 9.38061 1.76871 8.95174C1.76869 8.95166 1.76872 8.95182 1.76871 8.95174C1.74125 8.76621 1.72188 8.57986 1.71059 8.39367C1.70471 8.29683 1.70101 8.19998 1.69948 8.10317C1.68902 7.44355 1.77905 6.78626 1.96631 6.15405C2.0552 5.85394 2.16601 5.55947 2.29837 5.27309C2.56378 4.69883 2.91011 4.16954 3.32425 3.70007C3.36618 3.65254 3.4088 3.60563 3.4521 3.55934C3.83649 3.14848 4.27458 2.78714 4.75684 2.48611C5.02452 2.31903 5.30291 2.17233 5.58963 2.04668C5.80471 1.95242 6.02449 1.87 6.24796 1.7997C6.87628 1.60202 7.5338 1.50012 8.19828 1.50008C8.24563 1.50008 8.29302 1.50059 8.34044 1.50163C8.95745 1.51511 9.5662 1.61629 10.1488 1.79952C10.7605 1.99189 11.3435 2.27472 11.8777 2.64147C11.8776 2.64142 11.8778 2.64151 11.8777 2.64147C12.0839 2.78304 12.2812 2.93603 12.4685 3.09922C12.6351 3.24436 12.7939 3.39767 12.9444 3.55848C13.0974 3.72197 13.2419 3.89322 13.3771 4.07152C13.5555 4.3066 13.7179 4.55395 13.8631 4.81195C13.9427 4.95336 14.0171 5.09798 14.0861 5.24552C14.1253 5.32914 14.1627 5.41371 14.1983 5.49916C14.203 5.51043 14.2076 5.52172 14.2123 5.53302C14.2122 5.53292 14.2123 5.53312 14.2123 5.53302C14.2878 5.71693 14.4333 5.86367 14.6167 5.94042C14.7076 5.97845 14.805 5.9982 14.9035 5.99856C15.002 5.99892 15.0996 5.97988 15.1908 5.94252C15.2819 5.90516 15.3648 5.85021 15.4347 5.78082C15.5046 5.71142 15.5602 5.62894 15.5982 5.53808C15.6362 5.44722 15.656 5.34975 15.6563 5.25126C15.6567 5.15276 15.6376 5.05516 15.6003 4.96402C15.6002 4.9639 15.6003 4.96414 15.6003 4.96402C15.5091 4.74187 15.4082 4.5242 15.2981 4.31229C15.2617 4.2422 15.2242 4.17269 15.1858 4.10379ZM8.94828 3.75002C8.94828 3.5511 8.86926 3.36034 8.72861 3.21969C8.61405 3.10512 8.46624 3.03145 8.30786 3.00806C8.27188 3.00276 8.23508 3.00002 8.19828 3.00002C7.99937 3.00002 7.8086 3.07903 7.66795 3.21969C7.5273 3.36034 7.44828 3.5511 7.44828 3.75002V7.69002L5.41452 9.72278C5.40159 9.73483 5.38887 9.74755 5.37686 9.76044C5.32041 9.82102 5.2743 9.89062 5.2405 9.96648C5.19951 10.0585 5.17746 10.1578 5.17569 10.2585C5.17391 10.3592 5.19244 10.4592 5.23016 10.5526C5.23863 10.5736 5.24804 10.5942 5.25834 10.6142C5.29387 10.6834 5.34002 10.7468 5.39524 10.8021C5.46646 10.8733 5.55129 10.9294 5.64468 10.9671C5.73807 11.0049 5.8381 11.0234 5.9388 11.0216C6.03951 11.0198 6.13882 10.9978 6.23082 10.9568C6.30668 10.923 6.37628 10.8769 6.43686 10.8204C6.44966 10.8085 6.46206 10.7961 6.47403 10.7833C6.47395 10.7834 6.47411 10.7832 6.47403 10.7833L8.94828 8.31002V3.75002ZM13.4483 12.25C13.4483 12.4489 13.5273 12.6397 13.668 12.7803C13.8086 12.921 13.9994 13 14.1983 13C14.3895 13 14.5732 12.927 14.7121 12.7963C14.7177 12.7911 14.7232 12.7858 14.7286 12.7803C14.8693 12.6397 14.9483 12.4489 14.9483 12.25V10.0566C14.7015 10.0191 14.4509 10 14.1983 10C13.9457 10 13.695 10.0191 13.4483 10.0566V12.25ZM13.4483 9.76927C13.6932 9.84828 13.9441 9.90719 14.1983 9.94551C14.4264 9.97989 14.6572 9.99769 14.8889 9.99854C14.9087 9.99861 14.9285 9.99856 14.9483 9.99838V8.75002C14.9483 8.65356 14.9297 8.55901 14.8945 8.47117C14.8571 8.37787 14.8011 8.29213 14.7286 8.21969C14.588 8.07904 14.3972 8.00002 14.1983 8.00002C13.9994 8.00002 13.8086 8.07904 13.668 8.21969C13.665 8.22268 13.662 8.22569 13.6591 8.22872C13.5282 8.3641 13.453 8.54376 13.4485 8.73188C13.4484 8.73792 13.4483 8.74397 13.4483 8.75002V9.76927ZM15.1963 15.0626C15.1976 15.0418 15.1983 15.0209 15.1983 15C15.1983 14.9984 15.1983 14.9968 15.1983 14.9951C15.197 14.7317 15.0918 14.4793 14.9054 14.2929C14.7178 14.1054 14.4635 14 14.1983 14C13.9331 14 13.6787 14.1054 13.4912 14.2929C13.3036 14.4804 13.1983 14.7348 13.1983 15C13.1983 15.2652 13.3036 15.5196 13.4912 15.7071C13.6787 15.8947 13.9331 16 14.1983 16C14.4635 16 14.7178 15.8947 14.9054 15.7071C15.0781 15.5344 15.1811 15.305 15.1963 15.0626Z\" fill=\"#F79009\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22852\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"cursor-pointer\" *ngIf=\"obj?.revopsType&&obj?.revopsType!==''\" (click)=\"revopTagging(obj)\" ngbTooltip=\"Customer Tagging is Done\" placement=\"top\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10335_22856)\">\r\n <path d=\"M15.0638 7.38662V7.99995C15.063 9.43756 14.5975 10.8364 13.7367 11.9878C12.8759 13.1393 11.666 13.9816 10.2874 14.3892C8.90876 14.7968 7.43531 14.7479 6.08678 14.2497C4.73826 13.7515 3.58691 12.8307 2.80444 11.6247C2.02198 10.4186 1.65033 8.99199 1.74492 7.55749C1.83951 6.12299 2.39527 4.7575 3.32932 3.66467C4.26337 2.57183 5.52566 1.81021 6.92793 1.49338C8.3302 1.17656 9.79731 1.32151 11.1105 1.90662M15.0638 2.66662L8.39714 9.33995L6.39714 7.33995\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10335_22856\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.398438)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </section>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"imageFlow\">\r\n <div class=\"row\">\r\n <div class=\"d-flex flex-shrink-0 mt-3 justify-content-between align-items-center px-0\">\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" (click)=\"backToView()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" 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\" 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=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"ms-2 py-2 img-doc-directory\"><span class=\"badge badge-light-info\">{{Imagedata.tempId}}</span> \r\n <ng-container *ngIf=\"selectControl.value as value\">\r\n <span *ngIf=\"value\"\r\n class=\"badge ms-2\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': value === 'footfall' ,\r\n 'badge-light-success': value === 'purchaser',\r\n 'badge-light-warning': value === 'nonShopper',\r\n 'badge-light-danger': value === 'bounced' || value === 'engager' || value === 'missedOpportunity' || value === 'conversion'\r\n }\">\r\n {{\r\n value === 'purchaser' ? 'Purchaser' :\r\n value === 'nonShopper' ? 'Non Shopper' :\r\n value === 'missedOpportunity' ? 'Missed Opportunity' :\r\n (value | titlecase)\r\n }}\r\n </span>\r\n </ng-container>\r\n \r\n \r\n </span>\r\n </div>\r\n <div class=\"\">\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isFirstImage() }\"\r\n [style.pointer-events]=\"isFirstImage() ? 'none' : 'auto'\"\r\n (click)=\"!isFirstImage() && previous()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 8C0.5 3.85786 3.85786 0.5 8 0.5H39.5V39.5H8C3.85786 39.5 0.5 36.1421 0.5 32V8Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M22.5 25L17.5 20L22.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"cursor-pointer\" [ngClass]=\"{ 'cursor-not-allowed opacity-50': isLastImage() }\"\r\n [style.pointer-events]=\"isLastImage() ? 'none' : 'auto'\"\r\n (click)=\"!isLastImage() && next()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n fill=\"white\" />\r\n <path d=\"M0.5 0.5H32C36.1421 0.5 39.5 3.85786 39.5 8V32C39.5 36.1421 36.1421 39.5 32 39.5H0.5V0.5Z\"\r\n stroke=\"#D0D5DD\" />\r\n <path d=\"M17.5 25L22.5 20L17.5 15\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row contain mt-10\">\r\n <div class=\"col-md-6 col-lg-6 col-xl-6\">\r\n <img class=\"img-src1\" [src]=\"Images\"\r\n (error)=\"Images = null\" alt=\"\" appMagnifier >\r\n \r\n <!-- {{myThumbnail}}\r\n <ngx-image-zoom\r\n [thumbImage]=myThumbnail\r\n [fullImage]=myFullresImage\r\n [magnification]=\"1\"\r\n [enableScrollZoom]=\"true\"\r\n [enableLens]=\"true\"\r\n [lensWidth]=\"200\"\r\n [lensHeight]=\"200\"\r\n ></ngx-image-zoom> -->\r\n <div *ngIf=\"!Images\" class=\"no-preview\">\r\n <span class=\"mb-5\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\" d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-5 text-center\">Preview not available</span>\r\n <span class=\"description mb-5 text-center\">The selected camera is not available at the\r\n moment.</span>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"row slider mt-5\">\r\n <ng-container>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.entryTimeImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.entryTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.entryTimeImage\r\n }\">\r\n <div>Entry Time1</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.entryTimeImage\"\r\n (error)=\"Imagedata?.images.entryTimeImage = null\" alt=\"\" (click)=\"imageData('entry')\">\r\n <div *ngIf=\"!Imagedata?.images?.entryTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\" *ngIf=\"Imagedata?.images?.staffEngagementImage\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.staffEngagementImage,\r\n 'border-gray': Images !== Imagedata?.images?.staffEngagementImage\r\n }\">\r\n <div>Staff Engagement</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.staffEngagementImage\"\r\n (error)=\"Imagedata?.images.staffEngagementImage = null\" alt=\"\" (click)=\"imageData('staff')\">\r\n <div *ngIf=\"!Imagedata?.images?.staffEngagementImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4 \" *ngIf=\"Imagedata?.images?.exitTimeImage && footfallDataShow !=='tracking-enabled'\">\r\n <div class=\"mb-5 border-2\" [ngClass]=\"{\r\n 'border-gray-active': Images === Imagedata?.images?.exitTimeImage,\r\n 'border-gray': Images !== Imagedata?.images?.exitTimeImage\r\n }\">\r\n <div>Exit Time</div>\r\n <img class=\"cursor-pointer w-100 rounded-2 mh-100px pb-1\"\r\n [src]=\"Imagedata?.images?.exitTimeImage\"\r\n (error)=\"Imagedata?.images.exitTimeImage = null\" alt=\"\" (click)=\"imageData('exit')\">\r\n <div *ngIf=\"!Imagedata?.images?.exitTimeImage\" class=\"no-preview-sm cursor-pointer\">\r\n <span class=\"mb-2\">\r\n <svg width=\"23\" height=\"20\" viewBox=\"0 0 23 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\"\r\n d=\"M6.5 6.32227H6.51M16.25 9.32227H21.5L18 16.3223L14.91 12.0023\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path id=\"Vector_2\"\r\n d=\"M1.5 16.3229H5.26C5.63273 16.3255 5.99877 16.2239 6.31682 16.0295C6.63487 15.8352 6.89228 15.5558 7.06 15.2229L8.5 12.3229M1.5 18.3229V14.3229M17.5 6.82291L13.5 14.8229L3.11 9.62291C2.42033 9.27553 1.89635 8.6691 1.65272 7.93632C1.40909 7.20354 1.46564 6.4041 1.81 5.71291L3.19 2.92291C3.362 2.58014 3.59984 2.2746 3.88994 2.02375C4.18003 1.7729 4.5167 1.58165 4.88072 1.46093C5.24474 1.34021 5.62897 1.29239 6.01147 1.32018C6.39398 1.34797 6.76726 1.45084 7.11 1.62291L17.5 6.82291Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </svg>\r\n \r\n </span>\r\n <span class=\"header mb-2 text-center\">Preview not available</span>\r\n <span class=\"description mb-2 text-center\">The selected camera is not available\r\n at\r\n the\r\n moment.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>\r\n <div class=\"col-md-6 col-lg-6 col-xl-6 pe-0 mb-3\">\r\n <ul class=\"nav flex-wrap nav-dev fw-bold align-items-center\">\r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'tagged'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'tagged'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Tagged Info\r\n </a>\r\n </li>\r\n \r\n <li class=\"nav-item my-1 w-50\">\r\n <a (click)=\"selectedTab = 'customer'\" [ngClass]=\"{\r\n 'tab-active': selectedTab === 'customer'\r\n }\" class=\"tab-text-default btn nav-link px-3 px-lg-8 mx-1\">\r\n Customer Info\r\n </a>\r\n </li>\r\n </ul>\r\n <section *ngIf=\"selectedTab === 'tagged'\">\r\n <div class=\"row mx-3 mt-5 mb-3\">\r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioNonShopper\"\r\n value=\"nonShopper\" [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('nonShopper')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioNonShopper\">\r\n Non Shopper\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioPurchaser\" value=\"purchaser\"\r\n [(ngModel)]=\"selectedCustomerType\" (change)=\"onRadioChange('purchaser')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioPurchaser\">\r\n Purchaser\r\n </label>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-4 form-check mt-5 px-1\">\r\n <div class=\"form-check \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"radio\" name=\"exampleRadios\" id=\"radioMissed\"\r\n value=\"missedOpportunity\" [(ngModel)]=\"selectedCustomerType\"\r\n (change)=\"onRadioChange('missedOpportunity')\">\r\n <label class=\"form-check-label cursor-pointer toggle-label\" for=\"radioMissed\">\r\n Missed Opportunity\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section *ngIf=\"selectedCustomerType ==='nonShopper'\">\r\n <div class=\"row mt-5 mx-3\">\r\n <div class=\"border-gray-active1\">\r\n <span *ngFor=\"let obj of nonShopperList\" class=\"cursor-pointer\">\r\n <div class=\"badge mt-3 me-8\" [ngClass]=\"obj!==nonShoperType ? 'badge-light-default' :'badge-light-primary'\" (click)=\"selectnonShoper(obj)\" >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj!==nonShoperType\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"obj===nonShoperType\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n <span class=\"ms-3\">{{obj}}</span></div>\r\n </span>\r\n \r\n <div class=\"col-md-12 mt-5 pb-10\">\r\n <div class=\"form-group\">\r\n <label for=\"exampleInputName\">Description (Optional)</label>\r\n <textarea [(ngModel)]=\"description\" class=\"form-control mt-3\" rows=\"4\" placeholder=\"\"></textarea>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\" (click)=\"nonShopperSubmit()\" >\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='purchaser'\">\r\n <div class=\"row mt-5\">\r\n <form [formGroup]=\"userForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"row border-gray-active1\">\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"name\">Name<span class=\"alert-required text-danger\">*</span></label>\r\n <input\r\n type=\"text\"\r\n id=\"name\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Enter Name\" autocomplete=\"off\"\r\n formControlName=\"name\" required [ngClass]=\"{ 'is-invalid':userForm.get('name')?.invalid && (userForm.get('name')?.touched)}\"\r\n />\r\n <div *ngIf=\"isInvalid('name')\" class=\"text-danger\">\r\n <div *ngIf=\"f.name.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact Number <span class=\"alert-required text-danger\">*</span></label>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <select class=\"form-select ps-3 pe-8\" id=\"inputGroupSelect01\" formControlName=\"countryCode\">\r\n <option *ngFor=\"let country of countryList\" [value]=\"country.phonecode\">\r\n {{country.name}} ({{country.phonecode}})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6\">\r\n <input type=\"text\" class=\"form-control\" (keypress)=\"omit_special_char($event)\"\r\n id=\"mobile\" autocomplete=\"off\" formControlName=\"mobile\" minlength=\"8\" maxlength=\"13\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('mobile')?.invalid && (userForm.get('mobile')?.touched)}\">\r\n <div *ngIf=\"isInvalid('mobile')\" class=\"text-danger\">\r\n <div *ngIf=\"f.mobile.errors?.required\">Contact Number is required.</div>\r\n <div *ngIf=\"f.mobile.errors?.minlength\">Contact Number must be at least 8 digits.</div>\r\n <div *ngIf=\"f.mobile.errors?.maxlength\">Contact Number cannot exceed 13 digits.</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 col-lg-6 col-xl-6 col-xxl-6 mt-3\">\r\n <label for=\"email\" class=\"form-label\">Email </label>\r\n <input type=\"email\" class=\"form-control\" id=\"email\" formControlName=\"email\" autocomplete=\"off\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('email')?.invalid && (userForm.get('email')?.touched)}\">\r\n <div *ngIf=\"isInvalid('email')\" class=\"text-danger\">\r\n <div *ngIf=\"f.email.errors?.pattern\">Invalid email format.</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"location\">Location</label>\r\n <!-- <input\r\n type=\"text\"\r\n id=\"location\"\r\n class=\"form-control mt-3\"\r\n placeholder=\"Location\"\r\n formControlName=\"location\"\r\n /> -->\r\n <input type=\"text\" class=\"form-control mt-3\" id=\"location\" formControlName=\"location\" #placesRef=\"ngx-places\" ngx-gp-autocomplete (onAddressChange)=\"handleAddressChange($event)\"\r\n [ngClass]=\"{ 'is-invalid':userForm.get('location')?.invalid && (userForm.get('location')?.touched)}\">\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"age\">Age</label>\r\n <select class=\"form-select mt-3\" formControlName=\"age\">\r\n <option value=\"\">Select Age</option>\r\n <option value=\"Below 12\">Below 12</option>\r\n <option value=\"13-19\">13\u201319</option>\r\n <option value=\"20\u201330\">20\u201330</option>\r\n <option value=\"31\u201345\">31\u201345</option>\r\n <option value=\"46\u201359\">46\u201359</option>\r\n <option value=\"Above 60\">Above 60</option>\r\n </select>\r\n <!-- <div class=\"input-group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"left: 0.25rem;\"\r\n (click)=\"decrementAge()\"\r\n >\r\n -\r\n </button>\r\n \r\n <input\r\n type=\"text\" (keypress)=\"omit_special_char($event)\"\r\n id=\"age\"\r\n class=\"form-control pe-5 text-center mt-3\"\r\n formControlName=\"age\"\r\n min=\"1\" max=\"99\"\r\n />\r\n \r\n <button\r\n type=\"button\"\r\n class=\"btn pt-5 position-absolute top-50 translate-middle-y\"\r\n style=\"right: 2.5rem;\"\r\n (click)=\"incrementAge()\"\r\n >\r\n +\r\n </button>\r\n </div> -->\r\n \r\n </div>\r\n </div>\r\n \r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"form-group\">\r\n <label for=\"gender\">Gender</label>\r\n <select class=\"form-select mt-3\" formControlName=\"gender\">\r\n <option value=\"\">Select Gender</option>\r\n <option value=\"male\">Male</option>\r\n <option value=\"female\">Female</option>\r\n </select>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"text-end mt-5\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </form>\r\n \r\n \r\n </div>\r\n </section>\r\n <section *ngIf=\"selectedCustomerType ==='missedOpportunity'\">\r\n <div class=\"row mt-5 mx-3 border-gray-active1\">\r\n \r\n <div\r\n *ngFor=\"let obj of missedOpportunityList\"\r\n class=\"nav-item nav-item1 w-25\"\r\n (click)=\"selectedTabs(obj.name)\">\r\n <span\r\n [ngClass]=\"selectedMissed === obj.name ? 'active' : 'active-normal'\"\r\n class=\"nav-link nav-link1 cursor-pointer text-nowrap\">\r\n {{ obj.name }}\r\n </span>\r\n </div>\r\n \r\n <div class=\"separator separator-double mb-3\"></div>\r\n <!-- Issue Badges -->\r\n <div *ngFor=\"let obj of missedOpportunityList\">\r\n <div *ngIf=\"selectedMissed === obj.name\" class=\"mt-4\">\r\n <span *ngFor=\"let item of obj.issues\">\r\n \r\n <span\r\n (click)=\"selectSubissue(obj, item)\"\r\n [ngClass]=\"{\r\n 'badge-light-primary': selectedIssues.includes(item),\r\n 'badge-light-default':!selectedIssues.includes(item)\r\n }\"\r\n class=\"badge mt-2 me-2 cursor-pointer\">\r\n <span class=\"me-2\" *ngIf=\"!selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M6 2.5V9.5M2.5 6H9.5\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"me-2\" *ngIf=\"selectedIssues.includes(item)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <rect width=\"16\" height=\"16\" rx=\"8\" fill=\"#DAF1FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.3977 4.92661L6.62434 9.53328L5.35767 8.17994C5.12434 7.95994 4.75767 7.94661 4.491 8.13328C4.231 8.32661 4.15767 8.66661 4.31767 8.93994L5.81767 11.3799C5.96434 11.6066 6.21767 11.7466 6.50434 11.7466C6.77767 11.7466 7.03767 11.6066 7.18434 11.3799C7.42434 11.0666 12.0043 5.60661 12.0043 5.60661C12.6043 4.99328 11.8777 4.45328 11.3977 4.91994V4.92661Z\" fill=\"#33B5FF\"/>\r\n </svg>\r\n </span>\r\n {{ item }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"mt-4\">\r\n <label class=\"form-label\">Description (Optional)</label>\r\n <textarea\r\n rows=\"3\"\r\n class=\"form-control\"\r\n placeholder=\"Enter comments\"\r\n [(ngModel)]=\"description\"\r\n ></textarea>\r\n </div>\r\n \r\n \r\n <div class=\"text-end mt-5\" (click)=\"submitMissedOpportunity()\">\r\n <button type=\"submit\" class=\"btn btn-primary mt-3\">Submit</button>\r\n </div>\r\n </div>\r\n </section>\r\n </section>\r\n <section *ngIf=\"selectedTab === 'customer'\">\r\n <div class=\"row mt-10\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Tagged Summary <span *ngIf=\"tagggedData?.status==='submitted'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M14.6668 7.38674V8.00007C14.666 9.43769 14.2005 10.8365 13.3397 11.988C12.4789 13.1394 11.269 13.9817 9.8904 14.3893C8.51178 14.797 7.03834 14.748 5.68981 14.2498C4.34128 13.7516 3.18993 12.8308 2.40747 11.6248C1.62501 10.4188 1.25336 8.99211 1.34795 7.55761C1.44254 6.12312 1.9983 4.75762 2.93235 3.66479C3.8664 2.57195 5.12869 1.81033 6.53096 1.4935C7.93323 1.17668 9.40034 1.32163 10.7135 1.90674M14.6668 2.66674L8.00017 9.34007L6.00017 7.34007\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> </span>\r\n </div>\r\n <div class=\"col-md-6 text-end\" *ngIf=\"tagggedData?.status!=='submitted'\">\r\n <span class=\"badge badge-light-warning ms-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10901_7795)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.13152 0.00142049C5.25855 -0.0175778 4.39195 0.154192 3.59222 0.504738C2.7925 0.855283 2.07892 1.37616 1.50131 2.03099C0.923703 2.68583 0.495981 3.45885 0.248009 4.29608C3.70294e-05 5.1333 -0.0622095 6.01457 0.0656154 6.87834C0.19344 7.74212 0.508256 8.56758 0.988083 9.29711C1.46791 10.0266 2.10119 10.6426 2.8437 11.1021C3.58621 11.5616 4.42006 11.8535 5.28703 11.9574C6.15401 12.0613 7.03322 11.9747 7.86327 11.7037C8.0051 11.6573 8.1227 11.5565 8.19022 11.4235C8.25773 11.2904 8.26962 11.136 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81002 10.5997 7.6556 10.5878 7.51377 10.6342C6.61175 10.9287 5.64338 10.9536 4.72742 10.7058C3.81146 10.458 2.98773 9.94825 2.35725 9.2391C1.72677 8.52995 1.31696 7.65221 1.17807 6.71354C1.03917 5.77487 1.17724 4.81607 1.57534 3.95473C1.97343 3.09338 2.61425 2.36694 3.4192 1.86449C4.22414 1.36204 5.15823 1.10543 6.10689 1.12613C7.05556 1.14683 7.97756 1.44393 8.75983 1.98101C9.5421 2.51809 10.1506 3.27178 10.5108 4.14967C10.5674 4.28772 10.6765 4.39763 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28347 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.1085 2.64239 10.3596 1.7147 9.39677 1.05365C8.43396 0.392587 7.29915 0.0268946 6.13152 0.00142049ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.29253 2.30918 6.14946 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91227 7.29217C3.85701 7.34367 3.81268 7.40577 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.80247 7.98441 3.84458 8.04804 3.89799 8.10145C3.95141 8.15486 4.01503 8.19697 4.08507 8.22526C4.15512 8.25355 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.59368 8.18676 4.65578 8.14244 4.70727 8.08717L6.39777 6.39742L6.56277 6.23242V2.81242ZM11.2503 11.2499C11.2503 11.4488 11.1713 11.6396 11.0306 11.7803C10.8899 11.9209 10.6992 11.9999 10.5003 11.9999C10.3014 11.9999 10.1106 11.9209 9.96994 11.7803C9.82929 11.6396 9.75027 11.4488 9.75027 11.2499C9.75027 11.051 9.82929 10.8602 9.96994 10.7196C10.1106 10.5789 10.3014 10.4999 10.5003 10.4999C10.6992 10.4999 10.8899 10.5789 11.0306 10.7196C11.1713 10.8602 11.2503 11.051 11.2503 11.2499ZM11.0628 6.56242C11.0628 6.41324 11.0035 6.27016 10.898 6.16467C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16467C9.99704 6.27016 9.93777 6.41324 9.93777 6.56242V9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6495 9.74992 10.7925 9.69066 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V6.56242Z\" fill=\"#B54708\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.2409 3.07775C11.1762 2.96171 11.1078 2.84799 11.0357 2.73674C10.7826 2.34623 10.4848 1.98631 10.1483 1.6644C9.91561 1.44184 9.66446 1.23744 9.39677 1.05365C9.39672 1.05361 9.39683 1.05368 9.39677 1.05365C9.23737 0.944207 9.07308 0.842748 8.90487 0.749705C8.7207 0.647828 8.53163 0.5559 8.3385 0.474192C7.64269 0.179813 6.8941 0.0180577 6.13152 0.00142049C6.13149 0.00141983 6.13155 0.00142115 6.13152 0.00142049C6.08778 0.00046929 6.04397 -5.01265e-06 6.00027 3.99426e-08C5.19726 9.28871e-05 4.40222 0.161386 3.66237 0.47452C3.63893 0.484441 3.61555 0.494513 3.59222 0.504738C3.42243 0.579166 3.25651 0.661273 3.09496 0.75071C3.00307 0.801577 2.9126 0.854814 2.82363 0.910359C2.33223 1.21713 1.88653 1.59427 1.50131 2.03099C1.11608 2.46773 0.797516 2.95704 0.554486 3.48291C0.433124 3.74551 0.330597 4.01723 0.248009 4.29608C5.51343e-05 5.13324 -0.0622004 6.01444 0.0655874 6.87815C0.065578 6.87809 0.0655967 6.87822 0.0655874 6.87815C0.193412 7.74193 0.508256 8.56758 0.988083 9.29711C1.14783 9.53998 1.32458 9.77027 1.51671 9.98639C1.90168 10.4194 2.34838 10.7956 2.8437 11.1021C3.33882 11.4085 3.87455 11.6404 4.43364 11.7917C4.71299 11.8673 4.99817 11.9228 5.28703 11.9574C5.31999 11.9613 5.35296 11.965 5.38594 11.9684C5.86275 12.0175 6.34254 12.0092 6.81514 11.9445C6.99265 11.9202 7.16915 11.8879 7.34409 11.8477C7.5188 11.8076 7.69196 11.7596 7.86302 11.7038C7.86294 11.7038 7.86311 11.7037 7.86302 11.7038C7.89127 11.6945 7.9188 11.6831 7.94492 11.6697C8.04995 11.6159 8.13615 11.53 8.19022 11.4235C8.21812 11.3685 8.23653 11.3098 8.24524 11.2499C8.25761 11.1649 8.25046 11.0774 8.22327 10.9942C8.17693 10.8523 8.07614 10.7347 7.94308 10.6672C7.81011 10.5998 7.65579 10.5878 7.51404 10.6341C7.51395 10.6341 7.51413 10.6341 7.51404 10.6341C7.43563 10.6597 7.35645 10.6833 7.27711 10.7049C7.16292 10.7359 7.04786 10.7626 6.93215 10.7851C6.88016 10.7953 6.82804 10.8045 6.77581 10.8129C6.49267 10.8585 6.20633 10.879 5.92014 10.8743C5.84832 10.8731 5.7765 10.8704 5.70476 10.866C5.60998 10.8602 5.51532 10.8517 5.4209 10.8404C5.37256 10.8346 5.32428 10.8281 5.27608 10.8208C5.09176 10.7931 4.90856 10.7548 4.72742 10.7058C4.59856 10.6709 4.47152 10.6309 4.34659 10.5858C4.02763 10.4708 3.7224 10.3231 3.43559 10.1456C3.40186 10.1248 3.36839 10.1035 3.33518 10.0818C3.05409 9.89826 2.79178 9.68556 2.55287 9.44658C2.48578 9.37947 2.42054 9.31029 2.35725 9.2391C2.20011 9.06234 2.05667 8.87512 1.92772 8.67908C1.92445 8.67411 1.92118 8.66913 1.91793 8.66414C1.7113 8.34749 1.54234 8.00807 1.41432 7.65286C1.30511 7.34986 1.2257 7.03536 1.17809 6.71371C1.17808 6.71366 1.1781 6.71377 1.17809 6.71371C1.1575 6.57457 1.14297 6.43481 1.1345 6.29516C1.1301 6.22253 1.12732 6.14989 1.12617 6.07729C1.11832 5.58257 1.18585 5.08961 1.3263 4.61545C1.39297 4.39036 1.47607 4.16951 1.57534 3.95473C1.7744 3.52403 2.03414 3.12706 2.34475 2.77496C2.3762 2.73932 2.40816 2.70413 2.44064 2.66942C2.72893 2.36127 3.05749 2.09027 3.4192 1.86449C3.61995 1.73918 3.82874 1.62916 4.04379 1.53492C4.2051 1.46422 4.36993 1.40241 4.53753 1.34968C5.00877 1.20143 5.50191 1.125 6.00027 1.12497C6.03579 1.12497 6.07133 1.12535 6.10689 1.12613C6.56965 1.13624 7.02621 1.21212 7.46315 1.34954C7.9219 1.49383 8.35919 1.70595 8.75983 1.98101C8.75978 1.98097 8.75988 1.98104 8.75983 1.98101C8.91447 2.08719 9.06247 2.20193 9.20295 2.32433C9.32789 2.43318 9.447 2.54816 9.55988 2.66877C9.67464 2.79139 9.78295 2.91982 9.8844 3.05355C10.0182 3.22986 10.14 3.41537 10.2489 3.60887C10.3086 3.71493 10.3644 3.82339 10.4162 3.93405C10.4455 3.99677 10.4736 4.06019 10.5003 4.12428C10.5038 4.13273 10.5073 4.1412 10.5108 4.14967C10.5107 4.14959 10.5108 4.14975 10.5108 4.14967C10.5674 4.28761 10.6765 4.39766 10.8141 4.45522C10.8822 4.48374 10.9553 4.49856 11.0292 4.49883C11.1031 4.4991 11.1763 4.48482 11.2446 4.4568C11.313 4.42878 11.3752 4.38757 11.4276 4.33552C11.48 4.28348 11.5217 4.22161 11.5502 4.15347C11.5787 4.08532 11.5935 4.01222 11.5938 3.93835C11.5941 3.86448 11.5798 3.79127 11.5518 3.72292C11.5517 3.72283 11.5518 3.72301 11.5518 3.72292C11.4834 3.55631 11.4077 3.39306 11.3251 3.23413C11.2978 3.18156 11.2697 3.12942 11.2409 3.07775ZM6.56277 2.81242C6.56277 2.66324 6.50351 2.52016 6.39802 2.41467C6.3121 2.32875 6.20124 2.2735 6.08246 2.25595C6.05548 2.25198 6.02787 2.24992 6.00027 2.24992C5.85109 2.24992 5.70801 2.30918 5.60252 2.41467C5.49704 2.52016 5.43777 2.66324 5.43777 2.81242V5.76742L3.91245 7.292C3.90275 7.30103 3.89322 7.31057 3.88421 7.32023C3.84187 7.36567 3.80729 7.41787 3.78194 7.47477C3.75119 7.54377 3.73466 7.61825 3.73333 7.69378C3.732 7.76931 3.74589 7.84433 3.77418 7.91437C3.78054 7.93011 3.78759 7.94552 3.79532 7.96057C3.82196 8.01249 3.85658 8.06004 3.89799 8.10145C3.95141 8.15487 4.01503 8.19697 4.08507 8.22526C4.15512 8.25356 4.23014 8.26745 4.30566 8.26612C4.38119 8.26478 4.45568 8.24825 4.52468 8.21751C4.58157 8.19216 4.63377 8.15757 4.67921 8.11524C4.68881 8.10629 4.69811 8.097 4.70708 8.08737C4.70702 8.08744 4.70715 8.08731 4.70708 8.08737L6.56277 6.23242V2.81242ZM9.93777 9.18742C9.93777 9.33661 9.99704 9.47968 10.1025 9.58517C10.208 9.69066 10.3511 9.74992 10.5003 9.74992C10.6437 9.74992 10.7815 9.69514 10.8857 9.59716C10.8898 9.59323 10.894 9.58924 10.898 9.58517C11.0035 9.47968 11.0628 9.33661 11.0628 9.18742V7.54234C10.8777 7.51426 10.6897 7.49992 10.5003 7.49992C10.3108 7.49992 10.1228 7.51426 9.93777 7.54234V9.18742ZM9.93777 7.32686C10.1215 7.38612 10.3096 7.4303 10.5003 7.45904C10.6714 7.48483 10.8445 7.49818 11.0183 7.49881C11.0331 7.49887 11.0479 7.49883 11.0628 7.4987V6.56242C11.0628 6.49008 11.0488 6.41917 11.0224 6.35328C10.9944 6.28331 10.9524 6.21901 10.898 6.16468C10.7925 6.05919 10.6495 5.99992 10.5003 5.99992C10.3511 5.99992 10.208 6.05919 10.1025 6.16468C10.1003 6.16692 10.0981 6.16917 10.0959 6.17145C9.9977 6.27299 9.94135 6.40773 9.93794 6.54882C9.93783 6.55335 9.93777 6.55788 9.93777 6.56242V7.32686ZM11.2488 11.2968C11.2498 11.2813 11.2503 11.2656 11.2503 11.2499C11.2503 11.2487 11.2503 11.2475 11.2503 11.2463C11.2493 11.0487 11.1704 10.8594 11.0306 10.7196C10.8899 10.5789 10.6992 10.4999 10.5003 10.4999C10.3014 10.4999 10.1106 10.5789 9.96994 10.7196C9.82929 10.8602 9.75027 11.051 9.75027 11.2499C9.75027 11.4488 9.82929 11.6396 9.96994 11.7803C10.1106 11.9209 10.3014 11.9999 10.5003 11.9999C10.6992 11.9999 10.8899 11.9209 11.0306 11.7803C11.1602 11.6507 11.2374 11.4786 11.2488 11.2968Z\" fill=\"#B54708\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10901_7795\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg><span class=\"ms-2\">Pending Tagged Info</span></span> \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='purchaser'\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Name</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.name}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Location</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.location?tagggedData?.customerInfo?.location:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Mobile</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.mobile}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Age</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.age?tagggedData?.customerInfo?.age:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Email</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.email?tagggedData?.customerInfo?.email:\"-\"}}</span>\r\n </div>\r\n <div class=\"col-md-6 mt-2 d-flex justify-content-between align-items-start\">\r\n <span class=\"ms-2 mb-2 spent-value \">Gender</span>\r\n <span class=\"ms-2 mb-2 spent-title \">{{tagggedData?.customerInfo?.gender?tagggedData?.customerInfo?.gender:\"-\"}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tagggedData?.revopsType==='missedOpportunity'\">\r\n\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngFor=\"let item of tagggedData.issueList\" >\r\n <div class=\"ms-2 mb-2 spent-value\">{{item.name}}</div>\r\n <span class=\"badge badge-light-default ms-2\" *ngFor=\"let data of item.issue\">{{data}}</span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"border-gray-tagged mx-3 my-2\" *ngIf=\"tagggedData?.revopsType==='nonShopper'\">\r\n <span class=\"badge badge-light-default ms-2\">{{nonShoperType}}</span>\r\n </div>\r\n <!-- <div class=\"my-2\"><span class=\"desc-id\">Original ID</span> : <span class=\"spent-value1\"\r\n style=\"font-size: 12px !important;\">{{Imagedata?.tempId}}</span></div> -->\r\n \r\n <div *ngIf=\"tagggedData?.description&&tagggedData?.description!==''\" class=\"my-3 desc-id\">{{tagggedData.description}}\r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n <div class=\"my-3\">\r\n <span class=\"tag-class\">Time Spent</span>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap\">\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.totalTimeSpent}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Total Time Spent</div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.entryTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('entry')\">Entry Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"border border-gray-300 border-dobule rounded w-33 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.timeSpent?.exitTime}} </div>\r\n </div>\r\n <div class=\"spent-value1 my-1 cursor-pointer\" (click)=\"imageData('exit')\">Exit Time <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"Imagedata?.zoneVisited&&Imagedata?.zoneVisited.length>0\" class=\"row\">\r\n <div class=\"col-md-6\">\r\n <span class=\"tag-class\">Zones Visited</span>\r\n\r\n </div>\r\n \r\n <ng-container class=\"h-200px scroll\">\r\n <div class=\"col mt-2\" *ngFor=\"let obj of Imagedata?.zoneVisited\">\r\n <span class=\"badge badge-light-primary \">{{obj}}</span>\r\n </div>\r\n <div *ngIf=\"Imagedata?.zoneVisited.length ===0\" class=\"col-md-12 mt-2 text-center\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No Zones Visited</div>\r\n <div class=\"nodata-sub\">There is no result for this Zones</div>\r\n </div>\r\n \r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"separator separator-double m-3\"></div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"my-3\">\r\n <span class=\"tag-class\">Staff Engagement</span>\r\n </div>\r\n\r\n <div *ngIf=\"footfallDataShow !=='tracking-enabled'\" class=\"d-flex flex-wrap\">\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeTakenToAssist}} </div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time taken to assist \r\n <!-- <span class=\"ms-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M3.33333 14H12.6667C13.403 14 14 13.403 14 12.6667V3.33333C14 2.59695 13.403 2 12.6667 2H3.33333C2.59695 2 2 2.59695 2 3.33333V12.6667C2 13.403 2.59695 14 3.33333 14ZM3.33333 14L10.6667 6.66667L14 10M6.66667 5.66667C6.66667 6.21895 6.21895 6.66667 5.66667 6.66667C5.11438 6.66667 4.66667 6.21895 4.66667 5.66667C4.66667 5.11438 5.11438 4.66667 5.66667 4.66667C6.21895 4.66667 6.66667 5.11438 6.66667 5.66667Z\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </div>\r\n </div>\r\n <div class=\"border border-gray-300 border-dobule rounded w-45 py-3 px-4 me-6 mb-3\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"spent-title\">{{Imagedata?.staffEngagement.timeSpentWithStaff}}</div>\r\n </div>\r\n <div class=\"spent-value my-1\">Time spent with staff</div>\r\n </div>\r\n \r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n \r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n</section>\r\n</div>\r\n\r\n", styles: [".switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}.nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.img-src{width:100%;height:210px;border-radius:.625rem}.img-traffic .col-md-3{width:24%!important}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.img-doc-directory{color:var(--Gray-900, #101828)!important;font-size:14px!important;font-weight:600;line-height:20px;text-decoration-line:underline}.img-doc-time{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.img-doc-value{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.overflow-x{overflow-x:auto}.no-preview{border:1px solid #F04438;background:#fee4e2;border-radius:8px;stroke-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:41px 16px}.no-preview .header{color:#f04438;font-size:20px;font-weight:700;line-height:20px}.no-preview .description{color:#f04438;font-size:12px;font-weight:500;line-height:18px}.img-nodata{width:25%;height:15%}.img-nodata1{width:15%;height:15%}.nodata-title{font-size:14px!important;font-weight:600}.img-direc{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:500;line-height:28px}.custom-accordion{border-radius:5px}.custom-accordion-item{margin-bottom:10px}.custom-accordion-header{background-color:#fff;border:none;cursor:pointer;padding:10px;text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}.custom-accordion{width:100%}.mainheading{width:100%;display:flex;justify-content:space-between;align-items:center;padding:19px;border:none;background:none;cursor:pointer}.header-row{display:flex;align-items:center;width:100%;justify-content:space-between}.img-dire{font-size:16px;font-weight:700}.divider{flex-grow:1;height:1px;background-color:#ddd;margin:0 10px}.accordion-arrow{display:flex;align-items:center}.scroll-container{max-height:400px;overflow-y:auto;overflow-x:hidden}.high-400px{min-height:auto!important;max-height:800px!important}.slider{position:relative}.slider .previous{position:absolute;top:30%;left:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.slider .next{position:absolute;top:30%;right:2%;width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-src1{border-radius:12px;border:1px solid var(--Gray-400, #98A2B3);background:var(--Gray-50, #F9FAFB);width:100%;height:375px}.border-gray{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);padding:0 4px}.border-gray-active{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #EAF8FF);padding:0 4px}.zone-header{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.last-visit{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.toggle-label{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.nav-dev{border-radius:8px!important;border:1px solid var(--Primary-200, #99DAFF)!important;background:var(--Primary-25, #F6FCFF)!important}.tab-active{border-radius:6px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3)!important;font-size:14px;font-weight:500;line-height:20px}.tab-text-default{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}.border-gray-active1{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:12px!important}.nav-item1 .nav-link1.active{border:none;border-radius:0;background:var(--Primary-50, #EAF8FF);border-bottom:2px solid #009BF3!important;padding:12px;color:var(--Primary-700, #009BF3);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.active-normal{padding:12px;color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.nav-item1 .nav-link1:hover{border:none}.tag-class{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:20px}.spent-title{color:var(--Gray-600, #475467);font-size:14px;font-weight:600;line-height:20px}.spent-value{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.spent-value1{color:var(--Primary-500, #33B5FF);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.w-33{width:30%}.w-45{width:45%}.view-tetory{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;text-transform:capitalize}.border-gray-tagged{border-radius:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--Primary-50, #ffffff);padding:8px!important}.desc-id{color:var(--Gray-900, #101828);font-size:12px;font-style:normal;font-weight:400;line-height:20px}.active-tab{border-bottom:2px solid #0d6efd;font-weight:600;color:#0d6efd}.badge-selected{background-color:#e0f3ff;color:#0d6efd;border:1px solid #0d6efd;border-radius:20px;padding:6px 12px}.badge-unselected{background-color:#f0f0f0;color:#333;border-radius:20px;padding:6px 12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cursor-not-allowed{cursor:not-allowed!important}\n"] }]
834
+ }], ctorParameters: () => [{ type: i1.TrafficService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }, { type: i3.NgbModal }, { type: i4.FormBuilder }, { type: i5.ToastService }, { type: i6.TrafficRvpsService }], propDecorators: { placesRef: [{
832
835
  type: ViewChild,
833
836
  args: ["ngxPlaces"]
834
837
  }] } });
835
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtZG9jL2ltYWdlLWRvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWRvYy9pbWFnZS1kb2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbkYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFOdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBYXRCLE1BQU0sT0FBTyxpQkFBaUI7SUEwQ2xCO0lBQ0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQTlDYyxTQUFTLENBQTZCO0lBQzlELFdBQVcsR0FBUSxDQUFDLENB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M0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtvQkFDdEUsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7b0JBRXJCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtpQkFDVDtZQUNILENBQUM7U0FDRixDQUFDLENBQUE7SUFJTixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7d0dBcDFCVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiw2SkN0QjlCLG1ueEdBMjdCTTs7NEZEcjZCTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZTtnT0FLRCxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYWZmaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhZmZpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSW1hZ2VEb2NWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UtZG9jLXZpZXcvaW1hZ2UtZG9jLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpXHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEdXBsaWNhdGVDb21wb25lbnQgfSBmcm9tICcuLi9kdXBsaWNhdGUvZHVwbGljYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBOZ3hHcEF1dG9jb21wbGV0ZURpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci1tYWdpYy9uZ3gtZ3AtYXV0b2NvbXBsZXRlL2xpYi9uZ3gtZ3AtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZVwiO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItaW1hZ2UtZG9jXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZS1kb2MuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2ltYWdlLWRvYy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VEb2NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcIm5neFBsYWNlc1wiKSBwbGFjZXNSZWY6IE5neEdwQXV0b2NvbXBsZXRlRGlyZWN0aXZlO1xyXG4gIHNlbGVjdEluZGV4OiBhbnkgPSAwO1xyXG4gIHNlbGVjdGVkVGltZTogYW55O1xyXG4gIG9iakRhdGE6IGFueTtcclxuICBvYmplY3RzQXJyYXk6IGFueSA9IFtdO1xyXG4gIGltYWdlc0FycmF5RGF0YTogYW55O1xyXG4gIHByb2Nlc3NUeXBlID0gXCJmb290ZmFsbFwiO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBmb2xkZXJWaWV3OiBib29sZWFuO1xyXG4gIGRheWpzID0gZGF5anNcclxuICBkYXRlQXJyYXk6IGFueTtcclxuICBmb3JtOiBhbnk7XHJcbiAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgc3RvcmVBcnJheVZhbHVlOiBhbnk7XHJcbiAgc3RvcmVJZGFycmF5OiBhbnk7XHJcbiAgdmFsdWVUeXBlOiBhbnkgPSAnYWN0dWFsJztcclxuICBpc0F2ZXJhZ2U6IGFueSA9IGZhbHNlO1xyXG4gIGxlbmd0aFZhbHVlOiBib29sZWFuO1xyXG4gIGhpZGVEb2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc0FjY29yZGlvbkV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBmb2xkZXJEYXRlOiBhbnk7XHJcbiAgYmFja25hdjogYm9vbGVhbjtcclxuICB1c2VyRm9ybTogRm9ybUdyb3VwO1xyXG4gIHN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gIG1pc3NlZE9wcG9ydHVuaXR5TGlzdDogYW55ID0gW11cclxuICBwaG9uZVJlZ2V4OiBSZWdFeHAgPSAvXihcXGR7M30pP1xcZHsxNX0kLztcclxuICBlbWFpbFJlZ2V4OiBSZWdFeHAgPSAvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLztcclxuICBub25TaG9wcGVyTGlzdCA9IFsnRW1wbG95ZWUvU3RhZmYnLCAnRGVsaXZlcnkgUGVyc29uJywgJ0R1cGxpY2F0ZScsICdBZ2VudHMnLCAnT3RoZXJzJ107XHJcbiAgLy8gbWlzc2VkT3Bwb3J0dW5pdHlMaXN0ID1bJ1Byb2R1Y3QgTmVlZCBNaXNtYXRjaCcsJ1Byb2R1Y3QgVW5hdmFpbGFiaWxpdHknLCdQcm9kdWN0IERhbWFnZWQnLCdQcm9kdWN0IEVucXVpcnknLCdRdWFsaXR5J107XHJcbiAgc2VsZWN0ZWRNaXNzZWQ6IGFueSA9ICdQcm9kdWN0IElzc3VlJztcclxuICBpc3N1ZXM6IGFueSA9IFtdXHJcbiAgbm9uU2hvcGVyVHlwZTogYW55ID0gJydcclxuICBkZXNjcmlwdGlvbjogYW55ID0gJydcclxuICBzZWxlY3RlZElzc3Vlczogc3RyaW5nW10gPSBbXTtcclxuICBzZWxlY3RlZE1haW5Jc3N1ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgdGFnZ2dlZERhdGE6IGFueSA9IHt9XHJcbiAgbWlzc2Vkb3B0dW5pdHlSZWFzb246IGFueSA9IFtdXHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdXHJcbiAgcGVuZGluZ2NvdW50OiBhbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdFNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiBuZXcgRm9ybUNvbnRyb2woJycpIC8vIEluaXRpYWxpemUgYXMgRm9ybUNvbnRyb2xcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIGluaXR1c2VyRm9ybSgpIHtcclxuICAgIHRoaXMudXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgbW9iaWxlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMyksIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLF1dLFxyXG4gICAgICBlbWFpbDogWycnLCBbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlthLXpBLVowLTldKyhbLi1fXT9bYS16QS1aMC05XSspKkBbYS16QS1aMC05XSsoWy4tX10/W2EtekEtWl0rKSpbLl17MX1bYS16QS1aXXsyLH0kXCIpLFxyXG4gICAgICBdLF0sXHJcbiAgICAgIGxvY2F0aW9uOiBbXSxcclxuICAgICAgYWdlOiBbXSxcclxuICAgICAgZ2VuZGVyOiBbXSxcclxuICAgICAgY291bnRyeUNvZGU6IFtcIjkxXCIsXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICAgIHRoaXMuaW5pdHVzZXJGb3JtKClcclxuICAgIHRoaXMuZ2V0SW5pdGFsKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5oaWRlRG9jID0gZmFsc2U7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlkZURvYyA9IHRydWU7XHJcbiAgICAgIH0sIDUwMDApO1xyXG5cclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuICBnZXRDb3VudHJ5Q29kZXMoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0QWxsQ291bnRyaWVzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgb21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQuY2hhckNvZGU7XHJcbiAgICByZXR1cm4gayA9PSA4IHx8IGsgPT0gMzIgfHwgKGsgPj0gNDggJiYgayA8PSA1Nyk7XHJcbiAgfVxyXG5cclxuICBjbGllbnREYXRhOiBhbnk7XHJcbiAgZ2V0IGYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyRm9ybS5jb250cm9scztcclxuICB9XHJcbiAgZ2V0SW5pdGFsKCkge1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgxMDApKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSAhPT0gbnVsbCB8fCBkYXRhPy5jbGllbnQgIT09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlSWRhcnJheSA9IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhID0ge1xyXG4gICAgICAgICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlc1xyXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpXHJcbiAgICAgICAgICAgICAgLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgICAgICAgIGZvb3RmYWxsRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgICAgICAgLy8gdmFsdWVUeXBlIDp0aGlzLnZhbHVlVHlwZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjbGllbnREYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2xpZW50LWRldGFpbHNcIikgfHwgXCJ7fVwiKTtcclxuICAgICAgICAgICAgdGhpcy5jbGllbnREYXRhID0gY2xpZW50RGF0YVxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmNsaWVudERhdGEpXHJcblxyXG4gICAgICAgICAgICBjb25zdCBsaW1pdCA9IGNsaWVudERhdGE/LmJvdW5jZWRMaW1pdD8udmFsdWUgPz8gY2xpZW50RGF0YT8uYm91bmNlZExpbWl0VmFsdWUgPz8gJyc7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnYgPSBjbGllbnREYXRhPy5jb252ZXJzaW9uPy52YWx1ZSA/PyBjbGllbnREYXRhPy5jb252ZXJzaW9uVmFsdWUgPz8gJyc7XHJcbiAgICAgICAgICAgIGlmIChjbGllbnREYXRhLmlzRm9vdGZhbGxWaWV3KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0cyA9IFtcclxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyRGF0YS5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRzID0gW1xyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnYm91bmNlZCcsIGxhYmVsOiBgTGVzcyB0aGFuICR7bGltaXR9IG1pbnNgIH0sXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdlbmdhZ2VyJywgbGFiZWw6IGBNb3JlIHRoYW4gJHtsaW1pdH0gbWluc2AgfSxcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6IGAke2xpbWl0fSAtICR7Y29udn0gbWluc2AgfSxcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogYE1vcmUgdGhhbiAke2NvbnZ9IG1pbnNgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YXNldHMgPSBbXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6ICdCb3VuY2VkIEZvb3RmYWxsJyB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiAnRW5nYWdlcnMnIH0sXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdtaXNzZWRPcHBvcnR1bml0eScsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnY29udmVyc2lvbicsIGxhYmVsOiAnQ29udmVyc2lvbicgfVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RDb250cm9sID0gdGhpcy5mb3JtLmdldCgnc2VsZWN0VmFsdWUnKSBhcyBGb3JtQ29udHJvbDtcclxuICAgICAgICAgICAgaWYgKHNlbGVjdENvbnRyb2wpIHtcclxuICAgICAgICAgICAgICBzZWxlY3RDb250cm9sLnNldFZhbHVlKGluaXRpYWxWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sIDEwMClcclxuICAgICAgICAgIHRoaXMuYmFja1RvRm9vdGZhbGwoKTtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheURhdGVSYW5nZSgpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlID09PSB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5iYWNrbmF2ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheURhdGVSYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldGltYWdlcygwLCB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mb2xkZXJWaWV3ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5iYWNrbmF2ID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5pbml0aWFsRGF0YSgpO1xyXG4gICAgICAgICAgdGhpcy5pbml0aWFsRm9vdGZhbGwoKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvb3RmYWxsRGF0YVNob3c6IGFueTtcclxuICBpbml0aWFsRm9vdGZhbGwoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0U3RvcmVGb290ZmFsbCh0aGlzLnN0b3JlSWRhcnJheSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbERhdGFTaG93ID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbERhdGFTaG93ID0gW11cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsRGF0YVNob3cgPSBbXVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdGlhbERhdGEoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0cmV2b3Bjb25maWcodGhpcy5oZWFkZXJEYXRhLmNsaWVudClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5taXNzZWRPcHBvcnR1bml0eUxpc3QgPSByZXMuZGF0YS5pc3N1ZUxpc3RcclxuICAgICAgICAgICAgdGhpcy5pc3N1ZXMgPSB0aGlzLm1pc3NlZE9wcG9ydHVuaXR5TGlzdC5maWx0ZXIoKGRhdGE6IGFueSkgPT4gZGF0YS5uYW1lID09PSB0aGlzLnNlbGVjdGVkTWlzc2VkKVxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gIH1cclxuICB0b2dnbGVBY2NvcmRpb24oKSB7XHJcbiAgICB0aGlzLmlzQWNjb3JkaW9uRXhwYW5kZWQgPSAhdGhpcy5pc0FjY29yZGlvbkV4cGFuZGVkO1xyXG5cclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGdldEltYWdlRm9sZGVyKCkge1xyXG5cclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGEuZm9sZGVyTmFtZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0Rm9vdGZhbGxEaXJlY3RvcnlGb2xkZXJzKHRoaXMub2JqRGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RzQXJyYXkgPSByZXM/LmRhdGEuZm9vdGZhbGxEYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHRoaXMub2JqZWN0c0FycmF5WzBdLmZvbGRlck5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5mb2xkZXJOYW1lID0gdGhpcy5zZWxlY3RlZFRpbWU7XHJcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoVmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmdldEltYWdlVmlldygpO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoVmFsdWUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RzQXJyYXkgPSBbXVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4geyB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZ2V0SW1hZ2VWaWV3KCkge1xyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMub2JqRGF0YSlcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGb290ZmFsbERpcmVjdG9yeSh0aGlzLm9iakRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGlmICghcmVzPy5kYXRhLmZvb3RmYWxsRGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbWFnZXNBcnJheURhdGEgPSByZXM/LmRhdGEuZm9vdGZhbGxEYXRhO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnN0b3JlQXJyYXlWYWx1ZSA9IHJlcz8uZGF0YS5zdG9yZU5hbWVcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7IH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBub3JtYWxpemU6IGFueVxyXG4gIHNlbGVjdGVkVGFicyhuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRNaXNzZWQgPSBuYW1lO1xyXG4gICAgLy8gdGhpcy5zZWxlY3RlZElzc3VlcyA9IFtdOyAvLyByZXNldCB3aGVuIHN3aXRjaGluZyB0YWJzXHJcbiAgfVxyXG5cclxuICBzZWxlY3RTdWJpc3N1ZShvYmo6IGFueSwgaXNzdWU6IHN0cmluZykge1xyXG5cclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElzc3Vlcy5pbmRleE9mKGlzc3VlKTtcclxuICAgIGNvbnN0IG1haW5pbmRleCA9IHRoaXMuc2VsZWN0ZWRNYWluSXNzdWVzLmluZGV4T2Yob2JqLm5hbWUpO1xyXG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICBsZXQgZXhpdHNDb3VudCA9IHRoaXMubWlzc2Vkb3B0dW5pdHlSZWFzb24uZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEubmFtZSA9PT0gb2JqLm5hbWUpLmxlbmd0aFxyXG4gICAgICBpZiAoZXhpdHNDb3VudCA+IDApIHtcclxuICAgICAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YS5uYW1lID09PSBvYmoubmFtZSkge1xyXG4gICAgICAgICAgICBkYXRhLmlzc3VlLnB1c2goaXNzdWUpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogb2JqLm5hbWUsXHJcbiAgICAgICAgICBpc3N1ZTogW2lzc3VlXVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE1haW5Jc3N1ZXMucHVzaChvYmoubmFtZSlcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3Vlcy5wdXNoKGlzc3VlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1haW5Jc3N1ZXMuc3BsaWNlKG1haW5pbmRleCwgMSk7XHJcbiAgICAgIHRoaXMubWlzc2Vkb3B0dW5pdHlSZWFzb24ubWFwKChkYXRhOiBhbnksIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLm5hbWUgPT09IG9iai5uYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBzdWJJbmRleCA9IGRhdGEuaXNzdWUuaW5kZXhPZihpc3N1ZSk7XHJcbiAgICAgICAgICBpZiAoc3ViSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgIGRhdGEuaXNzdWUuc3BsaWNlKHN1YkluZGV4LCAxKTtcclxuICAgICAgICAgICAgaWYgKGRhdGEuaXNzdWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbi5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgZ2V0aW1hZ2VzKGluZGV4OiBhbnksIG9iajogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmZvbGRlckRhdGUgPSBvYmo7XHJcbiAgICAodGhpcy5vYmpEYXRhLmZvb3RmYWxsRGF0ZSA9IG9iaiksICh0aGlzLmZvbGRlclZpZXcgPSBmYWxzZSk7XHJcbiAgICB0aGlzLnNlcnZpY2U/Lmlzbm9ybWFsaXplU291cmNlXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICA/LnN1YnNjcmliZSgobm9ybWFsaXplOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLm5vcm1hbGl6ZSA9IG5vcm1hbGl6ZTtcclxuICAgICAgICBpZiAoIW5vcm1hbGl6ZSkge1xyXG4gICAgICAgICAgdGhpcy5nZXRJbWFnZUZvbGRlcigpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxlbmd0aFZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMub2JqZWN0c0FycmF5ID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgYmFja1RvRm9vdGZhbGwoKSB7XHJcbiAgICB0aGlzLnNlbGVjdEluZGV4ID0gMDtcclxuICAgIHRoaXMuZm9sZGVyVmlldyA9IHRydWU7XHJcblxyXG4gIH1cclxuICBzZWxlY3RlZFRpbWVzKHZhbDogYW55KSB7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB2YWw7XHJcbiAgICB0aGlzLm9iakRhdGEuZm9sZGVyTmFtZSA9IHZhbDtcclxuICAgIHRoaXMuZm9sZGVyVmlldyA9IGZhbHNlO1xyXG4gICAgdGhpcy5nZXRJbWFnZVZpZXcoKTtcclxuICB9XHJcbiAgSW1hZ2VkYXRhOiBhbnk7XHJcbiAgaW1hZ2VGbG93ID0gZmFsc2U7XHJcbiAgSW1hZ2VzOiBhbnk7XHJcblxyXG4gIHJldm9wVGFnZ2luZyhvYmo6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZUZsb3cgPSB0cnVlO1xyXG4gICAgdGhpcy5JbWFnZWRhdGEgPSBvYmo7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gJ3RhZ2dlZCc7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID0gdGhpcy5JbWFnZWRhdGE/LnJldm9wc1R5cGUgPyB0aGlzLkltYWdlZGF0YT8ucmV2b3BzVHlwZSA6ICdub25TaG9wcGVyJztcclxuICAgIHRoaXMuSW1hZ2VzID0gdGhpcy5JbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcclxuICAgIHRoaXMuZ2V0UmV2b3BEYXRhKClcclxuICB9XHJcbiAgZ2V0UmV2b3BEYXRhKCkge1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb2xkZXJEYXRlLFxyXG4gICAgICB0ZW1wSWQ6IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCxcclxuICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMuSW1hZ2VkYXRhPy5yZXZvcHNUeXBlID8gdGhpcy5JbWFnZWRhdGE/LnJldm9wc1R5cGUgOiB0aGlzLnByb2Nlc3NUeXBlXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0cmV2b3B0YWdnaW5nKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9ICdjdXN0b21lcidcclxuICAgICAgICAgICAgdGhpcy50YWdnZ2VkRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDdXN0b21lclR5cGUgPSByZXMuZGF0YS5yZXZvcHNUeXBlXHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZXMuZGF0YS5kZXNjcmlwdGlvblxyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RDb250cm9sKSB7XHJcbiAgICAgICAgICAgICAgc2VsZWN0Q29udHJvbC5zZXRWYWx1ZShyZXMuZGF0YS5yZXZvcHNUeXBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDdXN0b21lclR5cGUgPT09ICdub25TaG9wcGVyJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICB0aGlzLm5vblNob3BlclR5cGUgPSByZXMuZGF0YS5ub25zaG9wZXJUeXBlXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ25hbWUnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbW9iaWxlJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2VtYWlsJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2xvY2F0aW9uJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdnZW5kZXInKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID09PSAncHVyY2hhc2VyJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICB0aGlzLm5vblNob3BlclR5cGUgPSAnJ1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCduYW1lJyk/LnNldFZhbHVlKHJlcy5kYXRhLmN1c3RvbWVySW5mby5uYW1lKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdtb2JpbGUnKT8uc2V0VmFsdWUocmVzLmRhdGEuY3VzdG9tZXJJbmZvLm1vYmlsZSlcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnY291bnRyeUNvZGUnKT8uc2V0VmFsdWUocmVzLmRhdGEuY3VzdG9tZXJJbmZvLmNvdW50cnlDb2RlKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdlbWFpbCcpPy5zZXRWYWx1ZShyZXMuZGF0YS5jdXN0b21lckluZm8uZW1haWwpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2xvY2F0aW9uJyk/LnNldFZhbHVlKHJlcy5kYXRhLmN1c3RvbWVySW5mby5sb2NhdGlvbilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnYWdlJyk/LnNldFZhbHVlKHJlcy5kYXRhLmN1c3RvbWVySW5mby5hZ2UpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2dlbmRlcicpPy5zZXRWYWx1ZShyZXMuZGF0YS5jdXN0b21lckluZm8uZ2VuZGVyKVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRDdXN0b21lclR5cGUgPT09ICdtaXNzZWRPcHBvcnR1bml0eScpIHtcclxuICAgICAgICAgICAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uID0gcmVzLmRhdGEuaXNzdWVMaXN0XHJcbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2cocmVzLmRhdGEpXHJcbiAgICAgICAgICAgICAgcmVzLmRhdGEuaXNzdWVMaXN0Lm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gWy4uLnRoaXMuc2VsZWN0ZWRJc3N1ZXMsIC4uLmRhdGEuaXNzdWVdXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB0aGlzLm5vblNob3BlclR5cGUgPSAnJ1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCduYW1lJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ21vYmlsZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdlbWFpbCcpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdsb2NhdGlvbicpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdhZ2UnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZ2VuZGVyJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoIXJlcyB8fCByZXM/LmNvZGUgPT09IDIwNCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUoXCJmb290ZmFsbFwiKTtcclxuICAgICAgICAgICAgdGhpcy5ub25TaG9wZXJUeXBlID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSAnJ1xyXG4gICAgICAgICAgICB0aGlzLnRhZ2dnZWREYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCduYW1lJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdtb2JpbGUnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdlbWFpbCcpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbG9jYXRpb24nKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZ2VuZGVyJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKFwiZm9vdGZhbGxcIik7XHJcbiAgICAgICAgICB0aGlzLnRhZ2dnZWREYXRhID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuICBwdWJsaWMgaGFuZGxlQWRkcmVzc0NoYW5nZShwbGFjZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0IHwgYW55KSB7XHJcbiAgICBpZiAocGxhY2UuZ2VvbWV0cnkpIHtcclxuICAgICAgbGV0IGNvdW50cnkgPSBcIlwiLCBjaXR5ID0gXCJcIiwgc3RhdGUgPSBcIlwiLCBwaW5jb2RlID0gXCJcIjtcclxuICAgICAgbGV0IGxhdGl0dWRlID0gcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCk7XHJcbiAgICAgIGxldCBsb25naXR1ZGUgPSBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKTtcclxuICAgICAgcGxhY2UuYWRkcmVzc19jb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudC50eXBlcy5pbmNsdWRlcyhcImNvdW50cnlcIikpIHtcclxuICAgICAgICAgIGNvdW50cnkgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50LnR5cGVzLmluY2x1ZGVzKFwibG9jYWxpdHlcIikpIHtcclxuICAgICAgICAgIGNpdHkgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50LnR5cGVzLmluY2x1ZGVzKFwiYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8xXCIpKSB7XHJcbiAgICAgICAgICBzdGF0ZSA9IGNvbXBvbmVudC5sb25nX25hbWU7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjb21wb25lbnQudHlwZXMuaW5jbHVkZXMoXCJwb3N0YWxfY29kZVwiKSkge1xyXG4gICAgICAgICAgcGluY29kZSA9IGNvbXBvbmVudC5sb25nX25hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdsb2NhdGlvbicpPy5zZXRWYWx1ZShjaXR5KVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdG5vblNob3BlcihkYXRhOiBhbnkpIHtcclxuICAgIGxldCBpbnB1dERhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb2xkZXJEYXRlLFxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5yZXZvcHRhZ2dpbmdjb3VudChpbnB1dERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEuY291bnQgPD0gMCAmJiB0aGlzLnRhZ2dnZWREYXRhLnJldm9wc1R5cGUgIT0gJ25vblNob3BwZXInKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoXCJUYWcgbGltaXQgcmVhY2hlZCEgVHJ5IHRhZ2dpbmcgdW5kZXIgZGlmZmVyZW50IGNhdGVnb3JpZXNcIilcclxuICAgICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vblNob3BlclR5cGUgPSBkYXRhXHJcbiAgICAgICAgICAgICAgaWYgKGRhdGEgPT09ICdEdXBsaWNhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnRhZ2dnZWREYXRhLm5vbnNob3BlclR5cGUsIHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCwgdGhpcy50YWdnZ2VkRGF0YS50ZW1wSWQpXHJcbiAgICAgICAgICAgICAgICBsZXQgb3JpZ2luYWxEYXRhID0gW11cclxuICAgICAgICAgICAgICAgIGlmKHRoaXMudGFnZ2dlZERhdGEubm9uc2hvcGVyVHlwZSAhPSAnRHVwbGljYXRlJyYmdGhpcy50YWdnZ2VkRGF0YS5yZXZvcHNUeXBlPT09J25vblNob3BwZXInKXtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsRGF0YS5wdXNoKHsgdGVtcElkOiB0aGlzLnRhZ2dnZWREYXRhPy50ZW1wSWQsIHNlbGVjdGVkVGltZTogdGhpcy5zZWxlY3RlZFRpbWUgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihEdXBsaWNhdGVDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgIHNpemU6IFwieGxcIixcclxuICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgYmFja2Ryb3A6ICdzdGF0aWMnXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNlbGVjdGVkVGVtcElkID0gdGhpcy5JbWFnZWRhdGEudGVtcElkO1xyXG4gICAgICAgICAgICAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uub3JpZ2luYWxEYXRhID0gb3JpZ2luYWxEYXRhO1xyXG4gICAgICAgICAgICAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYWxyZWFkeVRhZ2dlZCA9IHRoaXMuSW1hZ2VkYXRhPy50ZW1wSWQgPT09IHRoaXMudGFnZ2dlZERhdGE/LnRlbXBJZCAmJiB0aGlzLnRhZ2dnZWREYXRhPy5ub25zaG9wZXJUeXBlID09PSAnRHVwbGljYXRlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5pbnB1dERhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWRhcnJheSxcclxuICAgICAgICAgICAgICAgICAgXCJjbGllbnRJZFwiOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICBcInByb2Nlc3NUeXBlXCI6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9vdGZhbGxEYXRlXCI6IHRoaXMuZm9sZGVyRGF0ZSxcclxuICAgICAgICAgICAgICAgICAgXCJmb2xkZXJOYW1lXCI6IHRoaXMuc2VsZWN0ZWRUaW1lXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmV2b3BEYXRhKClcclxuICAgICAgICAgICAgICAgICAgfSwgMTAwMClcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBpbWFnZVZpZXcob2JqOiBhbnksIGZvb3RmYWxsRGF0ZTogYW55KSB7XHJcblxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEltYWdlRG9jVmlld0NvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJ4bFwiLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5JbWFnZWRhdGEgPSBvYmo7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5wcm9jZXNzVHlwZSA9IHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmZvb3RmYWxsRGF0ZSA9IGZvb3RmYWxsRGF0ZTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlTmFtZSA9IHRoaXMuc3RvcmVBcnJheVZhbHVlO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3RvcmVJZCA9IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5oZWFkZXJEYXRhID0gdGhpcy5oZWFkZXJEYXRhO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuaW1hZ2VBcnJheSA9IHRoaXMub2JqZWN0c0FycmF5O1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZm9sZGVyTmFtZSA9IHRoaXMub2JqRGF0YS5mb2xkZXJOYW1lXHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50cmFja2VyID0gdGhpcy5mb290ZmFsbERhdGFTaG93O1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdDogYW55KSA9PiB7IH0pO1xyXG4gICAgLy8gbW9kYWxSZWYuZGlzbWlzcygnQ2xpY2sgb3V0c2lkZScpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZVJhbmdlQXJyYXkoZnJvbURhdGU6IHN0cmluZywgdG9EYXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKGZyb21EYXRlKTsgLy8gQ29udmVydCBzdHJpbmcgdG8gRGF0ZSBvYmplY3RcclxuICAgIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRvRGF0ZSk7IC8vIENvbnZlcnQgc3RyaW5nIHRvIERhdGUgb2JqZWN0XHJcbiAgICBjb25zdCBkYXRlQXJyYXk6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGVzIGFyZSB2YWxpZFxyXG4gICAgaWYgKGlzTmFOKHN0YXJ0LmdldFRpbWUoKSkgfHwgaXNOYU4oZW5kLmdldFRpbWUoKSkpIHtcclxuICAgICAgcmV0dXJuIGRhdGVBcnJheTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBMb29wIGZyb20gc3RhcnQgZGF0ZSB0byBlbmQgZGF0ZVxyXG4gICAgbGV0IGN1cnJlbnREYXRlID0gc3RhcnQ7XHJcbiAgICB3aGlsZSAoY3VycmVudERhdGUgPD0gZW5kKSB7XHJcbiAgICAgIGRhdGVBcnJheS5wdXNoKGN1cnJlbnREYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdKTsgLy8gRm9ybWF0IFlZWVktTU0tRERcclxuICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxKTsgLy8gSW5jcmVtZW50IHRoZSBkYXRlIGJ5IDEgZGF5XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGVBcnJheTtcclxuICB9XHJcblxyXG4gIC8vIE1ldGhvZCB0byBkaXNwbGF5IG9yIGxvZyB0aGUgZGF0ZSByYW5nZSBhcnJheVxyXG4gIGRpc3BsYXlEYXRlUmFuZ2UoKSB7XHJcbiAgICBjb25zdCBkYXRlcyA9IHRoaXMuZ2V0RGF0ZVJhbmdlQXJyYXkoXHJcbiAgICAgIHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuZGF0ZUFycmF5ID0gZGF0ZXM7XHJcbiAgfVxyXG4gIGRhdGFzZXRzID0gW1xyXG4gICAgeyB2YWx1ZTogJ2Zvb3RmYWxsJywgbGFiZWw6ICdGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6ICdCb3VuY2VkIEZvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2VuZ2FnZXInLCBsYWJlbDogJ0VuZ2FnZXJzJyB9LFxyXG4gICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6ICdNaXNzZWQgT3Bwb3J0dW5pdHknIH0sXHJcbiAgICB7IHZhbHVlOiAnY29udmVyc2lvbicsIGxhYmVsOiAnQ29udmVyc2lvbicgfVxyXG4gIF07XHJcbiAgZ2V0SW5pdGlhbFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAvLyBGb3IgZXhhbXBsZSwgc2VsZWN0aW5nIHRoZSBzZWNvbmQgaXRlbSBpbiB0aGUgZGF0YXNldFxyXG4gICAgcmV0dXJuIHRoaXMuZGF0YXNldHNbMF0udmFsdWU7IC8vIENoYW5nZSBhcyBuZWVkZWRcclxuICB9XHJcbiAgb25WYWx1ZUNoYW5nZShzZWxlY3RlZElkOiBhbnkpIHtcclxuICAgIHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9IHNlbGVjdGVkSWQsXHJcbiAgICAgIHRoaXMuZ2V0SW1hZ2VGb2xkZXIoKTtcclxuICB9XHJcbiAgZ2V0IHNlbGVjdENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG4gIGNsb3NlRGF0YSgpIHtcclxuICAgIHRoaXMuaGlkZURvYyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBiYWNrVG9WaWV3KCkge1xyXG4gICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKFwiZm9vdGZhbGxcIik7XHJcbiAgICB0aGlzLmltYWdlRmxvdyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vYmpEYXRhLmZvbGRlck5hbWUgPSB0aGlzLnNlbGVjdGVkVGltZTtcclxuICAgIC8vIHRoaXMuc2VsZWN0ZWRUaW1lcyh0aGlzLnNlbGVjdGVkVGltZSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm9iakRhdGEpXHJcbiAgICAvLyB0aGlzLnNlcnZpY2VcclxuICAgIC8vICAgLmdldEZvb3RmYWxsRGlyZWN0b3J5KHRoaXMub2JqRGF0YSlcclxuICAgIC8vICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgLy8gICA/LnN1YnNjcmliZSh7XHJcbiAgICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgIC8vICAgICAgICAgaWYgKCFyZXM/LmRhdGEuZm9vdGZhbGxEYXRhLmxlbmd0aCkge1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgIC8vICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmltYWdlc0FycmF5RGF0YSA9IHJlcz8uZGF0YS5mb290ZmFsbERhdGE7XHJcblxyXG4gICAgLy8gICAgICAgICAgIHRoaXMuc3RvcmVBcnJheVZhbHVlID0gcmVzPy5kYXRhLnN0b3JlTmFtZVxyXG4gICAgLy8gICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAvLyAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG5cclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAvLyAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgIC8vICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgICAgY29tcGxldGU6ICgpID0+IHsgfSxcclxuICAgIC8vICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgaW1hZ2VEYXRhKHR5cGU6IGFueSkge1xyXG4gICAgaWYgKHR5cGUgPT09ICdlbnRyeScpIHtcclxuICAgICAgdGhpcy5JbWFnZXMgPSB0aGlzLkltYWdlZGF0YT8uaW1hZ2VzPy5lbnRyeVRpbWVJbWFnZVxyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZXhpdCcpIHtcclxuICAgICAgdGhpcy5JbWFnZXMgPSB0aGlzLkltYWdlZGF0YT8uaW1hZ2VzPy5leGl0VGltZUltYWdlXHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzdGFmZicpIHtcclxuICAgICAgdGhpcy5JbWFnZXMgPSB0aGlzLkltYWdlZGF0YT8uaW1hZ2VzPy5zdGFmZkVuZ2FnZW1lbnRJbWFnZVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaXNGaXJzdEltYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmltYWdlc0FycmF5RGF0YS5maW5kSW5kZXgoKGRhdGE6IGFueSkgPT4gZGF0YS50ZW1wSWQgPT09IHRoaXMuSW1hZ2VkYXRhPy50ZW1wSWQpO1xyXG4gICAgcmV0dXJuIGluZGV4IDw9IDA7XHJcbiAgfVxyXG5cclxuICBpc0xhc3RJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbWFnZXNBcnJheURhdGEuZmluZEluZGV4KChkYXRhOiBhbnkpID0+IGRhdGEudGVtcElkID09PSB0aGlzLkltYWdlZGF0YT8udGVtcElkKTtcclxuICAgIHJldHVybiBpbmRleCA+PSB0aGlzLmltYWdlc0FycmF5RGF0YS5sZW5ndGggLSAxO1xyXG4gIH1cclxuXHJcbiAgcHJldmlvdXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gW11cclxuICAgIHRoaXMubWlzc2Vkb3B0dW5pdHlSZWFzb24gPSBbXVxyXG4gICAgdGhpcy5zZWxlY3RlZE1pc3NlZCA9ICdQcm9kdWN0IElzc3VlJ1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmltYWdlc0FycmF5RGF0YS5maW5kSW5kZXgoKGRhdGE6IGFueSkgPT4gZGF0YS50ZW1wSWQgPT09IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCk7XHJcbiAgICBpZiAoaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuSW1hZ2VkYXRhID0gdGhpcy5pbWFnZXNBcnJheURhdGFbaW5kZXggLSAxXTtcclxuICAgICAgaWYgKHRoaXMuSW1hZ2VkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5yZXZvcFRhZ2dpbmcodGhpcy5JbWFnZWRhdGEpXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuSW1hZ2VkYXRhID0gdGhpcy5pbWFnZXNBcnJheURhdGFbMF07XHJcbiAgICAgIGlmICh0aGlzLkltYWdlZGF0YSkge1xyXG4gICAgICAgIHRoaXMucmV2b3BUYWdnaW5nKHRoaXMuSW1hZ2VkYXRhKVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZElzc3VlcyA9IFtdXHJcbiAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uID0gW11cclxuICAgIHRoaXMuc2VsZWN0ZWRNaXNzZWQgPSAnUHJvZHVjdCBJc3N1ZSdcclxuXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaW1hZ2VzQXJyYXlEYXRhLmZpbmRJbmRleCgoZGF0YTogYW55KSA9PiBkYXRhLnRlbXBJZCA9PT0gdGhpcy5JbWFnZWRhdGEudGVtcElkKTtcclxuICAgIGlmICh0aGlzLmltYWdlc0FycmF5RGF0YS5sZW5ndGggLSAxICE9IGluZGV4KSB7XHJcblxyXG4gICAgICB0aGlzLkltYWdlZGF0YSA9IHRoaXMuaW1hZ2VzQXJyYXlEYXRhW2luZGV4ICsgMV07XHJcbiAgICAgIGlmICh0aGlzLkltYWdlZGF0YSkge1xyXG4gICAgICAgIHRoaXMucmV2b3BUYWdnaW5nKHRoaXMuSW1hZ2VkYXRhKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFRhYiA9ICd0YWdnZWQnO1xyXG4gIHNlbGVjdGVkQ3VzdG9tZXJUeXBlID0gJ25vblNob3BwZXInO1xyXG4gIG9uUmFkaW9DaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2codmFsdWUpXHJcbiAgICB0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUgPT09ICdwdXJjaGFzZXInKSB7XHJcbiAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgIE9iamVjdC52YWx1ZXModGhpcy51c2VyRm9ybS5jb250cm9scykuZm9yRWFjaChjb250cm9sID0+IHtcclxuICAgICAgICBjb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy5zZXRWYWx1ZShcIjkxXCIpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAnbWlzc2VkT3Bwb3J0dW5pdHknKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXVxyXG4gICAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uID0gW11cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBhZ2U6IG51bWJlciA9IDE7XHJcblxyXG4gIGluY3JlbWVudEFnZSgpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRBZ2UgPSBOdW1iZXIodGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy52YWx1ZSkgfHwgMDtcclxuICAgIHRoaXMudXNlckZvcm0uZ2V0KCdhZ2UnKT8uc2V0VmFsdWUoY3VycmVudEFnZSArIDEpO1xyXG4gIH1cclxuXHJcbiAgZGVjcmVtZW50QWdlKCkge1xyXG4gICAgY29uc3QgY3VycmVudEFnZSA9IE51bWJlcih0aGlzLnVzZXJGb3JtLmdldCgnYWdlJyk/LnZhbHVlKSB8fCAwO1xyXG4gICAgLy8gY29uc29sZS5sb2coY3VycmVudEFnZSlcclxuICAgIGlmIChjdXJyZW50QWdlID4gMSkge1xyXG4gICAgICB0aGlzLnVzZXJGb3JtLmdldCgnYWdlJyk/LnNldFZhbHVlKGN1cnJlbnRBZ2UgLSAxKTtcclxuICAgIH1cclxuICB9XHJcbiAgc3VibWl0TWlzc2VkT3Bwb3J0dW5pdHkoKSB7XHJcbiAgICBpZiAodGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoXCJwbGVhc2Ugc2VsZWN0IG1pc3NlZCBvcHBvcnR1bml0eSByZWFzb25cIilcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBsZXQgcGF5bG9hZCA9IFt7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb2xkZXJEYXRlLFxyXG4gICAgICB0aW1lUmFuZ2U6IHRoaXMuc2VsZWN0ZWRUaW1lLFxyXG4gICAgICB0ZW1wSWQ6IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCxcclxuICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMuc2VsZWN0Q29udHJvbC52YWx1ZSxcclxuICAgICAgcmV2b3BzVHlwZTogdGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSxcclxuICAgICAgbm9uc2hvcGVyVHlwZTogXCJcIixcclxuICAgICAgY3VzdG9tZXJJbmZvOiB7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBtb2JpbGU6IFwiXCIsXHJcbiAgICAgICAgY291bnRyeUNvZGU6IFwiXCIsXHJcbiAgICAgICAgZW1haWw6IFwiXCIsXHJcbiAgICAgICAgbG9jYXRpb246IFwiXCIsXHJcbiAgICAgICAgYWdlOiBcIlwiLFxyXG4gICAgICAgIGdlbmRlcjogXCJcIixcclxuICAgICAgfSxcclxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXHJcbiAgICAgIHN0YXR1czogXCJzdWJtaXR0ZWRcIixcclxuICAgICAgaXNzdWVMaXN0OiB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uXHJcbiAgICB9XVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5zdWJtaXRSZXZvcFRhZ2dpbmcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChcIkN1c3RvbWVyIGhhcyBiZWVuIHRhZ2dlZCBzdWNjZXNzZnVsbHkuXCIpXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLmdldFJldm9wRGF0YSgpXHJcbiAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIG5vblNob3BwZXJTdWJtaXQoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMubm9uU2hvcGVyVHlwZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoXCJwbGVhc2Ugc2VsZWN0IG5vbnNob3BwZXIgVHlwZVwiKVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBsZXQgcGF5bG9hZCA9IFt7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXSxcclxuICAgICAgdGltZVJhbmdlOiB0aGlzLnNlbGVjdGVkVGltZSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb2xkZXJEYXRlLFxyXG4gICAgICB0ZW1wSWQ6IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCxcclxuICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMuc2VsZWN0Q29udHJvbC52YWx1ZSxcclxuICAgICAgcmV2b3BzVHlwZTogdGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSxcclxuICAgICAgbm9uc2hvcGVyVHlwZTogdGhpcy5ub25TaG9wZXJUeXBlLFxyXG4gICAgICBjdXN0b21lckluZm86IHtcclxuICAgICAgICBuYW1lOiBcIlwiLFxyXG4gICAgICAgIG1vYmlsZTogXCJcIixcclxuICAgICAgICBjb3VudHJ5Q29kZTogXCJcIixcclxuICAgICAgICBlbWFpbDogXCJcIixcclxuICAgICAgICBsb2NhdGlvbjogXCJcIixcclxuICAgICAgICBhZ2U6IFwiXCIsXHJcbiAgICAgICAgZ2VuZGVyOiBcIlwiLFxyXG4gICAgICB9LFxyXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcclxuICAgICAgc3RhdHVzOiBcInN1Ym1pdHRlZFwiLFxyXG4gICAgICBpc3N1ZUxpc3Q6IFtdXHJcbiAgICB9XVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5zdWJtaXRSZXZvcFRhZ2dpbmcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChcIkN1c3RvbWVyIGhhcyBiZWVuIHRhZ2dlZCBzdWNjZXNzZnVsbHkuXCIpXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLmdldFJldm9wRGF0YSgpXHJcbiAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy51c2VyRm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBwYXlsb2FkID0gW3tcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5WzBdLFxyXG4gICAgICB0aW1lUmFuZ2U6IHRoaXMuc2VsZWN0ZWRUaW1lLFxyXG4gICAgICBkYXRlU3RyaW5nOiB0aGlzLmZvbGRlckRhdGUsXHJcbiAgICAgIHRlbXBJZDogdGhpcy5JbWFnZWRhdGEudGVtcElkLFxyXG4gICAgICBwcm9jZXNzVHlwZTogdGhpcy5zZWxlY3RDb250cm9sLnZhbHVlLFxyXG4gICAgICByZXZvcHNUeXBlOiB0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlLFxyXG4gICAgICBub25zaG9wZXJUeXBlOiBcIlwiLFxyXG4gICAgICBjdXN0b21lckluZm86IHtcclxuICAgICAgICBuYW1lOiB0aGlzLnVzZXJGb3JtLnZhbHVlLm5hbWUsXHJcbiAgICAgICAgbW9iaWxlOiB0aGlzLnVzZXJGb3JtLnZhbHVlLm1vYmlsZSxcclxuICAgICAgICBjb3VudHJ5Q29kZTogdGhpcy51c2VyRm9ybS52YWx1ZS5jb3VudHJ5Q29kZSxcclxuICAgICAgICBlbWFpbDogdGhpcy51c2VyRm9ybS52YWx1ZS5lbWFpbCxcclxuICAgICAgICBsb2NhdGlvbjogdGhpcy51c2VyRm9ybS52YWx1ZS5sb2NhdGlvbixcclxuICAgICAgICBhZ2U6IHRoaXMudXNlckZvcm0udmFsdWUuYWdlLFxyXG4gICAgICAgIGdlbmRlcjogdGhpcy51c2VyRm9ybS52YWx1ZS5nZW5kZXIsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxyXG4gICAgICBzdGF0dXM6IFwic3VibWl0dGVkXCIsXHJcbiAgICAgIGlzc3VlTGlzdDogW11cclxuICAgIH1dXHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLnN1Ym1pdFJldm9wVGFnZ2luZyhwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KFwiQ3VzdG9tZXIgaGFzIGJlZW4gdGFnZ2VkIHN1Y2Nlc3NmdWxseS5cIilcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRSZXZvcERhdGEoKVxyXG5cclxuICAgICAgICAgICAgfSwgMTAwMClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBpc0ludmFsaWQoZmllbGROYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnVzZXJGb3JtLmdldChmaWVsZE5hbWUpO1xyXG4gICAgcmV0dXJuICEhKGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIChjb250cm9sLnRvdWNoZWQgfHwgdGhpcy5zdWJtaXR0ZWQpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtdC0zIHB4LTAgYm9yZGVyLWJvdHRvbS0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1hY2NvcmRpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZyBwYi0wIGN1c3RvbS1hY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUFjY29yZGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImltZy1kaXJlY1wiPkltYWdlIERpcmVjdG9yeTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvcmRpb24tYXJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIERvd24gYXJyb3cgZm9yIGNvbGxhcHNlZCBzdGF0ZSwgdXAgYXJyb3cgZm9yIGV4cGFuZGVkIHN0YXRlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhaXNBY2NvcmRpb25FeHBhbmRlZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgMTYgNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEgMUw1IDVMOSAxXCIgc3Ryb2tlPVwiIzA3MTQzN1wiIHN0cm9rZS13aWR0aD1cIjFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImlzQWNjb3JkaW9uRXhwYW5kZWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjZcIiB2aWV3Qm94PVwiMCAwIDE2IDZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xIDVMNSAxTDkgNVwiIHN0cm9rZT1cIiMxYjg0ZmZcIiBzdHJva2Utd2lkdGg9XCIxXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgIFxyXG4gICAgPHNlY3Rpb24gKm5nSWY9XCJpc0FjY29yZGlvbkV4cGFuZGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHB4LTVcIiAqbmdJZj1cIiFoaWRlRG9jXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1mb3JtLWNhcmRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA0NiA0NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjMuODMzMyAxNC42NjY2TDE1LjUgMjQuNjY2NkgyM0wyMi4xNjY3IDMxLjMzMzNMMzAuNSAyMS4zMzMzSDIzTDIzLjgzMzMgMTQuNjY2NlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eHQtb25lIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyPkV4YW1pbmUgaW5kaXZpZHVhbCBmb290ZmFsbCBpbiBnYWxsZXJ5IHZpZXcgd2l0aCBvcHRpbWFsIHNhbXBsZSBpbWFnZXMgZm9yIGRldGFpbGVkIGFuYWx5c2lzLjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlwbGVcIj5VcGxvYWQgbXVsdGlwbGUgc3RvcmVzIGZvciBjb25maWd1cmF0aW9uPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2xvc2VEYXRhKClcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguMjk1IDcuMTE1QzE4LjY4NDQgNi43MjU2NCAxOC42ODQ0IDYuMDk0MzYgMTguMjk1IDUuNzA1QzE3LjkwNTYgNS4zMTU2NCAxNy4yNzQ0IDUuMzE1NjQgMTYuODg1IDUuNzA1TDEyIDEwLjU5TDcuMTE1IDUuNzA1QzYuNzI1NjQgNS4zMTU2NCA2LjA5NDM2IDUuMzE1NjQgNS43MDUgNS43MDVDNS4zMTU2NCA2LjA5NDM2IDUuMzE1NjQgNi43MjU2NCA1LjcwNSA3LjExNUwxMC41OSAxMkw1LjcwNSAxNi44ODVDNS4zMTU2NCAxNy4yNzQ0IDUuMzE1NjQgMTcuOTA1NiA1LjcwNSAxOC4yOTVDNi4wOTQzNiAxOC42ODQ0IDYuNzI1NjQgMTguNjg0NCA3LjExNSAxOC4yOTVMMTIgMTMuNDFMMTYuODg1IDE4LjI5NUMxNy4yNzQ0IDE4LjY4NDQgMTcuOTA1NiAxOC42ODQ0IDE4LjI5NSAxOC4yOTVDMTguNjg0NCAxNy45MDU2IDE4LjY4NDQgMTcuMjc0NCAxOC4yOTUgMTYuODg1TDEzLjQxIDEyTDE4LjI5NSA3LjExNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJmb2xkZXJWaWV3XCIgY2xhc3M9XCJjYXJkLWJvZHkgcHgtMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEgbXQtNSB0ZXh0LWNlbnRlclwiICpuZ0Zvcj1cImxldCBvYmogb2YgZGF0ZUFycmF5O2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImdldGltYWdlcyhpLG9iailcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSA9PT0gc2VsZWN0SW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTcgNTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjE1NDI5N1wiIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHJ4PVwiMTJcIiBmaWxsPVwiIzMzQjVGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOS44MjE2IDM2LjE2NjdDMzkuODIxNiAzNi43ODU1IDM5LjU3NTggMzcuMzc5IDM5LjEzODIgMzcuODE2NkMzOC43MDA2IDM4LjI1NDIgMzguMTA3MSAzOC41IDM3LjQ4ODMgMzguNUgxOC44MjE2QzE4LjIwMjggMzguNSAxNy42MDkzIDM4LjI1NDIgMTcuMTcxNyAzNy44MTY2QzE2LjczNDEgMzcuMzc5IDE2LjQ4ODMgMzYuNzg1NSAxNi40ODgzIDM2LjE2NjdWMTkuODMzM0MxNi40ODgzIDE5LjIxNDUgMTYuNzM0MSAxOC42MjEgMTcuMTcxNyAxOC4xODM0QzE3LjYwOTMgMTcuNzQ1OCAxOC4yMDI4IDE3LjUgMTguODIxNiAxNy41SDI0LjY1NDlMMjYuOTg4MyAyMUgzNy40ODgzQzM4LjEwNzEgMjEgMzguNzAwNiAyMS4yNDU4IDM5LjEzODIgMjEuNjgzNEMzOS41NzU4IDIyLjEyMSAzOS44MjE2IDIyLjcxNDUgMzkuODIxNiAyMy4zMzMzVjM2LjE2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIyLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTJcIj57e29iaiB8IGRhdGU6J2RkIE1NTSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpICE9PSBzZWxlY3RJbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjxzdmcgd2lkdGg9XCI1N1wiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NyA1NlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNDYyODkxXCIgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgcng9XCIxMlwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQwLjEzMDIgMzYuMTY2N0M0MC4xMzAyIDM2Ljc4NTUgMzkuODg0NCAzNy4zNzkgMzkuNDQ2OCAzNy44MTY2QzM5LjAwOTIgMzguMjU0MiAzOC40MTU3IDM4LjUgMzcuNzk2OSAzOC41SDE5LjEzMDJDMTguNTExNCAzOC41IDE3LjkxNzkgMzguMjU0MiAxNy40ODAzIDM3LjgxNjZDMTcuMDQyNyAzNy4zNzkgMTYuNzk2OSAzNi43ODU1IDE2Ljc5NjkgMzYuMTY2N1YxOS44MzMzQzE2Ljc5NjkgMTkuMjE0NSAxNy4wNDI3IDE4LjYyMSAxNy40ODAzIDE4LjE4MzRDMTcuOTE3OSAxNy43NDU4IDE4LjUxMTQgMTcuNSAxOS4xMzAyIDE3LjVIMjQuOTYzNUwyNy4yOTY5IDIxSDM3Ljc5NjlDMzguNDE1NyAyMSAzOS4wMDkyIDIxLjI0NTggMzkuNDQ2OCAyMS42ODM0QzM5Ljg4NDQgMjIuMTIxIDQwLjEzMDIgMjIuNzE0NSA0MC4xMzAyIDIzLjMzMzNWMzYuMTY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMi4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0yXCI+e3tvYmogfCBkYXRlOidkZCBNTU0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiAgICAgICBcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFmb2xkZXJWaWV3XCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8c2VjdGlvbiAqbmdJZj1cIiFpbWFnZUZsb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zaHJpbmstMCBtdC0zIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImJhY2tuYXZcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb0Zvb3RmYWxsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjU4NV83MDM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1LjgzMjcgMTlIMTQuMTY2TTE0LjE2NiAxOUwxOS45OTkzIDI0LjgzMzRNMTQuMTY2IDE5TDE5Ljk5OTMgMTMuMTY2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzI1ODVfNzAzNlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjU4NV83MDM2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImltZy1kaXJlYyBtcy0yXCI+e3tmb2xkZXJEYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gdGV4dC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybSAqbmdJZj1cIiFub3JtYWxpemUgJiYgIWNsaWVudERhdGE/LmlzRm9vdGZhbGxWaWV3XCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdENvbnRyb2xcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFzZXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCB0ZXh0LXN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXQtMiBtYi0yIHctMTAwIG92ZXJmbG93LXggcHgtMFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmhlYWRlckRhdGE/LmNsaWVudCAhPT0nNDU5J1wiPlxyXG4gICAgICAgIDxkaXYgIGNsYXNzPVwiY29sIHRleHQtbm93cmFwXCIgKm5nRm9yPVwibGV0IG9iaiBvZiBvYmplY3RzQXJyYXlcIj5cclxuICAgICAgICAgICAgPHVsICpuZ0lmPVwibGVuZ3RoVmFsdWVcIiBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2VsZWN0ZWRUaW1lcyhvYmouZm9sZGVyTmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy5mb2xkZXJOYW1lID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG14LTMgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uZm9sZGVyTmFtZX19PHNwYW4gY2xhc3M9XCJteC0yIFwiIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy5mb2xkZXJOYW1lID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e29iaj8uY291bnQ/b2JqPy5jb3VudDowfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1OSdcIj5cclxuICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbCB0ZXh0LW5vd3JhcFwiICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c0FycmF5LnNsaWNlKDAsIC0xKVwiPlxyXG4gICAgICAgICAgICA8dWwgKm5nSWY9XCJsZW5ndGhWYWx1ZVwiIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZWxlY3RlZFRpbWVzKG9iai5mb2xkZXJOYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUaW1lID09PSBvYmo/LmZvbGRlck5hbWUgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbXgtMyBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5mb2xkZXJOYW1lfX08c3BhbiBjbGFzcz1cIm14LTIgXCIgW25nQ2xhc3NdPVwic2VsZWN0ZWRUaW1lID09PSBvYmo/LmZvbGRlck5hbWUgPyAnYmFkZ2UtbnVtLXByaW1hcnknIDonYmFkZ2UtbnVtLW11dGVkJ1wiPnt7b2JqPy5jb3VudD9vYmo/LmNvdW50OjB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9ub3QtYXBwbGljYWJsZS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG10LTNcIj5EYXRhIE5vdCBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm9ybWFsaXplZCBkYXRhIGlzIG5vdCBhcHBsaWNhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgaW1hZ2UgZGlyZWN0b3J5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0wIGltZy10cmFmZmljIGNvbnRhaW4gaGlnaC00MDBweCBzY3JvbGwteVwiICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0zIGJvcmRlci1ncmF5IG14LTIgcC0yIG10LTVcIiAqbmdGb3I9XCJsZXQgb2JqIG9mIGltYWdlc0FycmF5RGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzExJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIm9iai5pbWFnZXMuZW50cnlUaW1lSW1hZ2UmJmNsaWVudERhdGE/LmlzUmV2b3BzXCIgY2xhc3M9XCJpbWctc3JjIGN1cnNvci1wb2ludGVyXCIgW3NyY109XCJvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlXCIgKGVycm9yKT1cIm9iaj8uaW1hZ2VzLmVudHJ5VGltZUltYWdlID0gbnVsbFwiIGFsdD1cIlwiID5cclxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJoZWFkZXJEYXRhLmNsaWVudCAhPT0nMTEnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwib2JqLmltYWdlcy5lbnRyeVRpbWVJbWFnZSYmY2xpZW50RGF0YT8uaXNSZXZvcHNcIiBjbGFzcz1cImltZy1zcmMgY3Vyc29yLXBvaW50ZXJcIiBbc3JjXT1cIm9iai5pbWFnZXMuZW50cnlUaW1lSW1hZ2VcIiAoZXJyb3IpPVwib2JqPy5pbWFnZXMuZW50cnlUaW1lSW1hZ2UgPSBudWxsXCIgYWx0PVwiXCIgKGNsaWNrKT1cInJldm9wVGFnZ2luZyhvYmopXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlJiYhY2xpZW50RGF0YT8uaXNSZXZvcHNcIiBjbGFzcz1cImltZy1zcmMgY3Vyc29yLXBvaW50ZXJcIiBbc3JjXT1cIm9iai5pbWFnZXMuZW50cnlUaW1lSW1hZ2VcIiAoZXJyb3IpPVwib2JqPy5pbWFnZXMuZW50cnlUaW1lSW1hZ2UgPSBudWxsXCIgYWx0PVwiXCIgKGNsaWNrKT1cImltYWdlVmlldyhvYmosb2JqRGF0YS5mb290ZmFsbERhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9iai5pbWFnZXMuZW50cnlUaW1lSW1hZ2VcIiBjbGFzcz1cIm5vLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMyAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi41IDYuMzIyMjdINi41MU0xNi4yNSA5LjMyMjI3SDIxLjVMMTggMTYuMzIyM0wxNC45MSAxMi4wMDIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEuNSAxNi4zMjI5SDUuMjZDNS42MzI3MyAxNi4zMjU1IDUuOTk4NzcgMTYuMjIzOSA2LjMxNjgyIDE2LjAyOTVDNi42MzQ4NyAxNS44MzUyIDYuODkyMjggMTUuNTU1OCA3LjA2IDE1LjIyMjlMOC41IDEyLjMyMjlNMS41IDE4LjMyMjlWMTQuMzIyOU0xNy41IDYuODIyOTFMMTMuNSAxNC44MjI5TDMuMTEgOS42MjI5MUMyLjQyMDMzIDkuMjc1NTMgMS44OTYzNSA4LjY2OTEgMS42NTI3MiA3LjkzNjMyQzEuNDA5MDkgNy4yMDM1NCAxLjQ2NTY0IDYuNDA0MSAxLjgxIDUuNzEyOTFMMy4xOSAyLjkyMjkxQzMuMzYyIDIuNTgwMTQgMy41OTk4NCAyLjI3NDYgMy44ODk5NCAyLjAyMzc1QzQuMTgwMDMgMS43NzI5IDQuNTE2NyAxLjU4MTY1IDQuODgwNzIgMS40NjA5M0M1LjI0NDc0IDEuMzQwMjEgNS42Mjg5NyAxLjI5MjM5IDYuMDExNDcgMS4zMjAxOEM2LjM5Mzk4IDEuMzQ3OTcgNi43NjcyNiAxLjQ1MDg0IDcuMTEgMS42MjI5MUwxNy41IDYuODIyOTFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyIG1iLTUgdGV4dC1jZW50ZXJcIj5QcmV2aWV3IG5vdCBhdmFpbGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvbiBtYi01IHRleHQtY2VudGVyXCI+VGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb21lbnQuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLWRpcmVjdG9yeVwiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtaW5mb1wiPnt7b2JqLnRlbXBJZH19PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJzZWxlY3RDb250cm9sLnZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eSdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXMtMlwiPk1pc3NlZCBPcHBvcnR1bml0eTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0Q29udHJvbC52YWx1ZSA9PT0nYm91bmNlZCdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXMtMlwiPkJvdW5jZWQgRm9vdGZhbGw8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvYmo/LnJldm9wc1R5cGUgfHwgc2VsZWN0Q29udHJvbC52YWx1ZSBhcyB2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIG1zLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtcHJpbWFyeSc6IHZhbHVlID09PSAnZm9vdGZhbGwnfHwgIXZhbHVlICxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnOiAgdmFsdWUgPT09ICdwdXJjaGFzZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtd2FybmluZyc6IHZhbHVlID09PSAnbm9uU2hvcHBlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiB2YWx1ZSA9PT0gJ2JvdW5jZWQnIHx8IHZhbHVlID09PSAnZW5nYWdlcicgfHwgdmFsdWUgPT09ICdtaXNzZWRPcHBvcnR1bml0eScgfHwgdmFsdWUgPT09ICdjb252ZXJzaW9uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPT09ICdwdXJjaGFzZXInID8gJ1B1cmNoYXNlcicgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSAnbm9uU2hvcHBlcicgPyAnTm9uIFNob3BwZXInIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5JyA/ICdNaXNzZWQgT3Bwb3J0dW5pdHknIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgfCB0aXRsZWNhc2UpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLXRpbWVcIj5FbnRyeSBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwicHktMiBpbWctZG9jLXRpbWVcIj5FeGl0IFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsRGF0YVNob3cgIT09J3RyYWNraW5nLWVuYWJsZWQnXCIgY2xhc3M9XCJweS0yIGltZy1kb2MtdGltZVwiPlRvdGFsIFRpbWUgU3BlbnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgdGV4dC1lbmRcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBtdC00XCIgKm5nSWY9XCIhY2xpZW50RGF0YT8uaXNSZXZvcHNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiICpuZ0lmPVwiY2xpZW50RGF0YT8uaXNSZXZvcHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJoZWFkZXJEYXRhLmNsaWVudCA9PT0nMTEnXCI+XHJcbiA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIhb2JqPy5yZXZvcHNUeXBlfHxvYmo/LnJldm9wc1R5cGU9PT0nJ1wiIG5nYlRvb2x0aXA9XCJZZXQgdG8gdGFnIHRoZSBjdXN0b21lclwiICBwbGFjZW1lbnQ9XCJ0b3BcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMDMzNV8yMjg1MilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04LjM3MzI4IDAuMDAyMDE2MDZDNy4yMDkzMiAtMC4wMjMzMTUgNi4wNTM4NSAwLjIwNTcxMSA0Ljk4NzU1IDAuNjczMTA2QzMuOTIxMjUgMS4xNDA1IDIuOTY5ODEgMS44MzUgMi4xOTk2NyAyLjcwODExQzEuNDI5NTIgMy41ODEyMyAwLjg1OTIyNSA0LjYxMTkyIDAuNTI4NTk2IDUuNzI4MjJDMC4xOTc5NjYgNi44NDQ1MyAwLjExNDk3MSA4LjAxOTU1IDAuMjg1NDA0IDkuMTcxMjRDMC40NTU4MzcgMTAuMzIyOSAwLjg3NTU5MSAxMS40MjM2IDEuNTE1MzYgMTIuMzk2M0MyLjE1NTEzIDEzLjM2OSAyLjk5OTUgMTQuMTkwMyAzLjk4OTUxIDE0LjgwMjlDNC45Nzk1MyAxNS40MTU2IDYuMDkxMzMgMTUuODA0OCA3LjI0NzMgMTUuOTQzM0M4LjQwMzI2IDE2LjA4MTggOS41NzU1NCAxNS45NjY0IDEwLjY4MjMgMTUuNjA1QzEwLjg3MTQgMTUuNTQzMiAxMS4wMjgyIDE1LjQwODggMTEuMTE4MiAxNS4yMzE0QzExLjIwODIgMTUuMDU0IDExLjIyNDEgMTQuODQ4MSAxMS4xNjIzIDE0LjY1OUMxMS4xMDA1IDE0LjQ2OTkgMTAuOTY2MSAxNC4zMTMxIDEwLjc4ODcgMTQuMjIzMUMxMC42MTEzIDE0LjEzMzEgMTAuNDA1NCAxNC4xMTcyIDEwLjIxNjMgMTQuMTc5QzkuMDEzNTkgMTQuNTcxNyA3LjcyMjQyIDE0LjYwNDkgNi41MDExNCAxNC4yNzQ1QzUuMjc5ODYgMTMuOTQ0MSA0LjE4MTU1IDEzLjI2NDQgMy4zNDA5MiAxMi4zMTg5QzIuNTAwMjggMTEuMzczNCAxLjk1Mzg2IDEwLjIwMzEgMS43Njg2NyA4Ljk1MTUxQzEuNTgzNDggNy42OTk5NSAxLjc2NzU3IDYuNDIxNTUgMi4yOTgzNyA1LjI3MzA5QzIuODI5MTYgNC4xMjQ2MyAzLjY4MzU4IDMuMTU2MDQgNC43NTY4NCAyLjQ4NjExQzUuODMwMTEgMS44MTYxOCA3LjA3NTU1IDEuNDc0MDMgOC4zNDA0NCAxLjUwMTYzQzkuNjA1MzMgMS41MjkyMiAxMC44MzQ3IDEuOTI1MzYgMTEuODc3NyAyLjY0MTQ3QzEyLjkyMDcgMy4zNTc1NyAxMy43MzIxIDQuMzYyNSAxNC4yMTIzIDUuNTMzMDJDMTQuMjg3NyA1LjcxNzA4IDE0LjQzMzIgNS44NjM2MiAxNC42MTY3IDUuOTQwNDJDMTQuNzA3NiA1Ljk3ODQ1IDE0LjgwNSA1Ljk5ODIgMTQuOTAzNSA1Ljk5ODU2QzE1LjAwMiA1Ljk5ODkyIDE1LjA5OTYgNS45Nzk4OCAxNS4xOTA4IDUuOTQyNTJDMTUuMjgxOSA1LjkwNTE2IDE1LjM2NDggNS44NTAyMSAxNS40MzQ3IDUuNzgwODJDMTUuNTA0NiA1LjcxMTQyIDE1LjU2MDIgNS42Mjg5NCAxNS41OTgyIDUuNTM4MDhDMTUuNjM2MiA1LjQ0NzIxIDE1LjY1NiA1LjM0OTc1IDE1LjY1NjMgNS4yNTEyNkMxNS42NTY3IDUuMTUyNzYgMTUuNjM3NiA1LjA1NTE1IDE1LjYwMDMgNC45NjQwMkMxNS4wMDkzIDMuNTIzMzEgMTQuMDEwNyAyLjI4NjM5IDEyLjcyNjkgMS40MDQ5OEMxMS40NDMyIDAuNTIzNTcxIDkuOTMwMTIgMC4wMzU5ODE1IDguMzczMjggMC4wMDIwMTYwNlpNOC45NDgyOCAzLjc1MDAyQzguOTQ4MjggMy41NTExIDguODY5MjYgMy4zNjAzNCA4LjcyODYxIDMuMjE5NjlDOC41ODc5NiAzLjA3OTAzIDguMzk3MTkgMy4wMDAwMiA4LjE5ODI4IDMuMDAwMDJDNy45OTkzNyAzLjAwMDAyIDcuODA4NiAzLjA3OTAzIDcuNjY3OTUgMy4yMTk2OUM3LjUyNzMgMy4zNjAzNCA3LjQ0ODI4IDMuNTUxMSA3LjQ0ODI4IDMuNzUwMDJWNy42OTAwMkw1LjQxNDI4IDkuNzIzMDJDNS4zNDA1OSA5Ljc5MTY4IDUuMjgxNDkgOS44NzQ0OCA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjI2Nzg4IDEwLjY0NiA1LjMyNDAyIDEwLjczMDggNS4zOTUyNCAxMC44MDIxQzUuNDY2NDYgMTAuODczMyA1LjU1MTI5IDEwLjkyOTQgNS42NDQ2OCAxMC45NjcxQzUuNzM4MDcgMTEuMDA0OSA1LjgzODEgMTEuMDIzNCA1LjkzODggMTEuMDIxNkM2LjAzOTUxIDExLjAxOTggNi4xMzg4MiAxMC45OTc4IDYuMjMwODIgMTAuOTU2OEM2LjMyMjgyIDEwLjkxNTggNi40MDU2MiAxMC44NTY3IDYuNDc0MjggMTAuNzgzTDguNzI4MjggOC41MzAwMkw4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTUuMTk4MyAxNUMxNS4xOTgzIDE1LjI2NTIgMTUuMDkyOSAxNS41MTk2IDE0LjkwNTQgMTUuNzA3MUMxNC43MTc5IDE1Ljg5NDcgMTQuNDYzNSAxNiAxNC4xOTgzIDE2QzEzLjkzMzEgMTYgMTMuNjc4NyAxNS44OTQ3IDEzLjQ5MTIgMTUuNzA3MUMxMy4zMDM2IDE1LjUxOTYgMTMuMTk4MyAxNS4yNjUyIDEzLjE5ODMgMTVDMTMuMTk4MyAxNC43MzQ4IDEzLjMwMzYgMTQuNDgwNCAxMy40OTEyIDE0LjI5MjlDMTMuNjc4NyAxNC4xMDU0IDEzLjkzMzEgMTQgMTQuMTk4MyAxNEMxNC40NjM1IDE0IDE0LjcxNzkgMTQuMTA1NCAxNC45MDU0IDE0LjI5MjlDMTUuMDkyOSAxNC40ODA0IDE1LjE5ODMgMTQuNzM0OCAxNS4xOTgzIDE1Wk0xNC45NDgzIDguNzUwMDJDMTQuOTQ4MyA4LjU1MTEgMTQuODY5MyA4LjM2MDM0IDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwMyAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDMgMTMuNjY4IDguMjE5NjlDMTMuNTI3MyA4LjM2MDM0IDEzLjQ0ODMgOC41NTExIDEzLjQ0ODMgOC43NTAwMlYxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zOTcyIDEzIDE0LjU4OCAxMi45MjEgMTQuNzI4NiAxMi43ODAzQzE0Ljg2OTMgMTIuNjM5NyAxNC45NDgzIDEyLjQ0ODkgMTQuOTQ4MyAxMi4yNVY4Ljc1MDAyWlwiIGZpbGw9XCIjRjc5MDA5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE1LjE4NTggNC4xMDM3OUMxNS4wOTk2IDMuOTQ5MDcgMTUuMDA4MyAzLjc5NzQ0IDE0LjkxMjEgMy42NDkxMUMxNC41NzQ3IDMuMTI4NDMgMTQuMTc3NiAyLjY0ODU0IDEzLjcyODkgMi4yMTkzMkMxMy40MTg3IDEuOTIyNTcgMTMuMDgzOSAxLjY1MDA0IDEyLjcyNjkgMS40MDQ5OEMxMi43MjY5IDEuNDA0OTMgMTIuNzI3IDEuNDA1MDQgMTIuNzI2OSAxLjQwNDk4QzEyLjUxNDQgMS4yNTkwNiAxMi4yOTU0IDEuMTIzNzkgMTIuMDcxMSAwLjk5OTcyOUMxMS44MjU1IDAuODYzODkzIDExLjU3MzQgMC43NDEzMjIgMTEuMzE1OSAwLjYzMjM3N0MxMC4zODgyIDAuMjM5ODczIDkuMzkwMDYgMC4wMjQxOTkgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzczMjQgMC4wMDIwMTUxOCA4LjM3MzMyIDAuMDAyMDE2OTQgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzE0OTYgMC4wMDA3NDc3OSA4LjI1NjU1IDAuMDAwMTE1Mzg3IDguMTk4MjggMC4wMDAxMjIxMjRDNy4xMjc2IDAuMDAwMjQ1OTIgNi4wNjc1NCAwLjIxNTMwNCA1LjA4MTA4IDAuNjMyODE2QzUuMDQ5ODMgMC42NDYwNDMgNS4wMTg2NSAwLjY1OTQ3MyA0Ljk4NzU1IDAuNjczMTA2QzQuNzYxMTUgMC43NzIzNDMgNC41Mzk5MyAwLjg4MTgyIDQuMzI0NTIgMS4wMDEwN0M0LjIwMjAxIDEuMDY4ODkgNC4wODEzOSAxLjEzOTg3IDMuOTYyNzUgMS4yMTM5M0MzLjMwNzU2IDEuNjIyOTYgMi43MTMyOSAyLjEyNTgxIDIuMTk5NjcgMi43MDgxMUMxLjY4NjAyIDMuMjkwNDMgMS4yNjEyNyAzLjk0Mjg1IDAuOTM3MjMyIDQuNjQ0QzAuNzc1NDE1IDQuOTk0MTQgMC42Mzg3MTMgNS4zNTY0MyAwLjUyODU5NiA1LjcyODIyQzAuMTk3OTkgNi44NDQ0NSAwLjExNDk4MyA4LjAxOTM4IDAuMjg1MzY2IDkuMTcwOTlDMC4yODUzNTQgOS4xNzA5MSAwLjI4NTM3OSA5LjE3MTA4IDAuMjg1MzY2IDkuMTcwOTlDMC40NTU4IDEwLjMyMjcgMC44NzU1OTEgMTEuNDIzNiAxLjUxNTM2IDEyLjM5NjNDMS43MjgzNSAxMi43MjAxIDEuOTY0MDIgMTMuMDI3MSAyLjIyMDE5IDEzLjMxNTNDMi43MzM0OSAxMy44OTI3IDMuMzI5MDkgMTQuMzk0MyAzLjk4OTUxIDE0LjgwMjlDNC42NDk2NyAxNS4yMTE1IDUuMzYzOTggMTUuNTIwNiA2LjEwOTQzIDE1LjcyMjRDNi40ODE5IDE1LjgyMzIgNi44NjIxNSAxNS44OTcxIDcuMjQ3MyAxNS45NDMzQzcuMjkxMjMgMTUuOTQ4NiA3LjMzNTE5IDE1Ljk1MzUgNy4zNzkxNyAxNS45NThDOC4wMTQ5MiAxNi4wMjM1IDguNjU0NjQgMTYuMDEyNCA5LjI4NDc4IDE1LjkyNjFDOS41MjE0NiAxNS44OTM3IDkuNzU2NzggMTUuODUwNyA5Ljk5MDA0IDE1Ljc5NzFDMTAuMjIzIDE1Ljc0MzYgMTAuNDUzOSAxNS42Nzk2IDEwLjY4MTkgMTUuNjA1MUMxMC42ODE4IDE1LjYwNTIgMTAuNjgyMSAxNS42MDUxIDEwLjY4MTkgMTUuNjA1MUMxMC43MTk2IDE1LjU5MjggMTAuNzU2MyAxNS41Nzc1IDEwLjc5MTEgMTUuNTU5N0MxMC45MzEyIDE1LjQ4OCAxMS4wNDYxIDE1LjM3MzUgMTEuMTE4MiAxNS4yMzE0QzExLjE1NTQgMTUuMTU4MSAxMS4xOCAxNS4wNzk5IDExLjE5MTYgMTVDMTEuMjA4MSAxNC44ODY3IDExLjE5ODUgMTQuNzcgMTEuMTYyMyAxNC42NTlDMTEuMTAwNSAxNC40Njk5IDEwLjk2NjEgMTQuMzEzMSAxMC43ODg3IDE0LjIyMzFDMTAuNjExNCAxNC4xMzMxIDEwLjQwNTYgMTQuMTE3MiAxMC4yMTY2IDE0LjE3ODlDMTAuMjE2NSAxNC4xNzg5IDEwLjIxNjggMTQuMTc4OSAxMC4yMTY2IDE0LjE3ODlDMTAuMTEyMSAxNC4yMTMgMTAuMDA2NSAxNC4yNDQ2IDkuOTAwNzMgMTQuMjczM0M5Ljc0ODQ4IDE0LjMxNDYgOS41OTUwNiAxNC4zNTAzIDkuNDQwNzggMTQuMzgwM0M5LjM3MTQ2IDE0LjM5MzggOS4zMDE5NiAxNC40MDYyIDkuMjMyMzMgMTQuNDE3NEM4Ljg1NDggMTQuNDc4MiA4LjQ3MzAyIDE0LjUwNTUgOC4wOTE0NCAxNC40OTkyQzcuOTk1NjggMTQuNDk3NiA3Ljg5OTkyIDE0LjQ5MzkgNy44MDQyNiAxNC40ODgxQzcuNjc3OSAxNC40ODA0IDcuNTUxNjggMTQuNDY5MSA3LjQyNTc4IDE0LjQ1NEM3LjM2MTMzIDE0LjQ0NjMgNy4yOTY5NiAxNC40Mzc2IDcuMjMyNjkgMTQuNDI3OUM2Ljk4NjkzIDE0LjM5MSA2Ljc0MjY3IDE0LjMzOTkgNi41MDExNCAxNC4yNzQ1QzYuMzI5MzMgMTQuMjI4IDYuMTU5OTUgMTQuMTc0NiA1Ljk5MzM3IDE0LjExNDZDNS41NjgwOSAxMy45NjEyIDUuMTYxMTIgMTMuNzY0MiA0Ljc3ODcgMTMuNTI3NkM0LjczMzczIDEzLjQ5OTggNC42ODkxMSAxMy40NzE0IDQuNjQ0ODMgMTMuNDQyNUM0LjI3MDAzIDEzLjE5NzggMy45MjAyOCAxMi45MTQyIDMuNjAxNzQgMTIuNTk1NkMzLjUxMjI5IDEyLjUwNjEgMy40MjUzMSAxMi40MTM4IDMuMzQwOTIgMTIuMzE4OUMzLjEzMTM5IDEyLjA4MzIgMi45NDAxNCAxMS44MzM2IDIuNzY4MjEgMTEuNTcyMkMyLjc2Mzg1IDExLjU2NTYgMi43NTk1IDExLjU1OSAyLjc1NTE2IDExLjU1MjNDMi40Nzk2NCAxMS4xMzAxIDIuMjU0MzcgMTAuNjc3NSAyLjA4MzY4IDEwLjIwMzlDMS45MzgwNyA5Ljc5OTkzIDEuODMyMTggOS4zODA2MSAxLjc2ODcxIDguOTUxNzRDMS43Njg2OSA4Ljk1MTY2IDEuNzY4NzIgOC45NTE4MiAxLjc2ODcxIDguOTUxNzRDMS43NDEyNSA4Ljc2NjIxIDEuNzIxODggOC41Nzk4NiAxLjcxMDU5IDguMzkzNjdDMS43MDQ3MSA4LjI5NjgzIDEuNzAxMDEgOC4xOTk5OCAxLjY5OTQ4IDguMTAzMTdDMS42ODkwMiA3LjQ0MzU1IDEuNzc5MDUgNi43ODYyNiAxLjk2NjMxIDYuMTU0MDVDMi4wNTUyIDUuODUzOTQgMi4xNjYwMSA1LjU1OTQ3IDIuMjk4MzcgNS4yNzMwOUMyLjU2Mzc4IDQuNjk4ODMgMi45MTAxMSA0LjE2OTU0IDMuMzI0MjUgMy43MDAwN0MzLjM2NjE4IDMuNjUyNTQgMy40MDg4IDMuNjA1NjMgMy40NTIxIDMuNTU5MzRDMy44MzY0OSAzLjE0ODQ4IDQuMjc0NTggMi43ODcxNCA0Ljc1Njg0IDIuNDg2MTFDNS4wMjQ1MiAyLjMxOTAzIDUuMzAyOTEgMi4xNzIzMyA1LjU4OTYzIDIuMDQ2NjhDNS44MDQ3MSAxLjk1MjQyIDYuMDI0NDkgMS44NyA2LjI0Nzk2IDEuNzk5N0M2Ljg3NjI4IDEuNjAyMDIgNy41MzM4IDEuNTAwMTIgOC4xOTgyOCAxLjUwMDA4QzguMjQ1NjMgMS41MDAwOCA4LjI5MzAyIDEuNTAwNTkgOC4zNDA0NCAxLjUwMTYzQzguOTU3NDUgMS41MTUxMSA5LjU2NjIgMS42MTYyOSAxMC4xNDg4IDEuNzk5NTJDMTAuNzYwNSAxLjk5MTg5IDExLjM0MzUgMi4yNzQ3MiAxMS44Nzc3IDIuNjQxNDdDMTEuODc3NiAyLjY0MTQyIDExLjg3NzggMi42NDE1MSAxMS44Nzc3IDIuNjQxNDdDMTIuMDgzOSAyLjc4MzA0IDEyLjI4MTIgMi45MzYwMyAxMi40Njg1IDMuMDk5MjJDMTIuNjM1MSAzLjI0NDM2IDEyLjc5MzkgMy4zOTc2NyAxMi45NDQ0IDMuNTU4NDhDMTMuMDk3NCAzLjcyMTk3IDEzLjI0MTkgMy44OTMyMiAxMy4zNzcxIDQuMDcxNTJDMTMuNTU1NSA0LjMwNjYgMTMuNzE3OSA0LjU1Mzk1IDEzLjg2MzEgNC44MTE5NUMxMy45NDI3IDQuOTUzMzYgMTQuMDE3MSA1LjA5Nzk4IDE0LjA4NjEgNS4yNDU1MkMxNC4xMjUzIDUuMzI5MTQgMTQuMTYyNyA1LjQxMzcxIDE0LjE5ODMgNS40OTkxNkMxNC4yMDMgNS41MTA0MyAxNC4yMDc2IDUuNTIxNzIgMTQuMjEyMyA1LjUzMzAyQzE0LjIxMjIgNS41MzI5MiAxNC4yMTIzIDUuNTMzMTIgMTQuMjEyMyA1LjUzMzAyQzE0LjI4NzggNS43MTY5MyAxNC40MzMzIDUuODYzNjcgMTQuNjE2NyA1Ljk0MDQyQzE0LjcwNzYgNS45Nzg0NSAxNC44MDUgNS45OTgyIDE0LjkwMzUgNS45OTg1NkMxNS4wMDIgNS45OTg5MiAxNS4wOTk2IDUuOTc5ODggMTUuMTkwOCA1Ljk0MjUyQzE1LjI4MTkgNS45MDUxNiAxNS4zNjQ4IDUuODUwMjEgMTUuNDM0NyA1Ljc4MDgyQzE1LjUwNDYgNS43MTE0MiAxNS41NjAyIDUuNjI4OTQgMTUuNTk4MiA1LjUzODA4QzE1LjYzNjIgNS40NDcyMiAxNS42NTYgNS4zNDk3NSAxNS42NTYzIDUuMjUxMjZDMTUuNjU2NyA1LjE1Mjc2IDE1LjYzNzYgNS4wNTUxNiAxNS42MDAzIDQuOTY0MDJDMTUuNjAwMiA0Ljk2MzkgMTUuNjAwMyA0Ljk2NDE0IDE1LjYwMDMgNC45NjQwMkMxNS41MDkxIDQuNzQxODcgMTUuNDA4MiA0LjUyNDIgMTUuMjk4MSA0LjMxMjI5QzE1LjI2MTcgNC4yNDIyIDE1LjIyNDIgNC4xNzI2OSAxNS4xODU4IDQuMTAzNzlaTTguOTQ4MjggMy43NTAwMkM4Ljk0ODI4IDMuNTUxMSA4Ljg2OTI2IDMuMzYwMzQgOC43Mjg2MSAzLjIxOTY5QzguNjE0MDUgMy4xMDUxMiA4LjQ2NjI0IDMuMDMxNDUgOC4zMDc4NiAzLjAwODA2QzguMjcxODggMy4wMDI3NiA4LjIzNTA4IDMuMDAwMDIgOC4xOTgyOCAzLjAwMDAyQzcuOTk5MzcgMy4wMDAwMiA3LjgwODYgMy4wNzkwMyA3LjY2Nzk1IDMuMjE5NjlDNy41MjczIDMuMzYwMzQgNy40NDgyOCAzLjU1MTEgNy40NDgyOCAzLjc1MDAyVjcuNjkwMDJMNS40MTQ1MiA5LjcyMjc4QzUuNDAxNTkgOS43MzQ4MyA1LjM4ODg3IDkuNzQ3NTUgNS4zNzY4NiA5Ljc2MDQ0QzUuMzIwNDEgOS44MjEwMiA1LjI3NDMgOS44OTA2MiA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjIzODYzIDEwLjU3MzYgNS4yNDgwNCAxMC41OTQyIDUuMjU4MzQgMTAuNjE0MkM1LjI5Mzg3IDEwLjY4MzQgNS4zNDAwMiAxMC43NDY4IDUuMzk1MjQgMTAuODAyMUM1LjQ2NjQ2IDEwLjg3MzMgNS41NTEyOSAxMC45Mjk0IDUuNjQ0NjggMTAuOTY3MUM1LjczODA3IDExLjAwNDkgNS44MzgxIDExLjAyMzQgNS45Mzg4IDExLjAyMTZDNi4wMzk1MSAxMS4wMTk4IDYuMTM4ODIgMTAuOTk3OCA2LjIzMDgyIDEwLjk1NjhDNi4zMDY2OCAxMC45MjMgNi4zNzYyOCAxMC44NzY5IDYuNDM2ODYgMTAuODIwNEM2LjQ0OTY2IDEwLjgwODUgNi40NjIwNiAxMC43OTYxIDYuNDc0MDMgMTAuNzgzM0M2LjQ3Mzk1IDEwLjc4MzQgNi40NzQxMSAxMC43ODMyIDYuNDc0MDMgMTAuNzgzM0w4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTMuNDQ4MyAxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zODk1IDEzIDE0LjU3MzIgMTIuOTI3IDE0LjcxMjEgMTIuNzk2M0MxNC43MTc3IDEyLjc5MTEgMTQuNzIzMiAxMi43ODU4IDE0LjcyODYgMTIuNzgwM0MxNC44NjkzIDEyLjYzOTcgMTQuOTQ4MyAxMi40NDg5IDE0Ljk0ODMgMTIuMjVWMTAuMDU2NkMxNC43MDE1IDEwLjAxOTEgMTQuNDUwOSAxMCAxNC4xOTgzIDEwQzEzLjk0NTcgMTAgMTMuNjk1IDEwLjAxOTEgMTMuNDQ4MyAxMC4wNTY2VjEyLjI1Wk0xMy40NDgzIDkuNzY5MjdDMTMuNjkzMiA5Ljg0ODI4IDEzLjk0NDEgOS45MDcxOSAxNC4xOTgzIDkuOTQ1NTFDMTQuNDI2NCA5Ljk3OTg5IDE0LjY1NzIgOS45OTc2OSAxNC44ODg5IDkuOTk4NTRDMTQuOTA4NyA5Ljk5ODYxIDE0LjkyODUgOS45OTg1NiAxNC45NDgzIDkuOTk4MzhWOC43NTAwMkMxNC45NDgzIDguNjUzNTYgMTQuOTI5NyA4LjU1OTAxIDE0Ljg5NDUgOC40NzExN0MxNC44NTcxIDguMzc3ODcgMTQuODAxMSA4LjI5MjEzIDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwNCAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDQgMTMuNjY4IDguMjE5NjlDMTMuNjY1IDguMjIyNjggMTMuNjYyIDguMjI1NjkgMTMuNjU5MSA4LjIyODcyQzEzLjUyODIgOC4zNjQxIDEzLjQ1MyA4LjU0Mzc2IDEzLjQ0ODUgOC43MzE4OEMxMy40NDg0IDguNzM3OTIgMTMuNDQ4MyA4Ljc0Mzk3IDEzLjQ0ODMgOC43NTAwMlY5Ljc2OTI3Wk0xNS4xOTYzIDE1LjA2MjZDMTUuMTk3NiAxNS4wNDE4IDE1LjE5ODMgMTUuMDIwOSAxNS4xOTgzIDE1QzE1LjE5ODMgMTQuOTk4NCAxNS4xOTgzIDE0Ljk5NjggMTUuMTk4MyAxNC45OTUxQzE1LjE5NyAxNC43MzE3IDE1LjA5MTggMTQuNDc5MyAxNC45MDU0IDE0LjI5MjlDMTQuNzE3OCAxNC4xMDU0IDE0LjQ2MzUgMTQgMTQuMTk4MyAxNEMxMy45MzMxIDE0IDEzLjY3ODcgMTQuMTA1NCAxMy40OTEyIDE0LjI5MjlDMTMuMzAzNiAxNC40ODA0IDEzLjE5ODMgMTQuNzM0OCAxMy4xOTgzIDE1QzEzLjE5ODMgMTUuMjY1MiAxMy4zMDM2IDE1LjUxOTYgMTMuNDkxMiAxNS43MDcxQzEzLjY3ODcgMTUuODk0NyAxMy45MzMxIDE2IDE0LjE5ODMgMTZDMTQuNDYzNSAxNiAxNC43MTc4IDE1Ljg5NDcgMTQuOTA1NCAxNS43MDcxQzE1LjA3ODEgMTUuNTM0NCAxNS4xODExIDE1LjMwNSAxNS4xOTYzIDE1LjA2MjZaXCIgZmlsbD1cIiNGNzkwMDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTAzMzVfMjI4NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTk5MjE5KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJvYmo/LnJldm9wc1R5cGUmJm9iaj8ucmV2b3BzVHlwZSE9PScnXCIgIG5nYlRvb2x0aXA9XCJDdXN0b21lciBUYWdnaW5nIGlzIERvbmVcIiAgcGxhY2VtZW50PVwidG9wXCI+IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTAzMzVfMjI4NTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1LjA2MzggNy4zODY2MlY3Ljk5OTk1QzE1LjA2MyA5LjQzNzU2IDE0LjU5NzUgMTAuODM2NCAxMy43MzY3IDExLjk4NzhDMTIuODc1OSAxMy4xMzkzIDExLjY2NiAxMy45ODE2IDEwLjI4NzQgMTQuMzg5MkM4LjkwODc2IDE0Ljc5NjggNy40MzUzMSAxNC43NDc5IDYuMDg2NzggMTQuMjQ5N0M0LjczODI2IDEzLjc1MTUgMy41ODY5MSAxMi44MzA3IDIuODA0NDQgMTEuNjI0N0MyLjAyMTk4IDEwLjQxODYgMS42NTAzMyA4Ljk5MTk5IDEuNzQ0OTIgNy41NTc0OUMxLjgzOTUxIDYuMTIyOTkgMi4zOTUyNyA0Ljc1NzUgMy4zMjkzMiAzLjY2NDY3QzQuMjYzMzcgMi41NzE4MyA1LjUyNTY2IDEuODEwMjEgNi45Mjc5MyAxLjQ5MzM4QzguMzMwMiAxLjE3NjU2IDkuNzk3MzEgMS4zMjE1MSAxMS4xMTA1IDEuOTA2NjJNMTUuMDYzOCAyLjY2NjYyTDguMzk3MTQgOS4zMzk5NUw2LjM5NzE0IDcuMzM5OTVcIiBzdHJva2U9XCIjMTJCNzZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzEwMzM1XzIyODU2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjM5ODQzOClcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaGVhZGVyRGF0YS5jbGllbnQgIT09JzExJ1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwiIW9iaj8ucmV2b3BzVHlwZXx8b2JqPy5yZXZvcHNUeXBlPT09JydcIiBuZ2JUb29sdGlwPVwiWWV0IHRvIHRhZyB0aGUgY3VzdG9tZXJcIiAoY2xpY2spPVwicmV2b3BUYWdnaW5nKG9iailcIiBwbGFjZW1lbnQ9XCJ0b3BcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMDMzNV8yMjg1MilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04LjM3MzI4IDAuMDAyMDE2MDZDNy4yMDkzMiAtMC4wMjMzMTUgNi4wNTM4NSAwLjIwNTcxMSA0Ljk4NzU1IDAuNjczMTA2QzMuOTIxMjUgMS4xNDA1IDIuOTY5ODEgMS44MzUgMi4xOTk2NyAyLjcwODExQzEuNDI5NTIgMy41ODEyMyAwLjg1OTIyNSA0LjYxMTkyIDAuNTI4NTk2IDUuNzI4MjJDMC4xOTc5NjYgNi44NDQ1MyAwLjExNDk3MSA4LjAxOTU1IDAuMjg1NDA0IDkuMTcxMjRDMC40NTU4MzcgMTAuMzIyOSAwLjg3NTU5MSAxMS40MjM2IDEuNTE1MzYgMTIuMzk2M0MyLjE1NTEzIDEzLjM2OSAyLjk5OTUgMTQuMTkwMyAzLjk4OTUxIDE0LjgwMjlDNC45Nzk1MyAxNS40MTU2IDYuMDkxMzMgMTUuODA0OCA3LjI0NzMgMTUuOTQzM0M4LjQwMzI2IDE2LjA4MTggOS41NzU1NCAxNS45NjY0IDEwLjY4MjMgMTUuNjA1QzEwLjg3MTQgMTUuNTQzMiAxMS4wMjgyIDE1LjQwODggMTEuMTE4MiAxNS4yMzE0QzExLjIwODIgMTUuMDU0IDExLjIyNDEgMTQuODQ4MSAxMS4xNjIzIDE0LjY1OUMxMS4xMDA1IDE0LjQ2OTkgMTAuOTY2MSAxNC4zMTMxIDEwLjc4ODcgMTQuMjIzMUMxMC42MTEzIDE0LjEzMzEgMTAuNDA1NCAxNC4xMTcyIDEwLjIxNjMgMTQuMTc5QzkuMDEzNTkgMTQuNTcxNyA3LjcyMjQyIDE0LjYwNDkgNi41MDExNCAxNC4yNzQ1QzUuMjc5ODYgMTMuOTQ0MSA0LjE4MTU1IDEzLjI2NDQgMy4zNDA5MiAxMi4zMTg5QzIuNTAwMjggMTEuMzczNCAxLjk1Mzg2IDEwLjIwMzEgMS43Njg2NyA4Ljk1MTUxQzEuNTgzNDggNy42OTk5NSAxLjc2NzU3IDYuNDIxNTUgMi4yOTgzNyA1LjI3MzA5QzIuODI5MTYgNC4xMjQ2MyAzLjY4MzU4IDMuMTU2MDQgNC43NTY4NCAyLjQ4NjExQzUuODMwMTEgMS44MTYxOCA3LjA3NTU1IDEuNDc0MDMgOC4zNDA0NCAxLjUwMTYzQzkuNjA1MzMgMS41MjkyMiAxMC44MzQ3IDEuOTI1MzYgMTEuODc3NyAyLjY0MTQ3QzEyLjkyMDcgMy4zNTc1NyAxMy43MzIxIDQuMzYyNSAxNC4yMTIzIDUuNTMzMDJDMTQuMjg3NyA1LjcxNzA4IDE0LjQzMzIgNS44NjM2MiAxNC42MTY3IDUuOTQwNDJDMTQuNzA3NiA1Ljk3ODQ1IDE0LjgwNSA1Ljk5ODIgMTQuOTAzNSA1Ljk5ODU2QzE1LjAwMiA1Ljk5ODkyIDE1LjA5OTYgNS45Nzk4OCAxNS4xOTA4IDUuOTQyNTJDMTUuMjgxOSA1LjkwNTE2IDE1LjM2NDggNS44NTAyMSAxNS40MzQ3IDUuNzgwODJDMTUuNTA0NiA1LjcxMTQyIDE1LjU2MDIgNS42Mjg5NCAxNS41OTgyIDUuNTM4MDhDMTUuNjM2MiA1LjQ0NzIxIDE1LjY1NiA1LjM0OTc1IDE1LjY1NjMgNS4yNTEyNkMxNS42NTY3IDUuMTUyNzYgMTUuNjM3NiA1LjA1NTE1IDE1LjYwMDMgNC45NjQwMkMxNS4wMDkzIDMuNTIzMzEgMTQuMDEwNyAyLjI4NjM5IDEyLjcyNjkgMS40MDQ5OEMxMS40NDMyIDAuNTIzNTcxIDkuOTMwMTIgMC4wMzU5ODE1IDguMzczMjggMC4wMDIwMTYwNlpNOC45NDgyOCAzLjc1MDAyQzguOTQ4MjggMy41NTExIDguODY5MjYgMy4zNjAzNCA4LjcyODYxIDMuMjE5NjlDOC41ODc5NiAzLjA3OTAzIDguMzk3MTkgMy4wMDAwMiA4LjE5ODI4IDMuMDAwMDJDNy45OTkzNyAzLjAwMDAyIDcuODA4NiAzLjA3OTAzIDcuNjY3OTUgMy4yMTk2OUM3LjUyNzMgMy4zNjAzNCA3LjQ0ODI4IDMuNTUxMSA3LjQ0ODI4IDMuNzUwMDJWNy42OTAwMkw1LjQxNDI4IDkuNzIzMDJDNS4zNDA1OSA5Ljc5MTY4IDUuMjgxNDkgOS44NzQ0OCA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjI2Nzg4IDEwLjY0NiA1LjMyNDAyIDEwLjczMDggNS4zOTUyNCAxMC44MDIxQzUuNDY2NDYgMTAuODczMyA1LjU1MTI5IDEwLjkyOTQgNS42NDQ2OCAxMC45NjcxQzUuNzM4MDcgMTEuMDA0OSA1LjgzODEgMTEuMDIzNCA1LjkzODggMTEuMDIxNkM2LjAzOTUxIDExLjAxOTggNi4xMzg4MiAxMC45OTc4IDYuMjMwODIgMTAuOTU2OEM2LjMyMjgyIDEwLjkxNTggNi40MDU2MiAxMC44NTY3IDYuNDc0MjggMTAuNzgzTDguNzI4MjggOC41MzAwMkw4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTUuMTk4MyAxNUMxNS4xOTgzIDE1LjI2NTIgMTUuMDkyOSAxNS41MTk2IDE0LjkwNTQgMTUuNzA3MUMxNC43MTc5IDE1Ljg5NDcgMTQuNDYzNSAxNiAxNC4xOTgzIDE2QzEzLjkzMzEgMTYgMTMuNjc4NyAxNS44OTQ3IDEzLjQ5MTIgMTUuNzA3MUMxMy4zMDM2IDE1LjUxOTYgMTMuMTk4MyAxNS4yNjUyIDEzLjE5ODMgMTVDMTMuMTk4MyAxNC43MzQ4IDEzLjMwMzYgMTQuNDgwNCAxMy40OTEyIDE0LjI5MjlDMTMuNjc4NyAxNC4xMDU0IDEzLjkzMzEgMTQgMTQuMTk4MyAxNEMxNC40NjM1IDE0IDE0LjcxNzkgMTQuMTA1NCAxNC45MDU0IDE0LjI5MjlDMTUuMDkyOSAxNC40ODA0IDE1LjE5ODMgMTQuNzM0OCAxNS4xOTgzIDE1Wk0xNC45NDgzIDguNzUwMDJDMTQuOTQ4MyA4LjU1MTEgMTQuODY5MyA4LjM2MDM0IDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwMyAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDMgMTMuNjY4IDguMjE5NjlDMTMuNTI3MyA4LjM2MDM0IDEzLjQ0ODMgOC41NTExIDEzLjQ0ODMgOC43NTAwMlYxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zOTcyIDEzIDE0LjU4OCAxMi45MjEgMTQuNzI4NiAxMi43ODAzQzE0Ljg2OTMgMTIuNjM5NyAxNC45NDgzIDEyLjQ0ODkgMTQuOTQ4MyAxMi4yNVY4Ljc1MDAyWlwiIGZpbGw9XCIjRjc5MDA5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE1LjE4NTggNC4xMDM3OUMxNS4wOTk2IDMuOTQ5MDcgMTUuMDA4MyAzLjc5NzQ0IDE0LjkxMjEgMy42NDkxMUMxNC41NzQ3IDMuMTI4NDMgMTQuMTc3NiAyLjY0ODU0IDEzLjcyODkgMi4yMTkzMkMxMy40MTg3IDEuOTIyNTcgMTMuMDgzOSAxLjY1MDA0IDEyLjcyNjkgMS40MDQ5OEMxMi43MjY5IDEuNDA0OTMgMTIuNzI3IDEuNDA1MDQgMTIuNzI2OSAxLjQwNDk4QzEyLjUxNDQgMS4yNTkwNiAxMi4yOTU0IDEuMTIzNzkgMTIuMDcxMSAwLjk5OTcyOUMxMS44MjU1IDAuODYzODkzIDExLjU3MzQgMC43NDEzMjIgMTEuMzE1OSAwLjYzMjM3N0MxMC4zODgyIDAuMjM5ODczIDkuMzkwMDYgMC4wMjQxOTkgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzczMjQgMC4wMDIwMTUxOCA4LjM3MzMyIDAuMDAyMDE2OTQgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzE0OTYgMC4wMDA3NDc3OSA4LjI1NjU1IDAuMDAwMTE1Mzg3IDguMTk4MjggMC4wMDAxMjIxMjRDNy4xMjc2IDAuMDAwMjQ1OTIgNi4wNjc1NCAwLjIxNTMwNCA1LjA4MTA4IDAuNjMyODE2QzUuMDQ5ODMgMC42NDYwNDMgNS4wMTg2NSAwLjY1OTQ3MyA0Ljk4NzU1IDAuNjczMTA2QzQuNzYxMTUgMC43NzIzNDMgNC41Mzk5MyAwLjg4MTgyIDQuMzI0NTIgMS4wMDEwN0M0LjIwMjAxIDEuMDY4ODkgNC4wODEzOSAxLjEzOTg3IDMuOTYyNzUgMS4yMTM5M0MzLjMwNzU2IDEuNjIyOTYgMi43MTMyOSAyLjEyNTgxIDIuMTk5NjcgMi43MDgxMUMxLjY4NjAyIDMuMjkwNDMgMS4yNjEyNyAzLjk0Mjg1IDAuOTM3MjMyIDQuNjQ0QzAuNzc1NDE1IDQuOTk0MTQgMC42Mzg3MTMgNS4zNTY0MyAwLjUyODU5NiA1LjcyODIyQzAuMTk3OTkgNi44NDQ0NSAwLjExNDk4MyA4LjAxOTM4IDAuMjg1MzY2IDkuMTcwOTlDMC4yODUzNTQgOS4xNzA5MSAwLjI4NTM3OSA5LjE3MTA4IDAuMjg1MzY2IDkuMTcwOTlDMC40NTU4IDEwLjMyMjcgMC44NzU1OTEgMTEuNDIzNiAxLjUxNTM2IDEyLjM5NjNDMS43MjgzNSAxMi43MjAxIDEuOTY0MDIgMTMuMDI3MSAyLjIyMDE5IDEzLjMxNTNDMi43MzM0OSAxMy44OTI3IDMuMzI5MDkgMTQuMzk0MyAzLjk4OTUxIDE0LjgwMjlDNC42NDk2NyAxNS4yMTE1IDUuMzYzOTggMTUuNTIwNiA2LjEwOTQzIDE1LjcyMjRDNi40ODE5IDE1LjgyMzIgNi44NjIxNSAxNS44OTcxIDcuMjQ3MyAxNS45NDMzQzcuMjkxMjMgMTUuOTQ4NiA3LjMzNTE5IDE1Ljk1MzUgNy4zNzkxNyAxNS45NThDOC4wMTQ5MiAxNi4wMjM1IDguNjU0NjQgMTYuMDEyNCA5LjI4NDc4IDE1LjkyNjFDOS41MjE0NiAxNS44OTM3IDkuNzU2NzggMTUuODUwNyA5Ljk5MDA0IDE1Ljc5NzFDMTAuMjIzIDE1Ljc0MzYgMTAuNDUzOSAxNS42Nzk2IDEwLjY4MTkgMTUuNjA1MUMxMC42ODE4IDE1LjYwNTIgMTAuNjgyMSAxNS42MDUxIDEwLjY4MTkgMTUuNjA1MUMxMC43MTk2IDE1LjU5MjggMTAuNzU2MyAxNS41Nzc1IDEwLjc5MTEgMTUuNTU5N0MxMC45MzEyIDE1LjQ4OCAxMS4wNDYxIDE1LjM3MzUgMTEuMTE4MiAxNS4yMzE0QzExLjE1NTQgMTUuMTU4MSAxMS4xOCAxNS4wNzk5IDExLjE5MTYgMTVDMTEuMjA4MSAxNC44ODY3IDExLjE5ODUgMTQuNzcgMTEuMTYyMyAxNC42NTlDMTEuMTAwNSAxNC40Njk5IDEwLjk2NjEgMTQuMzEzMSAxMC43ODg3IDE0LjIyMzFDMTAuNjExNCAxNC4xMzMxIDEwLjQwNTYgMTQuMTE3MiAxMC4yMTY2IDE0LjE3ODlDMTAuMjE2NSAxNC4xNzg5IDEwLjIxNjggMTQuMTc4OSAxMC4yMTY2IDE0LjE3ODlDMTAuMTEyMSAxNC4yMTMgMTAuMDA2NSAxNC4yNDQ2IDkuOTAwNzMgMTQuMjczM0M5Ljc0ODQ4IDE0LjMxNDYgOS41OTUwNiAxNC4zNTAzIDkuNDQwNzggMTQuMzgwM0M5LjM3MTQ2IDE0LjM5MzggOS4zMDE5NiAxNC40MDYyIDkuMjMyMzMgMTQuNDE3NEM4Ljg1NDggMTQuNDc4MiA4LjQ3MzAyIDE0LjUwNTUgOC4wOTE0NCAxNC40OTkyQzcuOTk1NjggMTQuNDk3NiA3Ljg5OTkyIDE0LjQ5MzkgNy44MDQyNiAxNC40ODgxQzcuNjc3OSAxNC40ODA0IDcuNTUxNjggMTQuNDY5MSA3LjQyNTc4IDE0LjQ1NEM3LjM2MTMzIDE0LjQ0NjMgNy4yOTY5NiAxNC40Mzc2IDcuMjMyNjkgMTQuNDI3OUM2Ljk4NjkzIDE0LjM5MSA2Ljc0MjY3IDE0LjMzOTkgNi41MDExNCAxNC4yNzQ1QzYuMzI5MzMgMTQuMjI4IDYuMTU5OTUgMTQuMTc0NiA1Ljk5MzM3IDE0LjExNDZDNS41NjgwOSAxMy45NjEyIDUuMTYxMTIgMTMuNzY0MiA0Ljc3ODcgMTMuNTI3NkM0LjczMzczIDEzLjQ5OTggNC42ODkxMSAxMy40NzE0IDQuNjQ0ODMgMTMuNDQyNUM0LjI3MDAzIDEzLjE5NzggMy45MjAyOCAxMi45MTQyIDMuNjAxNzQgMTIuNTk1NkMzLjUxMjI5IDEyLjUwNjEgMy40MjUzMSAxMi40MTM4IDMuMzQwOTIgMTIuMzE4OUMzLjEzMTM5IDEyLjA4MzIgMi45NDAxNCAxMS44MzM2IDIuNzY4MjEgMTEuNTcyMkMyLjc2Mzg1IDExLjU2NTYgMi43NTk1IDExLjU1OSAyLjc1NTE2IDExLjU1MjNDMi40Nzk2NCAxMS4xMzAxIDIuMjU0MzcgMTAuNjc3NSAyLjA4MzY4IDEwLjIwMzlDMS45MzgwNyA5Ljc5OTkzIDEuODMyMTggOS4zODA2MSAxLjc2ODcxIDguOTUxNzRDMS43Njg2OSA4Ljk1MTY2IDEuNzY4NzIgOC45NTE4MiAxLjc2ODcxIDguOTUxNzRDMS43NDEyNSA4Ljc2NjIxIDEuNzIxODggOC41Nzk4NiAxLjcxMDU5IDguMzkzNjdDMS43MDQ3MSA4LjI5NjgzIDEuNzAxMDEgOC4xOTk5OCAxLjY5OTQ4IDguMTAzMTdDMS42ODkwMiA3LjQ0MzU1IDEuNzc5MDUgNi43ODYyNiAxLjk2NjMxIDYuMTU0MDVDMi4wNTUyIDUuODUzOTQgMi4xNjYwMSA1LjU1OTQ3IDIuMjk4MzcgNS4yNzMwOUMyLjU2Mzc4IDQuNjk4ODMgMi45MTAxMSA0LjE2OTU0IDMuMzI0MjUgMy43MDAwN0MzLjM2NjE4IDMuNjUyNTQgMy40MDg4IDMuNjA1NjMgMy40NTIxIDMuNTU5MzRDMy44MzY0OSAzLjE0ODQ4IDQuMjc0NTggMi43ODcxNCA0Ljc1Njg0IDIuNDg2MTFDNS4wMjQ1MiAyLjMxOTAzIDUuMzAyOTEgMi4xNzIzMyA1LjU4OTYzIDIuMDQ2NjhDNS44MDQ3MSAxLjk1MjQyIDYuMDI0NDkgMS44NyA2LjI0Nzk2IDEuNzk5N0M2Ljg3NjI4IDEuNjAyMDIgNy41MzM4IDEuNTAwMTIgOC4xOTgyOCAxLjUwMDA4QzguMjQ1NjMgMS41MDAwOCA4LjI5MzAyIDEuNTAwNTkgOC4zNDA0NCAxLjUwMTYzQzguOTU3NDUgMS41MTUxMSA5LjU2NjIgMS42MTYyOSAxMC4xNDg4IDEuNzk5NTJDMTAuNzYwNSAxLjk5MTg5IDExLjM0MzUgMi4yNzQ3MiAxMS44Nzc3IDIuNjQxNDdDMTEuODc3NiAyLjY0MTQyIDExLjg3NzggMi42NDE1MSAxMS44Nzc3IDIuNjQxNDdDMTIuMDgzOSAyLjc4MzA0IDEyLjI4MTIgMi45MzYwMyAxMi40Njg1IDMuMDk5MjJDMTIuNjM1MSAzLjI0NDM2IDEyLjc5MzkgMy4zOTc2NyAxMi45NDQ0IDMuNTU4NDhDMTMuMDk3NCAzLjcyMTk3IDEzLjI0MTkgMy44OTMyMiAxMy4zNzcxIDQuMDcxNTJDMTMuNTU1NSA0LjMwNjYgMTMuNzE3OSA0LjU1Mzk1IDEzLjg2MzEgNC44MTE5NUMxMy45NDI3IDQuOTUzMzYgMTQuMDE3MSA1LjA5Nzk4IDE0LjA4NjEgNS4yNDU1MkMxNC4xMjUzIDUuMzI5MTQgMTQuMTYyNyA1LjQxMzcxIDE0LjE5ODMgNS40OTkxNkMxNC4yMDMgNS41MTA0MyAxNC4yMDc2IDUuNTIxNzIgMTQuMjEyMyA1LjUzMzAyQzE0LjIxMjIgNS41MzI5MiAxNC4yMTIzIDUuNTMzMTIgMTQuMjEyMyA1LjUzMzAyQzE0LjI4NzggNS43MTY5MyAxNC40MzMzIDUuODYzNjcgMTQuNjE2NyA1Ljk0MDQyQzE0LjcwNzYgNS45Nzg0NSAxNC44MDUgNS45OTgyIDE0LjkwMzUgNS45OTg1NkMxNS4wMDIgNS45OTg5MiAxNS4wOTk2IDUuOTc5ODggMTUuMTkwOCA1Ljk0MjUyQzE1LjI4MTkgNS45MDUxNiAxNS4zNjQ4IDUuODUwMjEgMTUuNDM0NyA1Ljc4MDgyQzE1LjUwNDYgNS43MTE0MiAxNS41NjAyIDUuNjI4OTQgMTUuNTk4MiA1LjUzODA4QzE1LjYzNjIgNS40NDcyMiAxNS42NTYgNS4zNDk3NSAxNS42NTYzIDUuMjUxMjZDMTUuNjU2NyA1LjE1Mjc2IDE1LjYzNzYgNS4wNTUxNiAxNS42MDAzIDQuOTY0MDJDMTUuNjAwMiA0Ljk2MzkgMTUuNjAwMyA0Ljk2NDE0IDE1LjYwMDMgNC45NjQwMkMxNS41MDkxIDQuNzQxODcgMTUuNDA4MiA0LjUyNDIgMTUuMjk4MSA0LjMxMjI5QzE1LjI2MTcgNC4yNDIyIDE1LjIyNDIgNC4xNzI2OSAxNS4xODU4IDQuMTAzNzlaTTguOTQ4MjggMy43NTAwMkM4Ljk0ODI4IDMuNTUxMSA4Ljg2OTI2IDMuMzYwMzQgOC43Mjg2MSAzLjIxOTY5QzguNjE0MDUgMy4xMDUxMiA4LjQ2NjI0IDMuMDMxNDUgOC4zMDc4NiAzLjAwODA2QzguMjcxODggMy4wMDI3NiA4LjIzNTA4IDMuMDAwMDIgOC4xOTgyOCAzLjAwMDAyQzcuOTk5MzcgMy4wMDAwMiA3LjgwODYgMy4wNzkwMyA3LjY2Nzk1IDMuMjE5NjlDNy41MjczIDMuMzYwMzQgNy40NDgyOCAzLjU1MTEgNy40NDgyOCAzLjc1MDAyVjcuNjkwMDJMNS40MTQ1MiA5LjcyMjc4QzUuNDAxNTkgOS43MzQ4MyA1LjM4ODg3IDkuNzQ3NTUgNS4zNzY4NiA5Ljc2MDQ0QzUuMzIwNDEgOS44MjEwMiA1LjI3NDMgOS44OTA2MiA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjIzODYzIDEwLjU3MzYgNS4yNDgwNCAxMC41OTQyIDUuMjU4MzQgMTAuNjE0MkM1LjI5Mzg3IDEwLjY4MzQgNS4zNDAwMiAxMC43NDY4IDUuMzk1MjQgMTAuODAyMUM1LjQ2NjQ2IDEwLjg3MzMgNS41NTEyOSAxMC45Mjk0IDUuNjQ0NjggMTAuOTY3MUM1LjczODA3IDExLjAwNDkgNS44MzgxIDExLjAyMzQgNS45Mzg4IDExLjAyMTZDNi4wMzk1MSAxMS4wMTk4IDYuMTM4ODIgMTAuOTk3OCA2LjIzMDgyIDEwLjk1NjhDNi4zMDY2OCAxMC45MjMgNi4zNzYyOCAxMC44NzY5IDYuNDM2ODYgMTAuODIwNEM2LjQ0OTY2IDEwLjgwODUgNi40NjIwNiAxMC43OTYxIDYuNDc0MDMgMTAuNzgzM0M2LjQ3Mzk1IDEwLjc4MzQgNi40NzQxMSAxMC43ODMyIDYuNDc0MDMgMTAuNzgzM0w4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTMuNDQ4MyAxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zODk1IDEzIDE0LjU3MzIgMTIuOTI3IDE0LjcxMjEgMTIuNzk2M0MxNC43MTc3IDEyLjc5MTEgMTQuNzIzMiAxMi43ODU4IDE0LjcyODYgMTIuNzgwM0MxNC44NjkzIDEyLjYzOTcgMTQuOTQ4MyAxMi40NDg5IDE0Ljk0ODMgMTIuMjVWMTAuMDU2NkMxNC43MDE1IDEwLjAxOTEgMTQuNDUwOSAxMCAxNC4xOTgzIDEwQzEzLjk0NTcgMTAgMTMuNjk1IDEwLjAxOTEgMTMuNDQ4MyAxMC4wNTY2VjEyLjI1Wk0xMy40NDgzIDkuNzY5MjdDMTMuNjkzMiA5Ljg0ODI4IDEzLjk0NDEgOS45MDcxOSAxNC4xOTgzIDkuOTQ1NTFDMTQuNDI2NCA5Ljk3OTg5IDE0LjY1NzIgOS45OTc2OSAxNC44ODg5IDkuOTk4NTRDMTQuOTA4NyA5Ljk5ODYxIDE0LjkyODUgOS45OTg1NiAxNC45NDgzIDkuOTk4MzhWOC43NTAwMkMxNC45NDgzIDguNjUzNTYgMTQuOTI5NyA4LjU1OTAxIDE0Ljg5NDUgOC40NzExN0MxNC44NTcxIDguMzc3ODcgMTQuODAxMSA4LjI5MjEzIDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwNCAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDQgMTMuNjY4IDguMjE5NjlDMTMuNjY1IDguMjIyNjggMTMuNjYyIDguMjI1NjkgMTMuNjU5MSA4LjIyODcyQzEzLjUyODIgOC4zNjQxIDEzLjQ1MyA4LjU0Mzc2IDEzLjQ0ODUgOC43MzE4OEMxMy40NDg0IDguNzM3OTIgMTMuNDQ4MyA4Ljc0Mzk3IDEzLjQ0ODMgOC43NTAwMlY5Ljc2OTI3Wk0xNS4xOTYzIDE1LjA2MjZDMTUuMTk3NiAxNS4wNDE4IDE1LjE5ODMgMTUuMDIwOSAxNS4xOTgzIDE1QzE1LjE5ODMgMTQuOTk4NCAxNS4xOTgzIDE0Ljk5NjggMTUuMTk4MyAxNC45OTUxQzE1LjE5NyAxNC43MzE3IDE1LjA5MTggMTQuNDc5MyAxNC45MDU0IDE0LjI5MjlDMTQuNzE3OCAxNC4xMDU0IDE0LjQ2MzUgMTQgMTQuMTk4MyAxNEMxMy45MzMxIDE0IDEzLjY3ODcgMTQuMTA1NCAxMy40OTEyIDE0LjI5MjlDMTMuMzAzNiAxNC40ODA0IDEzLjE5ODMgMTQuNzM0OCAxMy4xOTgzIDE1QzEzLjE5ODMgMTUuMjY1MiAxMy4zMDM2IDE1LjUxOTYgMTMuNDkxMiAxNS43MDcxQzEzLjY3ODcgMTUuODk0NyAxMy45MzMxIDE2IDE0LjE5ODMgMTZDMTQuNDYzNSAxNiAxNC43MTc4IDE1Ljg5NDcgMTQuOTA1NCAxNS43MDcxQzE1LjA3ODEgMTUuNTM0NCAxNS4xODExIDE1LjMwNSAxNS4xOTYzIDE1LjA2MjZaXCIgZmlsbD1cIiNGNzkwMDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTAzMzVfMjI4NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTk5MjE5KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJvYmo/LnJldm9wc1R5cGUmJm9iaj8ucmV2b3BzVHlwZSE9PScnXCIgIChjbGljayk9XCJyZXZvcFRhZ2dpbmcob2JqKVwiIG5nYlRvb2x0aXA9XCJDdXN0b21lciBUYWdnaW5nIGlzIERvbmVcIiAgcGxhY2VtZW50PVwidG9wXCI+IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTAzMzVfMjI4NTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1LjA2MzggNy4zODY2MlY3Ljk5OTk1QzE1LjA2MyA5LjQzNzU2IDE0LjU5NzUgMTAuODM2NCAxMy43MzY3IDExLjk4NzhDMTIuODc1OSAxMy4xMzkzIDExLjY2NiAxMy45ODE2IDEwLjI4NzQgMTQuMzg5MkM4LjkwODc2IDE0Ljc5NjggNy40MzUzMSAxNC43NDc5IDYuMDg2NzggMTQuMjQ5N0M0LjczODI2IDEzLjc1MTUgMy41ODY5MSAxMi44MzA3IDIuODA0NDQgMTEuNjI0N0MyLjAyMTk4IDEwLjQxODYgMS42NTAzMyA4Ljk5MTk5IDEuNzQ0OTIgNy41NTc0OUMxLjgzOTUxIDYuMTIyOTkgMi4zOTUyNyA0Ljc1NzUgMy4zMjkzMiAzLjY2NDY3QzQuMjYzMzcgMi41NzE4MyA1LjUyNTY2IDEuODEwMjEgNi45Mjc5MyAxLjQ5MzM4QzguMzMwMiAxLjE3NjU2IDkuNzk3MzEgMS4zMjE1MSAxMS4xMTA1IDEuOTA2NjJNMTUuMDYzOCAyLjY2NjYyTDguMzk3MTQgOS4zMzk5NUw2LjM5NzE0IDcuMzM5OTVcIiBzdHJva2U9XCIjMTJCNzZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzEwMzM1XzIyODU2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjM5ODQzOClcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMiBpbWctZG9jLXZhbHVlXCI+e3tvYmoudGltZVNwZW50LmVudHJ5VGltZX19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxEYXRhU2hvdyAhPT0ndHJhY2tpbmctZW5hYmxlZCdcIiBjbGFzcz1cInB5LTIgaW1nLWRvYy12YWx1ZVwiPnt7b2JqLnRpbWVTcGVudC5leGl0VGltZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwicHktMiBpbWctZG9jLXZhbHVlXCI+e3tvYmoudGltZVNwZW50LnRvdGFsVGltZVNwZW50fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaW1hZ2VGbG93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zaHJpbmstMCBtdC0zIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb1ZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yNTg1XzcwMzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjUuODMyNyAxOUgxNC4xNjZNMTQuMTY2IDE5TDE5Ljk5OTMgMjQuODMzNE0xNC4xNjYgMTlMMTkuOTk5MyAxMy4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yNTg1XzcwMzZcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yNTg1XzcwMzZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgcHktMiBpbWctZG9jLWRpcmVjdG9yeVwiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtaW5mb1wiPnt7SW1hZ2VkYXRhLnRlbXBJZH19PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0Q29udHJvbC52YWx1ZSBhcyB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBtcy0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1wcmltYXJ5JzogdmFsdWUgPT09ICdmb290ZmFsbCcgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1zdWNjZXNzJzogdmFsdWUgPT09ICdwdXJjaGFzZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogdmFsdWUgPT09ICdub25TaG9wcGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogdmFsdWUgPT09ICdib3VuY2VkJyB8fCB2YWx1ZSA9PT0gJ2VuZ2FnZXInIHx8IHZhbHVlID09PSAnbWlzc2VkT3Bwb3J0dW5pdHknIHx8IHZhbHVlID09PSAnY29udmVyc2lvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJ3B1cmNoYXNlcicgPyAnUHVyY2hhc2VyJyA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJ25vblNob3BwZXInID8gJ05vbiBTaG9wcGVyJyA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5JyA/ICdNaXNzZWQgT3Bwb3J0dW5pdHknIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSB8IHRpdGxlY2FzZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbbmdDbGFzc109XCJ7ICdjdXJzb3Itbm90LWFsbG93ZWQgb3BhY2l0eS01MCc6IGlzRmlyc3RJbWFnZSgpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUucG9pbnRlci1ldmVudHNdPVwiaXNGaXJzdEltYWdlKCkgPyAnbm9uZScgOiAnYXV0bydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWlzRmlyc3RJbWFnZSgpICYmIHByZXZpb3VzKClcIiA+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0wLjUgOEMwLjUgMy44NTc4NiAzLjg1Nzg2IDAuNSA4IDAuNUgzOS41VjM5LjVIOEMzLjg1Nzg2IDM5LjUgMC41IDM2LjE0MjEgMC41IDMyVjhaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuNSA4QzAuNSAzLjg1Nzg2IDMuODU3ODYgMC41IDggMC41SDM5LjVWMzkuNUg4QzMuODU3ODYgMzkuNSAwLjUgMzYuMTQyMSAwLjUgMzJWOFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIyLjUgMjVMMTcuNSAyMEwyMi41IDE1XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgW25nQ2xhc3NdPVwieyAnY3Vyc29yLW5vdC1hbGxvd2VkIG9wYWNpdHktNTAnOiBpc0xhc3RJbWFnZSgpIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUucG9pbnRlci1ldmVudHNdPVwiaXNMYXN0SW1hZ2UoKSA/ICdub25lJyA6ICdhdXRvJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIhaXNMYXN0SW1hZ2UoKSAmJiBuZXh0KClcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuNSAwLjVIMzJDMzYuMTQyMSAwLjUgMzkuNSAzLjg1Nzg2IDM5LjUgOFYzMkMzOS41IDM2LjE0MjEgMzYuMTQyMSAzOS41IDMyIDM5LjVIMC41VjAuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC41IDAuNUgzMkMzNi4xNDIxIDAuNSAzOS41IDMuODU3ODYgMzkuNSA4VjMyQzM5LjUgMzYuMTQyMSAzNi4xNDIxIDM5LjUgMzIgMzkuNUgwLjVWMC41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAyNUwyMi41IDIwTDE3LjUgMTVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbiBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTYgY29sLXhsLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIGNsYXNzPVwiaW1nLXNyYzFcIiBbc3JjXT1cIkltYWdlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cIkltYWdlcyA9IG51bGxcIiBhbHQ9XCJcIiBhcHBNYWduaWZpZXIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ge3tteVRodW1ibmFpbH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1pbWFnZS16b29tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGh1bWJJbWFnZV09bXlUaHVtYm5haWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Z1bGxJbWFnZV09bXlGdWxscmVzSW1hZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hZ25pZmljYXRpb25dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVTY3JvbGxab29tXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTGVuc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlbnNXaWR0aF09XCIyMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVuc0hlaWdodF09XCIyMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25neC1pbWFnZS16b29tPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhSW1hZ2VzXCIgY2xhc3M9XCJuby1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMyAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJHcm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk02LjUgNi4zMjIyN0g2LjUxTTE2LjI1IDkuMzIyMjdIMjEuNUwxOCAxNi4zMjIzTDE0LjkxIDEyLjAwMjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JfMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMS41IDE2LjMyMjlINS4yNkM1LjYzMjczIDE2LjMyNTUgNS45OTg3NyAxNi4yMjM5IDYuMzE2ODIgMTYuMDI5NUM2LjYzNDg3IDE1LjgzNTIgNi44OTIyOCAxNS41NTU4IDcuMDYgMTUuMjIyOUw4LjUgMTIuMzIyOU0xLjUgMTguMzIyOVYxNC4zMjI5TTE3LjUgNi44MjI5MUwxMy41IDE0LjgyMjlMMy4xMSA5LjYyMjkxQzIuNDIwMzMgOS4yNzU1MyAxLjg5NjM1IDguNjY5MSAxLjY1MjcyIDcuOTM2MzJDMS40MDkwOSA3LjIwMzU0IDEuNDY1NjQgNi40MDQxIDEuODEgNS43MTI5MUwzLjE5IDIuOTIyOTFDMy4zNjIgMi41ODAxNCAzLjU5OTg0IDIuMjc0NiAzLjg4OTk0IDIuMDIzNzVDNC4xODAwMyAxLjc3MjkgNC41MTY3IDEuNTgxNjUgNC44ODA3MiAxLjQ2MDkzQzUuMjQ0NzQgMS4zNDAyMSA1LjYyODk3IDEuMjkyMzkgNi4wMTE0NyAxLjMyMDE4QzYuMzkzOTggMS4zNDc5NyA2Ljc2NzI2IDEuNDUwODQgNy4xMSAxLjYyMjkxTDE3LjUgNi44MjI5MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXIgbWItNSB0ZXh0LWNlbnRlclwiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uIG1iLTUgdGV4dC1jZW50ZXJcIj5UaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudC48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHNsaWRlciBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCIgKm5nSWY9XCJJbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTUgIGJvcmRlci0yXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ncmF5LWFjdGl2ZSc6IEltYWdlcyA9PT0gSW1hZ2VkYXRhPy5pbWFnZXM/LmVudHJ5VGltZUltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ncmF5JzogSW1hZ2VzICE9PSBJbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PkVudHJ5IFRpbWUxPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4IHBiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiSW1hZ2VkYXRhPy5pbWFnZXM/LmVudHJ5VGltZUltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiSW1hZ2VkYXRhPy5pbWFnZXMuZW50cnlUaW1lSW1hZ2UgPSBudWxsXCIgYWx0PVwiXCIgKGNsaWNrKT1cImltYWdlRGF0YSgnZW50cnknKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFJbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcIiBjbGFzcz1cIm5vLXByZXZpZXctc20gY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIzXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIzIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJHcm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjUgNi4zMjIyN0g2LjUxTTE2LjI1IDkuMzIyMjdIMjEuNUwxOCAxNi4zMjIzTDE0LjkxIDEyLjAwMjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JfMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMS41IDE2LjMyMjlINS4yNkM1LjYzMjczIDE2LjMyNTUgNS45OTg3NyAxNi4yMjM5IDYuMzE2ODIgMTYuMDI5NUM2LjYzNDg3IDE1LjgzNTIgNi44OTIyOCAxNS41NTU4IDcuMDYgMTUuMjIyOUw4LjUgMTIuMzIyOU0xLjUgMTguMzIyOVYxNC4zMjI5TTE3LjUgNi44MjI5MUwxMy41IDE0LjgyMjlMMy4xMSA5LjYyMjkxQzIuNDIwMzMgOS4yNzU1MyAxLjg5NjM1IDguNjY5MSAxLjY1MjcyIDcuOTM2MzJDMS40MDkwOSA3LjIwMzU0IDEuNDY1NjQgNi40MDQxIDEuODEgNS43MTI5MUwzLjE5IDIuOTIyOTFDMy4zNjIgMi41ODAxNCAzLjU5OTg0IDIuMjc0NiAzLjg4OTk0IDIuMDIzNzVDNC4xODAwMyAxLjc3MjkgNC41MTY3IDEuNTgxNjUgNC44ODA3MiAxLjQ2MDkzQzUuMjQ0NzQgMS4zNDAyMSA1LjYyODk3IDEuMjkyMzkgNi4wMTE0NyAxLjMyMDE4QzYuMzkzOTggMS4zNDc5NyA2Ljc2NzI2IDEuNDUwODQgNy4xMSAxLjYyMjkxTDE3LjUgNi44MjI5MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXIgbWItMiB0ZXh0LWNlbnRlclwiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uIG1iLTIgdGV4dC1jZW50ZXJcIj5UaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudC48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCIgKm5nSWY9XCJJbWFnZWRhdGE/LmltYWdlcz8uc3RhZmZFbmdhZ2VtZW50SW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTUgYm9yZGVyLTJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXktYWN0aXZlJzogSW1hZ2VzID09PSBJbWFnZWRhdGE/LmltYWdlcz8uc3RhZmZFbmdhZ2VtZW50SW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXknOiBJbWFnZXMgIT09IEltYWdlZGF0YT8uaW1hZ2VzPy5zdGFmZkVuZ2FnZW1lbnRJbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+U3RhZmYgRW5nYWdlbWVudDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctMTAwIHJvdW5kZWQtMiBtaC0xMDBweCBwYi0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIkltYWdlZGF0YT8uaW1hZ2VzPy5zdGFmZkVuZ2FnZW1lbnRJbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cIkltYWdlZGF0YT8uaW1hZ2VzLnN0YWZmRW5nYWdlbWVudEltYWdlID0gbnVsbFwiIGFsdD1cIlwiIChjbGljayk9XCJpbWFnZURhdGEoJ3N0YWZmJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhSW1hZ2VkYXRhPy5pbWFnZXM/LnN0YWZmRW5nYWdlbWVudEltYWdlXCIgY2xhc3M9XCJuby1wcmV2aWV3LXNtIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMyAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi41IDYuMzIyMjdINi41MU0xNi4yNSA5LjMyMjI3SDIxLjVMMTggMTYuMzIyM0wxNC45MSAxMi4wMDIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEuNSAxNi4zMjI5SDUuMjZDNS42MzI3MyAxNi4zMjU1IDUuOTk4NzcgMTYuMjIzOSA2LjMxNjgyIDE2LjAyOTVDNi42MzQ4NyAxNS44MzUyIDYuODkyMjggMTUuNTU1OCA3LjA2IDE1LjIyMjlMOC41IDEyLjMyMjlNMS41IDE4LjMyMjlWMTQuMzIyOU0xNy41IDYuODIyOTFMMTMuNSAxNC44MjI5TDMuMTEgOS42MjI5MUMyLjQyMDMzIDkuMjc1NTMgMS44OTYzNSA4LjY2OTEgMS42NTI3MiA3LjkzNjMyQzEuNDA5MDkgNy4yMDM1NCAxLjQ2NTY0IDYuNDA0MSAxLjgxIDUuNzEyOTFMMy4xOSAyLjkyMjkxQzMuMzYyIDIuNTgwMTQgMy41OTk4NCAyLjI3NDYgMy44ODk5NCAyLjAyMzc1QzQuMTgwMDMgMS43NzI5IDQuNTE2NyAxLjU4MTY1IDQuODgwNzIgMS40NjA5M0M1LjI0NDc0IDEuMzQwMjEgNS42Mjg5NyAxLjI5MjM5IDYuMDExNDcgMS4zMjAxOEM2LjM5Mzk4IDEuMzQ3OTcgNi43NjcyNiAxLjQ1MDg0IDcuMTEgMS42MjI5MUwxNy41IDYuODIyOTFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyIG1iLTIgdGV4dC1jZW50ZXJcIj5QcmV2aWV3IG5vdCBhdmFpbGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvbiBtYi0yIHRleHQtY2VudGVyXCI+VGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgYXZhaWxhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb21lbnQuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiY29sLTQgXCIgKm5nSWY9XCJJbWFnZWRhdGE/LmltYWdlcz8uZXhpdFRpbWVJbWFnZSAmJiBmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNSAgYm9yZGVyLTJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXktYWN0aXZlJzogSW1hZ2VzID09PSBJbWFnZWRhdGE/LmltYWdlcz8uZXhpdFRpbWVJbWFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItZ3JheSc6IEltYWdlcyAhPT0gSW1hZ2VkYXRhPy5pbWFnZXM/LmV4aXRUaW1lSW1hZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PkV4aXQgVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctMTAwIHJvdW5kZWQtMiBtaC0xMDBweCBwYi0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIkltYWdlZGF0YT8uaW1hZ2VzPy5leGl0VGltZUltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiSW1hZ2VkYXRhPy5pbWFnZXMuZXhpdFRpbWVJbWFnZSA9IG51bGxcIiBhbHQ9XCJcIiAoY2xpY2spPVwiaW1hZ2VEYXRhKCdleGl0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhSW1hZ2VkYXRhPy5pbWFnZXM/LmV4aXRUaW1lSW1hZ2VcIiBjbGFzcz1cIm5vLXByZXZpZXctc20gY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIzXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIzIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJHcm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjUgNi4zMjIyN0g2LjUxTTE2LjI1IDkuMzIyMjdIMjEuNUwxOCAxNi4zMjIzTDE0LjkxIDEyLjAwMjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JfMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMS41IDE2LjMyMjlINS4yNkM1LjYzMjczIDE2LjMyNTUgNS45OTg3NyAxNi4yMjM5IDYuMzE2ODIgMTYuMDI5NUM2LjYzNDg3IDE1LjgzNTIgNi44OTIyOCAxNS41NTU4IDcuMDYgMTUuMjIyOUw4LjUgMTIuMzIyOU0xLjUgMTguMzIyOVYxNC4zMjI5TTE3LjUgNi44MjI5MUwxMy41IDE0LjgyMjlMMy4xMSA5LjYyMjkxQzIuNDIwMzMgOS4yNzU1MyAxLjg5NjM1IDguNjY5MSAxLjY1MjcyIDcuOTM2MzJDMS40MDkwOSA3LjIwMzU0IDEuNDY1NjQgNi40MDQxIDEuODEgNS43MTI5MUwzLjE5IDIuOTIyOTFDMy4zNjIgMi41ODAxNCAzLjU5OTg0IDIuMjc0NiAzLjg4OTk0IDIuMDIzNzVDNC4xODAwMyAxLjc3MjkgNC41MTY3IDEuNTgxNjUgNC44ODA3MiAxLjQ2MDkzQzUuMjQ0NzQgMS4zNDAyMSA1LjYyODk3IDEuMjkyMzkgNi4wMTE0NyAxLjMyMDE4QzYuMzkzOTggMS4zNDc5NyA2Ljc2NzI2IDEuNDUwODQgNy4xMSAxLjYyMjkxTDE3LjUgNi44MjI5MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXIgbWItMiB0ZXh0LWNlbnRlclwiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uIG1iLTIgdGV4dC1jZW50ZXJcIj5UaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudC48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTYgY29sLXhsLTYgcGUtMCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgZmxleC13cmFwIG5hdi1kZXYgZnctYm9sZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBteS0xIHctNTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNlbGVjdGVkVGFiID0gJ3RhZ2dlZCdcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFiLWFjdGl2ZSc6IHNlbGVjdGVkVGFiID09PSAndGFnZ2VkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiBjbGFzcz1cInRhYi10ZXh0LWRlZmF1bHQgYnRuIG5hdi1saW5rIHB4LTMgcHgtbGctOCBteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWdnZWQgSW5mb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbXktMSB3LTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJzZWxlY3RlZFRhYiA9ICdjdXN0b21lcidcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFiLWFjdGl2ZSc6IHNlbGVjdGVkVGFiID09PSAnY3VzdG9tZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiIGNsYXNzPVwidGFiLXRleHQtZGVmYXVsdCBidG4gbmF2LWxpbmsgcHgtMyBweC1sZy04IG14LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyIEluZm9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0gJ3RhZ2dlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtMyBtdC01IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgZm9ybS1jaGVjayBtdC01IHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwiZXhhbXBsZVJhZGlvc1wiIGlkPVwicmFkaW9Ob25TaG9wcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm5vblNob3BwZXJcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ3VzdG9tZXJUeXBlXCIgKGNoYW5nZSk9XCJvblJhZGlvQ2hhbmdlKCdub25TaG9wcGVyJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgY3Vyc29yLXBvaW50ZXIgdG9nZ2xlLWxhYmVsXCIgZm9yPVwicmFkaW9Ob25TaG9wcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uIFNob3BwZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgZm9ybS1jaGVjayBtdC01IHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwiZXhhbXBsZVJhZGlvc1wiIGlkPVwicmFkaW9QdXJjaGFzZXJcIiB2YWx1ZT1cInB1cmNoYXNlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEN1c3RvbWVyVHlwZVwiIChjaGFuZ2UpPVwib25SYWRpb0NoYW5nZSgncHVyY2hhc2VyJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgY3Vyc29yLXBvaW50ZXIgdG9nZ2xlLWxhYmVsXCIgZm9yPVwicmFkaW9QdXJjaGFzZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdXJjaGFzZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgZm9ybS1jaGVjayBtdC01IHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IGN1cnNvci1wb2ludGVyXCIgdHlwZT1cInJhZGlvXCIgbmFtZT1cImV4YW1wbGVSYWRpb3NcIiBpZD1cInJhZGlvTWlzc2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm1pc3NlZE9wcG9ydHVuaXR5XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEN1c3RvbWVyVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblJhZGlvQ2hhbmdlKCdtaXNzZWRPcHBvcnR1bml0eScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIGN1cnNvci1wb2ludGVyIHRvZ2dsZS1sYWJlbFwiIGZvcj1cInJhZGlvTWlzc2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlzc2VkIE9wcG9ydHVuaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwic2VsZWN0ZWRDdXN0b21lclR5cGUgPT09J25vblNob3BwZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ncmF5LWFjdGl2ZTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBvYmogb2Ygbm9uU2hvcHBlckxpc3RcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UgIG10LTMgbWUtOFwiICAgICBbbmdDbGFzc109XCJvYmohPT1ub25TaG9wZXJUeXBlID8gJ2JhZGdlLWxpZ2h0LWRlZmF1bHQnIDonYmFkZ2UtbGlnaHQtcHJpbWFyeSdcIiAoY2xpY2spPVwic2VsZWN0bm9uU2hvcGVyKG9iailcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgKm5nSWY9XCJvYmohPT1ub25TaG9wZXJUeXBlXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiAyLjVWOS41TTIuNSA2SDkuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiICpuZ0lmPVwib2JqPT09bm9uU2hvcGVyVHlwZVwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiByeD1cIjhcIiBmaWxsPVwiI0RBRjFGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTExLjM5NzcgNC45MjY2MUw2LjYyNDM0IDkuNTMzMjhMNS4zNTc2NyA4LjE3OTk0QzUuMTI0MzQgNy45NTk5NCA0Ljc1NzY3IDcuOTQ2NjEgNC40OTEgOC4xMzMyOEM0LjIzMSA4LjMyNjYxIDQuMTU3NjcgOC42NjY2MSA0LjMxNzY3IDguOTM5OTRMNS44MTc2NyAxMS4zNzk5QzUuOTY0MzQgMTEuNjA2NiA2LjIxNzY3IDExLjc0NjYgNi41MDQzNCAxMS43NDY2QzYuNzc3NjcgMTEuNzQ2NiA3LjAzNzY3IDExLjYwNjYgNy4xODQzNCAxMS4zNzk5QzcuNDI0MzQgMTEuMDY2NiAxMi4wMDQzIDUuNjA2NjEgMTIuMDA0MyA1LjYwNjYxQzEyLjYwNDMgNC45OTMyOCAxMS44Nzc3IDQuNDUzMjggMTEuMzk3NyA0LjkxOTk0VjQuOTI2NjFaXCIgZmlsbD1cIiMzM0I1RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+e3tvYmp9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC01IHBiLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGVJbnB1dE5hbWVcIj5EZXNjcmlwdGlvbiAoT3B0aW9uYWwpPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBbKG5nTW9kZWwpXT1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbXQtM1wiIHJvd3M9XCI0XCIgcGxhY2Vob2xkZXI9XCJcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBtdC01XCIgKGNsaWNrKT1cIm5vblNob3BwZXJTdWJtaXQoKVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG10LTNcIj5TdWJtaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwic2VsZWN0ZWRDdXN0b21lclR5cGUgPT09J3B1cmNoYXNlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ1c2VyRm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGJvcmRlci1ncmF5LWFjdGl2ZTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIj5OYW1lPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIG10LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIE5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6dXNlckZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgJiYgKHVzZXJGb3JtLmdldCgnbmFtZScpPy50b3VjaGVkKX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0ludmFsaWQoJ25hbWUnKVwiIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImYubmFtZS5lcnJvcnM/LnJlcXVpcmVkXCI+TmFtZSBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgTnVtYmVyIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWQgdGV4dC1kYW5nZXJcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgcHMtMyBwZS04XCIgaWQ9XCJpbnB1dEdyb3VwU2VsZWN0MDFcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5Q29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBbdmFsdWVdPVwiY291bnRyeS5waG9uZWNvZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y291bnRyeS5uYW1lfX0gKHt7Y291bnRyeS5waG9uZWNvZGV9fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2JpbGVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBmb3JtQ29udHJvbE5hbWU9XCJtb2JpbGVcIiBtaW5sZW5ndGg9XCI4XCIgbWF4bGVuZ3RoPVwiMTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOnVzZXJGb3JtLmdldCgnbW9iaWxlJyk/LmludmFsaWQgJiYgKHVzZXJGb3JtLmdldCgnbW9iaWxlJyk/LnRvdWNoZWQpfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0ludmFsaWQoJ21vYmlsZScpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImYubW9iaWxlLmVycm9ycz8ucmVxdWlyZWRcIj5Db250YWN0IE51bWJlciBpcyByZXF1aXJlZC48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmLm1vYmlsZS5lcnJvcnM/Lm1pbmxlbmd0aFwiPkNvbnRhY3QgTnVtYmVyIG11c3QgYmUgYXQgbGVhc3QgOCBkaWdpdHMuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZi5tb2JpbGUuZXJyb3JzPy5tYXhsZW5ndGhcIj5Db250YWN0IE51bWJlciBjYW5ub3QgZXhjZWVkIDEzIGRpZ2l0cy48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RW1haWwgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImVtYWlsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOnVzZXJGb3JtLmdldCgnZW1haWwnKT8uaW52YWxpZCAmJiAodXNlckZvcm0uZ2V0KCdlbWFpbCcpPy50b3VjaGVkKX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNJbnZhbGlkKCdlbWFpbCcpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZi5lbWFpbC5lcnJvcnM/LnBhdHRlcm5cIj5JbnZhbGlkIGVtYWlsIGZvcm1hdC48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvY2F0aW9uXCI+TG9jYXRpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibG9jYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG10LTNcIiBpZD1cImxvY2F0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25cIiAjcGxhY2VzUmVmPVwibmd4LXBsYWNlc1wiIG5neC1ncC1hdXRvY29tcGxldGUgKG9uQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6dXNlckZvcm0uZ2V0KCdsb2NhdGlvbicpPy5pbnZhbGlkICYmICh1c2VyRm9ybS5nZXQoJ2xvY2F0aW9uJyk/LnRvdWNoZWQpfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJhZ2VcIj5BZ2U8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBtdC0zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3QgQWdlPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJCZWxvdyAxMlwiPkJlbG93IDEyPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIxMy0xOVwiPjEz4oCTMTk8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjIw4oCTMzBcIj4yMOKAkzMwPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIzMeKAkzQ1XCI+MzHigJM0NTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNDbigJM1OVwiPjQ24oCTNTk8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkFib3ZlIDYwXCI+QWJvdmUgNjA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIHB0LTUgcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwIHRyYW5zbGF0ZS1taWRkbGUteVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJsZWZ0OiAwLjI1cmVtO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlY3JlbWVudEFnZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBwZS01IHRleHQtY2VudGVyIG10LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluPVwiMVwiIG1heD1cIjk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIHB0LTUgcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwIHRyYW5zbGF0ZS1taWRkbGUteVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJyaWdodDogMi41cmVtO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluY3JlbWVudEFnZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdlbmRlclwiPkdlbmRlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgbXQtM1wiIGZvcm1Db250cm9sTmFtZT1cImdlbmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0IEdlbmRlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibWFsZVwiPk1hbGU8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImZlbWFsZVwiPkZlbWFsZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXQtM1wiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3RlZEN1c3RvbWVyVHlwZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IG14LTMgYm9yZGVyLWdyYXktYWN0aXZlMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb2JqIG9mIG1pc3NlZE9wcG9ydHVuaXR5TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xIHctMjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKG9iai5uYW1lKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTWlzc2VkID09PSBvYmoubmFtZSA/ICdhY3RpdmUnIDogJ2FjdGl2ZS1ub3JtYWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9iai5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kb3VibGUgbWItM1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXNzdWUgQmFkZ2VzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9iaiBvZiBtaXNzZWRPcHBvcnR1bml0eUxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZE1pc3NlZCA9PT0gb2JqLm5hbWVcIiBjbGFzcz1cIm10LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb2JqLmlzc3Vlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0U3ViaXNzdWUob2JqLCBpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1wcmltYXJ5Jzogc2VsZWN0ZWRJc3N1ZXMuaW5jbHVkZXMoaXRlbSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kZWZhdWx0Jzohc2VsZWN0ZWRJc3N1ZXMuaW5jbHVkZXMoaXRlbSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBtdC0yIG1lLTIgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiICpuZ0lmPVwiIXNlbGVjdGVkSXNzdWVzLmluY2x1ZGVzKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDIuNVY5LjVNMi41IDZIOS41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiICpuZ0lmPVwic2VsZWN0ZWRJc3N1ZXMuaW5jbHVkZXMoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgcng9XCI4XCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMS4zOTc3IDQuOTI2NjFMNi42MjQzNCA5LjUzMzI4TDUuMzU3NjcgOC4xNzk5NEM1LjEyNDM0IDcuOTU5OTQgNC43NTc2NyA3Ljk0NjYxIDQuNDkxIDguMTMzMjhDNC4yMzEgOC4zMjY2MSA0LjE1NzY3IDguNjY2NjEgNC4zMTc2NyA4LjkzOTk0TDUuODE3NjcgMTEuMzc5OUM1Ljk2NDM0IDExLjYwNjYgNi4yMTc2NyAxMS43NDY2IDYuNTA0MzQgMTEuNzQ2NkM2Ljc3NzY3IDExLjc0NjYgNy4wMzc2NyAxMS42MDY2IDcuMTg0MzQgMTEuMzc5OUM3LjQyNDM0IDExLjA2NjYgMTIuMDA0MyA1LjYwNjYxIDEyLjAwNDMgNS42MDY2MUMxMi42MDQzIDQuOTkzMjggMTEuODc3NyA0LjQ1MzI4IDExLjM5NzcgNC45MTk5NFY0LjkyNjYxWlwiIGZpbGw9XCIjMzNCNUZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkRlc2NyaXB0aW9uIChPcHRpb25hbCk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIGNvbW1lbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBtdC01XCIgKGNsaWNrKT1cInN1Ym1pdE1pc3NlZE9wcG9ydHVuaXR5KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG10LTNcIj5TdWJtaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSAnY3VzdG9tZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWctY2xhc3NcIj5UYWdnZWQgU3VtbWFyeSA8c3BhbiAqbmdJZj1cInRhZ2dnZWREYXRhPy5zdGF0dXM9PT0nc3VibWl0dGVkJ1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE0LjY2NjggNy4zODY3NFY4LjAwMDA3QzE0LjY2NiA5LjQzNzY5IDE0LjIwMDUgMTAuODM2NSAxMy4zMzk3IDExLjk4OEMxMi40Nzg5IDEzLjEzOTQgMTEuMjY5IDEzLjk4MTcgOS44OTA0IDE0LjM4OTNDOC41MTE3OCAxNC43OTcgNy4wMzgzNCAxNC43NDggNS42ODk4MSAxNC4yNDk4QzQuMzQxMjggMTMuNzUxNiAzLjE4OTkzIDEyLjgzMDggMi40MDc0NyAxMS42MjQ4QzEuNjI1MDEgMTAuNDE4OCAxLjI1MzM2IDguOTkyMTEgMS4zNDc5NSA3LjU1NzYxQzEuNDQyNTQgNi4xMjMxMiAxLjk5ODMgNC43NTc2MiAyLjkzMjM1IDMuNjY0NzlDMy44NjY0IDIuNTcxOTUgNS4xMjg2OSAxLjgxMDMzIDYuNTMwOTYgMS40OTM1QzcuOTMzMjMgMS4xNzY2OCA5LjQwMDM0IDEuMzIxNjMgMTAuNzEzNSAxLjkwNjc0TTE0LjY2NjggMi42NjY3NEw4LjAwMDE3IDkuMzQwMDdMNi4wMDAxNyA3LjM0MDA3XCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgdGV4dC1lbmRcIiAqbmdJZj1cInRhZ2dnZWREYXRhPy5zdGF0dXMhPT0nc3VibWl0dGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nIG1zLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzEwOTAxXzc3OTUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNi4xMzE1MiAwLjAwMTQyMDQ5QzUuMjU4NTUgLTAuMDE3NTc3OCA0LjM5MTk1IDAuMTU0MTkyIDMuNTkyMjIgMC41MDQ3MzhDMi43OTI1IDAuODU1MjgzIDIuMDc4OTIgMS4zNzYxNiAxLjUwMTMxIDIuMDMwOTlDMC45MjM3MDMgMi42ODU4MyAwLjQ5NTk4MSAzLjQ1ODg1IDAuMjQ4MDA5IDQuMjk2MDhDMy43MDI5NGUtMDUgNS4xMzMzIC0wLjA2MjIwOTUgNi4wMTQ1NyAwLjA2NTYxNTQgNi44NzgzNEMwLjE5MzQ0IDcuNzQyMTIgMC41MDgyNTYgOC41Njc1OCAwLjk4ODA4MyA5LjI5NzExQzEuNDY3OTEgMTAuMDI2NiAyLjEwMTE5IDEwLjY0MjYgMi44NDM3IDExLjEwMjFDMy41ODYyMSAxMS41NjE2IDQuNDIwMDYgMTEuODUzNSA1LjI4NzAzIDExLjk1NzRDNi4xNTQwMSAxMi4wNjEzIDcuMDMzMjIgMTEuOTc0NyA3Ljg2MzI3IDExLjcwMzdDOC4wMDUxIDExLjY1NzMgOC4xMjI3IDExLjU1NjUgOC4xOTAyMiAxMS40MjM1QzguMjU3NzMgMTEuMjkwNCA4LjI2OTYyIDExLjEzNiA4LjIyMzI3IDEwLjk5NDJDOC4xNzY5MyAxMC44NTIzIDguMDc2MTQgMTAuNzM0NyA3Ljk0MzA4IDEwLjY2NzJDNy44MTAwMiAxMC41OTk3IDcuNjU1NiAxMC41ODc4IDcuNTEzNzcgMTAuNjM0MkM2LjYxMTc1IDEwLjkyODcgNS42NDMzOCAxMC45NTM2IDQuNzI3NDIgMTAuNzA1OEMzLjgxMTQ2IDEwLjQ1OCAyLjk4NzczIDkuOTQ4MjUgMi4zNTcyNSA5LjIzOTFDMS43MjY3NyA4LjUyOTk1IDEuMzE2OTYgNy42NTIyMSAxLjE3ODA3IDYuNzEzNTRDMS4wMzkxNyA1Ljc3NDg3IDEuMTc3MjQgNC44MTYwNyAxLjU3NTM0IDMuOTU0NzNDMS45NzM0MyAzLjA5MzM4IDIuNjE0MjUgMi4zNjY5NCAzLjQxOTIgMS44NjQ0OUM0LjIyNDE0IDEuMzYyMDQgNS4xNTgyMyAxLjEwNTQzIDYuMTA2ODkgMS4xMjYxM0M3LjA1NTU2IDEuMTQ2ODMgNy45Nzc1NiAxLjQ0MzkzIDguNzU5ODMgMS45ODEwMUM5LjU0MjEgMi41MTgwOSAxMC4xNTA2IDMuMjcxNzggMTAuNTEwOCA0LjE0OTY3QzEwLjU2NzQgNC4yODc3MiAxMC42NzY1IDQuMzk3NjMgMTAuODE0MSA0LjQ1NTIyQzEwLjg4MjIgNC40ODM3NCAxMC45NTUzIDQuNDk4NTYgMTEuMDI5MiA0LjQ5ODgzQzExLjEwMzEgNC40OTkxIDExLjE3NjMgNC40ODQ4MiAxMS4yNDQ2IDQuNDU2OEMxMS4zMTMgNC40Mjg3OCAxMS4zNzUyIDQuMzg3NTcgMTEuNDI3NiA0LjMzNTUyQzExLjQ4IDQuMjgzNDcgMTEuNTIxNyA0LjIyMTYxIDExLjU1MDIgNC4xNTM0N0MxMS41Nzg3IDQuMDg1MzIgMTEuNTkzNSA0LjAxMjIyIDExLjU5MzggMy45MzgzNUMxMS41OTQxIDMuODY0NDggMTEuNTc5OCAzLjc5MTI3IDExLjU1MTggMy43MjI5MkMxMS4xMDg1IDIuNjQyMzkgMTAuMzU5NiAxLjcxNDcgOS4zOTY3NyAxLjA1MzY1QzguNDMzOTYgMC4zOTI1ODcgNy4yOTkxNSAwLjAyNjg5NDYgNi4xMzE1MiAwLjAwMTQyMDQ5Wk02LjU2Mjc3IDIuODEyNDJDNi41NjI3NyAyLjY2MzI0IDYuNTAzNTEgMi41MjAxNiA2LjM5ODAyIDIuNDE0NjdDNi4yOTI1MyAyLjMwOTE4IDYuMTQ5NDYgMi4yNDk5MiA2LjAwMDI3IDIuMjQ5OTJDNS44NTEwOSAyLjI0OTkyIDUuNzA4MDEgMi4zMDkxOCA1LjYwMjUyIDIuNDE0NjdDNS40OTcwNCAyLjUyMDE2IDUuNDM3NzcgMi42NjMyNCA1LjQzNzc3IDIuODEyNDJWNS43Njc0MkwzLjkxMjI3IDcuMjkyMTdDMy44NTcwMSA3LjM0MzY3IDMuODEyNjggNy40MDU3NyAzLjc4MTk0IDcuNDc0NzdDMy43NTExOSA3LjU0Mzc3IDMuNzM0NjYgNy42MTgyNSAzLjczMzMzIDcuNjkzNzhDMy43MzIgNy43NjkzMSAzLjc0NTg5IDcuODQ0MzMgMy43NzQxOCA3LjkxNDM3QzMuODAyNDcgNy45ODQ0MSAzLjg0NDU4IDguMDQ4MDQgMy44OTc5OSA4LjEwMTQ1QzMuOTUxNDEgOC4xNTQ4NiA0LjAxNTAzIDguMTk2OTcgNC4wODUwNyA4LjIyNTI2QzQuMTU1MTIgOC4yNTM1NSA0LjIzMDE0IDguMjY3NDUgNC4zMDU2NiA4LjI2NjEyQzQuMzgxMTkgOC4yNjQ3OCA0LjQ1NTY4IDguMjQ4MjUgNC41MjQ2OCA4LjIxNzUxQzQuNTkzNjggOC4xODY3NiA0LjY1NTc4IDguMTQyNDQgNC43MDcyNyA4LjA4NzE3TDYuMzk3NzcgNi4zOTc0Mkw2LjU2Mjc3IDYuMjMyNDJWMi44MTI0MlpNMTEuMjUwMyAxMS4yNDk5QzExLjI1MDMgMTEuNDQ4OCAxMS4xNzEzIDExLjYzOTYgMTEuMDMwNiAxMS43ODAzQzEwLjg4OTkgMTEuOTIwOSAxMC42OTkyIDExLjk5OTkgMTAuNTAwMyAxMS45OTk5QzEwLjMwMTQgMTEuOTk5OSAxMC4xMTA2IDExLjkyMDkgOS45Njk5NCAxMS43ODAzQzkuODI5MjkgMTEuNjM5NiA5Ljc1MDI3IDExLjQ0ODggOS43NTAyNyAxMS4yNDk5QzkuNzUwMjcgMTEuMDUxIDkuODI5MjkgMTAuODYwMiA5Ljk2OTk0IDEwLjcxOTZDMTAuMTEwNiAxMC41Nzg5IDEwLjMwMTQgMTAuNDk5OSAxMC41MDAzIDEwLjQ5OTlDMTAuNjk5MiAxMC40OTk5IDEwLjg4OTkgMTAuNTc4OSAxMS4wMzA2IDEwLjcxOTZDMTEuMTcxMyAxMC44NjAyIDExLjI1MDMgMTEuMDUxIDExLjI1MDMgMTEuMjQ5OVpNMTEuMDYyOCA2LjU2MjQyQzExLjA2MjggNi40MTMyNCAxMS4wMDM1IDYuMjcwMTYgMTAuODk4IDYuMTY0NjdDMTAuNzkyNSA2LjA1OTE5IDEwLjY0OTUgNS45OTk5MiAxMC41MDAzIDUuOTk5OTJDMTAuMzUxMSA1Ljk5OTkyIDEwLjIwOCA2LjA1OTE5IDEwLjEwMjUgNi4xNjQ2N0M5Ljk5NzA0IDYuMjcwMTYgOS45Mzc3NyA2LjQxMzI0IDkuOTM3NzcgNi41NjI0MlY5LjE4NzQyQzkuOTM3NzcgOS4zMzY2MSA5Ljk5NzA0IDkuNDc5NjggMTAuMTAyNSA5LjU4NTE3QzEwLjIwOCA5LjY5MDY2IDEwLjM1MTEgOS43NDk5MiAxMC41MDAzIDkuNzQ5OTJDMTAuNjQ5NSA5Ljc0OTkyIDEwLjc5MjUgOS42OTA2NiAxMC44OTggOS41ODUxN0MxMS4wMDM1IDkuNDc5NjggMTEuMDYyOCA5LjMzNjYxIDExLjA2MjggOS4xODc0MlY2LjU2MjQyWlwiIGZpbGw9XCIjQjU0NzA4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTExLjI0MDkgMy4wNzc3NUMxMS4xNzYyIDIuOTYxNzEgMTEuMTA3OCAyLjg0Nzk5IDExLjAzNTcgMi43MzY3NEMxMC43ODI2IDIuMzQ2MjMgMTAuNDg0OCAxLjk4NjMxIDEwLjE0ODMgMS42NjQ0QzkuOTE1NjEgMS40NDE4NCA5LjY2NDQ2IDEuMjM3NDQgOS4zOTY3NyAxLjA1MzY1QzkuMzk2NzIgMS4wNTM2MSA5LjM5NjgzIDEuMDUzNjggOS4zOTY3NyAxLjA1MzY1QzkuMjM3MzcgMC45NDQyMDcgOS4wNzMwOCAwLjg0Mjc0OCA4LjkwNDg3IDAuNzQ5NzA1QzguNzIwNyAwLjY0NzgyOCA4LjUzMTYzIDAuNTU1OSA4LjMzODUgMC40NzQxOTJDNy42NDI2OSAwLjE3OTgxMyA2Ljg5NDEgMC4wMTgwNTc3IDYuMTMxNTIgMC4wMDE0MjA0OUM2LjEzMTQ5IDAuMDAxNDE5ODMgNi4xMzE1NSAwLjAwMTQyMTE1IDYuMTMxNTIgMC4wMDE0MjA0OUM2LjA4Nzc4IDAuMDAwNDY5MjkgNi4wNDM5NyAtNS4wMTI2NWUtMDYgNi4wMDAyNyAzLjk5NDI2ZS0wOEM1LjE5NzI2IDkuMjg4NzFlLTA1IDQuNDAyMjIgMC4xNjEzODYgMy42NjIzNyAwLjQ3NDUyQzMuNjM4OTMgMC40ODQ0NDEgMy42MTU1NSAwLjQ5NDUxMyAzLjU5MjIyIDAuNTA0NzM4QzMuNDIyNDMgMC41NzkxNjYgMy4yNTY1MSAwLjY2MTI3MyAzLjA5NDk2IDAuNzUwNzFDMy4wMDMwNyAwLjgwMTU3NyAyLjkxMjYgMC44NTQ4MTQgMi44MjM2MyAwLjkxMDM1OUMyLjMzMjIzIDEuMjE3MTMgMS44ODY1MyAxLjU5NDI3IDEuNTAxMzEgMi4wMzA5OUMxLjExNjA4IDIuNDY3NzMgMC43OTc1MTYgMi45NTcwNCAwLjU1NDQ4NiAzLjQ4MjkxQzAuNDMzMTI0IDMuNzQ1NTEgMC4zMzA1OTcgNC4wMTcyMyAwLjI0ODAwOSA0LjI5NjA4QzUuNTEzNDNlLTA1IDUuMTMzMjQgLTAuMDYyMjAwNCA2LjAxNDQ0IDAuMDY1NTg3NCA2Ljg3ODE1QzAuMDY1NTc4IDYuODc4MDkgMC4wNjU1OTY3IDYuODc4MjIgMC4wNjU1ODc0IDYuODc4MTVDMC4xOTM0MTIgNy43NDE5MyAwLjUwODI1NiA4LjU2NzU4IDAuOTg4MDgzIDkuMjk3MTFDMS4xNDc4MyA5LjUzOTk4IDEuMzI0NTggOS43NzAyNyAxLjUxNjcxIDkuOTg2MzlDMS45MDE2OCAxMC40MTk0IDIuMzQ4MzggMTAuNzk1NiAyLjg0MzcgMTEuMTAyMUMzLjMzODgyIDExLjQwODUgMy44NzQ1NSAxMS42NDA0IDQuNDMzNjQgMTEuNzkxN0M0LjcxMjk5IDExLjg2NzMgNC45OTgxNyAxMS45MjI4IDUuMjg3MDMgMTEuOTU3NEM1LjMxOTk5IDExLjk2MTMgNS4zNTI5NiAxMS45NjUgNS4zODU5NCAxMS45Njg0QzUuODYyNzUgMTIuMDE3NSA2LjM0MjU0IDEyLjAwOTIgNi44MTUxNCAxMS45NDQ1QzYuOTkyNjUgMTEuOTIwMiA3LjE2OTE1IDExLjg4NzkgNy4zNDQwOSAxMS44NDc3QzcuNTE4OCAxMS44MDc2IDcuNjkxOTYgMTEuNzU5NiA3Ljg2MzAyIDExLjcwMzhDNy44NjI5NCAxMS43MDM4IDcuODYzMTEgMTEuNzAzNyA3Ljg2MzAyIDExLjcwMzhDNy44OTEyNyAxMS42OTQ1IDcuOTE4OCAxMS42ODMxIDcuOTQ0OTIgMTEuNjY5N0M4LjA0OTk1IDExLjYxNTkgOC4xMzYxNSAxMS41MyA4LjE5MDIyIDExLjQyMzVDOC4yMTgxMiAxMS4zNjg1IDguMjM2NTMgMTEuMzA5OCA4LjI0NTI0IDExLjI0OTlDOC4yNTc2MSAxMS4xNjQ5IDguMjUwNDYgMTEuMDc3NCA4LjIyMzI3IDEwLjk5NDJDOC4xNzY5MyAxMC44NTIzIDguMDc2MTQgMTAuNzM0NyA3Ljk0MzA4IDEwLjY2NzJDNy44MTAxMSAxMC41OTk4IDcuNjU1NzkgMTAuNTg3OCA3LjUxNDA0IDEwLjYzNDFDNy41MTM5NSAxMC42MzQxIDcuNTE0MTMgMTAuNjM0MSA3LjUxNDA0IDEwLjYzNDFDNy40MzU2MyAxMC42NTk3IDcuMzU2NDUgMTAuNjgzMyA3LjI3NzExIDEwLjcwNDlDNy4xNjI5MiAxMC43MzU5IDcuMDQ3ODYgMTAuNzYyNiA2LjkzMjE1IDEwLjc4NTFDNi44ODAxNiAxMC43OTUzIDYuODI4MDQgMTAuODA0NSA2Ljc3NTgxIDEwLjgxMjlDNi40OTI2NyAxMC44NTg1IDYuMjA2MzMgMTAuODc5IDUuOTIwMTQgMTAuODc0M0M1Ljg0ODMyIDEwLjg3MzEgNS43NzY1IDEwLjg3MDQgNS43MDQ3NiAxMC44NjZDNS42MDk5OCAxMC44NjAyIDUuNTE1MzIgMTAuODUxNyA1LjQyMDkgMTAuODQwNEM1LjM3MjU2IDEwLjgzNDYgNS4zMjQyOCAxMC44MjgxIDUuMjc2MDggMTAuODIwOEM1LjA5MTc2IDEwLjc5MzEgNC45MDg1NiAxMC43NTQ4IDQuNzI3NDIgMTAuNzA1OEM0LjU5ODU2IDEwLjY3MDkgNC40NzE1MiAxMC42MzA5IDQuMzQ2NTkgMTAuNTg1OEM0LjAyNzYzIDEwLjQ3MDggMy43MjI0IDEwLjMyMzEgMy40MzU1OSAxMC4xNDU2QzMuNDAxODYgMTAuMTI0OCAzLjM2ODM5IDEwLjEwMzUgMy4zMzUxOCAxMC4wODE4QzMuMDU0MDkgOS44OTgyNiAyLjc5MTc4IDkuNjg1NTYgMi41NTI4NyA5LjQ0NjU4QzIuNDg1NzggOS4zNzk0NyAyLjQyMDU0IDkuMzEwMjkgMi4zNTcyNSA5LjIzOTFDMi4yMDAxMSA5LjA2MjM0IDIuMDU2NjcgOC44NzUxMiAxLjkyNzcyIDguNjc5MDhDMS45MjQ0NSA4LjY3NDExIDEuOTIxMTggOC42NjkxMyAxLjkxNzkzIDguNjY0MTRDMS43MTEzIDguMzQ3NDkgMS41NDIzNCA4LjAwODA3IDEuNDE0MzIgNy42NTI4NkMxLjMwNTExIDcuMzQ5ODYgMS4yMjU3IDcuMDM1MzYgMS4xNzgwOSA2LjcxMzcxQzEuMTc4MDggNi43MTM2NiAxLjE3ODEgNi43MTM3NyAxLjE3ODA5IDYuNzEzNzFDMS4xNTc1IDYuNTc0NTcgMS4xNDI5NyA2LjQzNDgxIDEuMTM0NSA2LjI5NTE2QzEuMTMwMSA2LjIyMjUzIDEuMTI3MzIgNi4xNDk4OSAxLjEyNjE3IDYuMDc3MjlDMS4xMTgzMiA1LjU4MjU3IDEuMTg1ODUgNS4wODk2MSAxLjMyNjMgNC42MTU0NUMxLjM5Mjk3IDQuMzkwMzYgMS40NzYwNyA0LjE2OTUxIDEuNTc1MzQgMy45NTQ3M0MxLjc3NDQgMy41MjQwMyAyLjAzNDE0IDMuMTI3MDYgMi4zNDQ3NSAyLjc3NDk2QzIuMzc2MiAyLjczOTMyIDIuNDA4MTYgMi43MDQxMyAyLjQ0MDY0IDIuNjY5NDJDMi43Mjg5MyAyLjM2MTI3IDMuMDU3NDkgMi4wOTAyNyAzLjQxOTIgMS44NjQ0OUMzLjYxOTk1IDEuNzM5MTggMy44Mjg3NCAxLjYyOTE2IDQuMDQzNzkgMS41MzQ5MkM0LjIwNTEgMS40NjQyMiA0LjM2OTkzIDEuNDAyNDEgNC41Mzc1MyAxLjM0OTY4QzUuMDA4NzcgMS4yMDE0MyA1LjUwMTkxIDEuMTI1IDYuMDAwMjcgMS4xMjQ5N0M2LjAzNTc5IDEuMTI0OTcgNi4wNzEzMyAxLjEyNTM1IDYuMTA2ODkgMS4xMjYxM0M2LjU2OTY1IDEuMTM2MjQgNy4wMjYyMSAxLjIxMjEyIDcuNDYzMTUgMS4zNDk1NEM3LjkyMTkgMS40OTM4MyA4LjM1OTE5IDEuNzA1OTUgOC43NTk4MyAxLjk4MTAxQzguNzU5NzggMS45ODA5NyA4Ljc1OTg4IDEuOTgxMDQgOC43NTk4MyAxLjk4MTAxQzguOTE0NDcgMi4wODcxOSA5LjA2MjQ3IDIuMjAxOTMgOS4yMDI5NSAyLjMyNDMzQzkuMzI3ODkgMi40MzMxOCA5LjQ0NyAyLjU0ODE2IDkuNTU5ODggMi42Njg3N0M5LjY3NDY0IDIuNzkxMzkgOS43ODI5NSAyLjkxOTgyIDkuODg0NCAzLjA1MzU1QzEwLjAxODIgMy4yMjk4NiAxMC4xNCAzLjQxNTM3IDEwLjI0ODkgMy42MDg4N0MxMC4zMDg2IDMuNzE0OTMgMTAuMzY0NCAzLjgyMzM5IDEwLjQxNjIgMy45MzQwNUMxMC40NDU1IDMuOTk2NzcgMTAuNDczNiA0LjA2MDE5IDEwLjUwMDMgNC4xMjQyOEMxMC41MDM4IDQuMTMyNzMgMTAuNTA3MyA0LjE0MTIgMTAuNTEwOCA0LjE0OTY3QzEwLjUxMDcgNC4xNDk1OSAxMC41MTA4IDQuMTQ5NzUgMTAuNTEwOCA0LjE0OTY3QzEwLjU2NzQgNC4yODc2MSAxMC42NzY1IDQuMzk3NjYgMTAuODE0MSA0LjQ1NTIyQzEwLjg4MjIgNC40ODM3NCAxMC45NTUzIDQuNDk4NTYgMTEuMDI5MiA0LjQ5ODgzQzExLjEwMzEgNC40OTkxIDExLjE3NjMgNC40ODQ4MiAxMS4yNDQ2IDQuNDU2OEMxMS4zMTMgNC40Mjg3OCAxMS4zNzUyIDQuMzg3NTcgMTEuNDI3NiA0LjMzNTUyQzExLjQ4IDQuMjgzNDggMTEuNTIxNyA0LjIyMTYxIDExLjU1MDIgNC4xNTM0N0MxMS41Nzg3IDQuMDg1MzIgMTEuNTkzNSA0LjAxMjIyIDExLjU5MzggMy45MzgzNUMxMS41OTQxIDMuODY0NDggMTEuNTc5OCAzLjc5MTI3IDExLjU1MTggMy43MjI5MkMxMS41NTE3IDMuNzIyODMgMTEuNTUxOCAzLjcyMzAxIDExLjU1MTggMy43MjI5MkMxMS40ODM0IDMuNTU2MzEgMTEuNDA3NyAzLjM5MzA2IDExLjMyNTEgMy4yMzQxM0MxMS4yOTc4IDMuMTgxNTYgMTEuMjY5NyAzLjEyOTQyIDExLjI0MDkgMy4wNzc3NVpNNi41NjI3NyAyLjgxMjQyQzYuNTYyNzcgMi42NjMyNCA2LjUwMzUxIDIuNTIwMTYgNi4zOTgwMiAyLjQxNDY3QzYuMzEyMSAyLjMyODc1IDYuMjAxMjQgMi4yNzM1IDYuMDgyNDYgMi4yNTU5NUM2LjA1NTQ4IDIuMjUxOTggNi4wMjc4NyAyLjI0OTkyIDYuMDAwMjcgMi4yNDk5MkM1Ljg1MTA5IDIuMjQ5OTIgNS43MDgwMSAyLjMwOTE4IDUuNjAyNTIgMi40MTQ2N0M1LjQ5NzA0IDIuNTIwMTYgNS40Mzc3NyAyLjY2MzI0IDUuNDM3NzcgMi44MTI0MlY1Ljc2NzQyTDMuOTEyNDUgNy4yOTJDMy45MDI3NSA3LjMwMTAzIDMuODkzMjIgNy4zMTA1NyAzLjg4NDIxIDcuMzIwMjNDMy44NDE4NyA3LjM2NTY3IDMuODA3MjkgNy40MTc4NyAzLjc4MTk0IDcuNDc0NzdDMy43NTExOSA3LjU0Mzc3IDMuNzM0NjYgNy42MTgyNSAzLjczMzMzIDcuNjkzNzhDMy43MzIgNy43NjkzMSAzLjc0NTg5IDcuODQ0MzMgMy43NzQxOCA3LjkxNDM3QzMuNzgwNTQgNy45MzAxMSAzLjc4NzU5IDcuOTQ1NTIgMy43OTUzMiA3Ljk2MDU3QzMuODIxOTYgOC4wMTI0OSAzLjg1NjU4IDguMDYwMDQgMy44OTc5OSA4LjEwMTQ1QzMuOTUxNDEgOC4xNTQ4NyA0LjAxNTAzIDguMTk2OTcgNC4wODUwNyA4LjIyNTI2QzQuMTU1MTIgOC4yNTM1NiA0LjIzMDE0IDguMjY3NDUgNC4zMDU2NiA4LjI2NjEyQzQuMzgxMTkgOC4yNjQ3OCA0LjQ1NTY4IDguMjQ4MjUgNC41MjQ2OCA4LjIxNzUxQzQuNTgxNTcgOC4xOTIxNiA0LjYzMzc3IDguMTU3NTcgNC42NzkyMSA4LjExNTI0QzQuNjg4ODEgOC4xMDYyOSA0LjY5ODExIDguMDk3IDQuNzA3MDggOC4wODczN0M0LjcwNzAyIDguMDg3NDQgNC43MDcxNSA4LjA4NzMxIDQuNzA3MDggOC4wODczN0w2LjU2Mjc3IDYuMjMyNDJWMi44MTI0MlpNOS45Mzc3NyA5LjE4NzQyQzkuOTM3NzcgOS4zMzY2MSA5Ljk5NzA0IDkuNDc5NjggMTAuMTAyNSA5LjU4NTE3QzEwLjIwOCA5LjY5MDY2IDEwLjM1MTEgOS43NDk5MiAxMC41MDAzIDkuNzQ5OTJDMTAuNjQzNyA5Ljc0OTkyIDEwLjc4MTUgOS42OTUxNCAxMC44ODU3IDkuNTk3MTZDMTAuODg5OCA5LjU5MzIzIDEwLjg5NCA5LjU4OTI0IDEwLjg5OCA5LjU4NTE3QzExLjAwMzUgOS40Nzk2OCAxMS4wNjI4IDkuMzM2NjEgMTEuMDYyOCA5LjE4NzQyVjcuNTQyMzRDMTAuODc3NyA3LjUxNDI2IDEwLjY4OTcgNy40OTk5MiAxMC41MDAzIDcuNDk5OTJDMTAuMzEwOCA3LjQ5OTkyIDEwLjEyMjggNy41MTQyNiA5LjkzNzc3IDcuNTQyMzRWOS4xODc0MlpNOS45Mzc3NyA3LjMyNjg2QzEwLjEyMTUgNy4zODYxMiAxMC4zMDk2IDcuNDMwMyAxMC41MDAzIDcuNDU5MDRDMTAuNjcxNCA3LjQ4NDgzIDEwLjg0NDUgNy40OTgxOCAxMS4wMTgzIDcuNDk4ODFDMTEuMDMzMSA3LjQ5ODg3IDExLjA0NzkgNy40OTg4MyAxMS4wNjI4IDcuNDk4N1Y2LjU2MjQyQzExLjA2MjggNi40OTAwOCAxMS4wNDg4IDYuNDE5MTcgMTEuMDIyNCA2LjM1MzI4QzEwLjk5NDQgNi4yODMzMSAxMC45NTI0IDYuMjE5MDEgMTAuODk4IDYuMTY0NjhDMTAuNzkyNSA2LjA1OTE5IDEwLjY0OTUgNS45OTk5MiAxMC41MDAzIDUuOTk5OTJDMTAuMzUxMSA1Ljk5OTkyIDEwLjIwOCA2LjA1OTE5IDEwLjEwMjUgNi4xNjQ2OEMxMC4xMDAzIDYuMTY2OTIgMTAuMDk4MSA2LjE2OTE3IDEwLjA5NTkgNi4xNzE0NUM5Ljk5NzcgNi4yNzI5OSA5Ljk0MTM1IDYuNDA3NzMgOS45Mzc5NCA2LjU0ODgyQzkuOTM3ODMgNi41NTMzNSA5LjkzNzc3IDYuNTU3ODggOS45Mzc3NyA2LjU2MjQyVjcuMzI2ODZaTTExLjI0ODggMTEuMjk2OEMxMS4yNDk4IDExLjI4MTMgMTEuMjUwMyAxMS4yNjU2IDExLjI1MDMgMTEuMjQ5OUMxMS4yNTAzIDExLjI0ODcgMTEuMjUwMyAxMS4yNDc1IDExLjI1MDMgMTEuMjQ2M0MxMS4yNDkzIDExLjA0ODcgMTEuMTcwNCAxMC44NTk0IDExLjAzMDYgMTAuNzE5NkMxMC44ODk5IDEwLjU3ODkgMTAuNjk5MiAxMC40OTk5IDEwLjUwMDMgMTAuNDk5OUMxMC4zMDE0IDEwLjQ5OTkgMTAuMTEwNiAxMC41Nzg5IDkuOTY5OTQgMTAuNzE5NkM5LjgyOTI5IDEwLjg2MDIgOS43NTAyNyAxMS4wNTEgOS43NTAyNyAxMS4yNDk5QzkuNzUwMjcgMTEuNDQ4OCA5LjgyOTI5IDExLjYzOTYgOS45Njk5NCAxMS43ODAzQzEwLjExMDYgMTEuOTIwOSAxMC4zMDE0IDExLjk5OTkgMTAuNTAwMyAxMS45OTk5QzEwLjY5OTIgMTEuOTk5OSAxMC44ODk5IDExLjkyMDkgMTEuMDMwNiAxMS43ODAzQzExLjE2MDIgMTEuNjUwNyAxMS4yMzc0IDExLjQ3ODYgMTEuMjQ4OCAxMS4yOTY4WlwiIGZpbGw9XCIjQjU0NzA4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzEwOTAxXzc3OTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPlBlbmRpbmcgVGFnZ2VkIEluZm88L3NwYW4+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ncmF5LXRhZ2dlZCBteC0zIG15LTJcIiAqbmdJZj1cInRhZ2dnZWREYXRhPy5yZXZvcHNUeXBlPT09J3B1cmNoYXNlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPk5hbWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXRpdGxlIFwiPnt7dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8ubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC12YWx1ZSBcIj5Mb2NhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdGl0bGUgXCI+e3t0YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5sb2NhdGlvbj90YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5sb2NhdGlvbjpcIi1cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC12YWx1ZSBcIj5Nb2JpbGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXRpdGxlIFwiPnt7dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8ubW9iaWxlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPkFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdGl0bGUgXCI+e3t0YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5hZ2U/dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8uYWdlOlwiLVwifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPkVtYWlsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC10aXRsZSBcIj57e3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmVtYWlsP3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmVtYWlsOlwiLVwifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPkdlbmRlcjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdGl0bGUgXCI+e3t0YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5nZW5kZXI/dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8uZ2VuZGVyOlwiLVwifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YWdnZ2VkRGF0YT8ucmV2b3BzVHlwZT09PSdtaXNzZWRPcHBvcnR1bml0eSdcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ncmF5LXRhZ2dlZCBteC0zIG15LTJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWdnZ2VkRGF0YS5pc3N1ZUxpc3RcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdmFsdWVcIj57e2l0ZW0ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBtcy0yXCIgKm5nRm9yPVwibGV0IGRhdGEgb2YgaXRlbS5pc3N1ZVwiPnt7ZGF0YX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWdyYXktdGFnZ2VkIG14LTMgbXktMlwiICpuZ0lmPVwidGFnZ2dlZERhdGE/LnJldm9wc1R5cGU9PT0nbm9uU2hvcHBlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXMtMlwiPnt7bm9uU2hvcGVyVHlwZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJteS0yXCI+PHNwYW4gY2xhc3M9XCJkZXNjLWlkXCI+T3JpZ2luYWwgSUQ8L3NwYW4+IDogPHNwYW4gY2xhc3M9XCJzcGVudC12YWx1ZTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1wiPnt7SW1hZ2VkYXRhPy50ZW1wSWR9fTwvc3Bhbj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICAqbmdJZj1cInRhZ2dnZWREYXRhPy5kZXNjcmlwdGlvbiYmdGFnZ2dlZERhdGE/LmRlc2NyaXB0aW9uIT09JydcIiBjbGFzcz1cIm15LTMgZGVzYy1pZFwiPnt7dGFnZ2dlZERhdGEuZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kb3VibGUgbS0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFnLWNsYXNzXCI+VGltZSBTcGVudDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsRGF0YVNob3cgIT09J3RyYWNraW5nLWVuYWJsZWQnXCIgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJvcmRlci1kb2J1bGUgcm91bmRlZCB3LTMzICBweS0zIHB4LTQgbWUtNiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BlbnQtdGl0bGVcIj57e0ltYWdlZGF0YT8udGltZVNwZW50Py50b3RhbFRpbWVTcGVudH19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXZhbHVlIG15LTFcIj5Ub3RhbCBUaW1lIFNwZW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheS0zMDAgYm9yZGVyLWRvYnVsZSByb3VuZGVkIHctMzMgIHB5LTMgcHgtNCBtZS02IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC10aXRsZVwiPnt7SW1hZ2VkYXRhPy50aW1lU3BlbnQ/LmVudHJ5VGltZX19ICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC12YWx1ZTEgbXktMSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJpbWFnZURhdGEoJ2VudHJ5JylcIj5FbnRyeSBUaW1lIDxzcGFuIGNsYXNzPVwibXMtMVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjMzMzMzIDE0SDEyLjY2NjdDMTMuNDAzIDE0IDE0IDEzLjQwMyAxNCAxMi42NjY3VjMuMzMzMzNDMTQgMi41OTY5NSAxMy40MDMgMiAxMi42NjY3IDJIMy4zMzMzM0MyLjU5Njk1IDIgMiAyLjU5Njk1IDIgMy4zMzMzM1YxMi42NjY3QzIgMTMuNDAzIDIuNTk2OTUgMTQgMy4zMzMzMyAxNFpNMy4zMzMzMyAxNEwxMC42NjY3IDYuNjY2NjdMMTQgMTBNNi42NjY2NyA1LjY2NjY3QzYuNjY2NjcgNi4yMTg5NSA2LjIxODk1IDYuNjY2NjcgNS42NjY2NyA2LjY2NjY3QzUuMTE0MzggNi42NjY2NyA0LjY2NjY3IDYuMjE4OTUgNC42NjY2NyA1LjY2NjY3QzQuNjY2NjcgNS4xMTQzOCA1LjExNDM4IDQuNjY2NjcgNS42NjY2NyA0LjY2NjY3QzYuMjE4OTUgNC42NjY2NyA2LjY2NjY3IDUuMTE0MzggNi42NjY2NyA1LjY2NjY3WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBib3JkZXItZG9idWxlIHJvdW5kZWQgdy0zMyAgcHktMyBweC00IG1lLTYgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXRpdGxlXCI+e3tJbWFnZWRhdGE/LnRpbWVTcGVudD8uZXhpdFRpbWV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC12YWx1ZTEgbXktMSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJpbWFnZURhdGEoJ2V4aXQnKVwiPkV4aXQgVGltZSA8c3BhbiBjbGFzcz1cIm1zLTFcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy4zMzMzMyAxNEgxMi42NjY3QzEzLjQwMyAxNCAxNCAxMy40MDMgMTQgMTIuNjY2N1YzLjMzMzMzQzE0IDIuNTk2OTUgMTMuNDAzIDIgMTIuNjY2NyAySDMuMzMzMzNDMi41OTY5NSAyIDIgMi41OTY5NSAyIDMuMzMzMzNWMTIuNjY2N0MyIDEzLjQwMyAyLjU5Njk1IDE0IDMuMzMzMzMgMTRaTTMuMzMzMzMgMTRMMTAuNjY2NyA2LjY2NjY3TDE0IDEwTTYuNjY2NjcgNS42NjY2N0M2LjY2NjY3IDYuMjE4OTUgNi4yMTg5NSA2LjY2NjY3IDUuNjY2NjcgNi42NjY2N0M1LjExNDM4IDYuNjY2NjcgNC42NjY2NyA2LjIxODk1IDQuNjY2NjcgNS42NjY2N0M0LjY2NjY3IDUuMTE0MzggNS4xMTQzOCA0LjY2NjY3IDUuNjY2NjcgNC42NjY2N0M2LjIxODk1IDQuNjY2NjcgNi42NjY2NyA1LjExNDM4IDYuNjY2NjcgNS42NjY2N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCJJbWFnZWRhdGE/LnpvbmVWaXNpdGVkJiZJbWFnZWRhdGE/LnpvbmVWaXNpdGVkLmxlbmd0aD4wXCIgY2xhc3M9XCJzZXBhcmF0b3Igc2VwYXJhdG9yLWRvdWJsZSBtLTNcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSW1hZ2VkYXRhPy56b25lVmlzaXRlZCYmSW1hZ2VkYXRhPy56b25lVmlzaXRlZC5sZW5ndGg+MFwiICBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhZy1jbGFzc1wiPlpvbmVzIFZpc2l0ZWQ8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cImgtMjAwcHggc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgbXQtMlwiICpuZ0Zvcj1cImxldCBvYmogb2YgSW1hZ2VkYXRhPy56b25lVmlzaXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IFwiPnt7b2JqfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkltYWdlZGF0YT8uem9uZVZpc2l0ZWQubGVuZ3RoID09PTBcIiBjbGFzcz1cImNvbC1tZC0xMiBtdC0yIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gWm9uZXMgVmlzaXRlZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgWm9uZXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3Igc2VwYXJhdG9yLWRvdWJsZSBtLTNcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxEYXRhU2hvdyAhPT0ndHJhY2tpbmctZW5hYmxlZCdcIiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhZy1jbGFzc1wiPlN0YWZmIEVuZ2FnZW1lbnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxEYXRhU2hvdyAhPT0ndHJhY2tpbmctZW5hYmxlZCdcIiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBib3JkZXItZG9idWxlIHJvdW5kZWQgdy00NSBweS0zIHB4LTQgbWUtNiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BlbnQtdGl0bGVcIj57e0ltYWdlZGF0YT8uc3RhZmZFbmdhZ2VtZW50LnRpbWVUYWtlblRvQXNzaXN0fX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BlbnQtdmFsdWUgbXktMVwiPlRpbWUgdGFrZW4gdG8gYXNzaXN0IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm1zLTFcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy4zMzMzMyAxNEgxMi42NjY3QzEzLjQwMyAxNCAxNCAxMy40MDMgMTQgMTIuNjY2N1YzLjMzMzMzQzE0IDIuNTk2OTUgMTMuNDAzIDIgMTIuNjY2NyAySDMuMzMzMzNDMi41OTY5NSAyIDIgMi41OTY5NSAyIDMuMzMzMzNWMTIuNjY2N0MyIDEzLjQwMyAyLjU5Njk1IDE0IDMuMzMzMzMgMTRaTTMuMzMzMzMgMTRMMTAuNjY2NyA2LjY2NjY3TDE0IDEwTTYuNjY2NjcgNS42NjY2N0M2LjY2NjY3IDYuMjE4OTUgNi4yMTg5NSA2LjY2NjY3IDUuNjY2NjcgNi42NjY2N0M1LjExNDM4IDYuNjY2NjcgNC42NjY2NyA2LjIxODk1IDQuNjY2NjcgNS42NjY2N0M0LjY2NjY3IDUuMTE0MzggNS4xMTQzOCA0LjY2NjY3IDUuNjY2NjcgNC42NjY2N0M2LjIxODk1IDQuNjY2NjcgNi42NjY2NyA1LjExNDM4IDYuNjY2NjcgNS42NjY2N1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJvcmRlci1kb2J1bGUgcm91bmRlZCB3LTQ1IHB5LTMgcHgtNCBtZS02IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC10aXRsZVwiPnt7SW1hZ2VkYXRhPy5zdGFmZkVuZ2FnZW1lbnQudGltZVNwZW50V2l0aFN0YWZmfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC12YWx1ZSBteS0xXCI+VGltZSBzcGVudCB3aXRoIHN0YWZmPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG48L3NlY3Rpb24+XHJcbjwvZGl2PiJdfQ==
838
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtZG9jL2ltYWdlLWRvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWRvYy9pbWFnZS1kb2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbkYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTnRFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQWV0QixNQUFNLE9BQU8saUJBQWlCO0lBMENsQjtJQUNEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFBOEI7SUE5Q2hCLFNBQVMsQ0FBNkI7SUFDOUQsV0FBVyxHQUFR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SSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7b0JBQ3RFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO29CQUVyQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7aUJBQ1Q7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBSU4sQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO3dHQXAxQlUsaUJBQWlCOzRGQUFqQixpQkFBaUIsNkpDeEI5QiwrbnhHQTY3QkE7OzRGRHI2QmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7aVFBS0QsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFmZmljU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYWZmaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEltYWdlRG9jVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2ltYWdlLWRvYy12aWV3L2ltYWdlLWRvYy12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lbic7XHJcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XHJcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRHVwbGljYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZHVwbGljYXRlL2R1cGxpY2F0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgTmd4R3BBdXRvY29tcGxldGVEaXJlY3RpdmUgfSBmcm9tIFwiQGFuZ3VsYXItbWFnaWMvbmd4LWdwLWF1dG9jb21wbGV0ZS9saWIvbmd4LWdwLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgSW1nUnZwc0NvbXBvbmVudCB9IGZyb20gJy4uL2ltZy1ydnBzL2ltZy1ydnBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYWZmaWNSdnBzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYWZmaWMtcnZwcy5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLWltYWdlLWRvY1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2UtZG9jLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9pbWFnZS1kb2MuY29tcG9uZW50LnNjc3NcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlRG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJuZ3hQbGFjZXNcIikgcGxhY2VzUmVmOiBOZ3hHcEF1dG9jb21wbGV0ZURpcmVjdGl2ZTtcclxuICBzZWxlY3RJbmRleDogYW55ID0gMDtcclxuICBzZWxlY3RlZFRpbWU6IGFueTtcclxuICBvYmpEYXRhOiBhbnk7XHJcbiAgb2JqZWN0c0FycmF5OiBhbnkgPSBbXTtcclxuICBpbWFnZXNBcnJheURhdGE6IGFueTtcclxuICBwcm9jZXNzVHlwZSA9IFwiZm9vdGZhbGxcIjtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgZm9sZGVyVmlldzogYm9vbGVhbjtcclxuICBkYXlqcyA9IGRheWpzXHJcbiAgZGF0ZUFycmF5OiBhbnk7XHJcbiAgZm9ybTogYW55O1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHN0b3JlQXJyYXlWYWx1ZTogYW55O1xyXG4gIHN0b3JlSWRhcnJheTogYW55O1xyXG4gIHZhbHVlVHlwZTogYW55ID0gJ2FjdHVhbCc7XHJcbiAgaXNBdmVyYWdlOiBhbnkgPSBmYWxzZTtcclxuICBsZW5ndGhWYWx1ZTogYm9vbGVhbjtcclxuICBoaWRlRG9jOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNBY2NvcmRpb25FeHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgZm9sZGVyRGF0ZTogYW55O1xyXG4gIGJhY2tuYXY6IGJvb2xlYW47XHJcbiAgdXNlckZvcm06IEZvcm1Hcm91cDtcclxuICBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBtaXNzZWRPcHBvcnR1bml0eUxpc3Q6IGFueSA9IFtdXHJcbiAgcGhvbmVSZWdleDogUmVnRXhwID0gL14oXFxkezN9KT9cXGR7MTV9JC87XHJcbiAgZW1haWxSZWdleDogUmVnRXhwID0gL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC87XHJcbiAgbm9uU2hvcHBlckxpc3QgPSBbJ0VtcGxveWVlL1N0YWZmJywgJ0RlbGl2ZXJ5IFBlcnNvbicsICdEdXBsaWNhdGUnLCAnQWdlbnRzJywgJ090aGVycyddO1xyXG4gIC8vIG1pc3NlZE9wcG9ydHVuaXR5TGlzdCA9WydQcm9kdWN0IE5lZWQgTWlzbWF0Y2gnLCdQcm9kdWN0IFVuYXZhaWxhYmlsaXR5JywnUHJvZHVjdCBEYW1hZ2VkJywnUHJvZHVjdCBFbnF1aXJ5JywnUXVhbGl0eSddO1xyXG4gIHNlbGVjdGVkTWlzc2VkOiBhbnkgPSAnUHJvZHVjdCBJc3N1ZSc7XHJcbiAgaXNzdWVzOiBhbnkgPSBbXVxyXG4gIG5vblNob3BlclR5cGU6IGFueSA9ICcnXHJcbiAgZGVzY3JpcHRpb246IGFueSA9ICcnXHJcbiAgc2VsZWN0ZWRJc3N1ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgc2VsZWN0ZWRNYWluSXNzdWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHRhZ2dnZWREYXRhOiBhbnkgPSB7fVxyXG4gIG1pc3NlZG9wdHVuaXR5UmVhc29uOiBhbnkgPSBbXVxyXG4gIGNvdW50cnlMaXN0OiBhbnkgPSBbXVxyXG4gIHBlbmRpbmdjb3VudDogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBUcmFmZmljU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdG9hc3RlcjogVG9hc3RTZXJ2aWNlLHByaXZhdGUgcnZwc1NlcnZpY2U6VHJhZmZpY1J2cHNTZXJ2aWNlLFxyXG4gICkge1xyXG5cclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnKSAvLyBJbml0aWFsaXplIGFzIEZvcm1Db250cm9sXHJcbiAgICB9KTtcclxuXHJcblxyXG4gIH1cclxuICBpbml0dXNlckZvcm0oKSB7XHJcbiAgICB0aGlzLnVzZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIG1vYmlsZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTMpLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSxdXSxcclxuICAgICAgZW1haWw6IFsnJywgW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihcIl5bYS16QS1aMC05XSsoWy4tX10/W2EtekEtWjAtOV0rKSpAW2EtekEtWjAtOV0rKFsuLV9dP1thLXpBLVpdKykqWy5dezF9W2EtekEtWl17Mix9JFwiKSxcclxuICAgICAgXSxdLFxyXG4gICAgICBsb2NhdGlvbjogW10sXHJcbiAgICAgIGFnZTogW10sXHJcbiAgICAgIGdlbmRlcjogW10sXHJcbiAgICAgIGNvdW50cnlDb2RlOiBbXCI5MVwiLF0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldENvdW50cnlDb2RlcygpXHJcbiAgICB0aGlzLmluaXR1c2VyRm9ybSgpXHJcbiAgICB0aGlzLmdldEluaXRhbCgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGlkZURvYyA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVEb2MgPSB0cnVlO1xyXG4gICAgICB9LCA1MDAwKTtcclxuXHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcbiAgZ2V0Q291bnRyeUNvZGVzKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSByZXMuZGF0YVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBrO1xyXG4gICAgayA9IGV2ZW50LmNoYXJDb2RlO1xyXG4gICAgcmV0dXJuIGsgPT0gOCB8fCBrID09IDMyIHx8IChrID49IDQ4ICYmIGsgPD0gNTcpO1xyXG4gIH1cclxuXHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIGdldCBmKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG4gIGdldEluaXRhbCgpIHtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEgIT09IG51bGwgfHwgZGF0YT8uY2xpZW50ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUlkYXJyYXkgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICAgIHRoaXMub2JqRGF0YSA9IHtcclxuICAgICAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXNcclxuICAgICAgICAgICAgICAuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKVxyXG4gICAgICAgICAgICAgIC5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICAgICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQsXHJcbiAgICAgICAgICAgIHByb2Nlc3NUeXBlOiB0aGlzLnByb2Nlc3NUeXBlLFxyXG4gICAgICAgICAgICBmb290ZmFsbERhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgICAgICAgIC8vIHZhbHVlVHlwZSA6dGhpcy52YWx1ZVR5cGVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2xpZW50RGF0YTogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIpIHx8IFwie31cIik7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpZW50RGF0YSA9IGNsaWVudERhdGFcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5jbGllbnREYXRhKVxyXG5cclxuICAgICAgICAgICAgY29uc3QgbGltaXQgPSBjbGllbnREYXRhPy5ib3VuY2VkTGltaXQ/LnZhbHVlID8/IGNsaWVudERhdGE/LmJvdW5jZWRMaW1pdFZhbHVlID8/ICcnO1xyXG4gICAgICAgICAgICBjb25zdCBjb252ID0gY2xpZW50RGF0YT8uY29udmVyc2lvbj8udmFsdWUgPz8gY2xpZW50RGF0YT8uY29udmVyc2lvblZhbHVlID8/ICcnO1xyXG4gICAgICAgICAgICBpZiAoY2xpZW50RGF0YS5pc0Zvb3RmYWxsVmlldykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGF0YXNldHMgPSBbXHJcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmhlYWRlckRhdGEuY2xpZW50ID09PSAnNDUyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0cyA9IFtcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2Zvb3RmYWxsJywgbGFiZWw6ICdGb290ZmFsbCcgfSxcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogYExlc3MgdGhhbiAke2xpbWl0fSBtaW5zYCB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiBgTW9yZSB0aGFuICR7bGltaXR9IG1pbnNgIH0sXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdtaXNzZWRPcHBvcnR1bml0eScsIGxhYmVsOiBgJHtsaW1pdH0gLSAke2NvbnZ9IG1pbnNgIH0sXHJcbiAgICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6IGBNb3JlIHRoYW4gJHtjb252fSBtaW5zYCB9XHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRzID0gW1xyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnYm91bmNlZCcsIGxhYmVsOiAnQm91bmNlZCBGb290ZmFsbCcgfSxcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2VuZ2FnZXInLCBsYWJlbDogJ0VuZ2FnZXJzJyB9LFxyXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogJ01pc3NlZCBPcHBvcnR1bml0eScgfSxcclxuICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gdGhpcy5nZXRJbml0aWFsVmFsdWUoKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RDb250cm9sKSB7XHJcbiAgICAgICAgICAgICAgc2VsZWN0Q29udHJvbC5zZXRWYWx1ZShpbml0aWFsVmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAxMDApXHJcbiAgICAgICAgICB0aGlzLmJhY2tUb0Zvb3RmYWxsKCk7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlEYXRlUmFuZ2UoKTtcclxuICAgICAgICAgIGlmICh0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSA9PT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFja25hdiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlEYXRlUmFuZ2UoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRpbWFnZXMoMCwgdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9sZGVyVmlldyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYmFja25hdiA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbERhdGEoKTtcclxuICAgICAgICAgIHRoaXMuaW5pdGlhbEZvb3RmYWxsKCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb290ZmFsbERhdGFTaG93OiBhbnk7XHJcbiAgaW5pdGlhbEZvb3RmYWxsKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldFN0b3JlRm9vdGZhbGwodGhpcy5zdG9yZUlkYXJyYXkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxEYXRhU2hvdyA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxEYXRhU2hvdyA9IFtdXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbERhdGFTaG93ID0gW11cclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIGluaXRpYWxEYXRhKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldHJldm9wY29uZmlnKHRoaXMuaGVhZGVyRGF0YS5jbGllbnQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWlzc2VkT3Bwb3J0dW5pdHlMaXN0ID0gcmVzLmRhdGEuaXNzdWVMaXN0XHJcbiAgICAgICAgICAgIHRoaXMuaXNzdWVzID0gdGhpcy5taXNzZWRPcHBvcnR1bml0eUxpc3QuZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEubmFtZSA9PT0gdGhpcy5zZWxlY3RlZE1pc3NlZClcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICB9XHJcbiAgdG9nZ2xlQWNjb3JkaW9uKCkge1xyXG4gICAgdGhpcy5pc0FjY29yZGlvbkV4cGFuZGVkID0gIXRoaXMuaXNBY2NvcmRpb25FeHBhbmRlZDtcclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBnZXRJbWFnZUZvbGRlcigpIHtcclxuXHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhLmZvbGRlck5hbWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldEZvb3RmYWxsRGlyZWN0b3J5Rm9sZGVycyh0aGlzLm9iakRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0c0FycmF5ID0gcmVzPy5kYXRhLmZvb3RmYWxsRGF0YTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB0aGlzLm9iamVjdHNBcnJheVswXS5mb2xkZXJOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEuZm9sZGVyTmFtZSA9IHRoaXMuc2VsZWN0ZWRUaW1lO1xyXG4gICAgICAgICAgICB0aGlzLmxlbmd0aFZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5nZXRJbWFnZVZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxlbmd0aFZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0c0FycmF5ID0gW11cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHsgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldEltYWdlVmlldygpIHtcclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm9iakRhdGEpXHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0Rm9vdGZhbGxEaXJlY3RvcnkodGhpcy5vYmpEYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBpZiAoIXJlcz8uZGF0YS5mb290ZmFsbERhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW1hZ2VzQXJyYXlEYXRhID0gcmVzPy5kYXRhLmZvb3RmYWxsRGF0YTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZUFycmF5VmFsdWUgPSByZXM/LmRhdGEuc3RvcmVOYW1lXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuXHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4geyB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbm9ybWFsaXplOiBhbnlcclxuICBzZWxlY3RlZFRhYnMobmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWlzc2VkID0gbmFtZTtcclxuICAgIC8vIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXTsgLy8gcmVzZXQgd2hlbiBzd2l0Y2hpbmcgdGFic1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0U3ViaXNzdWUob2JqOiBhbnksIGlzc3VlOiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJc3N1ZXMuaW5kZXhPZihpc3N1ZSk7XHJcbiAgICBjb25zdCBtYWluaW5kZXggPSB0aGlzLnNlbGVjdGVkTWFpbklzc3Vlcy5pbmRleE9mKG9iai5uYW1lKTtcclxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcclxuICAgICAgbGV0IGV4aXRzQ291bnQgPSB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uLmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhLm5hbWUgPT09IG9iai5uYW1lKS5sZW5ndGhcclxuICAgICAgaWYgKGV4aXRzQ291bnQgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbi5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEubmFtZSA9PT0gb2JqLm5hbWUpIHtcclxuICAgICAgICAgICAgZGF0YS5pc3N1ZS5wdXNoKGlzc3VlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbi5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IG9iai5uYW1lLFxyXG4gICAgICAgICAgaXNzdWU6IFtpc3N1ZV1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYWluSXNzdWVzLnB1c2gob2JqLm5hbWUpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMucHVzaChpc3N1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYWluSXNzdWVzLnNwbGljZShtYWluaW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uLm1hcCgoZGF0YTogYW55LCBpOiBudW1iZXIpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5uYW1lID09PSBvYmoubmFtZSkge1xyXG4gICAgICAgICAgY29uc3Qgc3ViSW5kZXggPSBkYXRhLmlzc3VlLmluZGV4T2YoaXNzdWUpO1xyXG4gICAgICAgICAgaWYgKHN1YkluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICBkYXRhLmlzc3VlLnNwbGljZShzdWJJbmRleCwgMSk7XHJcbiAgICAgICAgICAgIGlmIChkYXRhLmlzc3VlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubWlzc2Vkb3B0dW5pdHlSZWFzb24uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIGdldGltYWdlcyhpbmRleDogYW55LCBvYmo6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RJbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5mb2xkZXJEYXRlID0gb2JqO1xyXG4gICAgKHRoaXMub2JqRGF0YS5mb290ZmFsbERhdGUgPSBvYmopLCAodGhpcy5mb2xkZXJWaWV3ID0gZmFsc2UpO1xyXG4gICAgdGhpcy5zZXJ2aWNlPy5pc25vcm1hbGl6ZVNvdXJjZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgPy5zdWJzY3JpYmUoKG5vcm1hbGl6ZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3JtYWxpemUgPSBub3JtYWxpemU7XHJcbiAgICAgICAgaWYgKCFub3JtYWxpemUpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0SW1hZ2VGb2xkZXIoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sZW5ndGhWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLm9iamVjdHNBcnJheSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGJhY2tUb0Zvb3RmYWxsKCkge1xyXG4gICAgdGhpcy5zZWxlY3RJbmRleCA9IDA7XHJcbiAgICB0aGlzLmZvbGRlclZpZXcgPSB0cnVlO1xyXG5cclxuICB9XHJcbiAgc2VsZWN0ZWRUaW1lcyh2YWw6IGFueSkge1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gdmFsO1xyXG4gICAgdGhpcy5vYmpEYXRhLmZvbGRlck5hbWUgPSB2YWw7XHJcbiAgICB0aGlzLmZvbGRlclZpZXcgPSBmYWxzZTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VWaWV3KCk7XHJcbiAgfVxyXG4gIEltYWdlZGF0YTogYW55O1xyXG4gIGltYWdlRmxvdyA9IGZhbHNlO1xyXG4gIEltYWdlczogYW55O1xyXG5cclxuICByZXZvcFRhZ2dpbmcob2JqOiBhbnkpIHtcclxuICAgIHRoaXMuaW1hZ2VGbG93ID0gdHJ1ZTtcclxuICAgIHRoaXMuSW1hZ2VkYXRhID0gb2JqO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9ICd0YWdnZWQnO1xyXG4gICAgdGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSA9IHRoaXMuSW1hZ2VkYXRhPy5yZXZvcHNUeXBlID8gdGhpcy5JbWFnZWRhdGE/LnJldm9wc1R5cGUgOiAnbm9uU2hvcHBlcic7XHJcbiAgICB0aGlzLkltYWdlcyA9IHRoaXMuSW1hZ2VkYXRhPy5pbWFnZXM/LmVudHJ5VGltZUltYWdlXHJcbiAgICB0aGlzLmdldFJldm9wRGF0YSgpXHJcbiAgfVxyXG4gIGdldFJldm9wRGF0YSgpIHtcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlbMF0sXHJcbiAgICAgIGRhdGVTdHJpbmc6IHRoaXMuZm9sZGVyRGF0ZSxcclxuICAgICAgdGVtcElkOiB0aGlzLkltYWdlZGF0YS50ZW1wSWQsXHJcbiAgICAgIHByb2Nlc3NUeXBlOiB0aGlzLkltYWdlZGF0YT8ucmV2b3BzVHlwZSA/IHRoaXMuSW1hZ2VkYXRhPy5yZXZvcHNUeXBlIDogdGhpcy5wcm9jZXNzVHlwZVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmdldHJldm9wdGFnZ2luZyhwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSAnY3VzdG9tZXInXHJcbiAgICAgICAgICAgIHRoaXMudGFnZ2dlZERhdGEgPSByZXMuZGF0YVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID0gcmVzLmRhdGEucmV2b3BzVHlwZVxyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gcmVzLmRhdGEuZGVzY3JpcHRpb25cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KCdzZWxlY3RWYWx1ZScpIGFzIEZvcm1Db250cm9sO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0Q29udHJvbCkge1xyXG4gICAgICAgICAgICAgIHNlbGVjdENvbnRyb2wuc2V0VmFsdWUocmVzLmRhdGEucmV2b3BzVHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID09PSAnbm9uU2hvcHBlcicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gW107XHJcbiAgICAgICAgICAgICAgdGhpcy5ub25TaG9wZXJUeXBlID0gcmVzLmRhdGEubm9uc2hvcGVyVHlwZVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCduYW1lJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ21vYmlsZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdlbWFpbCcpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdsb2NhdGlvbicpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdhZ2UnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZ2VuZGVyJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSA9PT0gJ3B1cmNoYXNlcicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gW107XHJcbiAgICAgICAgICAgICAgdGhpcy5ub25TaG9wZXJUeXBlID0gJydcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbmFtZScpPy5zZXRWYWx1ZShyZXMuZGF0YS5jdXN0b21lckluZm8ubmFtZSlcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbW9iaWxlJyk/LnNldFZhbHVlKHJlcy5kYXRhLmN1c3RvbWVySW5mby5tb2JpbGUpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnNldFZhbHVlKHJlcy5kYXRhLmN1c3RvbWVySW5mby5jb3VudHJ5Q29kZSlcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZW1haWwnKT8uc2V0VmFsdWUocmVzLmRhdGEuY3VzdG9tZXJJbmZvLmVtYWlsKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdsb2NhdGlvbicpPy5zZXRWYWx1ZShyZXMuZGF0YS5jdXN0b21lckluZm8ubG9jYXRpb24pXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy5zZXRWYWx1ZShyZXMuZGF0YS5jdXN0b21lckluZm8uYWdlKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdnZW5kZXInKT8uc2V0VmFsdWUocmVzLmRhdGEuY3VzdG9tZXJJbmZvLmdlbmRlcilcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkQ3VzdG9tZXJUeXBlID09PSAnbWlzc2VkT3Bwb3J0dW5pdHknKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbiA9IHJlcy5kYXRhLmlzc3VlTGlzdFxyXG4gICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG4gICAgICAgICAgICAgIHJlcy5kYXRhLmlzc3VlTGlzdC5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlcyA9IFsuLi50aGlzLnNlbGVjdGVkSXNzdWVzLCAuLi5kYXRhLmlzc3VlXVxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgdGhpcy5ub25TaG9wZXJUeXBlID0gJydcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbmFtZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdtb2JpbGUnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnY291bnRyeUNvZGUnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZW1haWwnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbG9jYXRpb24nKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnYWdlJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2dlbmRlcicpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKCFyZXMgfHwgcmVzPy5jb2RlID09PSAyMDQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKFwiZm9vdGZhbGxcIik7XHJcbiAgICAgICAgICAgIHRoaXMubm9uU2hvcGVyVHlwZSA9ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gJydcclxuICAgICAgICAgICAgdGhpcy50YWdnZ2VkRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbmFtZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbW9iaWxlJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnZW1haWwnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2xvY2F0aW9uJyk/LnNldFZhbHVlKFwiXCIpXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZvcm0uZ2V0KCdhZ2UnKT8uc2V0VmFsdWUoXCJcIilcclxuICAgICAgICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2dlbmRlcicpPy5zZXRWYWx1ZShcIlwiKVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZShcImZvb3RmYWxsXCIpO1xyXG4gICAgICAgICAgdGhpcy50YWdnZ2VkRGF0YSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZUFkZHJlc3NDaGFuZ2UocGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdCB8IGFueSkge1xyXG4gICAgaWYgKHBsYWNlLmdlb21ldHJ5KSB7XHJcbiAgICAgIGxldCBjb3VudHJ5ID0gXCJcIiwgY2l0eSA9IFwiXCIsIHN0YXRlID0gXCJcIiwgcGluY29kZSA9IFwiXCI7XHJcbiAgICAgIGxldCBsYXRpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpO1xyXG4gICAgICBsZXQgbG9uZ2l0dWRlID0gcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24ubG5nKCk7XHJcbiAgICAgIHBsYWNlLmFkZHJlc3NfY29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChjb21wb25lbnQudHlwZXMuaW5jbHVkZXMoXCJjb3VudHJ5XCIpKSB7XHJcbiAgICAgICAgICBjb3VudHJ5ID0gY29tcG9uZW50LmxvbmdfbmFtZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNvbXBvbmVudC50eXBlcy5pbmNsdWRlcyhcImxvY2FsaXR5XCIpKSB7XHJcbiAgICAgICAgICBjaXR5ID0gY29tcG9uZW50LmxvbmdfbmFtZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNvbXBvbmVudC50eXBlcy5pbmNsdWRlcyhcImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMVwiKSkge1xyXG4gICAgICAgICAgc3RhdGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50LnR5cGVzLmluY2x1ZGVzKFwicG9zdGFsX2NvZGVcIikpIHtcclxuICAgICAgICAgIHBpbmNvZGUgPSBjb21wb25lbnQubG9uZ19uYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVzZXJGb3JtLmdldCgnbG9jYXRpb24nKT8uc2V0VmFsdWUoY2l0eSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rub25TaG9wZXIoZGF0YTogYW55KSB7XHJcbiAgICBsZXQgaW5wdXREYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlbMF0sXHJcbiAgICAgIGRhdGVTdHJpbmc6IHRoaXMuZm9sZGVyRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAucmV2b3B0YWdnaW5nY291bnQoaW5wdXREYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmNvdW50IDw9IDAgJiYgdGhpcy50YWdnZ2VkRGF0YS5yZXZvcHNUeXBlICE9ICdub25TaG9wcGVyJykge1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KFwiVGFnIGxpbWl0IHJlYWNoZWQhIFRyeSB0YWdnaW5nIHVuZGVyIGRpZmZlcmVudCBjYXRlZ29yaWVzXCIpXHJcbiAgICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub25TaG9wZXJUeXBlID0gZGF0YVxyXG4gICAgICAgICAgICAgIGlmIChkYXRhID09PSAnRHVwbGljYXRlJykge1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50YWdnZ2VkRGF0YS5ub25zaG9wZXJUeXBlLCB0aGlzLkltYWdlZGF0YS50ZW1wSWQsIHRoaXMudGFnZ2dlZERhdGEudGVtcElkKVxyXG4gICAgICAgICAgICAgICAgbGV0IG9yaWdpbmFsRGF0YSA9IFtdXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnRhZ2dnZWREYXRhLm5vbnNob3BlclR5cGUgIT0gJ0R1cGxpY2F0ZScmJnRoaXMudGFnZ2dlZERhdGEucmV2b3BzVHlwZT09PSdub25TaG9wcGVyJyl7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbERhdGEucHVzaCh7IHRlbXBJZDogdGhpcy50YWdnZ2VkRGF0YT8udGVtcElkLCBzZWxlY3RlZFRpbWU6IHRoaXMuc2VsZWN0ZWRUaW1lIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRHVwbGljYXRlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICBzaXplOiBcInhsXCIsXHJcbiAgICAgICAgICAgICAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgIGJhY2tkcm9wOiAnc3RhdGljJ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zZWxlY3RlZFRlbXBJZCA9IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZDtcclxuICAgICAgICAgICAgICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLm9yaWdpbmFsRGF0YSA9IG9yaWdpbmFsRGF0YTtcclxuICAgICAgICAgICAgICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmFscmVhZHlUYWdnZWQgPSB0aGlzLkltYWdlZGF0YT8udGVtcElkID09PSB0aGlzLnRhZ2dnZWREYXRhPy50ZW1wSWQgJiYgdGhpcy50YWdnZ2VkRGF0YT8ubm9uc2hvcGVyVHlwZSA9PT0gJ0R1cGxpY2F0ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuaW5wdXREYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICBcInN0b3JlSWRcIjogdGhpcy5zdG9yZUlkYXJyYXksXHJcbiAgICAgICAgICAgICAgICAgIFwiY2xpZW50SWRcIjogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgXCJwcm9jZXNzVHlwZVwiOiB0aGlzLnByb2Nlc3NUeXBlLFxyXG4gICAgICAgICAgICAgICAgICBcImZvb3RmYWxsRGF0ZVwiOiB0aGlzLmZvbGRlckRhdGUsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9sZGVyTmFtZVwiOiB0aGlzLnNlbGVjdGVkVGltZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFJldm9wRGF0YSgpXHJcbiAgICAgICAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgaW1hZ2VWaWV3KG9iajogYW55LCBmb290ZmFsbERhdGU6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihJbWFnZURvY1ZpZXdDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwieGxcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuSW1hZ2VkYXRhID0gb2JqO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UucHJvY2Vzc1R5cGUgPSB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGU7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5mb290ZmFsbERhdGUgPSBmb290ZmFsbERhdGU7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZU5hbWUgPSB0aGlzLnN0b3JlQXJyYXlWYWx1ZTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuaGVhZGVyRGF0YSA9IHRoaXMuaGVhZGVyRGF0YTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmltYWdlQXJyYXkgPSB0aGlzLm9iamVjdHNBcnJheTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmZvbGRlck5hbWUgPSB0aGlzLm9iakRhdGEuZm9sZGVyTmFtZVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudHJhY2tlciA9IHRoaXMuZm9vdGZhbGxEYXRhU2hvdztcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQ6IGFueSkgPT4geyB9KTtcclxuICAgIC8vIG1vZGFsUmVmLmRpc21pc3MoJ0NsaWNrIG91dHNpZGUnKTtcclxuICB9XHJcblxyXG4gIGdldERhdGVSYW5nZUFycmF5KGZyb21EYXRlOiBzdHJpbmcsIHRvRGF0ZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShmcm9tRGF0ZSk7IC8vIENvbnZlcnQgc3RyaW5nIHRvIERhdGUgb2JqZWN0XHJcbiAgICBjb25zdCBlbmQgPSBuZXcgRGF0ZSh0b0RhdGUpOyAvLyBDb252ZXJ0IHN0cmluZyB0byBEYXRlIG9iamVjdFxyXG4gICAgY29uc3QgZGF0ZUFycmF5OiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlcyBhcmUgdmFsaWRcclxuICAgIGlmIChpc05hTihzdGFydC5nZXRUaW1lKCkpIHx8IGlzTmFOKGVuZC5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHJldHVybiBkYXRlQXJyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTG9vcCBmcm9tIHN0YXJ0IGRhdGUgdG8gZW5kIGRhdGVcclxuICAgIGxldCBjdXJyZW50RGF0ZSA9IHN0YXJ0O1xyXG4gICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZCkge1xyXG4gICAgICBkYXRlQXJyYXkucHVzaChjdXJyZW50RGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXSk7IC8vIEZvcm1hdCBZWVlZLU1NLUREXHJcbiAgICAgIGN1cnJlbnREYXRlLnNldERhdGUoY3VycmVudERhdGUuZ2V0RGF0ZSgpICsgMSk7IC8vIEluY3JlbWVudCB0aGUgZGF0ZSBieSAxIGRheVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlQXJyYXk7XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgdG8gZGlzcGxheSBvciBsb2cgdGhlIGRhdGUgcmFuZ2UgYXJyYXlcclxuICBkaXNwbGF5RGF0ZVJhbmdlKCkge1xyXG4gICAgY29uc3QgZGF0ZXMgPSB0aGlzLmdldERhdGVSYW5nZUFycmF5KFxyXG4gICAgICB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGVcclxuICAgICk7XHJcbiAgICB0aGlzLmRhdGVBcnJheSA9IGRhdGVzO1xyXG4gIH1cclxuICBkYXRhc2V0cyA9IFtcclxuICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnYm91bmNlZCcsIGxhYmVsOiAnQm91bmNlZCBGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdlbmdhZ2VyJywgbGFiZWw6ICdFbmdhZ2VycycgfSxcclxuICAgIHsgdmFsdWU6ICdtaXNzZWRPcHBvcnR1bml0eScsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICBdO1xyXG4gIGdldEluaXRpYWxWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gRm9yIGV4YW1wbGUsIHNlbGVjdGluZyB0aGUgc2Vjb25kIGl0ZW0gaW4gdGhlIGRhdGFzZXRcclxuICAgIHJldHVybiB0aGlzLmRhdGFzZXRzWzBdLnZhbHVlOyAvLyBDaGFuZ2UgYXMgbmVlZGVkXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2Uoc2VsZWN0ZWRJZDogYW55KSB7XHJcbiAgICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSBzZWxlY3RlZElkLFxyXG4gICAgICB0aGlzLmdldEltYWdlRm9sZGVyKCk7XHJcbiAgfVxyXG4gIGdldCBzZWxlY3RDb250cm9sKCk6IEZvcm1Db250cm9sIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdzZWxlY3RWYWx1ZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuICBjbG9zZURhdGEoKSB7XHJcbiAgICB0aGlzLmhpZGVEb2MgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYmFja1RvVmlldygpIHtcclxuICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZShcImZvb3RmYWxsXCIpO1xyXG4gICAgdGhpcy5pbWFnZUZsb3cgPSBmYWxzZTtcclxuICAgIHRoaXMub2JqRGF0YS5mb2xkZXJOYW1lID0gdGhpcy5zZWxlY3RlZFRpbWU7XHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkVGltZXModGhpcy5zZWxlY3RlZFRpbWUpO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5vYmpEYXRhKVxyXG4gICAgLy8gdGhpcy5zZXJ2aWNlXHJcbiAgICAvLyAgIC5nZXRGb290ZmFsbERpcmVjdG9yeSh0aGlzLm9iakRhdGEpXHJcbiAgICAvLyAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgIC8vICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgLy8gICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAvLyAgICAgICAgIGlmICghcmVzPy5kYXRhLmZvb3RmYWxsRGF0YS5sZW5ndGgpIHtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIC8vICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAvLyAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgICAgdGhpcy5pbWFnZXNBcnJheURhdGEgPSByZXM/LmRhdGEuZm9vdGZhbGxEYXRhO1xyXG5cclxuICAgIC8vICAgICAgICAgICB0aGlzLnN0b3JlQXJyYXlWYWx1ZSA9IHJlcz8uZGF0YS5zdG9yZU5hbWVcclxuICAgIC8vICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIC8vICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuXHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgLy8gICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAvLyAgICAgICB9XHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIGNvbXBsZXRlOiAoKSA9PiB7IH0sXHJcbiAgICAvLyAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGltYWdlRGF0YSh0eXBlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlID09PSAnZW50cnknKSB7XHJcbiAgICAgIHRoaXMuSW1hZ2VzID0gdGhpcy5JbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2V4aXQnKSB7XHJcbiAgICAgIHRoaXMuSW1hZ2VzID0gdGhpcy5JbWFnZWRhdGE/LmltYWdlcz8uZXhpdFRpbWVJbWFnZVxyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3RhZmYnKSB7XHJcbiAgICAgIHRoaXMuSW1hZ2VzID0gdGhpcy5JbWFnZWRhdGE/LmltYWdlcz8uc3RhZmZFbmdhZ2VtZW50SW1hZ2VcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIGlzRmlyc3RJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbWFnZXNBcnJheURhdGEuZmluZEluZGV4KChkYXRhOiBhbnkpID0+IGRhdGEudGVtcElkID09PSB0aGlzLkltYWdlZGF0YT8udGVtcElkKTtcclxuICAgIHJldHVybiBpbmRleCA8PSAwO1xyXG4gIH1cclxuXHJcbiAgaXNMYXN0SW1hZ2UoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaW1hZ2VzQXJyYXlEYXRhLmZpbmRJbmRleCgoZGF0YTogYW55KSA9PiBkYXRhLnRlbXBJZCA9PT0gdGhpcy5JbWFnZWRhdGE/LnRlbXBJZCk7XHJcbiAgICByZXR1cm4gaW5kZXggPj0gdGhpcy5pbWFnZXNBcnJheURhdGEubGVuZ3RoIC0gMTtcclxuICB9XHJcblxyXG4gIHByZXZpb3VzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZElzc3VlcyA9IFtdXHJcbiAgICB0aGlzLm1pc3NlZG9wdHVuaXR5UmVhc29uID0gW11cclxuICAgIHRoaXMuc2VsZWN0ZWRNaXNzZWQgPSAnUHJvZHVjdCBJc3N1ZSdcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbWFnZXNBcnJheURhdGEuZmluZEluZGV4KChkYXRhOiBhbnkpID0+IGRhdGEudGVtcElkID09PSB0aGlzLkltYWdlZGF0YS50ZW1wSWQpO1xyXG4gICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICB0aGlzLkltYWdlZGF0YSA9IHRoaXMuaW1hZ2VzQXJyYXlEYXRhW2luZGV4IC0gMV07XHJcbiAgICAgIGlmICh0aGlzLkltYWdlZGF0YSkge1xyXG4gICAgICAgIHRoaXMucmV2b3BUYWdnaW5nKHRoaXMuSW1hZ2VkYXRhKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkltYWdlZGF0YSA9IHRoaXMuaW1hZ2VzQXJyYXlEYXRhWzBdO1xyXG4gICAgICBpZiAodGhpcy5JbWFnZWRhdGEpIHtcclxuICAgICAgICB0aGlzLnJldm9wVGFnZ2luZyh0aGlzLkltYWdlZGF0YSlcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgbmV4dCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZXMgPSBbXVxyXG4gICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbiA9IFtdXHJcbiAgICB0aGlzLnNlbGVjdGVkTWlzc2VkID0gJ1Byb2R1Y3QgSXNzdWUnXHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmltYWdlc0FycmF5RGF0YS5maW5kSW5kZXgoKGRhdGE6IGFueSkgPT4gZGF0YS50ZW1wSWQgPT09IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCk7XHJcbiAgICBpZiAodGhpcy5pbWFnZXNBcnJheURhdGEubGVuZ3RoIC0gMSAhPSBpbmRleCkge1xyXG5cclxuICAgICAgdGhpcy5JbWFnZWRhdGEgPSB0aGlzLmltYWdlc0FycmF5RGF0YVtpbmRleCArIDFdO1xyXG4gICAgICBpZiAodGhpcy5JbWFnZWRhdGEpIHtcclxuICAgICAgICB0aGlzLnJldm9wVGFnZ2luZyh0aGlzLkltYWdlZGF0YSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRUYWIgPSAndGFnZ2VkJztcclxuICBzZWxlY3RlZEN1c3RvbWVyVHlwZSA9ICdub25TaG9wcGVyJztcclxuICBvblJhZGlvQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHZhbHVlKVxyXG4gICAgdGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlID09PSAncHVyY2hhc2VyJykge1xyXG4gICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgICBPYmplY3QudmFsdWVzKHRoaXMudXNlckZvcm0uY29udHJvbHMpLmZvckVhY2goY29udHJvbCA9PiB7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcclxuICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnVzZXJGb3JtLmdldCgnY291bnRyeUNvZGUnKT8uc2V0VmFsdWUoXCI5MVwiKTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5Jykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWVzID0gW11cclxuICAgICAgdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvbiA9IFtdXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYWdlOiBudW1iZXIgPSAxO1xyXG5cclxuICBpbmNyZW1lbnRBZ2UoKSB7XHJcbiAgICBjb25zdCBjdXJyZW50QWdlID0gTnVtYmVyKHRoaXMudXNlckZvcm0uZ2V0KCdhZ2UnKT8udmFsdWUpIHx8IDA7XHJcbiAgICB0aGlzLnVzZXJGb3JtLmdldCgnYWdlJyk/LnNldFZhbHVlKGN1cnJlbnRBZ2UgKyAxKTtcclxuICB9XHJcblxyXG4gIGRlY3JlbWVudEFnZSgpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRBZ2UgPSBOdW1iZXIodGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy52YWx1ZSkgfHwgMDtcclxuICAgIC8vIGNvbnNvbGUubG9nKGN1cnJlbnRBZ2UpXHJcbiAgICBpZiAoY3VycmVudEFnZSA+IDEpIHtcclxuICAgICAgdGhpcy51c2VyRm9ybS5nZXQoJ2FnZScpPy5zZXRWYWx1ZShjdXJyZW50QWdlIC0gMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN1Ym1pdE1pc3NlZE9wcG9ydHVuaXR5KCkge1xyXG4gICAgaWYgKHRoaXMubWlzc2Vkb3B0dW5pdHlSZWFzb24ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KFwicGxlYXNlIHNlbGVjdCBtaXNzZWQgb3Bwb3J0dW5pdHkgcmVhc29uXCIpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgbGV0IHBheWxvYWQgPSBbe1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlbMF0sXHJcbiAgICAgIGRhdGVTdHJpbmc6IHRoaXMuZm9sZGVyRGF0ZSxcclxuICAgICAgdGltZVJhbmdlOiB0aGlzLnNlbGVjdGVkVGltZSxcclxuICAgICAgdGVtcElkOiB0aGlzLkltYWdlZGF0YS50ZW1wSWQsXHJcbiAgICAgIHByb2Nlc3NUeXBlOiB0aGlzLnNlbGVjdENvbnRyb2wudmFsdWUsXHJcbiAgICAgIHJldm9wc1R5cGU6IHRoaXMuc2VsZWN0ZWRDdXN0b21lclR5cGUsXHJcbiAgICAgIG5vbnNob3BlclR5cGU6IFwiXCIsXHJcbiAgICAgIGN1c3RvbWVySW5mbzoge1xyXG4gICAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgICAgbW9iaWxlOiBcIlwiLFxyXG4gICAgICAgIGNvdW50cnlDb2RlOiBcIlwiLFxyXG4gICAgICAgIGVtYWlsOiBcIlwiLFxyXG4gICAgICAgIGxvY2F0aW9uOiBcIlwiLFxyXG4gICAgICAgIGFnZTogXCJcIixcclxuICAgICAgICBnZW5kZXI6IFwiXCIsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxyXG4gICAgICBzdGF0dXM6IFwic3VibWl0dGVkXCIsXHJcbiAgICAgIGlzc3VlTGlzdDogdGhpcy5taXNzZWRvcHR1bml0eVJlYXNvblxyXG4gICAgfV1cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuc3VibWl0UmV2b3BUYWdnaW5nKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoXCJDdXN0b21lciBoYXMgYmVlbiB0YWdnZWQgc3VjY2Vzc2Z1bGx5LlwiKVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRSZXZvcERhdGEoKVxyXG4gICAgICAgICAgICB9LCAxMDAwKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG5cclxuICBub25TaG9wcGVyU3VibWl0KCkge1xyXG5cclxuICAgIGlmICh0aGlzLm5vblNob3BlclR5cGUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KFwicGxlYXNlIHNlbGVjdCBub25zaG9wcGVyIFR5cGVcIilcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBheWxvYWQgPSBbe1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlbMF0sXHJcbiAgICAgIHRpbWVSYW5nZTogdGhpcy5zZWxlY3RlZFRpbWUsXHJcbiAgICAgIGRhdGVTdHJpbmc6IHRoaXMuZm9sZGVyRGF0ZSxcclxuICAgICAgdGVtcElkOiB0aGlzLkltYWdlZGF0YS50ZW1wSWQsXHJcbiAgICAgIHByb2Nlc3NUeXBlOiB0aGlzLnNlbGVjdENvbnRyb2wudmFsdWUsXHJcbiAgICAgIHJldm9wc1R5cGU6IHRoaXMuc2VsZWN0ZWRDdXN0b21lclR5cGUsXHJcbiAgICAgIG5vbnNob3BlclR5cGU6IHRoaXMubm9uU2hvcGVyVHlwZSxcclxuICAgICAgY3VzdG9tZXJJbmZvOiB7XHJcbiAgICAgICAgbmFtZTogXCJcIixcclxuICAgICAgICBtb2JpbGU6IFwiXCIsXHJcbiAgICAgICAgY291bnRyeUNvZGU6IFwiXCIsXHJcbiAgICAgICAgZW1haWw6IFwiXCIsXHJcbiAgICAgICAgbG9jYXRpb246IFwiXCIsXHJcbiAgICAgICAgYWdlOiBcIlwiLFxyXG4gICAgICAgIGdlbmRlcjogXCJcIixcclxuICAgICAgfSxcclxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXHJcbiAgICAgIHN0YXR1czogXCJzdWJtaXR0ZWRcIixcclxuICAgICAgaXNzdWVMaXN0OiBbXVxyXG4gICAgfV1cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuc3VibWl0UmV2b3BUYWdnaW5nKHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoXCJDdXN0b21lciBoYXMgYmVlbiB0YWdnZWQgc3VjY2Vzc2Z1bGx5LlwiKVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRSZXZvcERhdGEoKVxyXG4gICAgICAgICAgICB9LCAxMDAwKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMudXNlckZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgcGF5bG9hZCA9IFt7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXSxcclxuICAgICAgdGltZVJhbmdlOiB0aGlzLnNlbGVjdGVkVGltZSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb2xkZXJEYXRlLFxyXG4gICAgICB0ZW1wSWQ6IHRoaXMuSW1hZ2VkYXRhLnRlbXBJZCxcclxuICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMuc2VsZWN0Q29udHJvbC52YWx1ZSxcclxuICAgICAgcmV2b3BzVHlwZTogdGhpcy5zZWxlY3RlZEN1c3RvbWVyVHlwZSxcclxuICAgICAgbm9uc2hvcGVyVHlwZTogXCJcIixcclxuICAgICAgY3VzdG9tZXJJbmZvOiB7XHJcbiAgICAgICAgbmFtZTogdGhpcy51c2VyRm9ybS52YWx1ZS5uYW1lLFxyXG4gICAgICAgIG1vYmlsZTogdGhpcy51c2VyRm9ybS52YWx1ZS5tb2JpbGUsXHJcbiAgICAgICAgY291bnRyeUNvZGU6IHRoaXMudXNlckZvcm0udmFsdWUuY291bnRyeUNvZGUsXHJcbiAgICAgICAgZW1haWw6IHRoaXMudXNlckZvcm0udmFsdWUuZW1haWwsXHJcbiAgICAgICAgbG9jYXRpb246IHRoaXMudXNlckZvcm0udmFsdWUubG9jYXRpb24sXHJcbiAgICAgICAgYWdlOiB0aGlzLnVzZXJGb3JtLnZhbHVlLmFnZSxcclxuICAgICAgICBnZW5kZXI6IHRoaXMudXNlckZvcm0udmFsdWUuZ2VuZGVyLFxyXG4gICAgICB9LFxyXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcclxuICAgICAgc3RhdHVzOiBcInN1Ym1pdHRlZFwiLFxyXG4gICAgICBpc3N1ZUxpc3Q6IFtdXHJcbiAgICB9XVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5zdWJtaXRSZXZvcFRhZ2dpbmcocGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChcIkN1c3RvbWVyIGhhcyBiZWVuIHRhZ2dlZCBzdWNjZXNzZnVsbHkuXCIpXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0UmV2b3BEYXRhKClcclxuXHJcbiAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKGZpZWxkTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy51c2VyRm9ybS5nZXQoZmllbGROYW1lKTtcclxuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC50b3VjaGVkIHx8IHRoaXMuc3VibWl0dGVkKSk7XHJcbiAgfVxyXG5cclxuXHJcbi8vIC8vIGdldCBSZXZvcHMgQXBpIFxyXG4vLyAgZ2V0UnZwc0xpc3QgOmFueTtcclxuLy8gIGdldFJ2cHNJbWFnZUxpc3Q6YW55O1xyXG4vLyBnZXRSZXZvcHMoKXtcclxuLy8gICAvLyBSZXBsYWNlIHRoZSBmb2xsb3dpbmcgd2l0aCBhY3R1YWwgdmFsdWVzIGFzIG5lZWRlZFxyXG4vLyAgIGNvbnN0IHN0b3JlSWQgPSB0aGlzLnN0b3JlSWRhcnJheSAmJiB0aGlzLnN0b3JlSWRhcnJheS5sZW5ndGggPiAwID8gdGhpcy5zdG9yZUlkYXJyYXlbMF0gOiBudWxsO1xyXG4vLyAgIGNvbnN0IGRhdGVTdHJpbmcgPSB0aGlzLmZvbGRlckRhdGUgfHwgJyc7XHJcbi8vICAgY29uc3QgZ3JvdXBCeUtleSA9ICd0aW1lJztcclxuLy8gICBjb25zdCB0eXBlID0gJyc7XHJcbi8vICAgY29uc3QgcHJvY2Vzc1R5cGUgPSAnZm9vdGZhbGwnO1xyXG4vLyAgIHRoaXMucnZwc1NlcnZpY2UuZ2V0UnZwc0xpc3RBcGkoc3RvcmVJZCwgZGF0ZVN0cmluZywgZ3JvdXBCeUtleSwgdHlwZSwgcHJvY2Vzc1R5cGUpXHJcbi8vICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4vLyAgICAgICA/LnN1YnNjcmliZSh7XHJcbi8vICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuLy8gICAgICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4vLyAgICAgICAgICAgICAgIHRoaXMuZ2V0UnZwc0xpc3QgPSByZXM/LmRhdGE7XHJcblxyXG4vLyB0aGlzLmdldFJ2cHNJbWFnZUxpc3QgPSByZXM/LmRhdGE/LnJlc3VsdDtcclxuXHJcbi8vIH0gZWxzZXtcclxuLy8gICB0aGlzLmdldFJ2cHNMaXN0ID1bXVxyXG4vLyAgIHRoaXMuZ2V0UnZwc0ltYWdlTGlzdCA9W11cclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgfSxcclxuLy8gICAgICAgICAgIGVycm9yOihlcnIpID0+IHtcclxuICAgICAgICAgICAgXHJcbi8vICAgICAgICAgICB9LFxyXG5cclxuLy8gICAgICAgfSlcclxuLy8gfVxyXG5cclxuXHJcblxyXG4vLyBydnBzU2hvdyA9ZmFsc2U7XHJcbi8vICAgaW1hZ2VWaWV3UnZwcyhvYmo6IGFueSwgZm9vdGZhbGxEYXRlOiBhbnkpe1xyXG4vLyAgICAgLy8gdGhpcy5ydnBzU2hvdyA9IHRydWU7XHJcblxyXG4vLyAgICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEltZ1J2cHNDb21wb25lbnQsIHtcclxuLy8gICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbi8vICAgICAgIHNpemU6IFwieGxcIixcclxuLy8gICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuLy8gICAgIH0pO1xyXG4vLyAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuSW1hZ2VkYXRhID0gb2JqO1xyXG4vLyAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UucHJvY2Vzc1R5cGUgPSB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGU7XHJcbi8vICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5mb290ZmFsbERhdGUgPSBmb290ZmFsbERhdGU7XHJcbi8vICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZU5hbWUgPSB0aGlzLnN0b3JlQXJyYXlWYWx1ZTtcclxuLy8gICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSB0aGlzLnN0b3JlSWRhcnJheVxyXG4vLyAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuaGVhZGVyRGF0YSA9IHRoaXMuaGVhZGVyRGF0YTtcclxuLy8gICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmltYWdlQXJyYXkgPSB0aGlzLmdldFJ2cHNJbWFnZUxpc3Q7XHJcbi8vICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtdC0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbXQtMyBweC0wIGJvcmRlci1ib3R0b20tMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYWNjb3JkaW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmcgcGItMCBjdXN0b20tYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVBY2NvcmRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbWctZGlyZWNcIj5JbWFnZSBEaXJlY3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3JkaW9uLWFycm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBEb3duIGFycm93IGZvciBjb2xsYXBzZWQgc3RhdGUsIHVwIGFycm93IGZvciBleHBhbmRlZCBzdGF0ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzQWNjb3JkaW9uRXhwYW5kZWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjZcIiB2aWV3Qm94PVwiMCAwIDE2IDZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xIDFMNSA1TDkgMVwiIHN0cm9rZT1cIiMwNzE0MzdcIiBzdHJva2Utd2lkdGg9XCIxXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpc0FjY29yZGlvbkV4cGFuZGVkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCAxNiA2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMSA1TDUgMUw5IDVcIiBzdHJva2U9XCIjMWI4NGZmXCIgc3Ryb2tlLXdpZHRoPVwiMVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICBcclxuICAgIDwvZGl2PlxyXG4gICBcclxuICAgIDxzZWN0aW9uICpuZ0lmPVwiaXNBY2NvcmRpb25FeHBhbmRlZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBweC01XCIgKm5nSWY9XCIhaGlkZURvY1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2gtZm9ybS1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDYgNDZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIzLjgzMzMgMTQuNjY2NkwxNS41IDI0LjY2NjZIMjNMMjIuMTY2NyAzMS4zMzMzTDMwLjUgMjEuMzMzM0gyM0wyMy44MzMzIDE0LjY2NjZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHh0LW9uZSBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5FeGFtaW5lIGluZGl2aWR1YWwgZm9vdGZhbGwgaW4gZ2FsbGVyeSB2aWV3IHdpdGggb3B0aW1hbCBzYW1wbGUgaW1hZ2VzIGZvciBkZXRhaWxlZCBhbmFseXNpcy48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpcGxlXCI+VXBsb2FkIG11bHRpcGxlIHN0b3JlcyBmb3IgY29uZmlndXJhdGlvbjwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNsb3NlRGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjI5NSA3LjExNUMxOC42ODQ0IDYuNzI1NjQgMTguNjg0NCA2LjA5NDM2IDE4LjI5NSA1LjcwNUMxNy45MDU2IDUuMzE1NjQgMTcuMjc0NCA1LjMxNTY0IDE2Ljg4NSA1LjcwNUwxMiAxMC41OUw3LjExNSA1LjcwNUM2LjcyNTY0IDUuMzE1NjQgNi4wOTQzNiA1LjMxNTY0IDUuNzA1IDUuNzA1QzUuMzE1NjQgNi4wOTQzNiA1LjMxNTY0IDYuNzI1NjQgNS43MDUgNy4xMTVMMTAuNTkgMTJMNS43MDUgMTYuODg1QzUuMzE1NjQgMTcuMjc0NCA1LjMxNTY0IDE3LjkwNTYgNS43MDUgMTguMjk1QzYuMDk0MzYgMTguNjg0NCA2LjcyNTY0IDE4LjY4NDQgNy4xMTUgMTguMjk1TDEyIDEzLjQxTDE2Ljg4NSAxOC4yOTVDMTcuMjc0NCAxOC42ODQ0IDE3LjkwNTYgMTguNjg0NCAxOC4yOTUgMTguMjk1QzE4LjY4NDQgMTcuOTA1NiAxOC42ODQ0IDE3LjI3NDQgMTguMjk1IDE2Ljg4NUwxMy40MSAxMkwxOC4yOTUgNy4xMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZm9sZGVyVmlld1wiIGNsYXNzPVwiY2FyZC1ib2R5IHB4LTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xIG10LTUgdGV4dC1jZW50ZXJcIiAqbmdGb3I9XCJsZXQgb2JqIG9mIGRhdGVBcnJheTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJnZXRpbWFnZXMoaSxvYmopXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImkgPT09IHNlbGVjdEluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHN2ZyB3aWR0aD1cIjU3XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU3IDU2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMC4xNTQyOTdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiByeD1cIjEyXCIgZmlsbD1cIiMzM0I1RkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzkuODIxNiAzNi4xNjY3QzM5LjgyMTYgMzYuNzg1NSAzOS41NzU4IDM3LjM3OSAzOS4xMzgyIDM3LjgxNjZDMzguNzAwNiAzOC4yNTQyIDM4LjEwNzEgMzguNSAzNy40ODgzIDM4LjVIMTguODIxNkMxOC4yMDI4IDM4LjUgMTcuNjA5MyAzOC4yNTQyIDE3LjE3MTcgMzcuODE2NkMxNi43MzQxIDM3LjM3OSAxNi40ODgzIDM2Ljc4NTUgMTYuNDg4MyAzNi4xNjY3VjE5LjgzMzNDMTYuNDg4MyAxOS4yMTQ1IDE2LjczNDEgMTguNjIxIDE3LjE3MTcgMTguMTgzNEMxNy42MDkzIDE3Ljc0NTggMTguMjAyOCAxNy41IDE4LjgyMTYgMTcuNUgyNC42NTQ5TDI2Ljk4ODMgMjFIMzcuNDg4M0MzOC4xMDcxIDIxIDM4LjcwMDYgMjEuMjQ1OCAzOS4xMzgyIDIxLjY4MzRDMzkuNTc1OCAyMi4xMjEgMzkuODIxNiAyMi43MTQ1IDM5LjgyMTYgMjMuMzMzM1YzNi4xNjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMi4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0yXCI+e3tvYmogfCBkYXRlOidkZCBNTU0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSAhPT0gc2VsZWN0SW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTcgNTZcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIwLjQ2Mjg5MVwiIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHJ4PVwiMTJcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00MC4xMzAyIDM2LjE2NjdDNDAuMTMwMiAzNi43ODU1IDM5Ljg4NDQgMzcuMzc5IDM5LjQ0NjggMzcuODE2NkMzOS4wMDkyIDM4LjI1NDIgMzguNDE1NyAzOC41IDM3Ljc5NjkgMzguNUgxOS4xMzAyQzE4LjUxMTQgMzguNSAxNy45MTc5IDM4LjI1NDIgMTcuNDgwMyAzNy44MTY2QzE3LjA0MjcgMzcuMzc5IDE2Ljc5NjkgMzYuNzg1NSAxNi43OTY5IDM2LjE2NjdWMTkuODMzM0MxNi43OTY5IDE5LjIxNDUgMTcuMDQyNyAxOC42MjEgMTcuNDgwMyAxOC4xODM0QzE3LjkxNzkgMTcuNzQ1OCAxOC41MTE0IDE3LjUgMTkuMTMwMiAxNy41SDI0Ljk2MzVMMjcuMjk2OSAyMUgzNy43OTY5QzM4LjQxNTcgMjEgMzkuMDA5MiAyMS4yNDU4IDM5LjQ0NjggMjEuNjgzNEMzOS44ODQ0IDIyLjEyMSA0MC4xMzAyIDIyLjcxNDUgNDAuMTMwMiAyMy4zMzMzVjM2LjE2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjIuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtMlwiPnt7b2JqIHwgZGF0ZTonZGQgTU1NJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4gICAgICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhZm9sZGVyVmlld1wiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIhaW1hZ2VGbG93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc2hyaW5rLTAgbXQtMyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWNrbmF2XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9Gb290ZmFsbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yNTg1XzcwMzZcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yNTg1XzcwMzZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbWctZGlyZWMgbXMtMlwiPnt7Zm9sZGVyRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1hdXRvIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gKm5nSWY9XCIhbm9ybWFsaXplICYmICFjbGllbnREYXRhPy5pc0Zvb3RmYWxsVmlld1wiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWxlY3RDb250cm9sXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhc2V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgdGV4dC1zdGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIDxkaXYgIGNsYXNzPVwiZC1mbGV4IG10LTIgbWItMiB3LTEwMCBvdmVyZmxvdy14IHB4LTBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1OSdcIj5cclxuICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbCB0ZXh0LW5vd3JhcFwiICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c0FycmF5XCI+XHJcbiAgICAgICAgICAgIDx1bCAqbmdJZj1cImxlbmd0aFZhbHVlXCIgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNlbGVjdGVkVGltZXMob2JqLmZvbGRlck5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRpbWUgPT09IG9iaj8uZm9sZGVyTmFtZSA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBteC0zIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tvYmo/LmZvbGRlck5hbWV9fTxzcGFuIGNsYXNzPVwibXgtMiBcIiBbbmdDbGFzc109XCJzZWxlY3RlZFRpbWUgPT09IG9iaj8uZm9sZGVyTmFtZSA/ICdiYWRnZS1udW0tcHJpbWFyeScgOidiYWRnZS1udW0tbXV0ZWQnXCI+e3tvYmo/LmNvdW50P29iaj8uY291bnQ6MH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknXCI+XHJcbiAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wgdGV4dC1ub3dyYXBcIiAqbmdGb3I9XCJsZXQgb2JqIG9mIG9iamVjdHNBcnJheS5zbGljZSgwLCAtMSlcIj5cclxuICAgICAgICAgICAgPHVsICpuZ0lmPVwibGVuZ3RoVmFsdWVcIiBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2VsZWN0ZWRUaW1lcyhvYmouZm9sZGVyTmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy5mb2xkZXJOYW1lID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG14LTMgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uZm9sZGVyTmFtZX19PHNwYW4gY2xhc3M9XCJteC0yIFwiIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGltZSA9PT0gb2JqPy5mb2xkZXJOYW1lID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e29iaj8uY291bnQ/b2JqPy5jb3VudDowfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGExXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvbm90LWFwcGxpY2FibGUuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZSBtdC0zXCI+RGF0YSBOb3QgRm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPk5vcm1hbGl6ZWQgZGF0YSBpcyBub3QgYXBwbGljYWJsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vcm1hbGl6ZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGltYWdlIGRpcmVjdG9yeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtMCBpbWctdHJhZmZpYyBjb250YWluIGhpZ2gtNDAwcHggc2Nyb2xsLXlcIiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtbWQtMyBib3JkZXItZ3JheSBteC0yIHAtMiBtdC01XCIgKm5nRm9yPVwibGV0IG9iaiBvZiBpbWFnZXNBcnJheURhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxMSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIGN1cnNvci1wb2ludGVyXCIgW3NyY109XCJvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlXCIgKGVycm9yKT1cIm9iaj8uaW1hZ2VzLmVudHJ5VGltZUltYWdlID0gbnVsbFwiIGFsdD1cIlwiIChjbGljayk9XCJpbWFnZVZpZXcob2JqLG9iakRhdGEuZm9vdGZhbGxEYXRlKVwiPiAgICA8IS0tKGNsaWNrKT1cImltYWdlVmlldyhvYmosb2JqRGF0YS5mb290ZmFsbERhdGUpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaGVhZGVyRGF0YS5jbGllbnQgIT09JzExJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIm9iai5pbWFnZXMuZW50cnlUaW1lSW1hZ2UmJmNsaWVudERhdGE/LmlzUmV2b3BzXCIgY2xhc3M9XCJpbWctc3JjIGN1cnNvci1wb2ludGVyXCIgW3NyY109XCJvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlXCIgKGVycm9yKT1cIm9iaj8uaW1hZ2VzLmVudHJ5VGltZUltYWdlID0gbnVsbFwiIGFsdD1cIlwiIChjbGljayk9XCJyZXZvcFRhZ2dpbmcob2JqKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwib2JqLmltYWdlcy5lbnRyeVRpbWVJbWFnZSYmIWNsaWVudERhdGE/LmlzUmV2b3BzXCIgY2xhc3M9XCJpbWctc3JjIGN1cnNvci1wb2ludGVyXCIgW3NyY109XCJvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlXCIgKGVycm9yKT1cIm9iaj8uaW1hZ2VzLmVudHJ5VGltZUltYWdlID0gbnVsbFwiIGFsdD1cIlwiIChjbGljayk9XCJpbWFnZVZpZXcob2JqLG9iakRhdGEuZm9vdGZhbGxEYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFvYmouaW1hZ2VzLmVudHJ5VGltZUltYWdlXCIgY2xhc3M9XCJuby1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYi01XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjNcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjMgMjBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuNSA2LjMyMjI3SDYuNTFNMTYuMjUgOS4zMjIyN0gyMS41TDE4IDE2LjMyMjNMMTQuOTEgMTIuMDAyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xLjUgMTYuMzIyOUg1LjI2QzUuNjMyNzMgMTYuMzI1NSA1Ljk5ODc3IDE2LjIyMzkgNi4zMTY4MiAxNi4wMjk1QzYuNjM0ODcgMTUuODM1MiA2Ljg5MjI4IDE1LjU1NTggNy4wNiAxNS4yMjI5TDguNSAxMi4zMjI5TTEuNSAxOC4zMjI5VjE0LjMyMjlNMTcuNSA2LjgyMjkxTDEzLjUgMTQuODIyOUwzLjExIDkuNjIyOTFDMi40MjAzMyA5LjI3NTUzIDEuODk2MzUgOC42NjkxIDEuNjUyNzIgNy45MzYzMkMxLjQwOTA5IDcuMjAzNTQgMS40NjU2NCA2LjQwNDEgMS44MSA1LjcxMjkxTDMuMTkgMi45MjI5MUMzLjM2MiAyLjU4MDE0IDMuNTk5ODQgMi4yNzQ2IDMuODg5OTQgMi4wMjM3NUM0LjE4MDAzIDEuNzcyOSA0LjUxNjcgMS41ODE2NSA0Ljg4MDcyIDEuNDYwOTNDNS4yNDQ3NCAxLjM0MDIxIDUuNjI4OTcgMS4yOTIzOSA2LjAxMTQ3IDEuMzIwMThDNi4zOTM5OCAxLjM0Nzk3IDYuNzY3MjYgMS40NTA4NCA3LjExIDEuNjIyOTFMMTcuNSA2LjgyMjkxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlciBtYi01IHRleHQtY2VudGVyXCI+UHJldmlldyBub3QgYXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb24gbWItNSB0ZXh0LWNlbnRlclwiPlRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50Ljwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0yIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTIgaW1nLWRvYy1kaXJlY3RvcnlcIj48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWluZm9cIj57e29iai50ZW1wSWR9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwic2VsZWN0Q29udHJvbC52YWx1ZSA9PT0nbWlzc2VkT3Bwb3J0dW5pdHknXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1zLTJcIj5NaXNzZWQgT3Bwb3J0dW5pdHk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdENvbnRyb2wudmFsdWUgPT09J2JvdW5jZWQnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1zLTJcIj5Cb3VuY2VkIEZvb3RmYWxsPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib2JqPy5yZXZvcHNUeXBlIHx8IHNlbGVjdENvbnRyb2wudmFsdWUgYXMgdmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBtcy0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXByaW1hcnknOiB2YWx1ZSA9PT0gJ2Zvb3RmYWxsJ3x8ICF2YWx1ZSAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1zdWNjZXNzJzogIHZhbHVlID09PSAncHVyY2hhc2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiB2YWx1ZSA9PT0gJ25vblNob3BwZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogdmFsdWUgPT09ICdib3VuY2VkJyB8fCB2YWx1ZSA9PT0gJ2VuZ2FnZXInIHx8IHZhbHVlID09PSAnbWlzc2VkT3Bwb3J0dW5pdHknIHx8IHZhbHVlID09PSAnY29udmVyc2lvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSAncHVyY2hhc2VyJyA/ICdQdXJjaGFzZXInIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJ25vblNob3BwZXInID8gJ05vbiBTaG9wcGVyJyA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPT09ICdtaXNzZWRPcHBvcnR1bml0eScgPyAnTWlzc2VkIE9wcG9ydHVuaXR5JyA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIHwgdGl0bGVjYXNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTIgaW1nLWRvYy10aW1lXCI+RW50cnkgVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxEYXRhU2hvdyAhPT0ndHJhY2tpbmctZW5hYmxlZCdcIiBjbGFzcz1cInB5LTIgaW1nLWRvYy10aW1lXCI+RXhpdCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwicHktMiBpbWctZG9jLXRpbWVcIj5Ub3RhbCBUaW1lIFNwZW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01IHRleHQtZW5kXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTIgbXQtNFwiICpuZ0lmPVwiIWNsaWVudERhdGE/LmlzUmV2b3BzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIiAqbmdJZj1cImNsaWVudERhdGE/LmlzUmV2b3BzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaGVhZGVyRGF0YS5jbGllbnQgPT09JzExJ1wiPlxyXG4gPHNwYW4gKm5nSWY9XCIhb2JqPy5yZXZvcHNUeXBlfHxvYmo/LnJldm9wc1R5cGU9PT0nJ1wiIG5nYlRvb2x0aXA9XCJZZXQgdG8gdGFnIHRoZSBjdXN0b21lclwiICBwbGFjZW1lbnQ9XCJ0b3BcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMDMzNV8yMjg1MilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04LjM3MzI4IDAuMDAyMDE2MDZDNy4yMDkzMiAtMC4wMjMzMTUgNi4wNTM4NSAwLjIwNTcxMSA0Ljk4NzU1IDAuNjczMTA2QzMuOTIxMjUgMS4xNDA1IDIuOTY5ODEgMS44MzUgMi4xOTk2NyAyLjcwODExQzEuNDI5NTIgMy41ODEyMyAwLjg1OTIyNSA0LjYxMTkyIDAuNTI4NTk2IDUuNzI4MjJDMC4xOTc5NjYgNi44NDQ1MyAwLjExNDk3MSA4LjAxOTU1IDAuMjg1NDA0IDkuMTcxMjRDMC40NTU4MzcgMTAuMzIyOSAwLjg3NTU5MSAxMS40MjM2IDEuNTE1MzYgMTIuMzk2M0MyLjE1NTEzIDEzLjM2OSAyLjk5OTUgMTQuMTkwMyAzLjk4OTUxIDE0LjgwMjlDNC45Nzk1MyAxNS40MTU2IDYuMDkxMzMgMTUuODA0OCA3LjI0NzMgMTUuOTQzM0M4LjQwMzI2IDE2LjA4MTggOS41NzU1NCAxNS45NjY0IDEwLjY4MjMgMTUuNjA1QzEwLjg3MTQgMTUuNTQzMiAxMS4wMjgyIDE1LjQwODggMTEuMTE4MiAxNS4yMzE0QzExLjIwODIgMTUuMDU0IDExLjIyNDEgMTQuODQ4MSAxMS4xNjIzIDE0LjY1OUMxMS4xMDA1IDE0LjQ2OTkgMTAuOTY2MSAxNC4zMTMxIDEwLjc4ODcgMTQuMjIzMUMxMC42MTEzIDE0LjEzMzEgMTAuNDA1NCAxNC4xMTcyIDEwLjIxNjMgMTQuMTc5QzkuMDEzNTkgMTQuNTcxNyA3LjcyMjQyIDE0LjYwNDkgNi41MDExNCAxNC4yNzQ1QzUuMjc5ODYgMTMuOTQ0MSA0LjE4MTU1IDEzLjI2NDQgMy4zNDA5MiAxMi4zMTg5QzIuNTAwMjggMTEuMzczNCAxLjk1Mzg2IDEwLjIwMzEgMS43Njg2NyA4Ljk1MTUxQzEuNTgzNDggNy42OTk5NSAxLjc2NzU3IDYuNDIxNTUgMi4yOTgzNyA1LjI3MzA5QzIuODI5MTYgNC4xMjQ2MyAzLjY4MzU4IDMuMTU2MDQgNC43NTY4NCAyLjQ4NjExQzUuODMwMTEgMS44MTYxOCA3LjA3NTU1IDEuNDc0MDMgOC4zNDA0NCAxLjUwMTYzQzkuNjA1MzMgMS41MjkyMiAxMC44MzQ3IDEuOTI1MzYgMTEuODc3NyAyLjY0MTQ3QzEyLjkyMDcgMy4zNTc1NyAxMy43MzIxIDQuMzYyNSAxNC4yMTIzIDUuNTMzMDJDMTQuMjg3NyA1LjcxNzA4IDE0LjQzMzIgNS44NjM2MiAxNC42MTY3IDUuOTQwNDJDMTQuNzA3NiA1Ljk3ODQ1IDE0LjgwNSA1Ljk5ODIgMTQuOTAzNSA1Ljk5ODU2QzE1LjAwMiA1Ljk5ODkyIDE1LjA5OTYgNS45Nzk4OCAxNS4xOTA4IDUuOTQyNTJDMTUuMjgxOSA1LjkwNTE2IDE1LjM2NDggNS44NTAyMSAxNS40MzQ3IDUuNzgwODJDMTUuNTA0NiA1LjcxMTQyIDE1LjU2MDIgNS42Mjg5NCAxNS41OTgyIDUuNTM4MDhDMTUuNjM2MiA1LjQ0NzIxIDE1LjY1NiA1LjM0OTc1IDE1LjY1NjMgNS4yNTEyNkMxNS42NTY3IDUuMTUyNzYgMTUuNjM3NiA1LjA1NTE1IDE1LjYwMDMgNC45NjQwMkMxNS4wMDkzIDMuNTIzMzEgMTQuMDEwNyAyLjI4NjM5IDEyLjcyNjkgMS40MDQ5OEMxMS40NDMyIDAuNTIzNTcxIDkuOTMwMTIgMC4wMzU5ODE1IDguMzczMjggMC4wMDIwMTYwNlpNOC45NDgyOCAzLjc1MDAyQzguOTQ4MjggMy41NTExIDguODY5MjYgMy4zNjAzNCA4LjcyODYxIDMuMjE5NjlDOC41ODc5NiAzLjA3OTAzIDguMzk3MTkgMy4wMDAwMiA4LjE5ODI4IDMuMDAwMDJDNy45OTkzNyAzLjAwMDAyIDcuODA4NiAzLjA3OTAzIDcuNjY3OTUgMy4yMTk2OUM3LjUyNzMgMy4zNjAzNCA3LjQ0ODI4IDMuNTUxMSA3LjQ0ODI4IDMuNzUwMDJWNy42OTAwMkw1LjQxNDI4IDkuNzIzMDJDNS4zNDA1OSA5Ljc5MTY4IDUuMjgxNDkgOS44NzQ0OCA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjI2Nzg4IDEwLjY0NiA1LjMyNDAyIDEwLjczMDggNS4zOTUyNCAxMC44MDIxQzUuNDY2NDYgMTAuODczMyA1LjU1MTI5IDEwLjkyOTQgNS42NDQ2OCAxMC45NjcxQzUuNzM4MDcgMTEuMDA0OSA1LjgzODEgMTEuMDIzNCA1LjkzODggMTEuMDIxNkM2LjAzOTUxIDExLjAxOTggNi4xMzg4MiAxMC45OTc4IDYuMjMwODIgMTAuOTU2OEM2LjMyMjgyIDEwLjkxNTggNi40MDU2MiAxMC44NTY3IDYuNDc0MjggMTAuNzgzTDguNzI4MjggOC41MzAwMkw4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTUuMTk4MyAxNUMxNS4xOTgzIDE1LjI2NTIgMTUuMDkyOSAxNS41MTk2IDE0LjkwNTQgMTUuNzA3MUMxNC43MTc5IDE1Ljg5NDcgMTQuNDYzNSAxNiAxNC4xOTgzIDE2QzEzLjkzMzEgMTYgMTMuNjc4NyAxNS44OTQ3IDEzLjQ5MTIgMTUuNzA3MUMxMy4zMDM2IDE1LjUxOTYgMTMuMTk4MyAxNS4yNjUyIDEzLjE5ODMgMTVDMTMuMTk4MyAxNC43MzQ4IDEzLjMwMzYgMTQuNDgwNCAxMy40OTEyIDE0LjI5MjlDMTMuNjc4NyAxNC4xMDU0IDEzLjkzMzEgMTQgMTQuMTk4MyAxNEMxNC40NjM1IDE0IDE0LjcxNzkgMTQuMTA1NCAxNC45MDU0IDE0LjI5MjlDMTUuMDkyOSAxNC40ODA0IDE1LjE5ODMgMTQuNzM0OCAxNS4xOTgzIDE1Wk0xNC45NDgzIDguNzUwMDJDMTQuOTQ4MyA4LjU1MTEgMTQuODY5MyA4LjM2MDM0IDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwMyAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDMgMTMuNjY4IDguMjE5NjlDMTMuNTI3MyA4LjM2MDM0IDEzLjQ0ODMgOC41NTExIDEzLjQ0ODMgOC43NTAwMlYxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zOTcyIDEzIDE0LjU4OCAxMi45MjEgMTQuNzI4NiAxMi43ODAzQzE0Ljg2OTMgMTIuNjM5NyAxNC45NDgzIDEyLjQ0ODkgMTQuOTQ4MyAxMi4yNVY4Ljc1MDAyWlwiIGZpbGw9XCIjRjc5MDA5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE1LjE4NTggNC4xMDM3OUMxNS4wOTk2IDMuOTQ5MDcgMTUuMDA4MyAzLjc5NzQ0IDE0LjkxMjEgMy42NDkxMUMxNC41NzQ3IDMuMTI4NDMgMTQuMTc3NiAyLjY0ODU0IDEzLjcyODkgMi4yMTkzMkMxMy40MTg3IDEuOTIyNTcgMTMuMDgzOSAxLjY1MDA0IDEyLjcyNjkgMS40MDQ5OEMxMi43MjY5IDEuNDA0OTMgMTIuNzI3IDEuNDA1MDQgMTIuNzI2OSAxLjQwNDk4QzEyLjUxNDQgMS4yNTkwNiAxMi4yOTU0IDEuMTIzNzkgMTIuMDcxMSAwLjk5OTcyOUMxMS44MjU1IDAuODYzODkzIDExLjU3MzQgMC43NDEzMjIgMTEuMzE1OSAwLjYzMjM3N0MxMC4zODgyIDAuMjM5ODczIDkuMzkwMDYgMC4wMjQxOTkgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzczMjQgMC4wMDIwMTUxOCA4LjM3MzMyIDAuMDAyMDE2OTQgOC4zNzMyOCAwLjAwMjAxNjA2QzguMzE0OTYgMC4wMDA3NDc3OSA4LjI1NjU1IDAuMDAwMTE1Mzg3IDguMTk4MjggMC4wMDAxMjIxMjRDNy4xMjc2IDAuMDAwMjQ1OTIgNi4wNjc1NCAwLjIxNTMwNCA1LjA4MTA4IDAuNjMyODE2QzUuMDQ5ODMgMC42NDYwNDMgNS4wMTg2NSAwLjY1OTQ3MyA0Ljk4NzU1IDAuNjczMTA2QzQuNzYxMTUgMC43NzIzNDMgNC41Mzk5MyAwLjg4MTgyIDQuMzI0NTIgMS4wMDEwN0M0LjIwMjAxIDEuMDY4ODkgNC4wODEzOSAxLjEzOTg3IDMuOTYyNzUgMS4yMTM5M0MzLjMwNzU2IDEuNjIyOTYgMi43MTMyOSAyLjEyNTgxIDIuMTk5NjcgMi43MDgxMUMxLjY4NjAyIDMuMjkwNDMgMS4yNjEyNyAzLjk0Mjg1IDAuOTM3MjMyIDQuNjQ0QzAuNzc1NDE1IDQuOTk0MTQgMC42Mzg3MTMgNS4zNTY0MyAwLjUyODU5NiA1LjcyODIyQzAuMTk3OTkgNi44NDQ0NSAwLjExNDk4MyA4LjAxOTM4IDAuMjg1MzY2IDkuMTcwOTlDMC4yODUzNTQgOS4xNzA5MSAwLjI4NTM3OSA5LjE3MTA4IDAuMjg1MzY2IDkuMTcwOTlDMC40NTU4IDEwLjMyMjcgMC44NzU1OTEgMTEuNDIzNiAxLjUxNTM2IDEyLjM5NjNDMS43MjgzNSAxMi43MjAxIDEuOTY0MDIgMTMuMDI3MSAyLjIyMDE5IDEzLjMxNTNDMi43MzM0OSAxMy44OTI3IDMuMzI5MDkgMTQuMzk0MyAzLjk4OTUxIDE0LjgwMjlDNC42NDk2NyAxNS4yMTE1IDUuMzYzOTggMTUuNTIwNiA2LjEwOTQzIDE1LjcyMjRDNi40ODE5IDE1LjgyMzIgNi44NjIxNSAxNS44OTcxIDcuMjQ3MyAxNS45NDMzQzcuMjkxMjMgMTUuOTQ4NiA3LjMzNTE5IDE1Ljk1MzUgNy4zNzkxNyAxNS45NThDOC4wMTQ5MiAxNi4wMjM1IDguNjU0NjQgMTYuMDEyNCA5LjI4NDc4IDE1LjkyNjFDOS41MjE0NiAxNS44OTM3IDkuNzU2NzggMTUuODUwNyA5Ljk5MDA0IDE1Ljc5NzFDMTAuMjIzIDE1Ljc0MzYgMTAuNDUzOSAxNS42Nzk2IDEwLjY4MTkgMTUuNjA1MUMxMC42ODE4IDE1LjYwNTIgMTAuNjgyMSAxNS42MDUxIDEwLjY4MTkgMTUuNjA1MUMxMC43MTk2IDE1LjU5MjggMTAuNzU2MyAxNS41Nzc1IDEwLjc5MTEgMTUuNTU5N0MxMC45MzEyIDE1LjQ4OCAxMS4wNDYxIDE1LjM3MzUgMTEuMTE4MiAxNS4yMzE0QzExLjE1NTQgMTUuMTU4MSAxMS4xOCAxNS4wNzk5IDExLjE5MTYgMTVDMTEuMjA4MSAxNC44ODY3IDExLjE5ODUgMTQuNzcgMTEuMTYyMyAxNC42NTlDMTEuMTAwNSAxNC40Njk5IDEwLjk2NjEgMTQuMzEzMSAxMC43ODg3IDE0LjIyMzFDMTAuNjExNCAxNC4xMzMxIDEwLjQwNTYgMTQuMTE3MiAxMC4yMTY2IDE0LjE3ODlDMTAuMjE2NSAxNC4xNzg5IDEwLjIxNjggMTQuMTc4OSAxMC4yMTY2IDE0LjE3ODlDMTAuMTEyMSAxNC4yMTMgMTAuMDA2NSAxNC4yNDQ2IDkuOTAwNzMgMTQuMjczM0M5Ljc0ODQ4IDE0LjMxNDYgOS41OTUwNiAxNC4zNTAzIDkuNDQwNzggMTQuMzgwM0M5LjM3MTQ2IDE0LjM5MzggOS4zMDE5NiAxNC40MDYyIDkuMjMyMzMgMTQuNDE3NEM4Ljg1NDggMTQuNDc4MiA4LjQ3MzAyIDE0LjUwNTUgOC4wOTE0NCAxNC40OTkyQzcuOTk1NjggMTQuNDk3NiA3Ljg5OTkyIDE0LjQ5MzkgNy44MDQyNiAxNC40ODgxQzcuNjc3OSAxNC40ODA0IDcuNTUxNjggMTQuNDY5MSA3LjQyNTc4IDE0LjQ1NEM3LjM2MTMzIDE0LjQ0NjMgNy4yOTY5NiAxNC40Mzc2IDcuMjMyNjkgMTQuNDI3OUM2Ljk4NjkzIDE0LjM5MSA2Ljc0MjY3IDE0LjMzOTkgNi41MDExNCAxNC4yNzQ1QzYuMzI5MzMgMTQuMjI4IDYuMTU5OTUgMTQuMTc0NiA1Ljk5MzM3IDE0LjExNDZDNS41NjgwOSAxMy45NjEyIDUuMTYxMTIgMTMuNzY0MiA0Ljc3ODcgMTMuNTI3NkM0LjczMzczIDEzLjQ5OTggNC42ODkxMSAxMy40NzE0IDQuNjQ0ODMgMTMuNDQyNUM0LjI3MDAzIDEzLjE5NzggMy45MjAyOCAxMi45MTQyIDMuNjAxNzQgMTIuNTk1NkMzLjUxMjI5IDEyLjUwNjEgMy40MjUzMSAxMi40MTM4IDMuMzQwOTIgMTIuMzE4OUMzLjEzMTM5IDEyLjA4MzIgMi45NDAxNCAxMS44MzM2IDIuNzY4MjEgMTEuNTcyMkMyLjc2Mzg1IDExLjU2NTYgMi43NTk1IDExLjU1OSAyLjc1NTE2IDExLjU1MjNDMi40Nzk2NCAxMS4xMzAxIDIuMjU0MzcgMTAuNjc3NSAyLjA4MzY4IDEwLjIwMzlDMS45MzgwNyA5Ljc5OTkzIDEuODMyMTggOS4zODA2MSAxLjc2ODcxIDguOTUxNzRDMS43Njg2OSA4Ljk1MTY2IDEuNzY4NzIgOC45NTE4MiAxLjc2ODcxIDguOTUxNzRDMS43NDEyNSA4Ljc2NjIxIDEuNzIxODggOC41Nzk4NiAxLjcxMDU5IDguMzkzNjdDMS43MDQ3MSA4LjI5NjgzIDEuNzAxMDEgOC4xOTk5OCAxLjY5OTQ4IDguMTAzMTdDMS42ODkwMiA3LjQ0MzU1IDEuNzc5MDUgNi43ODYyNiAxLjk2NjMxIDYuMTU0MDVDMi4wNTUyIDUuODUzOTQgMi4xNjYwMSA1LjU1OTQ3IDIuMjk4MzcgNS4yNzMwOUMyLjU2Mzc4IDQuNjk4ODMgMi45MTAxMSA0LjE2OTU0IDMuMzI0MjUgMy43MDAwN0MzLjM2NjE4IDMuNjUyNTQgMy40MDg4IDMuNjA1NjMgMy40NTIxIDMuNTU5MzRDMy44MzY0OSAzLjE0ODQ4IDQuMjc0NTggMi43ODcxNCA0Ljc1Njg0IDIuNDg2MTFDNS4wMjQ1MiAyLjMxOTAzIDUuMzAyOTEgMi4xNzIzMyA1LjU4OTYzIDIuMDQ2NjhDNS44MDQ3MSAxLjk1MjQyIDYuMDI0NDkgMS44NyA2LjI0Nzk2IDEuNzk5N0M2Ljg3NjI4IDEuNjAyMDIgNy41MzM4IDEuNTAwMTIgOC4xOTgyOCAxLjUwMDA4QzguMjQ1NjMgMS41MDAwOCA4LjI5MzAyIDEuNTAwNTkgOC4zNDA0NCAxLjUwMTYzQzguOTU3NDUgMS41MTUxMSA5LjU2NjIgMS42MTYyOSAxMC4xNDg4IDEuNzk5NTJDMTAuNzYwNSAxLjk5MTg5IDExLjM0MzUgMi4yNzQ3MiAxMS44Nzc3IDIuNjQxNDdDMTEuODc3NiAyLjY0MTQyIDExLjg3NzggMi42NDE1MSAxMS44Nzc3IDIuNjQxNDdDMTIuMDgzOSAyLjc4MzA0IDEyLjI4MTIgMi45MzYwMyAxMi40Njg1IDMuMDk5MjJDMTIuNjM1MSAzLjI0NDM2IDEyLjc5MzkgMy4zOTc2NyAxMi45NDQ0IDMuNTU4NDhDMTMuMDk3NCAzLjcyMTk3IDEzLjI0MTkgMy44OTMyMiAxMy4zNzcxIDQuMDcxNTJDMTMuNTU1NSA0LjMwNjYgMTMuNzE3OSA0LjU1Mzk1IDEzLjg2MzEgNC44MTE5NUMxMy45NDI3IDQuOTUzMzYgMTQuMDE3MSA1LjA5Nzk4IDE0LjA4NjEgNS4yNDU1MkMxNC4xMjUzIDUuMzI5MTQgMTQuMTYyNyA1LjQxMzcxIDE0LjE5ODMgNS40OTkxNkMxNC4yMDMgNS41MTA0MyAxNC4yMDc2IDUuNTIxNzIgMTQuMjEyMyA1LjUzMzAyQzE0LjIxMjIgNS41MzI5MiAxNC4yMTIzIDUuNTMzMTIgMTQuMjEyMyA1LjUzMzAyQzE0LjI4NzggNS43MTY5MyAxNC40MzMzIDUuODYzNjcgMTQuNjE2NyA1Ljk0MDQyQzE0LjcwNzYgNS45Nzg0NSAxNC44MDUgNS45OTgyIDE0LjkwMzUgNS45OTg1NkMxNS4wMDIgNS45OTg5MiAxNS4wOTk2IDUuOTc5ODggMTUuMTkwOCA1Ljk0MjUyQzE1LjI4MTkgNS45MDUxNiAxNS4zNjQ4IDUuODUwMjEgMTUuNDM0NyA1Ljc4MDgyQzE1LjUwNDYgNS43MTE0MiAxNS41NjAyIDUuNjI4OTQgMTUuNTk4MiA1LjUzODA4QzE1LjYzNjIgNS40NDcyMiAxNS42NTYgNS4zNDk3NSAxNS42NTYzIDUuMjUxMjZDMTUuNjU2NyA1LjE1Mjc2IDE1LjYzNzYgNS4wNTUxNiAxNS42MDAzIDQuOTY0MDJDMTUuNjAwMiA0Ljk2MzkgMTUuNjAwMyA0Ljk2NDE0IDE1LjYwMDMgNC45NjQwMkMxNS41MDkxIDQuNzQxODcgMTUuNDA4MiA0LjUyNDIgMTUuMjk4MSA0LjMxMjI5QzE1LjI2MTcgNC4yNDIyIDE1LjIyNDIgNC4xNzI2OSAxNS4xODU4IDQuMTAzNzlaTTguOTQ4MjggMy43NTAwMkM4Ljk0ODI4IDMuNTUxMSA4Ljg2OTI2IDMuMzYwMzQgOC43Mjg2MSAzLjIxOTY5QzguNjE0MDUgMy4xMDUxMiA4LjQ2NjI0IDMuMDMxNDUgOC4zMDc4NiAzLjAwODA2QzguMjcxODggMy4wMDI3NiA4LjIzNTA4IDMuMDAwMDIgOC4xOTgyOCAzLjAwMDAyQzcuOTk5MzcgMy4wMDAwMiA3LjgwODYgMy4wNzkwMyA3LjY2Nzk1IDMuMjE5NjlDNy41MjczIDMuMzYwMzQgNy40NDgyOCAzLjU1MTEgNy40NDgyOCAzLjc1MDAyVjcuNjkwMDJMNS40MTQ1MiA5LjcyMjc4QzUuNDAxNTkgOS43MzQ4MyA1LjM4ODg3IDkuNzQ3NTUgNS4zNzY4NiA5Ljc2MDQ0QzUuMzIwNDEgOS44MjEwMiA1LjI3NDMgOS44OTA2MiA1LjI0MDUgOS45NjY0OEM1LjE5OTUxIDEwLjA1ODUgNS4xNzc0NiAxMC4xNTc4IDUuMTc1NjkgMTAuMjU4NUM1LjE3MzkxIDEwLjM1OTIgNS4xOTI0NCAxMC40NTkyIDUuMjMwMTYgMTAuNTUyNkM1LjIzODYzIDEwLjU3MzYgNS4yNDgwNCAxMC41OTQyIDUuMjU4MzQgMTAuNjE0MkM1LjI5Mzg3IDEwLjY4MzQgNS4zNDAwMiAxMC43NDY4IDUuMzk1MjQgMTAuODAyMUM1LjQ2NjQ2IDEwLjg3MzMgNS41NTEyOSAxMC45Mjk0IDUuNjQ0NjggMTAuOTY3MUM1LjczODA3IDExLjAwNDkgNS44MzgxIDExLjAyMzQgNS45Mzg4IDExLjAyMTZDNi4wMzk1MSAxMS4wMTk4IDYuMTM4ODIgMTAuOTk3OCA2LjIzMDgyIDEwLjk1NjhDNi4zMDY2OCAxMC45MjMgNi4zNzYyOCAxMC44NzY5IDYuNDM2ODYgMTAuODIwNEM2LjQ0OTY2IDEwLjgwODUgNi40NjIwNiAxMC43OTYxIDYuNDc0MDMgMTAuNzgzM0M2LjQ3Mzk1IDEwLjc4MzQgNi40NzQxMSAxMC43ODMyIDYuNDc0MDMgMTAuNzgzM0w4Ljk0ODI4IDguMzEwMDJWMy43NTAwMlpNMTMuNDQ4MyAxMi4yNUMxMy40NDgzIDEyLjQ0ODkgMTMuNTI3MyAxMi42Mzk3IDEzLjY2OCAxMi43ODAzQzEzLjgwODYgMTIuOTIxIDEzLjk5OTQgMTMgMTQuMTk4MyAxM0MxNC4zODk1IDEzIDE0LjU3MzIgMTIuOTI3IDE0LjcxMjEgMTIuNzk2M0MxNC43MTc3IDEyLjc5MTEgMTQuNzIzMiAxMi43ODU4IDE0LjcyODYgMTIuNzgwM0MxNC44NjkzIDEyLjYzOTcgMTQuOTQ4MyAxMi40NDg5IDE0Ljk0ODMgMTIuMjVWMTAuMDU2NkMxNC43MDE1IDEwLjAxOTEgMTQuNDUwOSAxMCAxNC4xOTgzIDEwQzEzLjk0NTcgMTAgMTMuNjk1IDEwLjAxOTEgMTMuNDQ4MyAxMC4wNTY2VjEyLjI1Wk0xMy40NDgzIDkuNzY5MjdDMTMuNjkzMiA5Ljg0ODI4IDEzLjk0NDEgOS45MDcxOSAxNC4xOTgzIDkuOTQ1NTFDMTQuNDI2NCA5Ljk3OTg5IDE0LjY1NzIgOS45OTc2OSAxNC44ODg5IDkuOTk4NTRDMTQuOTA4NyA5Ljk5ODYxIDE0LjkyODUgOS45OTg1NiAxNC45NDgzIDkuOTk4MzhWOC43NTAwMkMxNC45NDgzIDguNjUzNTYgMTQuOTI5NyA4LjU1OTAxIDE0Ljg5NDUgOC40NzExN0MxNC44NTcxIDguMzc3ODcgMTQuODAxMSA4LjI5MjEzIDE0LjcyODYgOC4yMTk2OUMxNC41ODggOC4wNzkwNCAxNC4zOTcyIDguMDAwMDIgMTQuMTk4MyA4LjAwMDAyQzEzLjk5OTQgOC4wMDAwMiAxMy44MDg2IDguMDc5MDQgMTMuNjY4IDguMjE5NjlDMTMuNjY1IDguMjIyNjggMTMuNjYyIDguMjI1NjkgMTMuNjU5MSA4LjIyODcyQzEzLjUyODIgOC4zNjQxIDEzLjQ1MyA4LjU0Mzc2IDEzLjQ0ODUgOC43MzE4OEMxMy40NDg0IDguNzM3OTIgMTMuNDQ4MyA4Ljc0Mzk3IDEzLjQ0ODMgOC43NTAwMlY5Ljc2OTI3Wk0xNS4xOTYzIDE1LjA2MjZDMTUuMTk3NiAxNS4wNDE4IDE1LjE5ODMgMTUuMDIwOSAxNS4xOTgzIDE1QzE1LjE5ODMgMTQuOTk4NCAxNS4xOTgzIDE0Ljk5NjggMTUuMTk4MyAxNC45OTUxQzE1LjE5NyAxNC43MzE3IDE1LjA5MTggMTQuNDc5MyAxNC45MDU0IDE0LjI5MjlDMTQuNzE3OCAxNC4xMDU0IDE0LjQ2MzUgMTQgMTQuMTk4MyAxNEMxMy45MzMxIDE0IDEzLjY3ODcgMTQuMTA1NCAxMy40OTEyIDE0LjI5MjlDMTMuMzAzNiAxNC40ODA0IDEzLjE5ODMgMTQuNzM0OCAxMy4xOTgzIDE1QzEzLjE5ODMgMTUuMjY1MiAxMy4zMDM2IDE1LjUxOTYgMTMuNDkxMiAxNS43MDcxQzEzLjY3ODcgMTUuODk0NyAxMy45MzMxIDE2IDE0LjE5ODMgMTZDMTQuNDYzNSAxNiAxNC43MTc4IDE1Ljg5NDcgMTQuOTA1NCAxNS43MDcxQzE1LjA3ODEgMTUuNTM0NCAxNS4xODExIDE1LjMwNSAxNS4xOTYzIDE1LjA2MjZaXCIgZmlsbD1cIiNGNzkwMDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTAzMzVfMjI4NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTk5MjE5KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9iaj8ucmV2b3BzVHlwZSYmb2JqPy5yZXZvcHNUeXBlIT09JydcIiAgbmdiVG9vbHRpcD1cIkN1c3RvbWVyIFRhZ2dpbmcgaXMgRG9uZVwiICBwbGFjZW1lbnQ9XCJ0b3BcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMDMzNV8yMjg1NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuMDYzOCA3LjM4NjYyVjcuOTk5OTVDMTUuMDYzIDkuNDM3NTYgMTQuNTk3NSAxMC44MzY0IDEzLjczNjcgMTEuOTg3OEMxMi44NzU5IDEzLjEzOTMgMTEuNjY2IDEzLjk4MTYgMTAuMjg3NCAxNC4zODkyQzguOTA4NzYgMTQuNzk2OCA3LjQzNTMxIDE0Ljc0NzkgNi4wODY3OCAxNC4yNDk3QzQuNzM4MjYgMTMuNzUxNSAzLjU4NjkxIDEyLjgzMDcgMi44MDQ0NCAxMS42MjQ3QzIuMDIxOTggMTAuNDE4NiAxLjY1MDMzIDguOTkxOTkgMS43NDQ5MiA3LjU1NzQ5QzEuODM5NTEgNi4xMjI5OSAyLjM5NTI3IDQuNzU3NSAzLjMyOTMyIDMuNjY0NjdDNC4yNjMzNyAyLjU3MTgzIDUuNTI1NjYgMS44MTAyMSA2LjkyNzkzIDEuNDkzMzhDOC4zMzAyIDEuMTc2NTYgOS43OTczMSAxLjMyMTUxIDExLjExMDUgMS45MDY2Mk0xNS4wNjM4IDIuNjY2NjJMOC4zOTcxNCA5LjMzOTk1TDYuMzk3MTQgNy4zMzk5NVwiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTAzMzVfMjI4NTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMzk4NDM4KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJoZWFkZXJEYXRhLmNsaWVudCAhPT0nMTEnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIhb2JqPy5yZXZvcHNUeXBlfHxvYmo/LnJldm9wc1R5cGU9PT0nJ1wiIG5nYlRvb2x0aXA9XCJZZXQgdG8gdGFnIHRoZSBjdXN0b21lclwiIChjbGljayk9XCJyZXZvcFRhZ2dpbmcob2JqKVwiIHBsYWNlbWVudD1cInRvcFwiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE3IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzEwMzM1XzIyODUyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTguMzczMjggMC4wMDIwMTYwNkM3LjIwOTMyIC0wLjAyMzMxNSA2LjA1Mzg1IDAuMjA1NzExIDQuOTg3NTUgMC42NzMxMDZDMy45MjEyNSAxLjE0MDUgMi45Njk4MSAxLjgzNSAyLjE5OTY3IDIuNzA4MTFDMS40Mjk1MiAzLjU4MTIzIDAuODU5MjI1IDQuNjExOTIgMC41Mjg1OTYgNS43MjgyMkMwLjE5Nzk2NiA2Ljg0NDUzIDAuMTE0OTcxIDguMDE5NTUgMC4yODU0MDQgOS4xNzEyNEMwLjQ1NTgzNyAxMC4zMjI5IDAuODc1NTkxIDExLjQyMzYgMS41MTUzNiAxMi4zOTYzQzIuMTU1MTMgMTMuMzY5IDIuOTk5NSAxNC4xOTAzIDMuOTg5NTEgMTQuODAyOUM0Ljk3OTUzIDE1LjQxNTYgNi4wOTEzMyAxNS44MDQ4IDcuMjQ3MyAxNS45NDMzQzguNDAzMjYgMTYuMDgxOCA5LjU3NTU0IDE1Ljk2NjQgMTAuNjgyMyAxNS42MDVDMTAuODcxNCAxNS41NDMyIDExLjAyODIgMTUuNDA4OCAxMS4xMTgyIDE1LjIzMTRDMTEuMjA4MiAxNS4wNTQgMTEuMjI0MSAxNC44NDgxIDExLjE2MjMgMTQuNjU5QzExLjEwMDUgMTQuNDY5OSAxMC45NjYxIDE0LjMxMzEgMTAuNzg4NyAxNC4yMjMxQzEwLjYxMTMgMTQuMTMzMSAxMC40MDU0IDE0LjExNzIgMTAuMjE2MyAxNC4xNzlDOS4wMTM1OSAxNC41NzE3IDcuNzIyNDIgMTQuNjA0OSA2LjUwMTE0IDE0LjI3NDVDNS4yNzk4NiAxMy45NDQxIDQuMTgxNTUgMTMuMjY0NCAzLjM0MDkyIDEyLjMxODlDMi41MDAyOCAxMS4zNzM0IDEuOTUzODYgMTAuMjAzMSAxLjc2ODY3IDguOTUxNTFDMS41ODM0OCA3LjY5OTk1IDEuNzY3NTcgNi40MjE1NSAyLjI5ODM3IDUuMjczMDlDMi44MjkxNiA0LjEyNDYzIDMuNjgzNTggMy4xNTYwNCA0Ljc1Njg0IDIuNDg2MTFDNS44MzAxMSAxLjgxNjE4IDcuMDc1NTUgMS40NzQwMyA4LjM0MDQ0IDEuNTAxNjNDOS42MDUzMyAxLjUyOTIyIDEwLjgzNDcgMS45MjUzNiAxMS44Nzc3IDIuNjQxNDdDMTIuOTIwNyAzLjM1NzU3IDEzLjczMjEgNC4zNjI1IDE0LjIxMjMgNS41MzMwMkMxNC4yODc3IDUuNzE3MDggMTQuNDMzMiA1Ljg2MzYyIDE0LjYxNjcgNS45NDA0MkMxNC43MDc2IDUuOTc4NDUgMTQuODA1IDUuOTk4MiAxNC45MDM1IDUuOTk4NTZDMTUuMDAyIDUuOTk4OTIgMTUuMDk5NiA1Ljk3OTg4IDE1LjE5MDggNS45NDI1MkMxNS4yODE5IDUuOTA1MTYgMTUuMzY0OCA1Ljg1MDIxIDE1LjQzNDcgNS43ODA4MkMxNS41MDQ2IDUuNzExNDIgMTUuNTYwMiA1LjYyODk0IDE1LjU5ODIgNS41MzgwOEMxNS42MzYyIDUuNDQ3MjEgMTUuNjU2IDUuMzQ5NzUgMTUuNjU2MyA1LjI1MTI2QzE1LjY1NjcgNS4xNTI3NiAxNS42Mzc2IDUuMDU1MTUgMTUuNjAwMyA0Ljk2NDAyQzE1LjAwOTMgMy41MjMzMSAxNC4wMTA3IDIuMjg2MzkgMTIuNzI2OSAxLjQwNDk4QzExLjQ0MzIgMC41MjM1NzEgOS45MzAxMiAwLjAzNTk4MTUgOC4zNzMyOCAwLjAwMjAxNjA2Wk04Ljk0ODI4IDMuNzUwMDJDOC45NDgyOCAzLjU1MTEgOC44NjkyNiAzLjM2MDM0IDguNzI4NjEgMy4yMTk2OUM4LjU4Nzk2IDMuMDc5MDMgOC4zOTcxOSAzLjAwMDAyIDguMTk4MjggMy4wMDAwMkM3Ljk5OTM3IDMuMDAwMDIgNy44MDg2IDMuMDc5MDMgNy42Njc5NSAzLjIxOTY5QzcuNTI3MyAzLjM2MDM0IDcuNDQ4MjggMy41NTExIDcuNDQ4MjggMy43NTAwMlY3LjY5MDAyTDUuNDE0MjggOS43MjMwMkM1LjM0MDU5IDkuNzkxNjggNS4yODE0OSA5Ljg3NDQ4IDUuMjQwNSA5Ljk2NjQ4QzUuMTk5NTEgMTAuMDU4NSA1LjE3NzQ2IDEwLjE1NzggNS4xNzU2OSAxMC4yNTg1QzUuMTczOTEgMTAuMzU5MiA1LjE5MjQ0IDEwLjQ1OTIgNS4yMzAxNiAxMC41NTI2QzUuMjY3ODggMTAuNjQ2IDUuMzI0MDIgMTAuNzMwOCA1LjM5NTI0IDEwLjgwMjFDNS40NjY0NiAxMC44NzMzIDUuNTUxMjkgMTAuOTI5NCA1LjY0NDY4IDEwLjk2NzFDNS43MzgwNyAxMS4wMDQ5IDUuODM4MSAxMS4wMjM0IDUuOTM4OCAxMS4wMjE2QzYuMDM5NTEgMTEuMDE5OCA2LjEzODgyIDEwLjk5NzggNi4yMzA4MiAxMC45NTY4QzYuMzIyODIgMTAuOTE1OCA2LjQwNTYyIDEwLjg1NjcgNi40NzQyOCAxMC43ODNMOC43MjgyOCA4LjUzMDAyTDguOTQ4MjggOC4zMTAwMlYzLjc1MDAyWk0xNS4xOTgzIDE1QzE1LjE5ODMgMTUuMjY1MiAxNS4wOTI5IDE1LjUxOTYgMTQuOTA1NCAxNS43MDcxQzE0LjcxNzkgMTUuODk0NyAxNC40NjM1IDE2IDE0LjE5ODMgMTZDMTMuOTMzMSAxNiAxMy42Nzg3IDE1Ljg5NDcgMTMuNDkxMiAxNS43MDcxQzEzLjMwMzYgMTUuNTE5NiAxMy4xOTgzIDE1LjI2NTIgMTMuMTk4MyAxNUMxMy4xOTgzIDE0LjczNDggMTMuMzAzNiAxNC40ODA0IDEzLjQ5MTIgMTQuMjkyOUMxMy42Nzg3IDE0LjEwNTQgMTMuOTMzMSAxNCAxNC4xOTgzIDE0QzE0LjQ2MzUgMTQgMTQuNzE3OSAxNC4xMDU0IDE0LjkwNTQgMTQuMjkyOUMxNS4wOTI5IDE0LjQ4MDQgMTUuMTk4MyAxNC43MzQ4IDE1LjE5ODMgMTVaTTE0Ljk0ODMgOC43NTAwMkMxNC45NDgzIDguNTUxMSAxNC44NjkzIDguMzYwMzQgMTQuNzI4NiA4LjIxOTY5QzE0LjU4OCA4LjA3OTAzIDE0LjM5NzIgOC4wMDAwMiAxNC4xOTgzIDguMDAwMDJDMTMuOTk5NCA4LjAwMDAyIDEzLjgwODYgOC4wNzkwMyAxMy42NjggOC4yMTk2OUMxMy41MjczIDguMzYwMzQgMTMuNDQ4MyA4LjU1MTEgMTMuNDQ4MyA4Ljc1MDAyVjEyLjI1QzEzLjQ0ODMgMTIuNDQ4OSAxMy41MjczIDEyLjYzOTcgMTMuNjY4IDEyLjc4MDNDMTMuODA4NiAxMi45MjEgMTMuOTk5NCAxMyAxNC4xOTgzIDEzQzE0LjM5NzIgMTMgMTQuNTg4IDEyLjkyMSAxNC43Mjg2IDEyLjc4MDNDMTQuODY5MyAxMi42Mzk3IDE0Ljk0ODMgMTIuNDQ4OSAxNC45NDgzIDEyLjI1VjguNzUwMDJaXCIgZmlsbD1cIiNGNzkwMDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTUuMTg1OCA0LjEwMzc5QzE1LjA5OTYgMy45NDkwNyAxNS4wMDgzIDMuNzk3NDQgMTQuOTEyMSAzLjY0OTExQzE0LjU3NDcgMy4xMjg0MyAxNC4xNzc2IDIuNjQ4NTQgMTMuNzI4OSAyLjIxOTMyQzEzLjQxODcgMS45MjI1NyAxMy4wODM5IDEuNjUwMDQgMTIuNzI2OSAxLjQwNDk4QzEyLjcyNjkgMS40MDQ5MyAxMi43MjcgMS40MDUwNCAxMi43MjY5IDEuNDA0OThDMTIuNTE0NCAxLjI1OTA2IDEyLjI5NTQgMS4xMjM3OSAxMi4wNzExIDAuOTk5NzI5QzExLjgyNTUgMC44NjM4OTMgMTEuNTczNCAwLjc0MTMyMiAxMS4zMTU5IDAuNjMyMzc3QzEwLjM4ODIgMC4yMzk4NzMgOS4zOTAwNiAwLjAyNDE5OSA4LjM3MzI4IDAuMDAyMDE2MDZDOC4zNzMyNCAwLjAwMjAxNTE4IDguMzczMzIgMC4wMDIwMTY5NCA4LjM3MzI4IDAuMDAyMDE2MDZDOC4zMTQ5NiAwLjAwMDc0Nzc5IDguMjU2NTUgMC4wMDAxMTUzODcgOC4xOTgyOCAwLjAwMDEyMjEyNEM3LjEyNzYgMC4wMDAyNDU5MiA2LjA2NzU0IDAuMjE1MzA0IDUuMDgxMDggMC42MzI4MTZDNS4wNDk4MyAwLjY0NjA0MyA1LjAxODY1IDAuNjU5NDczIDQuOTg3NTUgMC42NzMxMDZDNC43NjExNSAwLjc3MjM0MyA0LjUzOTkzIDAuODgxODIgNC4zMjQ1MiAxLjAwMTA3QzQuMjAyMDEgMS4wNjg4OSA0LjA4MTM5IDEuMTM5ODcgMy45NjI3NSAxLjIxMzkzQzMuMzA3NTYgMS42MjI5NiAyLjcxMzI5IDIuMTI1ODEgMi4xOTk2NyAyLjcwODExQzEuNjg2MDIgMy4yOTA0MyAxLjI2MTI3IDMuOTQyODUgMC45MzcyMzIgNC42NDRDMC43NzU0MTUgNC45OTQxNCAwLjYzODcxMyA1LjM1NjQzIDAuNTI4NTk2IDUuNzI4MjJDMC4xOTc5OSA2Ljg0NDQ1IDAuMTE0OTgzIDguMDE5MzggMC4yODUzNjYgOS4xNzA5OUMwLjI4NTM1NCA5LjE3MDkxIDAuMjg1Mzc5IDkuMTcxMDggMC4yODUzNjYgOS4xNzA5OUMwLjQ1NTggMTAuMzIyNyAwLjg3NTU5MSAxMS40MjM2IDEuNTE1MzYgMTIuMzk2M0MxLjcyODM1IDEyLjcyMDEgMS45NjQwMiAxMy4wMjcxIDIuMjIwMTkgMTMuMzE1M0MyLjczMzQ5IDEzLjg5MjcgMy4zMjkwOSAxNC4zOTQzIDMuOTg5NTEgMTQuODAyOUM0LjY0OTY3IDE1LjIxMTUgNS4zNjM5OCAxNS41MjA2IDYuMTA5NDMgMTUuNzIyNEM2LjQ4MTkgMTUuODIzMiA2Ljg2MjE1IDE1Ljg5NzEgNy4yNDczIDE1Ljk0MzNDNy4yOTEyMyAxNS45NDg2IDcuMzM1MTkgMTUuOTUzNSA3LjM3OTE3IDE1Ljk1OEM4LjAxNDkyIDE2LjAyMzUgOC42NTQ2NCAxNi4wMTI0IDkuMjg0NzggMTUuOTI2MUM5LjUyMTQ2IDE1Ljg5MzcgOS43NTY3OCAxNS44NTA3IDkuOTkwMDQgMTUuNzk3MUMxMC4yMjMgMTUuNzQzNiAxMC40NTM5IDE1LjY3OTYgMTAuNjgxOSAxNS42MDUxQzEwLjY4MTggMTUuNjA1MiAxMC42ODIxIDE1LjYwNTEgMTAuNjgxOSAxNS42MDUxQzEwLjcxOTYgMTUuNTkyOCAxMC43NTYzIDE1LjU3NzUgMTAuNzkxMSAxNS41NTk3QzEwLjkzMTIgMTUuNDg4IDExLjA0NjEgMTUuMzczNSAxMS4xMTgyIDE1LjIzMTRDMTEuMTU1NCAxNS4xNTgxIDExLjE4IDE1LjA3OTkgMTEuMTkxNiAxNUMxMS4yMDgxIDE0Ljg4NjcgMTEuMTk4NSAxNC43NyAxMS4xNjIzIDE0LjY1OUMxMS4xMDA1IDE0LjQ2OTkgMTAuOTY2MSAxNC4zMTMxIDEwLjc4ODcgMTQuMjIzMUMxMC42MTE0IDE0LjEzMzEgMTAuNDA1NiAxNC4xMTcyIDEwLjIxNjYgMTQuMTc4OUMxMC4yMTY1IDE0LjE3ODkgMTAuMjE2OCAxNC4xNzg5IDEwLjIxNjYgMTQuMTc4OUMxMC4xMTIxIDE0LjIxMyAxMC4wMDY1IDE0LjI0NDYgOS45MDA3MyAxNC4yNzMzQzkuNzQ4NDggMTQuMzE0NiA5LjU5NTA2IDE0LjM1MDMgOS40NDA3OCAxNC4zODAzQzkuMzcxNDYgMTQuMzkzOCA5LjMwMTk2IDE0LjQwNjIgOS4yMzIzMyAxNC40MTc0QzguODU0OCAxNC40NzgyIDguNDczMDIgMTQuNTA1NSA4LjA5MTQ0IDE0LjQ5OTJDNy45OTU2OCAxNC40OTc2IDcuODk5OTIgMTQuNDkzOSA3LjgwNDI2IDE0LjQ4ODFDNy42Nzc5IDE0LjQ4MDQgNy41NTE2OCAxNC40NjkxIDcuNDI1NzggMTQuNDU0QzcuMzYxMzMgMTQuNDQ2MyA3LjI5Njk2IDE0LjQzNzYgNy4yMzI2OSAxNC40Mjc5QzYuOTg2OTMgMTQuMzkxIDYuNzQyNjcgMTQuMzM5OSA2LjUwMTE0IDE0LjI3NDVDNi4zMjkzMyAxNC4yMjggNi4xNTk5NSAxNC4xNzQ2IDUuOTkzMzcgMTQuMTE0NkM1LjU2ODA5IDEzLjk2MTIgNS4xNjExMiAxMy43NjQyIDQuNzc4NyAxMy41Mjc2QzQuNzMzNzMgMTMuNDk5OCA0LjY4OTExIDEzLjQ3MTQgNC42NDQ4MyAxMy40NDI1QzQuMjcwMDMgMTMuMTk3OCAzLjkyMDI4IDEyLjkxNDIgMy42MDE3NCAxMi41OTU2QzMuNTEyMjkgMTIuNTA2MSAzLjQyNTMxIDEyLjQxMzggMy4zNDA5MiAxMi4zMTg5QzMuMTMxMzkgMTIuMDgzMiAyLjk0MDE0IDExLjgzMzYgMi43NjgyMSAxMS41NzIyQzIuNzYzODUgMTEuNTY1NiAyLjc1OTUgMTEuNTU5IDIuNzU1MTYgMTEuNTUyM0MyLjQ3OTY0IDExLjEzMDEgMi4yNTQzNyAxMC42Nzc1IDIuMDgzNjggMTAuMjAzOUMxLjkzODA3IDkuNzk5OTMgMS44MzIxOCA5LjM4MDYxIDEuNzY4NzEgOC45NTE3NEMxLjc2ODY5IDguOTUxNjYgMS43Njg3MiA4Ljk1MTgyIDEuNzY4NzEgOC45NTE3NEMxLjc0MTI1IDguNzY2MjEgMS43MjE4OCA4LjU3OTg2IDEuNzEwNTkgOC4zOTM2N0MxLjcwNDcxIDguMjk2ODMgMS43MDEwMSA4LjE5OTk4IDEuNjk5NDggOC4xMDMxN0MxLjY4OTAyIDcuNDQzNTUgMS43NzkwNSA2Ljc4NjI2IDEuOTY2MzEgNi4xNTQwNUMyLjA1NTIgNS44NTM5NCAyLjE2NjAxIDUuNTU5NDcgMi4yOTgzNyA1LjI3MzA5QzIuNTYzNzggNC42OTg4MyAyLjkxMDExIDQuMTY5NTQgMy4zMjQyNSAzLjcwMDA3QzMuMzY2MTggMy42NTI1NCAzLjQwODggMy42MDU2MyAzLjQ1MjEgMy41NTkzNEMzLjgzNjQ5IDMuMTQ4NDggNC4yNzQ1OCAyLjc4NzE0IDQuNzU2ODQgMi40ODYxMUM1LjAyNDUyIDIuMzE5MDMgNS4zMDI5MSAyLjE3MjMzIDUuNTg5NjMgMi4wNDY2OEM1LjgwNDcxIDEuOTUyNDIgNi4wMjQ0OSAxLjg3IDYuMjQ3OTYgMS43OTk3QzYuODc2MjggMS42MDIwMiA3LjUzMzggMS41MDAxMiA4LjE5ODI4IDEuNTAwMDhDOC4yNDU2MyAxLjUwMDA4IDguMjkzMDIgMS41MDA1OSA4LjM0MDQ0IDEuNTAxNjNDOC45NTc0NSAxLjUxNTExIDkuNTY2MiAxLjYxNjI5IDEwLjE0ODggMS43OTk1MkMxMC43NjA1IDEuOTkxODkgMTEuMzQzNSAyLjI3NDcyIDExLjg3NzcgMi42NDE0N0MxMS44Nzc2IDIuNjQxNDIgMTEuODc3OCAyLjY0MTUxIDExLjg3NzcgMi42NDE0N0MxMi4wODM5IDIuNzgzMDQgMTIuMjgxMiAyLjkzNjAzIDEyLjQ2ODUgMy4wOTkyMkMxMi42MzUxIDMuMjQ0MzYgMTIuNzkzOSAzLjM5NzY3IDEyLjk0NDQgMy41NTg0OEMxMy4wOTc0IDMuNzIxOTcgMTMuMjQxOSAzLjg5MzIyIDEzLjM3NzEgNC4wNzE1MkMxMy41NTU1IDQuMzA2NiAxMy43MTc5IDQuNTUzOTUgMTMuODYzMSA0LjgxMTk1QzEzLjk0MjcgNC45NTMzNiAxNC4wMTcxIDUuMDk3OTggMTQuMDg2MSA1LjI0NTUyQzE0LjEyNTMgNS4zMjkxNCAxNC4xNjI3IDUuNDEzNzEgMTQuMTk4MyA1LjQ5OTE2QzE0LjIwMyA1LjUxMDQzIDE0LjIwNzYgNS41MjE3MiAxNC4yMTIzIDUuNTMzMDJDMTQuMjEyMiA1LjUzMjkyIDE0LjIxMjMgNS41MzMxMiAxNC4yMTIzIDUuNTMzMDJDMTQuMjg3OCA1LjcxNjkzIDE0LjQzMzMgNS44NjM2NyAxNC42MTY3IDUuOTQwNDJDMTQuNzA3NiA1Ljk3ODQ1IDE0LjgwNSA1Ljk5ODIgMTQuOTAzNSA1Ljk5ODU2QzE1LjAwMiA1Ljk5ODkyIDE1LjA5OTYgNS45Nzk4OCAxNS4xOTA4IDUuOTQyNTJDMTUuMjgxOSA1LjkwNTE2IDE1LjM2NDggNS44NTAyMSAxNS40MzQ3IDUuNzgwODJDMTUuNTA0NiA1LjcxMTQyIDE1LjU2MDIgNS42Mjg5NCAxNS41OTgyIDUuNTM4MDhDMTUuNjM2MiA1LjQ0NzIyIDE1LjY1NiA1LjM0OTc1IDE1LjY1NjMgNS4yNTEyNkMxNS42NTY3IDUuMTUyNzYgMTUuNjM3NiA1LjA1NTE2IDE1LjYwMDMgNC45NjQwMkMxNS42MDAyIDQuOTYzOSAxNS42MDAzIDQuOTY0MTQgMTUuNjAwMyA0Ljk2NDAyQzE1LjUwOTEgNC43NDE4NyAxNS40MDgyIDQuNTI0MiAxNS4yOTgxIDQuMzEyMjlDMTUuMjYxNyA0LjI0MjIgMTUuMjI0MiA0LjE3MjY5IDE1LjE4NTggNC4xMDM3OVpNOC45NDgyOCAzLjc1MDAyQzguOTQ4MjggMy41NTExIDguODY5MjYgMy4zNjAzNCA4LjcyODYxIDMuMjE5NjlDOC42MTQwNSAzLjEwNTEyIDguNDY2MjQgMy4wMzE0NSA4LjMwNzg2IDMuMDA4MDZDOC4yNzE4OCAzLjAwMjc2IDguMjM1MDggMy4wMDAwMiA4LjE5ODI4IDMuMDAwMDJDNy45OTkzNyAzLjAwMDAyIDcuODA4NiAzLjA3OTAzIDcuNjY3OTUgMy4yMTk2OUM3LjUyNzMgMy4zNjAzNCA3LjQ0ODI4IDMuNTUxMSA3LjQ0ODI4IDMuNzUwMDJWNy42OTAwMkw1LjQxNDUyIDkuNzIyNzhDNS40MDE1OSA5LjczNDgzIDUuMzg4ODcgOS43NDc1NSA1LjM3Njg2IDkuNzYwNDRDNS4zMjA0MSA5LjgyMTAyIDUuMjc0MyA5Ljg5MDYyIDUuMjQwNSA5Ljk2NjQ4QzUuMTk5NTEgMTAuMDU4NSA1LjE3NzQ2IDEwLjE1NzggNS4xNzU2OSAxMC4yNTg1QzUuMTczOTEgMTAuMzU5MiA1LjE5MjQ0IDEwLjQ1OTIgNS4yMzAxNiAxMC41NTI2QzUuMjM4NjMgMTAuNTczNiA1LjI0ODA0IDEwLjU5NDIgNS4yNTgzNCAxMC42MTQyQzUuMjkzODcgMTAuNjgzNCA1LjM0MDAyIDEwLjc0NjggNS4zOTUyNCAxMC44MDIxQzUuNDY2NDYgMTAuODczMyA1LjU1MTI5IDEwLjkyOTQgNS42NDQ2OCAxMC45NjcxQzUuNzM4MDcgMTEuMDA0OSA1LjgzODEgMTEuMDIzNCA1LjkzODggMTEuMDIxNkM2LjAzOTUxIDExLjAxOTggNi4xMzg4MiAxMC45OTc4IDYuMjMwODIgMTAuOTU2OEM2LjMwNjY4IDEwLjkyMyA2LjM3NjI4IDEwLjg3NjkgNi40MzY4NiAxMC44MjA0QzYuNDQ5NjYgMTAuODA4NSA2LjQ2MjA2IDEwLjc5NjEgNi40NzQwMyAxMC43ODMzQzYuNDczOTUgMTAuNzgzNCA2LjQ3NDExIDEwLjc4MzIgNi40NzQwMyAxMC43ODMzTDguOTQ4MjggOC4zMTAwMlYzLjc1MDAyWk0xMy40NDgzIDEyLjI1QzEzLjQ0ODMgMTIuNDQ4OSAxMy41MjczIDEyLjYzOTcgMTMuNjY4IDEyLjc4MDNDMTMuODA4NiAxMi45MjEgMTMuOTk5NCAxMyAxNC4xOTgzIDEzQzE0LjM4OTUgMTMgMTQuNTczMiAxMi45MjcgMTQuNzEyMSAxMi43OTYzQzE0LjcxNzcgMTIuNzkxMSAxNC43MjMyIDEyLjc4NTggMTQuNzI4NiAxMi43ODAzQzE0Ljg2OTMgMTIuNjM5NyAxNC45NDgzIDEyLjQ0ODkgMTQuOTQ4MyAxMi4yNVYxMC4wNTY2QzE0LjcwMTUgMTAuMDE5MSAxNC40NTA5IDEwIDE0LjE5ODMgMTBDMTMuOTQ1NyAxMCAxMy42OTUgMTAuMDE5MSAxMy40NDgzIDEwLjA1NjZWMTIuMjVaTTEzLjQ0ODMgOS43NjkyN0MxMy42OTMyIDkuODQ4MjggMTMuOTQ0MSA5LjkwNzE5IDE0LjE5ODMgOS45NDU1MUMxNC40MjY0IDkuOTc5ODkgMTQuNjU3MiA5Ljk5NzY5IDE0Ljg4ODkgOS45OTg1NEMxNC45MDg3IDkuOTk4NjEgMTQuOTI4NSA5Ljk5ODU2IDE0Ljk0ODMgOS45OTgzOFY4Ljc1MDAyQzE0Ljk0ODMgOC42NTM1NiAxNC45Mjk3IDguNTU5MDEgMTQuODk0NSA4LjQ3MTE3QzE0Ljg1NzEgOC4zNzc4NyAxNC44MDExIDguMjkyMTMgMTQuNzI4NiA4LjIxOTY5QzE0LjU4OCA4LjA3OTA0IDE0LjM5NzIgOC4wMDAwMiAxNC4xOTgzIDguMDAwMDJDMTMuOTk5NCA4LjAwMDAyIDEzLjgwODYgOC4wNzkwNCAxMy42NjggOC4yMTk2OUMxMy42NjUgOC4yMjI2OCAxMy42NjIgOC4yMjU2OSAxMy42NTkxIDguMjI4NzJDMTMuNTI4MiA4LjM2NDEgMTMuNDUzIDguNTQzNzYgMTMuNDQ4NSA4LjczMTg4QzEzLjQ0ODQgOC43Mzc5MiAxMy40NDgzIDguNzQzOTcgMTMuNDQ4MyA4Ljc1MDAyVjkuNzY5MjdaTTE1LjE5NjMgMTUuMDYyNkMxNS4xOTc2IDE1LjA0MTggMTUuMTk4MyAxNS4wMjA5IDE1LjE5ODMgMTVDMTUuMTk4MyAxNC45OTg0IDE1LjE5ODMgMTQuOTk2OCAxNS4xOTgzIDE0Ljk5NTFDMTUuMTk3IDE0LjczMTcgMTUuMDkxOCAxNC40NzkzIDE0LjkwNTQgMTQuMjkyOUMxNC43MTc4IDE0LjEwNTQgMTQuNDYzNSAxNCAxNC4xOTgzIDE0QzEzLjkzMzEgMTQgMTMuNjc4NyAxNC4xMDU0IDEzLjQ5MTIgMTQuMjkyOUMxMy4zMDM2IDE0LjQ4MDQgMTMuMTk4MyAxNC43MzQ4IDEzLjE5ODMgMTVDMTMuMTk4MyAxNS4yNjUyIDEzLjMwMzYgMTUuNTE5NiAxMy40OTEyIDE1LjcwNzFDMTMuNjc4NyAxNS44OTQ3IDEzLjkzMzEgMTYgMTQuMTk4MyAxNkMxNC40NjM1IDE2IDE0LjcxNzggMTUuODk0NyAxNC45MDU0IDE1LjcwNzFDMTUuMDc4MSAxNS41MzQ0IDE1LjE4MTEgMTUuMzA1IDE1LjE5NjMgMTUuMDYyNlpcIiBmaWxsPVwiI0Y3OTAwOVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMDMzNV8yMjg1MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4xOTkyMTkpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cIm9iaj8ucmV2b3BzVHlwZSYmb2JqPy5yZXZvcHNUeXBlIT09JydcIiAgKGNsaWNrKT1cInJldm9wVGFnZ2luZyhvYmopXCIgbmdiVG9vbHRpcD1cIkN1c3RvbWVyIFRhZ2dpbmcgaXMgRG9uZVwiICBwbGFjZW1lbnQ9XCJ0b3BcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMDMzNV8yMjg1NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuMDYzOCA3LjM4NjYyVjcuOTk5OTVDMTUuMDYzIDkuNDM3NTYgMTQuNTk3NSAxMC44MzY0IDEzLjczNjcgMTEuOTg3OEMxMi44NzU5IDEzLjEzOTMgMTEuNjY2IDEzLjk4MTYgMTAuMjg3NCAxNC4zODkyQzguOTA4NzYgMTQuNzk2OCA3LjQzNTMxIDE0Ljc0NzkgNi4wODY3OCAxNC4yNDk3QzQuNzM4MjYgMTMuNzUxNSAzLjU4NjkxIDEyLjgzMDcgMi44MDQ0NCAxMS42MjQ3QzIuMDIxOTggMTAuNDE4NiAxLjY1MDMzIDguOTkxOTkgMS43NDQ5MiA3LjU1NzQ5QzEuODM5NTEgNi4xMjI5OSAyLjM5NTI3IDQuNzU3NSAzLjMyOTMyIDMuNjY0NjdDNC4yNjMzNyAyLjU3MTgzIDUuNTI1NjYgMS44MTAyMSA2LjkyNzkzIDEuNDkzMzhDOC4zMzAyIDEuMTc2NTYgOS43OTczMSAxLjMyMTUxIDExLjExMDUgMS45MDY2Mk0xNS4wNjM4IDIuNjY2NjJMOC4zOTcxNCA5LjMzOTk1TDYuMzk3MTQgNy4zMzk5NVwiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTAzMzVfMjI4NTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMzk4NDM4KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yIGltZy1kb2MtdmFsdWVcIj57e29iai50aW1lU3BlbnQuZW50cnlUaW1lfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwicHktMiBpbWctZG9jLXZhbHVlXCI+e3tvYmoudGltZVNwZW50LmV4aXRUaW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsRGF0YVNob3cgIT09J3RyYWNraW5nLWVuYWJsZWQnXCIgY2xhc3M9XCJweS0yIGltZy1kb2MtdmFsdWVcIj57e29iai50aW1lU3BlbnQudG90YWxUaW1lU3BlbnR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJpbWFnZUZsb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXNocmluay0wIG10LTMganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiYmFja1RvVmlldygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzI1ODVfNzAzNlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjU4NV83MDM2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBweS0yIGltZy1kb2MtZGlyZWN0b3J5XCI+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1pbmZvXCI+e3tJbWFnZWRhdGEudGVtcElkfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RDb250cm9sLnZhbHVlIGFzIHZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIG1zLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXByaW1hcnknOiB2YWx1ZSA9PT0gJ2Zvb3RmYWxsJyAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnOiB2YWx1ZSA9PT0gJ3B1cmNoYXNlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiB2YWx1ZSA9PT0gJ25vblNob3BwZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiB2YWx1ZSA9PT0gJ2JvdW5jZWQnIHx8IHZhbHVlID09PSAnZW5nYWdlcicgfHwgdmFsdWUgPT09ICdtaXNzZWRPcHBvcnR1bml0eScgfHwgdmFsdWUgPT09ICdjb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSAncHVyY2hhc2VyJyA/ICdQdXJjaGFzZXInIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSAnbm9uU2hvcHBlcicgPyAnTm9uIFNob3BwZXInIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSAnbWlzc2VkT3Bwb3J0dW5pdHknID8gJ01pc3NlZCBPcHBvcnR1bml0eScgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIHwgdGl0bGVjYXNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtuZ0NsYXNzXT1cInsgJ2N1cnNvci1ub3QtYWxsb3dlZCBvcGFjaXR5LTUwJzogaXNGaXJzdEltYWdlKCkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyLWV2ZW50c109XCJpc0ZpcnN0SW1hZ2UoKSA/ICdub25lJyA6ICdhdXRvJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIhaXNGaXJzdEltYWdlKCkgJiYgcHJldmlvdXMoKVwiID48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuNSA4QzAuNSAzLjg1Nzg2IDMuODU3ODYgMC41IDggMC41SDM5LjVWMzkuNUg4QzMuODU3ODYgMzkuNSAwLjUgMzYuMTQyMSAwLjUgMzJWOFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC41IDhDMC41IDMuODU3ODYgMy44NTc4NiAwLjUgOCAwLjVIMzkuNVYzOS41SDhDMy44NTc4NiAzOS41IDAuNSAzNi4xNDIxIDAuNSAzMlY4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjIuNSAyNUwxNy41IDIwTDIyLjUgMTVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbbmdDbGFzc109XCJ7ICdjdXJzb3Itbm90LWFsbG93ZWQgb3BhY2l0eS01MCc6IGlzTGFzdEltYWdlKCkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5wb2ludGVyLWV2ZW50c109XCJpc0xhc3RJbWFnZSgpID8gJ25vbmUnIDogJ2F1dG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFpc0xhc3RJbWFnZSgpICYmIG5leHQoKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC41IDAuNUgzMkMzNi4xNDIxIDAuNSAzOS41IDMuODU3ODYgMzkuNSA4VjMyQzM5LjUgMzYuMTQyMSAzNi4xNDIxIDM5LjUgMzIgMzkuNUgwLjVWMC41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0wLjUgMC41SDMyQzM2LjE0MjEgMC41IDM5LjUgMy44NTc4NiAzOS41IDhWMzJDMzkuNSAzNi4xNDIxIDM2LjE0MjEgMzkuNSAzMiAzOS41SDAuNVYwLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDI1TDIyLjUgMjBMMTcuNSAxNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtbGctNiBjb2wteGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAgY2xhc3M9XCJpbWctc3JjMVwiIFtzcmNdPVwiSW1hZ2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiSW1hZ2VzID0gbnVsbFwiIGFsdD1cIlwiIGFwcE1hZ25pZmllciA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB7e215VGh1bWJuYWlsfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LWltYWdlLXpvb21cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHVtYkltYWdlXT1teVRodW1ibmFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZnVsbEltYWdlXT1teUZ1bGxyZXNJbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFnbmlmaWNhdGlvbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZVNjcm9sbFpvb21dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVMZW5zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVuc1dpZHRoXT1cIjIwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZW5zSGVpZ2h0XT1cIjIwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmd4LWltYWdlLXpvb20+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFJbWFnZXNcIiBjbGFzcz1cIm5vLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIzXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIzIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTYuNSA2LjMyMjI3SDYuNTFNMTYuMjUgOS4zMjIyN0gyMS41TDE4IDE2LjMyMjNMMTQuOTEgMTIuMDAyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xLjUgMTYuMzIyOUg1LjI2QzUuNjMyNzMgMTYuMzI1NSA1Ljk5ODc3IDE2LjIyMzkgNi4zMTY4MiAxNi4wMjk1QzYuNjM0ODcgMTUuODM1MiA2Ljg5MjI4IDE1LjU1NTggNy4wNiAxNS4yMjI5TDguNSAxMi4zMjI5TTEuNSAxOC4zMjI5VjE0LjMyMjlNMTcuNSA2LjgyMjkxTDEzLjUgMTQuODIyOUwzLjExIDkuNjIyOTFDMi40MjAzMyA5LjI3NTUzIDEuODk2MzUgOC42NjkxIDEuNjUyNzIgNy45MzYzMkMxLjQwOTA5IDcuMjAzNTQgMS40NjU2NCA2LjQwNDEgMS44MSA1LjcxMjkxTDMuMTkgMi45MjI5MUMzLjM2MiAyLjU4MDE0IDMuNTk5ODQgMi4yNzQ2IDMuODg5OTQgMi4wMjM3NUM0LjE4MDAzIDEuNzcyOSA0LjUxNjcgMS41ODE2NSA0Ljg4MDcyIDEuNDYwOTNDNS4yNDQ3NCAxLjM0MDIxIDUuNjI4OTcgMS4yOTIzOSA2LjAxMTQ3IDEuMzIwMThDNi4zOTM5OCAxLjM0Nzk3IDYuNzY3MjYgMS40NTA4NCA3LjExIDEuNjIyOTFMMTcuNSA2LjgyMjkxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlciBtYi01IHRleHQtY2VudGVyXCI+UHJldmlldyBub3QgYXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb24gbWItNSB0ZXh0LWNlbnRlclwiPlRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50Ljwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgc2xpZGVyIG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIiAqbmdJZj1cIkltYWdlZGF0YT8uaW1hZ2VzPy5lbnRyeVRpbWVJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNSAgYm9yZGVyLTJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXktYWN0aXZlJzogSW1hZ2VzID09PSBJbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXknOiBJbWFnZXMgIT09IEltYWdlZGF0YT8uaW1hZ2VzPy5lbnRyeVRpbWVJbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+RW50cnkgVGltZTE8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB3LTEwMCByb3VuZGVkLTIgbWgtMTAwcHggcGItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJJbWFnZWRhdGE/LmltYWdlcz8uZW50cnlUaW1lSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJJbWFnZWRhdGE/LmltYWdlcy5lbnRyeVRpbWVJbWFnZSA9IG51bGxcIiBhbHQ9XCJcIiAoY2xpY2spPVwiaW1hZ2VEYXRhKCdlbnRyeScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIUltYWdlZGF0YT8uaW1hZ2VzPy5lbnRyeVRpbWVJbWFnZVwiIGNsYXNzPVwibm8tcHJldmlldy1zbSBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjNcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjMgMjBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuNSA2LjMyMjI3SDYuNTFNMTYuMjUgOS4zMjIyN0gyMS41TDE4IDE2LjMyMjNMMTQuOTEgMTIuMDAyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xLjUgMTYuMzIyOUg1LjI2QzUuNjMyNzMgMTYuMzI1NSA1Ljk5ODc3IDE2LjIyMzkgNi4zMTY4MiAxNi4wMjk1QzYuNjM0ODcgMTUuODM1MiA2Ljg5MjI4IDE1LjU1NTggNy4wNiAxNS4yMjI5TDguNSAxMi4zMjI5TTEuNSAxOC4zMjI5VjE0LjMyMjlNMTcuNSA2LjgyMjkxTDEzLjUgMTQuODIyOUwzLjExIDkuNjIyOTFDMi40MjAzMyA5LjI3NTUzIDEuODk2MzUgOC42NjkxIDEuNjUyNzIgNy45MzYzMkMxLjQwOTA5IDcuMjAzNTQgMS40NjU2NCA2LjQwNDEgMS44MSA1LjcxMjkxTDMuMTkgMi45MjI5MUMzLjM2MiAyLjU4MDE0IDMuNTk5ODQgMi4yNzQ2IDMuODg5OTQgMi4wMjM3NUM0LjE4MDAzIDEuNzcyOSA0LjUxNjcgMS41ODE2NSA0Ljg4MDcyIDEuNDYwOTNDNS4yNDQ3NCAxLjM0MDIxIDUuNjI4OTcgMS4yOTIzOSA2LjAxMTQ3IDEuMzIwMThDNi4zOTM5OCAxLjM0Nzk3IDYuNzY3MjYgMS40NTA4NCA3LjExIDEuNjIyOTFMMTcuNSA2LjgyMjkxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlciBtYi0yIHRleHQtY2VudGVyXCI+UHJldmlldyBub3QgYXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb24gbWItMiB0ZXh0LWNlbnRlclwiPlRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50Ljwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIiAqbmdJZj1cIkltYWdlZGF0YT8uaW1hZ2VzPy5zdGFmZkVuZ2FnZW1lbnRJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNSBib3JkZXItMlwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItZ3JheS1hY3RpdmUnOiBJbWFnZXMgPT09IEltYWdlZGF0YT8uaW1hZ2VzPy5zdGFmZkVuZ2FnZW1lbnRJbWFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItZ3JheSc6IEltYWdlcyAhPT0gSW1hZ2VkYXRhPy5pbWFnZXM/LnN0YWZmRW5nYWdlbWVudEltYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5TdGFmZiBFbmdhZ2VtZW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4IHBiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiSW1hZ2VkYXRhPy5pbWFnZXM/LnN0YWZmRW5nYWdlbWVudEltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiSW1hZ2VkYXRhPy5pbWFnZXMuc3RhZmZFbmdhZ2VtZW50SW1hZ2UgPSBudWxsXCIgYWx0PVwiXCIgKGNsaWNrKT1cImltYWdlRGF0YSgnc3RhZmYnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFJbWFnZWRhdGE/LmltYWdlcz8uc3RhZmZFbmdhZ2VtZW50SW1hZ2VcIiBjbGFzcz1cIm5vLXByZXZpZXctc20gY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIzXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIzIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJHcm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjUgNi4zMjIyN0g2LjUxTTE2LjI1IDkuMzIyMjdIMjEuNUwxOCAxNi4zMjIzTDE0LjkxIDEyLjAwMjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JfMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMS41IDE2LjMyMjlINS4yNkM1LjYzMjczIDE2LjMyNTUgNS45OTg3NyAxNi4yMjM5IDYuMzE2ODIgMTYuMDI5NUM2LjYzNDg3IDE1LjgzNTIgNi44OTIyOCAxNS41NTU4IDcuMDYgMTUuMjIyOUw4LjUgMTIuMzIyOU0xLjUgMTguMzIyOVYxNC4zMjI5TTE3LjUgNi44MjI5MUwxMy41IDE0LjgyMjlMMy4xMSA5LjYyMjkxQzIuNDIwMzMgOS4yNzU1MyAxLjg5NjM1IDguNjY5MSAxLjY1MjcyIDcuOTM2MzJDMS40MDkwOSA3LjIwMzU0IDEuNDY1NjQgNi40MDQxIDEuODEgNS43MTI5MUwzLjE5IDIuOTIyOTFDMy4zNjIgMi41ODAxNCAzLjU5OTg0IDIuMjc0NiAzLjg4OTk0IDIuMDIzNzVDNC4xODAwMyAxLjc3MjkgNC41MTY3IDEuNTgxNjUgNC44ODA3MiAxLjQ2MDkzQzUuMjQ0NzQgMS4zNDAyMSA1LjYyODk3IDEuMjkyMzkgNi4wMTE0NyAxLjMyMDE4QzYuMzkzOTggMS4zNDc5NyA2Ljc2NzI2IDEuNDUwODQgNy4xMSAxLjYyMjkxTDE3LjUgNi44MjI5MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXIgbWItMiB0ZXh0LWNlbnRlclwiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlc2NyaXB0aW9uIG1iLTIgdGV4dC1jZW50ZXJcIj5UaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudC48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtNCBcIiAqbmdJZj1cIkltYWdlZGF0YT8uaW1hZ2VzPy5leGl0VGltZUltYWdlICYmIGZvb3RmYWxsRGF0YVNob3cgIT09J3RyYWNraW5nLWVuYWJsZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01ICBib3JkZXItMlwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItZ3JheS1hY3RpdmUnOiBJbWFnZXMgPT09IEltYWdlZGF0YT8uaW1hZ2VzPy5leGl0VGltZUltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ncmF5JzogSW1hZ2VzICE9PSBJbWFnZWRhdGE/LmltYWdlcz8uZXhpdFRpbWVJbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+RXhpdCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4IHBiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiSW1hZ2VkYXRhPy5pbWFnZXM/LmV4aXRUaW1lSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJJbWFnZWRhdGE/LmltYWdlcy5leGl0VGltZUltYWdlID0gbnVsbFwiIGFsdD1cIlwiIChjbGljayk9XCJpbWFnZURhdGEoJ2V4aXQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFJbWFnZWRhdGE/LmltYWdlcz8uZXhpdFRpbWVJbWFnZVwiIGNsYXNzPVwibm8tcHJldmlldy1zbSBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjNcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjMgMjBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuNSA2LjMyMjI3SDYuNTFNMTYuMjUgOS4zMjIyN0gyMS41TDE4IDE2LjMyMjNMMTQuOTEgMTIuMDAyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xLjUgMTYuMzIyOUg1LjI2QzUuNjMyNzMgMTYuMzI1NSA1Ljk5ODc3IDE2LjIyMzkgNi4zMTY4MiAxNi4wMjk1QzYuNjM0ODcgMTUuODM1MiA2Ljg5MjI4IDE1LjU1NTggNy4wNiAxNS4yMjI5TDguNSAxMi4zMjI5TTEuNSAxOC4zMjI5VjE0LjMyMjlNMTcuNSA2LjgyMjkxTDEzLjUgMTQuODIyOUwzLjExIDkuNjIyOTFDMi40MjAzMyA5LjI3NTUzIDEuODk2MzUgOC42NjkxIDEuNjUyNzIgNy45MzYzMkMxLjQwOTA5IDcuMjAzNTQgMS40NjU2NCA2LjQwNDEgMS44MSA1LjcxMjkxTDMuMTkgMi45MjI5MUMzLjM2MiAyLjU4MDE0IDMuNTk5ODQgMi4yNzQ2IDMuODg5OTQgMi4wMjM3NUM0LjE4MDAzIDEuNzcyOSA0LjUxNjcgMS41ODE2NSA0Ljg4MDcyIDEuNDYwOTNDNS4yNDQ3NCAxLjM0MDIxIDUuNjI4OTcgMS4yOTIzOSA2LjAxMTQ3IDEuMzIwMThDNi4zOTM5OCAxLjM0Nzk3IDYuNzY3MjYgMS40NTA4NCA3LjExIDEuNjIyOTFMMTcuNSA2LjgyMjkxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlciBtYi0yIHRleHQtY2VudGVyXCI+UHJldmlldyBub3QgYXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb24gbWItMiB0ZXh0LWNlbnRlclwiPlRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50Ljwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtbGctNiBjb2wteGwtNiBwZS0wIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdiBmbGV4LXdyYXAgbmF2LWRldiBmdy1ib2xkIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG15LTEgdy01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic2VsZWN0ZWRUYWIgPSAndGFnZ2VkJ1wiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YWItYWN0aXZlJzogc2VsZWN0ZWRUYWIgPT09ICd0YWdnZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiIGNsYXNzPVwidGFiLXRleHQtZGVmYXVsdCBidG4gbmF2LWxpbmsgcHgtMyBweC1sZy04IG14LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhZ2dlZCBJbmZvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBteS0xIHctNTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNlbGVjdGVkVGFiID0gJ2N1c3RvbWVyJ1wiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YWItYWN0aXZlJzogc2VsZWN0ZWRUYWIgPT09ICdjdXN0b21lcidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCIgY2xhc3M9XCJ0YWItdGV4dC1kZWZhdWx0IGJ0biBuYXYtbGluayBweC0zIHB4LWxnLTggbXgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXIgSW5mb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSAndGFnZ2VkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteC0zIG10LTUgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBmb3JtLWNoZWNrIG10LTUgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJleGFtcGxlUmFkaW9zXCIgaWQ9XCJyYWRpb05vblNob3BwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwibm9uU2hvcHBlclwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDdXN0b21lclR5cGVcIiAoY2hhbmdlKT1cIm9uUmFkaW9DaGFuZ2UoJ25vblNob3BwZXInKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBjdXJzb3ItcG9pbnRlciB0b2dnbGUtbGFiZWxcIiBmb3I9XCJyYWRpb05vblNob3BwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb24gU2hvcHBlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBmb3JtLWNoZWNrIG10LTUgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJleGFtcGxlUmFkaW9zXCIgaWQ9XCJyYWRpb1B1cmNoYXNlclwiIHZhbHVlPVwicHVyY2hhc2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ3VzdG9tZXJUeXBlXCIgKGNoYW5nZSk9XCJvblJhZGlvQ2hhbmdlKCdwdXJjaGFzZXInKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBjdXJzb3ItcG9pbnRlciB0b2dnbGUtbGFiZWxcIiBmb3I9XCJyYWRpb1B1cmNoYXNlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1cmNoYXNlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBmb3JtLWNoZWNrIG10LTUgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwiZXhhbXBsZVJhZGlvc1wiIGlkPVwicmFkaW9NaXNzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwibWlzc2VkT3Bwb3J0dW5pdHlcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ3VzdG9tZXJUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uUmFkaW9DaGFuZ2UoJ21pc3NlZE9wcG9ydHVuaXR5JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgY3Vyc29yLXBvaW50ZXIgdG9nZ2xlLWxhYmVsXCIgZm9yPVwicmFkaW9NaXNzZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNzZWQgT3Bwb3J0dW5pdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3RlZEN1c3RvbWVyVHlwZSA9PT0nbm9uU2hvcHBlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWdyYXktYWN0aXZlMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IG9iaiBvZiBub25TaG9wcGVyTGlzdFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZSAgbXQtMyBtZS04XCIgICAgIFtuZ0NsYXNzXT1cIm9iaiE9PW5vblNob3BlclR5cGUgPyAnYmFkZ2UtbGlnaHQtZGVmYXVsdCcgOidiYWRnZS1saWdodC1wcmltYXJ5J1wiIChjbGljayk9XCJzZWxlY3Rub25TaG9wZXIob2JqKVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiAqbmdJZj1cIm9iaiE9PW5vblNob3BlclR5cGVcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDIuNVY5LjVNMi41IDZIOS41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgKm5nSWY9XCJvYmo9PT1ub25TaG9wZXJUeXBlXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiOFwiIGZpbGw9XCIjREFGMUZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTEuMzk3NyA0LjkyNjYxTDYuNjI0MzQgOS41MzMyOEw1LjM1NzY3IDguMTc5OTRDNS4xMjQzNCA3Ljk1OTk0IDQuNzU3NjcgNy45NDY2MSA0LjQ5MSA4LjEzMzI4QzQuMjMxIDguMzI2NjEgNC4xNTc2NyA4LjY2NjYxIDQuMzE3NjcgOC45Mzk5NEw1LjgxNzY3IDExLjM3OTlDNS45NjQzNCAxMS42MDY2IDYuMjE3NjcgMTEuNzQ2NiA2LjUwNDM0IDExLjc0NjZDNi43Nzc2NyAxMS43NDY2IDcuMDM3NjcgMTEuNjA2NiA3LjE4NDM0IDExLjM3OTlDNy40MjQzNCAxMS4wNjY2IDEyLjAwNDMgNS42MDY2MSAxMi4wMDQzIDUuNjA2NjFDMTIuNjA0MyA0Ljk5MzI4IDExLjg3NzcgNC40NTMyOCAxMS4zOTc3IDQuOTE5OTRWNC45MjY2MVpcIiBmaWxsPVwiIzMzQjVGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTNcIj57e29ian19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTUgcGItMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZUlucHV0TmFtZVwiPkRlc2NyaXB0aW9uIChPcHRpb25hbCk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tY29udHJvbCBtdC0zXCIgcm93cz1cIjRcIiBwbGFjZWhvbGRlcj1cIlwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG10LTVcIiAoY2xpY2spPVwibm9uU2hvcHBlclN1Ym1pdCgpXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXQtM1wiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3RlZEN1c3RvbWVyVHlwZSA9PT0ncHVyY2hhc2VyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInVzZXJGb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYm9yZGVyLWdyYXktYWN0aXZlMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiPk5hbWU8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkIHRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgTmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzp1c2VyRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCAmJiAodXNlckZvcm0uZ2V0KCduYW1lJyk/LnRvdWNoZWQpfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzSW52YWxpZCgnbmFtZScpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZi5uYW1lLmVycm9ycz8ucmVxdWlyZWRcIj5OYW1lIGlzIHJlcXVpcmVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb250YWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29udGFjdCBOdW1iZXIgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZCB0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBwcy0zIHBlLThcIiBpZD1cImlucHV0R3JvdXBTZWxlY3QwMVwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlDb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJ5TGlzdFwiIFt2YWx1ZV09XCJjb3VudHJ5LnBob25lY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjb3VudHJ5Lm5hbWV9fSAoe3tjb3VudHJ5LnBob25lY29kZX19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIm1vYmlsZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZVwiIG1pbmxlbmd0aD1cIjhcIiBtYXhsZW5ndGg9XCIxM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6dXNlckZvcm0uZ2V0KCdtb2JpbGUnKT8uaW52YWxpZCAmJiAodXNlckZvcm0uZ2V0KCdtb2JpbGUnKT8udG91Y2hlZCl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzSW52YWxpZCgnbW9iaWxlJylcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZi5tb2JpbGUuZXJyb3JzPy5yZXF1aXJlZFwiPkNvbnRhY3QgTnVtYmVyIGlzIHJlcXVpcmVkLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImYubW9iaWxlLmVycm9ycz8ubWlubGVuZ3RoXCI+Q29udGFjdCBOdW1iZXIgbXVzdCBiZSBhdCBsZWFzdCA4IGRpZ2l0cy48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmLm1vYmlsZS5lcnJvcnM/Lm1heGxlbmd0aFwiPkNvbnRhY3QgTnVtYmVyIGNhbm5vdCBleGNlZWQgMTMgZGlnaXRzLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5FbWFpbCA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6dXNlckZvcm0uZ2V0KCdlbWFpbCcpPy5pbnZhbGlkICYmICh1c2VyRm9ybS5nZXQoJ2VtYWlsJyk/LnRvdWNoZWQpfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0ludmFsaWQoJ2VtYWlsJylcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmLmVtYWlsLmVycm9ycz8ucGF0dGVyblwiPkludmFsaWQgZW1haWwgZm9ybWF0LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibG9jYXRpb25cIj5Mb2NhdGlvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBtdC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTG9jYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbXQtM1wiIGlkPVwibG9jYXRpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiICNwbGFjZXNSZWY9XCJuZ3gtcGxhY2VzXCIgbmd4LWdwLWF1dG9jb21wbGV0ZSAob25BZGRyZXNzQ2hhbmdlKT1cImhhbmRsZUFkZHJlc3NDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzp1c2VyRm9ybS5nZXQoJ2xvY2F0aW9uJyk/LmludmFsaWQgJiYgKHVzZXJGb3JtLmdldCgnbG9jYXRpb24nKT8udG91Y2hlZCl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImFnZVwiPkFnZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IG10LTNcIiBmb3JtQ29udHJvbE5hbWU9XCJhZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdCBBZ2U8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkJlbG93IDEyXCI+QmVsb3cgMTI8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEzLTE5XCI+MTPigJMxOTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMjDigJMzMFwiPjIw4oCTMzA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjMx4oCTNDVcIj4zMeKAkzQ1PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI0NuKAkzU5XCI+NDbigJM1OTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiQWJvdmUgNjBcIj5BYm92ZSA2MDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gcHQtNSBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgdHJhbnNsYXRlLW1pZGRsZS15XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImxlZnQ6IDAuMjVyZW07XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50QWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHBlLTUgdGV4dC1jZW50ZXIgbXQtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49XCIxXCIgbWF4PVwiOTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gcHQtNSBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgdHJhbnNsYXRlLW1pZGRsZS15XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInJpZ2h0OiAyLjVyZW07XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50QWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ2VuZGVyXCI+R2VuZGVyPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBtdC0zXCIgZm9ybUNvbnRyb2xOYW1lPVwiZ2VuZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3QgR2VuZGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtYWxlXCI+TWFsZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZmVtYWxlXCI+RmVtYWxlPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtdC0zXCI+U3VibWl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInNlbGVjdGVkQ3VzdG9tZXJUeXBlID09PSdtaXNzZWRPcHBvcnR1bml0eSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbXgtMyBib3JkZXItZ3JheS1hY3RpdmUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmogb2YgbWlzc2VkT3Bwb3J0dW5pdHlMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTEgdy0yNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZFRhYnMob2JqLm5hbWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRNaXNzZWQgPT09IG9iai5uYW1lID8gJ2FjdGl2ZScgOiAnYWN0aXZlLW5vcm1hbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb2JqLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3Igc2VwYXJhdG9yLWRvdWJsZSBtYi0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJc3N1ZSBCYWRnZXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIG1pc3NlZE9wcG9ydHVuaXR5TGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkTWlzc2VkID09PSBvYmoubmFtZVwiIGNsYXNzPVwibXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvYmouaXNzdWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTdWJpc3N1ZShvYmosIGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXByaW1hcnknOiBzZWxlY3RlZElzc3Vlcy5pbmNsdWRlcyhpdGVtKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRlZmF1bHQnOiFzZWxlY3RlZElzc3Vlcy5pbmNsdWRlcyhpdGVtKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIG10LTIgbWUtMiBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCIgKm5nSWY9XCIhc2VsZWN0ZWRJc3N1ZXMuaW5jbHVkZXMoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMi41VjkuNU0yLjUgNkg5LjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCIgKm5nSWY9XCJzZWxlY3RlZElzc3Vlcy5pbmNsdWRlcyhpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiByeD1cIjhcIiBmaWxsPVwiI0RBRjFGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTExLjM5NzcgNC45MjY2MUw2LjYyNDM0IDkuNTMzMjhMNS4zNTc2NyA4LjE3OTk0QzUuMTI0MzQgNy45NTk5NCA0Ljc1NzY3IDcuOTQ2NjEgNC40OTEgOC4xMzMyOEM0LjIzMSA4LjMyNjYxIDQuMTU3NjcgOC42NjY2MSA0LjMxNzY3IDguOTM5OTRMNS44MTc2NyAxMS4zNzk5QzUuOTY0MzQgMTEuNjA2NiA2LjIxNzY3IDExLjc0NjYgNi41MDQzNCAxMS43NDY2QzYuNzc3NjcgMTEuNzQ2NiA3LjAzNzY3IDExLjYwNjYgNy4xODQzNCAxMS4zNzk5QzcuNDI0MzQgMTEuMDY2NiAxMi4wMDQzIDUuNjA2NjEgMTIuMDA0MyA1LjYwNjYxQzEyLjYwNDMgNC45OTMyOCAxMS44Nzc3IDQuNDUzMjggMTEuMzk3NyA0LjkxOTk0VjQuOTI2NjFaXCIgZmlsbD1cIiMzM0I1RkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RGVzY3JpcHRpb24gKE9wdGlvbmFsKTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgY29tbWVudHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG10LTVcIiAoY2xpY2spPVwic3VibWl0TWlzc2VkT3Bwb3J0dW5pdHkoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXQtM1wiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09ICdjdXN0b21lcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhZy1jbGFzc1wiPlRhZ2dlZCBTdW1tYXJ5IDxzcGFuICpuZ0lmPVwidGFnZ2dlZERhdGE/LnN0YXR1cz09PSdzdWJtaXR0ZWQnXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTQuNjY2OCA3LjM4Njc0VjguMDAwMDdDMTQuNjY2IDkuNDM3NjkgMTQuMjAwNSAxMC44MzY1IDEzLjMzOTcgMTEuOTg4QzEyLjQ3ODkgMTMuMTM5NCAxMS4yNjkgMTMuOTgxNyA5Ljg5MDQgMTQuMzg5M0M4LjUxMTc4IDE0Ljc5NyA3LjAzODM0IDE0Ljc0OCA1LjY4OTgxIDE0LjI0OThDNC4zNDEyOCAxMy43NTE2IDMuMTg5OTMgMTIuODMwOCAyLjQwNzQ3IDExLjYyNDhDMS42MjUwMSAxMC40MTg4IDEuMjUzMzYgOC45OTIxMSAxLjM0Nzk1IDcuNTU3NjFDMS40NDI1NCA2LjEyMzEyIDEuOTk4MyA0Ljc1NzYyIDIuOTMyMzUgMy42NjQ3OUMzLjg2NjQgMi41NzE5NSA1LjEyODY5IDEuODEwMzMgNi41MzA5NiAxLjQ5MzVDNy45MzMyMyAxLjE3NjY4IDkuNDAwMzQgMS4zMjE2MyAxMC43MTM1IDEuOTA2NzRNMTQuNjY2OCAyLjY2Njc0TDguMDAwMTcgOS4zNDAwN0w2LjAwMDE3IDcuMzQwMDdcIiBzdHJva2U9XCIjMTJCNzZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiB0ZXh0LWVuZFwiICpuZ0lmPVwidGFnZ2dlZERhdGE/LnN0YXR1cyE9PSdzdWJtaXR0ZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmcgbXMtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTA5MDFfNzc5NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk02LjEzMTUyIDAuMDAxNDIwNDlDNS4yNTg1NSAtMC4wMTc1Nzc4IDQuMzkxOTUgMC4xNTQxOTIgMy41OTIyMiAwLjUwNDczOEMyLjc5MjUgMC44NTUyODMgMi4wNzg5MiAxLjM3NjE2IDEuNTAxMzEgMi4wMzA5OUMwLjkyMzcwMyAyLjY4NTgzIDAuNDk1OTgxIDMuNDU4ODUgMC4yNDgwMDkgNC4yOTYwOEMzLjcwMjk0ZS0wNSA1LjEzMzMgLTAuMDYyMjA5NSA2LjAxNDU3IDAuMDY1NjE1NCA2Ljg3ODM0QzAuMTkzNDQgNy43NDIxMiAwLjUwODI1NiA4LjU2NzU4IDAuOTg4MDgzIDkuMjk3MTFDMS40Njc5MSAxMC4wMjY2IDIuMTAxMTkgMTAuNjQyNiAyLjg0MzcgMTEuMTAyMUMzLjU4NjIxIDExLjU2MTYgNC40MjAwNiAxMS44NTM1IDUuMjg3MDMgMTEuOTU3NEM2LjE1NDAxIDEyLjA2MTMgNy4wMzMyMiAxMS45NzQ3IDcuODYzMjcgMTEuNzAzN0M4LjAwNTEgMTEuNjU3MyA4LjEyMjcgMTEuNTU2NSA4LjE5MDIyIDExLjQyMzVDOC4yNTc3MyAxMS4yOTA0IDguMjY5NjIgMTEuMTM2IDguMjIzMjcgMTAuOTk0MkM4LjE3NjkzIDEwLjg1MjMgOC4wNzYxNCAxMC43MzQ3IDcuOTQzMDggMTAuNjY3MkM3LjgxMDAyIDEwLjU5OTcgNy42NTU2IDEwLjU4NzggNy41MTM3NyAxMC42MzQyQzYuNjExNzUgMTAuOTI4NyA1LjY0MzM4IDEwLjk1MzYgNC43Mjc0MiAxMC43MDU4QzMuODExNDYgMTAuNDU4IDIuOTg3NzMgOS45NDgyNSAyLjM1NzI1IDkuMjM5MUMxLjcyNjc3IDguNTI5OTUgMS4zMTY5NiA3LjY1MjIxIDEuMTc4MDcgNi43MTM1NEMxLjAzOTE3IDUuNzc0ODcgMS4xNzcyNCA0LjgxNjA3IDEuNTc1MzQgMy45NTQ3M0MxLjk3MzQzIDMuMDkzMzggMi42MTQyNSAyLjM2Njk0IDMuNDE5MiAxLjg2NDQ5QzQuMjI0MTQgMS4zNjIwNCA1LjE1ODIzIDEuMTA1NDMgNi4xMDY4OSAxLjEyNjEzQzcuMDU1NTYgMS4xNDY4MyA3Ljk3NzU2IDEuNDQzOTMgOC43NTk4MyAxLjk4MTAxQzkuNTQyMSAyLjUxODA5IDEwLjE1MDYgMy4yNzE3OCAxMC41MTA4IDQuMTQ5NjdDMTAuNTY3NCA0LjI4NzcyIDEwLjY3NjUgNC4zOTc2MyAxMC44MTQxIDQuNDU1MjJDMTAuODgyMiA0LjQ4Mzc0IDEwLjk1NTMgNC40OTg1NiAxMS4wMjkyIDQuNDk4ODNDMTEuMTAzMSA0LjQ5OTEgMTEuMTc2MyA0LjQ4NDgyIDExLjI0NDYgNC40NTY4QzExLjMxMyA0LjQyODc4IDExLjM3NTIgNC4zODc1NyAxMS40Mjc2IDQuMzM1NTJDMTEuNDggNC4yODM0NyAxMS41MjE3IDQuMjIxNjEgMTEuNTUwMiA0LjE1MzQ3QzExLjU3ODcgNC4wODUzMiAxMS41OTM1IDQuMDEyMjIgMTEuNTkzOCAzLjkzODM1QzExLjU5NDEgMy44NjQ0OCAxMS41Nzk4IDMuNzkxMjcgMTEuNTUxOCAzLjcyMjkyQzExLjEwODUgMi42NDIzOSAxMC4zNTk2IDEuNzE0NyA5LjM5Njc3IDEuMDUzNjVDOC40MzM5NiAwLjM5MjU4NyA3LjI5OTE1IDAuMDI2ODk0NiA2LjEzMTUyIDAuMDAxNDIwNDlaTTYuNTYyNzcgMi44MTI0MkM2LjU2Mjc3IDIuNjYzMjQgNi41MDM1MSAyLjUyMDE2IDYuMzk4MDIgMi40MTQ2N0M2LjI5MjUzIDIuMzA5MTggNi4xNDk0NiAyLjI0OTkyIDYuMDAwMjcgMi4yNDk5MkM1Ljg1MTA5IDIuMjQ5OTIgNS43MDgwMSAyLjMwOTE4IDUuNjAyNTIgMi40MTQ2N0M1LjQ5NzA0IDIuNTIwMTYgNS40Mzc3NyAyLjY2MzI0IDUuNDM3NzcgMi44MTI0MlY1Ljc2NzQyTDMuOTEyMjcgNy4yOTIxN0MzLjg1NzAxIDcuMzQzNjcgMy44MTI2OCA3LjQwNTc3IDMuNzgxOTQgNy40NzQ3N0MzLjc1MTE5IDcuNTQzNzcgMy43MzQ2NiA3LjYxODI1IDMuNzMzMzMgNy42OTM3OEMzLjczMiA3Ljc2OTMxIDMuNzQ1ODkgNy44NDQzMyAzLjc3NDE4IDcuOTE0MzdDMy44MDI0NyA3Ljk4NDQxIDMuODQ0NTggOC4wNDgwNCAzLjg5Nzk5IDguMTAxNDVDMy45NTE0MSA4LjE1NDg2IDQuMDE1MDMgOC4xOTY5NyA0LjA4NTA3IDguMjI1MjZDNC4xNTUxMiA4LjI1MzU1IDQuMjMwMTQgOC4yNjc0NSA0LjMwNTY2IDguMjY2MTJDNC4zODExOSA4LjI2NDc4IDQuNDU1NjggOC4yNDgyNSA0LjUyNDY4IDguMjE3NTFDNC41OTM2OCA4LjE4Njc2IDQuNjU1NzggOC4xNDI0NCA0LjcwNzI3IDguMDg3MTdMNi4zOTc3NyA2LjM5NzQyTDYuNTYyNzcgNi4yMzI0MlYyLjgxMjQyWk0xMS4yNTAzIDExLjI0OTlDMTEuMjUwMyAxMS40NDg4IDExLjE3MTMgMTEuNjM5NiAxMS4wMzA2IDExLjc4MDNDMTAuODg5OSAxMS45MjA5IDEwLjY5OTIgMTEuOTk5OSAxMC41MDAzIDExLjk5OTlDMTAuMzAxNCAxMS45OTk5IDEwLjExMDYgMTEuOTIwOSA5Ljk2OTk0IDExLjc4MDNDOS44MjkyOSAxMS42Mzk2IDkuNzUwMjcgMTEuNDQ4OCA5Ljc1MDI3IDExLjI0OTlDOS43NTAyNyAxMS4wNTEgOS44MjkyOSAxMC44NjAyIDkuOTY5OTQgMTAuNzE5NkMxMC4xMTA2IDEwLjU3ODkgMTAuMzAxNCAxMC40OTk5IDEwLjUwMDMgMTAuNDk5OUMxMC42OTkyIDEwLjQ5OTkgMTAuODg5OSAxMC41Nzg5IDExLjAzMDYgMTAuNzE5NkMxMS4xNzEzIDEwLjg2MDIgMTEuMjUwMyAxMS4wNTEgMTEuMjUwMyAxMS4yNDk5Wk0xMS4wNjI4IDYuNTYyNDJDMTEuMDYyOCA2LjQxMzI0IDExLjAwMzUgNi4yNzAxNiAxMC44OTggNi4xNjQ2N0MxMC43OTI1IDYuMDU5MTkgMTAuNjQ5NSA1Ljk5OTkyIDEwLjUwMDMgNS45OTk5MkMxMC4zNTExIDUuOTk5OTIgMTAuMjA4IDYuMDU5MTkgMTAuMTAyNSA2LjE2NDY3QzkuOTk3MDQgNi4yNzAxNiA5LjkzNzc3IDYuNDEzMjQgOS45Mzc3NyA2LjU2MjQyVjkuMTg3NDJDOS45Mzc3NyA5LjMzNjYxIDkuOTk3MDQgOS40Nzk2OCAxMC4xMDI1IDkuNTg1MTdDMTAuMjA4IDkuNjkwNjYgMTAuMzUxMSA5Ljc0OTkyIDEwLjUwMDMgOS43NDk5MkMxMC42NDk1IDkuNzQ5OTIgMTAuNzkyNSA5LjY5MDY2IDEwLjg5OCA5LjU4NTE3QzExLjAwMzUgOS40Nzk2OCAxMS4wNjI4IDkuMzM2NjEgMTEuMDYyOCA5LjE4NzQyVjYuNTYyNDJaXCIgZmlsbD1cIiNCNTQ3MDhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTEuMjQwOSAzLjA3Nzc1QzExLjE3NjIgMi45NjE3MSAxMS4xMDc4IDIuODQ3OTkgMTEuMDM1NyAyLjczNjc0QzEwLjc4MjYgMi4zNDYyMyAxMC40ODQ4IDEuOTg2MzEgMTAuMTQ4MyAxLjY2NDRDOS45MTU2MSAxLjQ0MTg0IDkuNjY0NDYgMS4yMzc0NCA5LjM5Njc3IDEuMDUzNjVDOS4zOTY3MiAxLjA1MzYxIDkuMzk2ODMgMS4wNTM2OCA5LjM5Njc3IDEuMDUzNjVDOS4yMzczNyAwLjk0NDIwNyA5LjA3MzA4IDAuODQyNzQ4IDguOTA0ODcgMC43NDk3MDVDOC43MjA3IDAuNjQ3ODI4IDguNTMxNjMgMC41NTU5IDguMzM4NSAwLjQ3NDE5MkM3LjY0MjY5IDAuMTc5ODEzIDYuODk0MSAwLjAxODA1NzcgNi4xMzE1MiAwLjAwMTQyMDQ5QzYuMTMxNDkgMC4wMDE0MTk4MyA2LjEzMTU1IDAuMDAxNDIxMTUgNi4xMzE1MiAwLjAwMTQyMDQ5QzYuMDg3NzggMC4wMDA0NjkyOSA2LjA0Mzk3IC01LjAxMjY1ZS0wNiA2LjAwMDI3IDMuOTk0MjZlLTA4QzUuMTk3MjYgOS4yODg3MWUtMDUgNC40MDIyMiAwLjE2MTM4NiAzLjY2MjM3IDAuNDc0NTJDMy42Mzg5MyAwLjQ4NDQ0MSAzLjYxNTU1IDAuNDk0NTEzIDMuNTkyMjIgMC41MDQ3MzhDMy40MjI0MyAwLjU3OTE2NiAzLjI1NjUxIDAuNjYxMjczIDMuMDk0OTYgMC43NTA3MUMzLjAwMzA3IDAuODAxNTc3IDIuOTEyNiAwLjg1NDgxNCAyLjgyMzYzIDAuOTEwMzU5QzIuMzMyMjMgMS4yMTcxMyAxLjg4NjUzIDEuNTk0MjcgMS41MDEzMSAyLjAzMDk5QzEuMTE2MDggMi40Njc3MyAwLjc5NzUxNiAyLjk1NzA0IDAuNTU0NDg2IDMuNDgyOTFDMC40MzMxMjQgMy43NDU1MSAwLjMzMDU5NyA0LjAxNzIzIDAuMjQ4MDA5IDQuMjk2MDhDNS41MTM0M2UtMDUgNS4xMzMyNCAtMC4wNjIyMDA0IDYuMDE0NDQgMC4wNjU1ODc0IDYuODc4MTVDMC4wNjU1NzggNi44NzgwOSAwLjA2NTU5NjcgNi44NzgyMiAwLjA2NTU4NzQgNi44NzgxNUMwLjE5MzQxMiA3Ljc0MTkzIDAuNTA4MjU2IDguNTY3NTggMC45ODgwODMgOS4yOTcxMUMxLjE0NzgzIDkuNTM5OTggMS4zMjQ1OCA5Ljc3MDI3IDEuNTE2NzEgOS45ODYzOUMxLjkwMTY4IDEwLjQxOTQgMi4zNDgzOCAxMC43OTU2IDIuODQzNyAxMS4xMDIxQzMuMzM4ODIgMTEuNDA4NSAzLjg3NDU1IDExLjY0MDQgNC40MzM2NCAxMS43OTE3QzQuNzEyOTkgMTEuODY3MyA0Ljk5ODE3IDExLjkyMjggNS4yODcwMyAxMS45NTc0QzUuMzE5OTkgMTEuOTYxMyA1LjM1Mjk2IDExLjk2NSA1LjM4NTk0IDExLjk2ODRDNS44NjI3NSAxMi4wMTc1IDYuMzQyNTQgMTIuMDA5MiA2LjgxNTE0IDExLjk0NDVDNi45OTI2NSAxMS45MjAyIDcuMTY5MTUgMTEuODg3OSA3LjM0NDA5IDExLjg0NzdDNy41MTg4IDExLjgwNzYgNy42OTE5NiAxMS43NTk2IDcuODYzMDIgMTEuNzAzOEM3Ljg2Mjk0IDExLjcwMzggNy44NjMxMSAxMS43MDM3IDcuODYzMDIgMTEuNzAzOEM3Ljg5MTI3IDExLjY5NDUgNy45MTg4IDExLjY4MzEgNy45NDQ5MiAxMS42Njk3QzguMDQ5OTUgMTEuNjE1OSA4LjEzNjE1IDExLjUzIDguMTkwMjIgMTEuNDIzNUM4LjIxODEyIDExLjM2ODUgOC4yMzY1MyAxMS4zMDk4IDguMjQ1MjQgMTEuMjQ5OUM4LjI1NzYxIDExLjE2NDkgOC4yNTA0NiAxMS4wNzc0IDguMjIzMjcgMTAuOTk0MkM4LjE3NjkzIDEwLjg1MjMgOC4wNzYxNCAxMC43MzQ3IDcuOTQzMDggMTAuNjY3MkM3LjgxMDExIDEwLjU5OTggNy42NTU3OSAxMC41ODc4IDcuNTE0MDQgMTAuNjM0MUM3LjUxMzk1IDEwLjYzNDEgNy41MTQxMyAxMC42MzQxIDcuNTE0MDQgMTAuNjM0MUM3LjQzNTYzIDEwLjY1OTcgNy4zNTY0NSAxMC42ODMzIDcuMjc3MTEgMTAuNzA0OUM3LjE2MjkyIDEwLjczNTkgNy4wNDc4NiAxMC43NjI2IDYuOTMyMTUgMTAuNzg1MUM2Ljg4MDE2IDEwLjc5NTMgNi44MjgwNCAxMC44MDQ1IDYuNzc1ODEgMTAuODEyOUM2LjQ5MjY3IDEwLjg1ODUgNi4yMDYzMyAxMC44NzkgNS45MjAxNCAxMC44NzQzQzUuODQ4MzIgMTAuODczMSA1Ljc3NjUgMTAuODcwNCA1LjcwNDc2IDEwLjg2NkM1LjYwOTk4IDEwLjg2MDIgNS41MTUzMiAxMC44NTE3IDUuNDIwOSAxMC44NDA0QzUuMzcyNTYgMTAuODM0NiA1LjMyNDI4IDEwLjgyODEgNS4yNzYwOCAxMC44MjA4QzUuMDkxNzYgMTAuNzkzMSA0LjkwODU2IDEwLjc1NDggNC43Mjc0MiAxMC43MDU4QzQuNTk4NTYgMTAuNjcwOSA0LjQ3MTUyIDEwLjYzMDkgNC4zNDY1OSAxMC41ODU4QzQuMDI3NjMgMTAuNDcwOCAzLjcyMjQgMTAuMzIzMSAzLjQzNTU5IDEwLjE0NTZDMy40MDE4NiAxMC4xMjQ4IDMuMzY4MzkgMTAuMTAzNSAzLjMzNTE4IDEwLjA4MThDMy4wNTQwOSA5Ljg5ODI2IDIuNzkxNzggOS42ODU1NiAyLjU1Mjg3IDkuNDQ2NThDMi40ODU3OCA5LjM3OTQ3IDIuNDIwNTQgOS4zMTAyOSAyLjM1NzI1IDkuMjM5MUMyLjIwMDExIDkuMDYyMzQgMi4wNTY2NyA4Ljg3NTEyIDEuOTI3NzIgOC42NzkwOEMxLjkyNDQ1IDguNjc0MTEgMS45MjExOCA4LjY2OTEzIDEuOTE3OTMgOC42NjQxNEMxLjcxMTMgOC4zNDc0OSAxLjU0MjM0IDguMDA4MDcgMS40MTQzMiA3LjY1Mjg2QzEuMzA1MTEgNy4zNDk4NiAxLjIyNTcgNy4wMzUzNiAxLjE3ODA5IDYuNzEzNzFDMS4xNzgwOCA2LjcxMzY2IDEuMTc4MSA2LjcxMzc3IDEuMTc4MDkgNi43MTM3MUMxLjE1NzUgNi41NzQ1NyAxLjE0Mjk3IDYuNDM0ODEgMS4xMzQ1IDYuMjk1MTZDMS4xMzAxIDYuMjIyNTMgMS4xMjczMiA2LjE0OTg5IDEuMTI2MTcgNi4wNzcyOUMxLjExODMyIDUuNTgyNTcgMS4xODU4NSA1LjA4OTYxIDEuMzI2MyA0LjYxNTQ1QzEuMzkyOTcgNC4zOTAzNiAxLjQ3NjA3IDQuMTY5NTEgMS41NzUzNCAzLjk1NDczQzEuNzc0NCAzLjUyNDAzIDIuMDM0MTQgMy4xMjcwNiAyLjM0NDc1IDIuNzc0OTZDMi4zNzYyIDIuNzM5MzIgMi40MDgxNiAyLjcwNDEzIDIuNDQwNjQgMi42Njk0MkMyLjcyODkzIDIuMzYxMjcgMy4wNTc0OSAyLjA5MDI3IDMuNDE5MiAxLjg2NDQ5QzMuNjE5OTUgMS43MzkxOCAzLjgyODc0IDEuNjI5MTYgNC4wNDM3OSAxLjUzNDkyQzQuMjA1MSAxLjQ2NDIyIDQuMzY5OTMgMS40MDI0MSA0LjUzNzUzIDEuMzQ5NjhDNS4wMDg3NyAxLjIwMTQzIDUuNTAxOTEgMS4xMjUgNi4wMDAyNyAxLjEyNDk3QzYuMDM1NzkgMS4xMjQ5NyA2LjA3MTMzIDEuMTI1MzUgNi4xMDY4OSAxLjEyNjEzQzYuNTY5NjUgMS4xMzYyNCA3LjAyNjIxIDEuMjEyMTIgNy40NjMxNSAxLjM0OTU0QzcuOTIxOSAxLjQ5MzgzIDguMzU5MTkgMS43MDU5NSA4Ljc1OTgzIDEuOTgxMDFDOC43NTk3OCAxLjk4MDk3IDguNzU5ODggMS45ODEwNCA4Ljc1OTgzIDEuOTgxMDFDOC45MTQ0NyAyLjA4NzE5IDkuMDYyNDcgMi4yMDE5MyA5LjIwMjk1IDIuMzI0MzNDOS4zMjc4OSAyLjQzMzE4IDkuNDQ3IDIuNTQ4MTYgOS41NTk4OCAyLjY2ODc3QzkuNjc0NjQgMi43OTEzOSA5Ljc4Mjk1IDIuOTE5ODIgOS44ODQ0IDMuMDUzNTVDMTAuMDE4MiAzLjIyOTg2IDEwLjE0IDMuNDE1MzcgMTAuMjQ4OSAzLjYwODg3QzEwLjMwODYgMy43MTQ5MyAxMC4zNjQ0IDMuODIzMzkgMTAuNDE2MiAzLjkzNDA1QzEwLjQ0NTUgMy45OTY3NyAxMC40NzM2IDQuMDYwMTkgMTAuNTAwMyA0LjEyNDI4QzEwLjUwMzggNC4xMzI3MyAxMC41MDczIDQuMTQxMiAxMC41MTA4IDQuMTQ5NjdDMTAuNTEwNyA0LjE0OTU5IDEwLjUxMDggNC4xNDk3NSAxMC41MTA4IDQuMTQ5NjdDMTAuNTY3NCA0LjI4NzYxIDEwLjY3NjUgNC4zOTc2NiAxMC44MTQxIDQuNDU1MjJDMTAuODgyMiA0LjQ4Mzc0IDEwLjk1NTMgNC40OTg1NiAxMS4wMjkyIDQuNDk4ODNDMTEuMTAzMSA0LjQ5OTEgMTEuMTc2MyA0LjQ4NDgyIDExLjI0NDYgNC40NTY4QzExLjMxMyA0LjQyODc4IDExLjM3NTIgNC4zODc1NyAxMS40Mjc2IDQuMzM1NTJDMTEuNDggNC4yODM0OCAxMS41MjE3IDQuMjIxNjEgMTEuNTUwMiA0LjE1MzQ3QzExLjU3ODcgNC4wODUzMiAxMS41OTM1IDQuMDEyMjIgMTEuNTkzOCAzLjkzODM1QzExLjU5NDEgMy44NjQ0OCAxMS41Nzk4IDMuNzkxMjcgMTEuNTUxOCAzLjcyMjkyQzExLjU1MTcgMy43MjI4MyAxMS41NTE4IDMuNzIzMDEgMTEuNTUxOCAzLjcyMjkyQzExLjQ4MzQgMy41NTYzMSAxMS40MDc3IDMuMzkzMDYgMTEuMzI1MSAzLjIzNDEzQzExLjI5NzggMy4xODE1NiAxMS4yNjk3IDMuMTI5NDIgMTEuMjQwOSAzLjA3Nzc1Wk02LjU2Mjc3IDIuODEyNDJDNi41NjI3NyAyLjY2MzI0IDYuNTAzNTEgMi41MjAxNiA2LjM5ODAyIDIuNDE0NjdDNi4zMTIxIDIuMzI4NzUgNi4yMDEyNCAyLjI3MzUgNi4wODI0NiAyLjI1NTk1QzYuMDU1NDggMi4yNTE5OCA2LjAyNzg3IDIuMjQ5OTIgNi4wMDAyNyAyLjI0OTkyQzUuODUxMDkgMi4yNDk5MiA1LjcwODAxIDIuMzA5MTggNS42MDI1MiAyLjQxNDY3QzUuNDk3MDQgMi41MjAxNiA1LjQzNzc3IDIuNjYzMjQgNS40Mzc3NyAyLjgxMjQyVjUuNzY3NDJMMy45MTI0NSA3LjI5MkMzLjkwMjc1IDcuMzAxMDMgMy44OTMyMiA3LjMxMDU3IDMuODg0MjEgNy4zMjAyM0MzLjg0MTg3IDcuMzY1NjcgMy44MDcyOSA3LjQxNzg3IDMuNzgxOTQgNy40NzQ3N0MzLjc1MTE5IDcuNTQzNzcgMy43MzQ2NiA3LjYxODI1IDMuNzMzMzMgNy42OTM3OEMzLjczMiA3Ljc2OTMxIDMuNzQ1ODkgNy44NDQzMyAzLjc3NDE4IDcuOTE0MzdDMy43ODA1NCA3LjkzMDExIDMuNzg3NTkgNy45NDU1MiAzLjc5NTMyIDcuOTYwNTdDMy44MjE5NiA4LjAxMjQ5IDMuODU2NTggOC4wNjAwNCAzLjg5Nzk5IDguMTAxNDVDMy45NTE0MSA4LjE1NDg3IDQuMDE1MDMgOC4xOTY5NyA0LjA4NTA3IDguMjI1MjZDNC4xNTUxMiA4LjI1MzU2IDQuMjMwMTQgOC4yNjc0NSA0LjMwNTY2IDguMjY2MTJDNC4zODExOSA4LjI2NDc4IDQuNDU1NjggOC4yNDgyNSA0LjUyNDY4IDguMjE3NTFDNC41ODE1NyA4LjE5MjE2IDQuNjMzNzcgOC4xNTc1NyA0LjY3OTIxIDguMTE1MjRDNC42ODg4MSA4LjEwNjI5IDQuNjk4MTEgOC4wOTcgNC43MDcwOCA4LjA4NzM3QzQuNzA3MDIgOC4wODc0NCA0LjcwNzE1IDguMDg3MzEgNC43MDcwOCA4LjA4NzM3TDYuNTYyNzcgNi4yMzI0MlYyLjgxMjQyWk05LjkzNzc3IDkuMTg3NDJDOS45Mzc3NyA5LjMzNjYxIDkuOTk3MDQgOS40Nzk2OCAxMC4xMDI1IDkuNTg1MTdDMTAuMjA4IDkuNjkwNjYgMTAuMzUxMSA5Ljc0OTkyIDEwLjUwMDMgOS43NDk5MkMxMC42NDM3IDkuNzQ5OTIgMTAuNzgxNSA5LjY5NTE0IDEwLjg4NTcgOS41OTcxNkMxMC44ODk4IDkuNTkzMjMgMTAuODk0IDkuNTg5MjQgMTAuODk4IDkuNTg1MTdDMTEuMDAzNSA5LjQ3OTY4IDExLjA2MjggOS4zMzY2MSAxMS4wNjI4IDkuMTg3NDJWNy41NDIzNEMxMC44Nzc3IDcuNTE0MjYgMTAuNjg5NyA3LjQ5OTkyIDEwLjUwMDMgNy40OTk5MkMxMC4zMTA4IDcuNDk5OTIgMTAuMTIyOCA3LjUxNDI2IDkuOTM3NzcgNy41NDIzNFY5LjE4NzQyWk05LjkzNzc3IDcuMzI2ODZDMTAuMTIxNSA3LjM4NjEyIDEwLjMwOTYgNy40MzAzIDEwLjUwMDMgNy40NTkwNEMxMC42NzE0IDcuNDg0ODMgMTAuODQ0NSA3LjQ5ODE4IDExLjAxODMgNy40OTg4MUMxMS4wMzMxIDcuNDk4ODcgMTEuMDQ3OSA3LjQ5ODgzIDExLjA2MjggNy40OTg3VjYuNTYyNDJDMTEuMDYyOCA2LjQ5MDA4IDExLjA0ODggNi40MTkxNyAxMS4wMjI0IDYuMzUzMjhDMTAuOTk0NCA2LjI4MzMxIDEwLjk1MjQgNi4yMTkwMSAxMC44OTggNi4xNjQ2OEMxMC43OTI1IDYuMDU5MTkgMTAuNjQ5NSA1Ljk5OTkyIDEwLjUwMDMgNS45OTk5MkMxMC4zNTExIDUuOTk5OTIgMTAuMjA4IDYuMDU5MTkgMTAuMTAyNSA2LjE2NDY4QzEwLjEwMDMgNi4xNjY5MiAxMC4wOTgxIDYuMTY5MTcgMTAuMDk1OSA2LjE3MTQ1QzkuOTk3NyA2LjI3Mjk5IDkuOTQxMzUgNi40MDc3MyA5LjkzNzk0IDYuNTQ4ODJDOS45Mzc4MyA2LjU1MzM1IDkuOTM3NzcgNi41NTc4OCA5LjkzNzc3IDYuNTYyNDJWNy4zMjY4NlpNMTEuMjQ4OCAxMS4yOTY4QzExLjI0OTggMTEuMjgxMyAxMS4yNTAzIDExLjI2NTYgMTEuMjUwMyAxMS4yNDk5QzExLjI1MDMgMTEuMjQ4NyAxMS4yNTAzIDExLjI0NzUgMTEuMjUwMyAxMS4yNDYzQzExLjI0OTMgMTEuMDQ4NyAxMS4xNzA0IDEwLjg1OTQgMTEuMDMwNiAxMC43MTk2QzEwLjg4OTkgMTAuNTc4OSAxMC42OTkyIDEwLjQ5OTkgMTAuNTAwMyAxMC40OTk5QzEwLjMwMTQgMTAuNDk5OSAxMC4xMTA2IDEwLjU3ODkgOS45Njk5NCAxMC43MTk2QzkuODI5MjkgMTAuODYwMiA5Ljc1MDI3IDExLjA1MSA5Ljc1MDI3IDExLjI0OTlDOS43NTAyNyAxMS40NDg4IDkuODI5MjkgMTEuNjM5NiA5Ljk2OTk0IDExLjc4MDNDMTAuMTEwNiAxMS45MjA5IDEwLjMwMTQgMTEuOTk5OSAxMC41MDAzIDExLjk5OTlDMTAuNjk5MiAxMS45OTk5IDEwLjg4OTkgMTEuOTIwOSAxMS4wMzA2IDExLjc4MDNDMTEuMTYwMiAxMS42NTA3IDExLjIzNzQgMTEuNDc4NiAxMS4yNDg4IDExLjI5NjhaXCIgZmlsbD1cIiNCNTQ3MDhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTA5MDFfNzc5NVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+UGVuZGluZyBUYWdnZWQgSW5mbzwvc3Bhbj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWdyYXktdGFnZ2VkIG14LTMgbXktMlwiICpuZ0lmPVwidGFnZ2dlZERhdGE/LnJldm9wc1R5cGU9PT0ncHVyY2hhc2VyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdmFsdWUgXCI+TmFtZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdGl0bGUgXCI+e3t0YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPkxvY2F0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC10aXRsZSBcIj57e3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmxvY2F0aW9uP3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmxvY2F0aW9uOlwiLVwifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXZhbHVlIFwiPk1vYmlsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdGl0bGUgXCI+e3t0YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5tb2JpbGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdmFsdWUgXCI+QWdlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC10aXRsZSBcIj57e3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmFnZT90YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5hZ2U6XCItXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdmFsdWUgXCI+RW1haWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtYi0yIHNwZW50LXRpdGxlIFwiPnt7dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8uZW1haWw/dGFnZ2dlZERhdGE/LmN1c3RvbWVySW5mbz8uZW1haWw6XCItXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG1iLTIgc3BlbnQtdmFsdWUgXCI+R2VuZGVyPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC10aXRsZSBcIj57e3RhZ2dnZWREYXRhPy5jdXN0b21lckluZm8/LmdlbmRlcj90YWdnZ2VkRGF0YT8uY3VzdG9tZXJJbmZvPy5nZW5kZXI6XCItXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRhZ2dnZWREYXRhPy5yZXZvcHNUeXBlPT09J21pc3NlZE9wcG9ydHVuaXR5J1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWdyYXktdGFnZ2VkIG14LTMgbXktMlwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhZ2dnZWREYXRhLmlzc3VlTGlzdFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTIgbWItMiBzcGVudC12YWx1ZVwiPnt7aXRlbS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1zLTJcIiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBpdGVtLmlzc3VlXCI+e3tkYXRhfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZ3JheS10YWdnZWQgbXgtMyBteS0yXCIgKm5nSWY9XCJ0YWdnZ2VkRGF0YT8ucmV2b3BzVHlwZT09PSdub25TaG9wcGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBtcy0yXCI+e3tub25TaG9wZXJUeXBlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm15LTJcIj48c3BhbiBjbGFzcz1cImRlc2MtaWRcIj5PcmlnaW5hbCBJRDwvc3Bhbj4gOiA8c3BhbiBjbGFzcz1cInNwZW50LXZhbHVlMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XCI+e3tJbWFnZWRhdGE/LnRlbXBJZH19PC9zcGFuPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwidGFnZ2dlZERhdGE/LmRlc2NyaXB0aW9uJiZ0YWdnZ2VkRGF0YT8uZGVzY3JpcHRpb24hPT0nJ1wiIGNsYXNzPVwibXktMyBkZXNjLWlkXCI+e3t0YWdnZ2VkRGF0YS5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3Igc2VwYXJhdG9yLWRvdWJsZSBtLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWctY2xhc3NcIj5UaW1lIFNwZW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxEYXRhU2hvdyAhPT0ndHJhY2tpbmctZW5hYmxlZCdcIiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheS0zMDAgYm9yZGVyLWRvYnVsZSByb3VuZGVkIHctMzMgIHB5LTMgcHgtNCBtZS02IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC10aXRsZVwiPnt7SW1hZ2VkYXRhPy50aW1lU3BlbnQ/LnRvdGFsVGltZVNwZW50fX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BlbnQtdmFsdWUgbXktMVwiPlRvdGFsIFRpbWUgU3BlbnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBib3JkZXItZG9idWxlIHJvdW5kZWQgdy0zMyAgcHktMyBweC00IG1lLTYgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXRpdGxlXCI+e3tJbWFnZWRhdGE/LnRpbWVTcGVudD8uZW50cnlUaW1lfX0gIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXZhbHVlMSBteS0xIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImltYWdlRGF0YSgnZW50cnknKVwiPkVudHJ5IFRpbWUgPHNwYW4gY2xhc3M9XCJtcy0xXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuMzMzMzMgMTRIMTIuNjY2N0MxMy40MDMgMTQgMTQgMTMuNDAzIDE0IDEyLjY2NjdWMy4zMzMzM0MxNCAyLjU5Njk1IDEzLjQwMyAyIDEyLjY2NjcgMkgzLjMzMzMzQzIuNTk2OTUgMiAyIDIuNTk2OTUgMiAzLjMzMzMzVjEyLjY2NjdDMiAxMy40MDMgMi41OTY5NSAxNCAzLjMzMzMzIDE0Wk0zLjMzMzMzIDE0TDEwLjY2NjcgNi42NjY2N0wxNCAxME02LjY2NjY3IDUuNjY2NjdDNi42NjY2NyA2LjIxODk1IDYuMjE4OTUgNi42NjY2NyA1LjY2NjY3IDYuNjY2NjdDNS4xMTQzOCA2LjY2NjY3IDQuNjY2NjcgNi4yMTg5NSA0LjY2NjY3IDUuNjY2NjdDNC42NjY2NyA1LjExNDM4IDUuMTE0MzggNC42NjY2NyA1LjY2NjY3IDQuNjY2NjdDNi4yMTg5NSA0LjY2NjY3IDYuNjY2NjcgNS4xMTQzOCA2LjY2NjY3IDUuNjY2NjdaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsRGF0YVNob3cgIT09J3RyYWNraW5nLWVuYWJsZWQnXCIgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJvcmRlci1kb2J1bGUgcm91bmRlZCB3LTMzICBweS0zIHB4LTQgbWUtNiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BlbnQtdGl0bGVcIj57e0ltYWdlZGF0YT8udGltZVNwZW50Py5leGl0VGltZX19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXZhbHVlMSBteS0xIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImltYWdlRGF0YSgnZXhpdCcpXCI+RXhpdCBUaW1lIDxzcGFuIGNsYXNzPVwibXMtMVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjMzMzMzIDE0SDEyLjY2NjdDMTMuNDAzIDE0IDE0IDEzLjQwMyAxNCAxMi42NjY3VjMuMzMzMzNDMTQgMi41OTY5NSAxMy40MDMgMiAxMi42NjY3IDJIMy4zMzMzM0MyLjU5Njk1IDIgMiAyLjU5Njk1IDIgMy4zMzMzM1YxMi42NjY3QzIgMTMuNDAzIDIuNTk2OTUgMTQgMy4zMzMzMyAxNFpNMy4zMzMzMyAxNEwxMC42NjY3IDYuNjY2NjdMMTQgMTBNNi42NjY2NyA1LjY2NjY3QzYuNjY2NjcgNi4yMTg5NSA2LjIxODk1IDYuNjY2NjcgNS42NjY2NyA2LjY2NjY3QzUuMTE0MzggNi42NjY2NyA0LjY2NjY3IDYuMjE4OTUgNC42NjY2NyA1LjY2NjY3QzQuNjY2NjcgNS4xMTQzOCA1LjExNDM4IDQuNjY2NjcgNS42NjY2NyA0LjY2NjY3QzYuMjE4OTUgNC42NjY2NyA2LjY2NjY3IDUuMTE0MzggNi42NjY2NyA1LjY2NjY3WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICAqbmdJZj1cIkltYWdlZGF0YT8uem9uZVZpc2l0ZWQmJkltYWdlZGF0YT8uem9uZVZpc2l0ZWQubGVuZ3RoPjBcIiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZG91YmxlIG0tM1wiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJJbWFnZWRhdGE/LnpvbmVWaXNpdGVkJiZJbWFnZWRhdGE/LnpvbmVWaXNpdGVkLmxlbmd0aD4wXCIgIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFnLWNsYXNzXCI+Wm9uZXMgVmlzaXRlZDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwiaC0yMDBweCBzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBtdC0yXCIgKm5nRm9yPVwibGV0IG9iaiBvZiBJbWFnZWRhdGE/LnpvbmVWaXNpdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgXCI+e3tvYmp9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSW1hZ2VkYXRhPy56b25lVmlzaXRlZC5sZW5ndGggPT09MFwiIGNsYXNzPVwiY29sLW1kLTEyIG10LTIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBab25lcyBWaXNpdGVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBab25lczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZG91YmxlIG0tM1wiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFnLWNsYXNzXCI+U3RhZmYgRW5nYWdlbWVudDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb290ZmFsbERhdGFTaG93ICE9PSd0cmFja2luZy1lbmFibGVkJ1wiIGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJvcmRlci1kb2J1bGUgcm91bmRlZCB3LTQ1IHB5LTMgcHgtNCBtZS02IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC10aXRsZVwiPnt7SW1hZ2VkYXRhPy5zdGFmZkVuZ2FnZW1lbnQudGltZVRha2VuVG9Bc3Npc3R9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGVudC12YWx1ZSBteS0xXCI+VGltZSB0YWtlbiB0byBhc3Npc3QgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibXMtMVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjMzMzMzIDE0SDEyLjY2NjdDMTMuNDAzIDE0IDE0IDEzLjQwMyAxNCAxMi42NjY3VjMuMzMzMzNDMTQgMi41OTY5NSAxMy40MDMgMiAxMi42NjY3IDJIMy4zMzMzM0MyLjU5Njk1IDIgMiAyLjU5Njk1IDIgMy4zMzMzM1YxMi42NjY3QzIgMTMuNDAzIDIuNTk2OTUgMTQgMy4zMzMzMyAxNFpNMy4zMzMzMyAxNEwxMC42NjY3IDYuNjY2NjdMMTQgMTBNNi42NjY2NyA1LjY2NjY3QzYuNjY2NjcgNi4yMTg5NSA2LjIxODk1IDYuNjY2NjcgNS42NjY2NyA2LjY2NjY3QzUuMTE0MzggNi42NjY2NyA0LjY2NjY3IDYuMjE4OTUgNC42NjY2NyA1LjY2NjY3QzQuNjY2NjcgNS4xMTQzOCA1LjExNDM4IDQuNjY2NjcgNS42NjY2NyA0LjY2NjY3QzYuMjE4OTUgNC42NjY2NyA2LjY2NjY3IDUuMTE0MzggNi42NjY2NyA1LjY2NjY3WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheS0zMDAgYm9yZGVyLWRvYnVsZSByb3VuZGVkIHctNDUgcHktMyBweC00IG1lLTYgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXRpdGxlXCI+e3tJbWFnZWRhdGE/LnN0YWZmRW5nYWdlbWVudC50aW1lU3BlbnRXaXRoU3RhZmZ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwZW50LXZhbHVlIG15LTFcIj5UaW1lIHNwZW50IHdpdGggc3RhZmY8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbjwvc2VjdGlvbj5cclxuPC9kaXY+XHJcblxyXG4iXX0=