tango-app-ui-store-ticket-infra 3.0.20-dev → 3.0.21-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,6 +56,11 @@ export class CreateTicketComponent {
56
56
  startDate: this.dayjs().format("DD-MM-YYYY"),
57
57
  endDate: this.dayjs().format("DD-MM-YYYY"),
58
58
  };
59
+ this.dateRange = {
60
+ startDate: this.dayjs().format("YYYY-MM-DD"),
61
+ endDate: this.dayjs().format("YYYY-MM-DD"),
62
+ };
63
+ // let currentDate = this.selectedDateRange.startDate;
59
64
  this.getStore();
60
65
  // var datetime = {
61
66
  // startDate: this.dayjs().format("YYYY-MM-DD"),
@@ -102,6 +107,7 @@ export class CreateTicketComponent {
102
107
  let currentDate = event.startDate;
103
108
  while (currentDate.isBefore(event.endDate) || currentDate.isSame(event.endDate, 'day')) {
104
109
  this.dateRange.push(this.dayjs(currentDate, "DD-MM-YYYY").format("YYYY-MM-DD"));
110
+ // console.log(this.dateRange)
105
111
  currentDate = currentDate.add(1, 'day');
106
112
  }
107
113
  // var datetime = {
@@ -180,15 +186,15 @@ export class CreateTicketComponent {
180
186
  }
181
187
  }
182
188
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CreateTicketComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.TicketsService }], target: i0.ɵɵFactoryTarget.Component });
183
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CreateTicketComponent, selector: "lib-create-ticket", inputs: { clientId: "clientId" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height px-5\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
189
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CreateTicketComponent, selector: "lib-create-ticket", inputs: { clientId: "clientId" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
184
190
  }
185
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CreateTicketComponent, decorators: [{
186
192
  type: Component,
187
- args: [{ selector: 'lib-create-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height px-5\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"] }]
193
+ args: [{ selector: 'lib-create-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"] }]
188
194
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.TicketsService }], propDecorators: { clientId: [{
189
195
  type: Input
190
196
  }], onClick: [{
191
197
  type: HostListener,
192
198
  args: ['document:click', ['$event']]
193
199
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBQyxZQUFZLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU1wRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8scUJBQXFCO0lBeUJaO0lBQTRCO0lBQThCO0lBQW1DO0lBeEJqSCxTQUFTLEdBQVcsV0FBVyxDQUFDO0lBQ2hDLFlBQVksQ0FBSztJQUNqQixRQUFRLEdBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzQixhQUFhLENBQUs7SUFDbEIsZUFBZSxDQUFLO0lBQ3BCLFVBQVUsQ0FBSztJQUNmLGVBQWUsQ0FBTTtJQUNyQixhQUFhLENBQU07SUFDbkIsS0FBSyxDQUFLO0lBQ1YsYUFBYSxDQUFNO0lBQ25CLFVBQVUsQ0FBTTtJQUNoQixlQUFlLEdBQU8sRUFBRSxDQUFDO0lBQ3pCLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ0csUUFBUSxHQUFHLElBQUks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VSxHQUFHLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLHVCQUF1QixDQUFDO1NBQzNDO0lBQ0gsQ0FBQzt1R0FsTFUscUJBQXFCOzJGQUFyQixxQkFBcUIseUpDbkJsQyx5N1JBaUhBOzsyRkQ5RmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjt1S0E0QnBCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTU4sT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCxIb3N0TGlzdGVuZXIsT25EZXN0cm95LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XHJcbmltcG9ydCB1dGMgZnJvbSBcImRheWpzL3BsdWdpbi91dGNcIjtcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gXCJkYXlqcy9wbHVnaW4vdGltZXpvbmVcIjtcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBbmFseXplUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vYW5hbHl6ZS1yZXBvcnQvYW5hbHl6ZS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLXRpY2tldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlVGlja2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgY291bnRUeXBlOiBzdHJpbmcgPSAnaGlnaGNvdW50JztcclxuICBzdG9yZURldGFpbHM6YW55O1xyXG4gIEZlYXR1cmVzOmFueSA9IFsnRm9vdGZhbGwnXVxyXG4gIGZpbHRlcmVkU3RvcmU6YW55O1xyXG4gIGZpbHRlcmVkRmVhdHVyZTphbnk7XHJcbiAgc2VhcmNoRGF0YTphbnk7XHJcbiAgZHJvcERvd25GZWF0dXJlOiBhbnk7XHJcbiAgZHJvcERvd25TdG9yZTogYW55O1xyXG4gIGVtYWlsOmFueTtcclxuICBmaWx0ZXJlZEl0ZW1zOiBhbnk7XHJcbiAgZW1haWxFcnJvcjogYW55O1xyXG4gIHNlbGVjdGVkRmlsdGVyczphbnkgPSB7fTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgZGF5anMgPSBkYXlqcztcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSAgbSA+IHRoaXMuZGF5anMoKTsgICAgXHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG59XHJcbiAgZGF0ZVJhbmdlOiBhbnk7XHJcbiAgZmlsdGVyZWRTdG9yZUlkOiBhbnk7XHJcbiAgZGlzYWJsZWJ0bjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6YW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYscHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWwscHVibGljIGFjdGl2ZU1vZGFsOk5nYkFjdGl2ZU1vZGFsLHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSl7XHJcblxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0XHJcbiAgICAgIHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wZG93bicpKSB7XHJcbiAgICAgIC8vIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7XHJcbiAgICAgIC8vIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZ2V0U3RvcmUoKTtcclxuICAgIC8vIHZhciBkYXRldGltZSA9IHtcclxuICAgIC8vICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgIC8vICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAvLyB9O1xyXG4gICAgLy8gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gIH1cclxuXHJcbiAgLy8gbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgLy8gICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgLy8gfVxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCBcImRheXNcIikpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoMywgXCJkYXlzXCIpKTtcclxuICAgICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFN0b3JlKCl7XHJcbiAgICBsZXQgY2xpZW50SWQ9dGhpcy5jbGllbnRJZDtcclxuICAgIHRoaXMuc2VydmljZS5nZXRTdG9yZShjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcmVEZXRhaWxzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc3RvcmVEZXRhaWxzO1xyXG4gXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICBcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuICB9XHJcbiAgc2VhcmNoU3RvcmUoKXtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnNlYXJjaERhdGEudG9Mb3dlckNhc2UoKS50cmltKCk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc3RvcmVEZXRhaWxzLmZpbHRlcigoZWw6YW55ICk9PiBlbC5zdG9yZU5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkYXRhKSlcclxuICB9XHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZSA9IFtdO1xyXG4gICAgICAgIGxldCBjdXJyZW50RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZTtcclxuICAgICAgICB3aGlsZSAoY3VycmVudERhdGUuaXNCZWZvcmUoZXZlbnQuZW5kRGF0ZSkgfHwgY3VycmVudERhdGUuaXNTYW1lKGV2ZW50LmVuZERhdGUsICdkYXknKSkge1xyXG4gICAgICAgICAgdGhpcy5kYXRlUmFuZ2UucHVzaCh0aGlzLmRheWpzKGN1cnJlbnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpKTtcclxuICAgICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUuYWRkKDEsICdkYXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgIC8vICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyAgIGVuZERhdGU6IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyB9O1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgLy8gICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAvLyApO1xyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGU7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKXtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCl7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPXtcclxuICAgICAgZGF0ZVJhbmdlOnRoaXMuZGF0ZVJhbmdlLFxyXG4gICAgICBjb3VudFR5cGU6dGhpcy5jb3VudFR5cGUsXHJcbiAgICAgIGZpbHRlcmVkU3RvcmU6dGhpcy5maWx0ZXJlZFN0b3JlLFxyXG4gICAgICBmaWx0ZXJlZFN0b3JlSWQ6dGhpcy5maWx0ZXJlZFN0b3JlSWQsXHJcbiAgICAgIGZpbHRlcmVkRmVhdHVyZTp0aGlzLmZpbHRlcmVkRmVhdHVyZSxcclxuICAgICAgZW1haWw6dGhpcy5lbWFpbD8udG9Mb3dlckNhc2UoKVxyXG4gICAgfVxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEFuYWx5emVSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYW5hbHl6ZXJlcG9ydCA9IHJlcXVlc3REYXRhXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3BlbkRyb3Bkb3duKGV2ZW50OmFueSxrZXk6YW55KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYoa2V5ID09PSAnc3RvcmUnKXtcclxuICAgICAgdGhpcy5kcm9wRG93blN0b3JlID0gIXRoaXMuZHJvcERvd25TdG9yZTtcclxuICAgIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7fVxyXG4gICAgIGVsc2UgaWYoa2V5ID09PSAnZmVhdHVyZScpe1xyXG4gICAgICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9ICF0aGlzLmRyb3BEb3duRmVhdHVyZTtcclxuICAgICB0aGlzLmRyb3BEb3duU3RvcmUgPSBmYWxzZTt9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOmFueSxJZDphbnksa2V5OmFueSl7XHJcbiAgIGlmKGtleSA9PT0gJ3N0b3JlJyl7XHJcbiAgICAgdGhpcy5maWx0ZXJlZFN0b3JlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRTdG9yZUlkID0gSWQ7XHJcbiAgICAgIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO1xyXG5cclxuICAgfVxyXG4gICBlbHNlIGlmKGtleSA9PT0gJ2ZlYXR1cmUnKVxyXG4gICAgdGhpcy5maWx0ZXJlZEZlYXR1cmUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gb25FbWFpbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgLy8gICB0aGlzLmVtYWlsID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gfVxyXG5cclxuICBlbWFpbFZhbGlkYXRpb24oKXtcclxuICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9IC9eW2EtekEtWjAtOS5fLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw2fSQvO1xyXG4gICAgaWYgKHRoaXMuZW1haWwubWF0Y2goZW1haWxQYXR0ZXJuKSAmJiB0aGlzLmZpbHRlcmVkU3RvcmUgIT09ICcnICYmIHRoaXMuZmlsdGVyZWRGZWF0dXJlICE9PScnKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtYWlsRXJyb3IgPSAnJztcclxuICAgIH0gZWxzZSBpZighdGhpcy5lbWFpbC5tYXRjaChlbWFpbFBhdHRlcm4pKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IHRydWU7XHJcbiAgICAgIHRoaXMuZW1haWxFcnJvciA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweS0wIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPlN1cHBvcnQ8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlIG10LTNcIj5QbGVhc2UgZmlsbCB0aGUgZGV0YWlscyBmb3Igc3RvcmUgYW5hbHlzaXMgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTMgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlNlbGVjdCBEYXRlIFJhbmdlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiBzdHlsZT1cIm1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJmYWxzZVwiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibm90ZXMgbXQtM1wiPk5vdGUgOiBBbmFseXNpcyByZXN0cmljdGVkIHRvIGxhc3QgNCBkYXlzIG9ubHkuIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb3VudFR5cGUgPT09ICdoaWdoY291bnQnID8gJ2N1c3RvbS1jb250YWluZXInOidub3JtYWwtY29udGFpbmVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJoaWdoQ291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgWyhuZ01vZGVsKV09XCJjb3VudFR5cGVcIiB2YWx1ZT1cImhpZ2hjb3VudFwiIGNsYXNzPVwicmFkaW8taW5wdXRcIiBbbmdDbGFzc109XCJ7J2hpZ2gtZG90JzogY291bnRUeXBlID09PSAnaGlnaGNvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpZ2hDb3VudFwiIGNsYXNzPVwicmFkaW8tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2hpZ2hjb3VudCcgPyAndGV4dCc6J29ydmFsIGZ3LXNlbWlib2xkJ1wiIGNsYXNzPVwidGV4dC1ub3dyYXAgZnctc2VtaWJvbGRcIj5IaWdoIENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdjdXN0b20tY29udGFpbmVyJzonbm9ybWFsLWNvbnRhaW5lcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwibG93Q291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgdmFsdWU9XCJsb3djb3VudFwiIFsobmdNb2RlbCldPVwiY291bnRUeXBlXCIgY2xhc3M9XCJyYWRpby1pbnB1dFwiIFtuZ0NsYXNzXT1cInsnbG93LWRvdCc6IGNvdW50VHlwZSA9PT0gJ2xvd2NvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvd0NvdW50XCIgY2xhc3M9XCJyYWRpby1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY291bnRUeXBlID09PSAnbG93Y291bnQnID8gJ3RleHQnOidvcnZhbCBmdy1zZW1pYm9sZCdcIiBjbGFzcz1cInRleHQtbm93cmFwXCI+TG93IENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+ICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTIgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0yXCI+U2VsZWN0IFN0b3JlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdzdG9yZScpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbHRlcmVkU3RvcmUgPyBmaWx0ZXJlZFN0b3JlIDogJ1NlbGVjdCBTdG9yZSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRyb3BEb3duU3RvcmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hEYXRhXCIgKGlucHV0KT1cInNlYXJjaFN0b3JlKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHN0b3JlIG9mIGZpbHRlcmVkSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cImZpbHRlcmVkU3RvcmVJZCA9PT0gc3RvcmU/LnN0b3JlSWQgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShzdG9yZT8uc3RvcmVOYW1lLHN0b3JlPy5zdG9yZUlkLCdzdG9yZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdG9yZT8uc3RvcmVOYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0yIG10LTVcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMlwiPlNlbGVjdCBGZWF0dXJlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdmZWF0dXJlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWx0ZXJlZEZlYXR1cmUgPyBmaWx0ZXJlZEZlYXR1cmUgOiAnU2VsZWN0IEZlYXR1cmUnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93bkZlYXR1cmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBGZWF0dXJlc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5maWx0ZXJlZEZlYXR1cmUgPT09IGZlYXR1cmUgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShmZWF0dXJlLCdpZCcsJ2ZlYXR1cmUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZmVhdHVyZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktMiBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTJcIj5FbWFpbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE4LjMzMzcgNC45OTk5MkMxOC4zMzM3IDQuMDgzMjUgMTcuNTgzNyAzLjMzMzI1IDE2LjY2NyAzLjMzMzI1SDMuMzMzNjZDMi40MTY5OSAzLjMzMzI1IDEuNjY2OTkgNC4wODMyNSAxLjY2Njk5IDQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyVjE0Ljk5OTlDMTguMzMzNyAxNS45MTY2IDE3LjU4MzcgMTYuNjY2NiAxNi42NjcgMTYuNjY2NkgzLjMzMzY2QzIuNDE2OTkgMTYuNjY2NiAxLjY2Njk5IDE1LjkxNjYgMS42NjY5OSAxNC45OTk5VjQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyTDEwLjAwMDMgMTAuODMzM0wxLjY2Njk5IDQuOTk5OTJcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cInRleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXN0b20tZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBbKG5nTW9kZWwpXT1cImVtYWlsXCIgcGxhY2Vob2xkZXI9XCJFbWFpbFwiIGFyaWEtbGFiZWw9XCJFbWFpbFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjFcIiAoaW5wdXQpPVwiZW1haWxWYWxpZGF0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtYWlsRXJyb3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBlbWFpbEVycm9yIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXktNVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiAgaWQ9XCJhbGVydC10b2FzdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoKVwiPkFuYWx5emU8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBQyxZQUFZLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU1wRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8scUJBQXFCO0lBeUJaO0lBQTRCO0lBQThCO0lBQW1DO0lBeEJqSCxTQUFTLEdBQVcsV0FBVyxDQUFDO0lBQ2hDLFlBQVksQ0FBSztJQUNqQixRQUFRLEdBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzQixhQUFhLENBQUs7SUFDbEIsZUFBZSxDQUFLO0lBQ3BCLFVBQVUsQ0FBSztJQUNmLGVBQWUsQ0FBTTtJQUNyQixhQUFhLENBQU07SUFDbkIsS0FBSyxDQUFLO0lBQ1YsYUFBYSxDQUFNO0lBQ25CLFVBQVUsQ0FBTTtJQUNoQixlQUFlLEdBQU8sRUFBRSxDQUFDO0lBQ3pCLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ0csUUFBUSxHQUFHLElBQUks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LGlEQUFpRCxDQUFDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSSxFQUFFLEVBQUU7WUFDN0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDdEI7YUFBTSxJQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQztTQUMzQztJQUNILENBQUM7dUdBeExVLHFCQUFxQjsyRkFBckIscUJBQXFCLHlKQ25CbEMsbzdSQWlIQTs7MkZEOUZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7dUtBNEJwQixRQUFRO3NCQUFoQixLQUFLO2dCQU1OLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsSG9zdExpc3RlbmVyLE9uRGVzdHJveSwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XHJcbmltcG9ydCB0aW1lem9uZSBmcm9tIFwiZGF5anMvcGx1Z2luL3RpbWV6b25lXCI7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQW5hbHl6ZVJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2FuYWx5emUtcmVwb3J0L2FuYWx5emUtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldHMuc2VydmljZSc7XHJcbi8vIGltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNyZWF0ZS10aWNrZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3JlYXRlLXRpY2tldC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZVRpY2tldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIGNvdW50VHlwZTogc3RyaW5nID0gJ2hpZ2hjb3VudCc7XHJcbiAgc3RvcmVEZXRhaWxzOmFueTtcclxuICBGZWF0dXJlczphbnkgPSBbJ0Zvb3RmYWxsJ11cclxuICBmaWx0ZXJlZFN0b3JlOmFueTtcclxuICBmaWx0ZXJlZEZlYXR1cmU6YW55O1xyXG4gIHNlYXJjaERhdGE6YW55O1xyXG4gIGRyb3BEb3duRmVhdHVyZTogYW55O1xyXG4gIGRyb3BEb3duU3RvcmU6IGFueTtcclxuICBlbWFpbDphbnk7XHJcbiAgZmlsdGVyZWRJdGVtczogYW55O1xyXG4gIGVtYWlsRXJyb3I6IGFueTtcclxuICBzZWxlY3RlZEZpbHRlcnM6YW55ID0ge307XHJcbiAgc2VsZWN0ZWREYXRlUmFuZ2U6IGFueSA9IHt9O1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBpc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxufVxyXG4gIGRhdGVSYW5nZTogYW55O1xyXG4gIGZpbHRlcmVkU3RvcmVJZDogYW55O1xyXG4gIGRpc2FibGVidG46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNsaWVudElkOmFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLHB1YmxpYyBhY3RpdmVNb2RhbDpOZ2JBY3RpdmVNb2RhbCxwcml2YXRlIHNlcnZpY2U6VGlja2V0c1NlcnZpY2Upe1xyXG5cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdFxyXG4gICAgICB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuZHJvcGRvd24nKSkge1xyXG4gICAgICAvLyB0aGlzLmRyb3BEb3duRmVhdHVyZSA9IGZhbHNlO1xyXG4gICAgICAvLyB0aGlzLmRyb3BEb3duU3RvcmUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgIH07XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICB9O1xyXG4gICAgLy8gbGV0IGN1cnJlbnREYXRlID0gdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGU7XHJcbiAgICB0aGlzLmdldFN0b3JlKCk7XHJcbiAgICAvLyB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAvLyAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAvLyAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgLy8gfTtcclxuICAgIC8vIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICB9XHJcblxyXG4gIC8vIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gIC8vICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIC8vIH1cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cclxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgXCJkYXlzXCIpKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDMsIFwiZGF5c1wiKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRTdG9yZSgpe1xyXG4gICAgbGV0IGNsaWVudElkPXRoaXMuY2xpZW50SWQ7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0U3RvcmUoY2xpZW50SWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlRGV0YWlscyA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLnN0b3JlRGV0YWlscztcclxuIFxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNlYXJjaFN0b3JlKCl7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5zZWFyY2hEYXRhLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLnN0b3JlRGV0YWlscy5maWx0ZXIoKGVsOmFueSApPT4gZWwuc3RvcmVOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZGF0YSkpXHJcbiAgfVxyXG4gIGRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSAmJiBldmVudC5lbmREYXRlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpICYmXHJcbiAgICAgICAgdGhpcy5kYXlqcyhldmVudC5lbmREYXRlKS5pc1ZhbGlkKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSBldmVudC5zdGFydERhdGVcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSBldmVudC5lbmREYXRlXHJcbiAgICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBbXTtcclxuICAgICAgICBsZXQgY3VycmVudERhdGUgPSBldmVudC5zdGFydERhdGU7XHJcbiAgICAgICAgd2hpbGUgKGN1cnJlbnREYXRlLmlzQmVmb3JlKGV2ZW50LmVuZERhdGUpIHx8IGN1cnJlbnREYXRlLmlzU2FtZShldmVudC5lbmREYXRlLCAnZGF5JykpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZVJhbmdlLnB1c2godGhpcy5kYXlqcyhjdXJyZW50RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSk7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGVSYW5nZSlcclxuICAgICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUuYWRkKDEsICdkYXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgIC8vICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyAgIGVuZERhdGU6IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyB9O1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgLy8gICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAvLyApO1xyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGU7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKXtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCl7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPXtcclxuICAgICAgZGF0ZVJhbmdlOnRoaXMuZGF0ZVJhbmdlLFxyXG4gICAgICBjb3VudFR5cGU6dGhpcy5jb3VudFR5cGUsXHJcbiAgICAgIGZpbHRlcmVkU3RvcmU6dGhpcy5maWx0ZXJlZFN0b3JlLFxyXG4gICAgICBmaWx0ZXJlZFN0b3JlSWQ6dGhpcy5maWx0ZXJlZFN0b3JlSWQsXHJcbiAgICAgIGZpbHRlcmVkRmVhdHVyZTp0aGlzLmZpbHRlcmVkRmVhdHVyZSxcclxuICAgICAgZW1haWw6dGhpcy5lbWFpbD8udG9Mb3dlckNhc2UoKVxyXG4gICAgfVxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEFuYWx5emVSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYW5hbHl6ZXJlcG9ydCA9IHJlcXVlc3REYXRhXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3BlbkRyb3Bkb3duKGV2ZW50OmFueSxrZXk6YW55KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYoa2V5ID09PSAnc3RvcmUnKXtcclxuICAgICAgdGhpcy5kcm9wRG93blN0b3JlID0gIXRoaXMuZHJvcERvd25TdG9yZTtcclxuICAgIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7fVxyXG4gICAgIGVsc2UgaWYoa2V5ID09PSAnZmVhdHVyZScpe1xyXG4gICAgICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9ICF0aGlzLmRyb3BEb3duRmVhdHVyZTtcclxuICAgICB0aGlzLmRyb3BEb3duU3RvcmUgPSBmYWxzZTt9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOmFueSxJZDphbnksa2V5OmFueSl7XHJcbiAgIGlmKGtleSA9PT0gJ3N0b3JlJyl7XHJcbiAgICAgdGhpcy5maWx0ZXJlZFN0b3JlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRTdG9yZUlkID0gSWQ7XHJcbiAgICAgIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO1xyXG5cclxuICAgfVxyXG4gICBlbHNlIGlmKGtleSA9PT0gJ2ZlYXR1cmUnKVxyXG4gICAgdGhpcy5maWx0ZXJlZEZlYXR1cmUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gb25FbWFpbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgLy8gICB0aGlzLmVtYWlsID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gfVxyXG5cclxuICBlbWFpbFZhbGlkYXRpb24oKXtcclxuICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9IC9eW2EtekEtWjAtOS5fLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw2fSQvO1xyXG4gICAgaWYgKHRoaXMuZW1haWwubWF0Y2goZW1haWxQYXR0ZXJuKSAmJiB0aGlzLmZpbHRlcmVkU3RvcmUgIT09ICcnICYmIHRoaXMuZmlsdGVyZWRGZWF0dXJlICE9PScnKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtYWlsRXJyb3IgPSAnJztcclxuICAgIH0gZWxzZSBpZighdGhpcy5lbWFpbC5tYXRjaChlbWFpbFBhdHRlcm4pKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IHRydWU7XHJcbiAgICAgIHRoaXMuZW1haWxFcnJvciA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweS0wIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPlN1cHBvcnQ8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlIG10LTNcIj5QbGVhc2UgZmlsbCB0aGUgZGV0YWlscyBmb3Igc3RvcmUgYW5hbHlzaXMgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTMgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlNlbGVjdCBEYXRlIFJhbmdlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiBzdHlsZT1cIm1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJmYWxzZVwiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibm90ZXMgbXQtM1wiPk5vdGUgOiBBbmFseXNpcyByZXN0cmljdGVkIHRvIGxhc3QgNCBkYXlzIG9ubHkuIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb3VudFR5cGUgPT09ICdoaWdoY291bnQnID8gJ2N1c3RvbS1jb250YWluZXInOidub3JtYWwtY29udGFpbmVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJoaWdoQ291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgWyhuZ01vZGVsKV09XCJjb3VudFR5cGVcIiB2YWx1ZT1cImhpZ2hjb3VudFwiIGNsYXNzPVwicmFkaW8taW5wdXRcIiBbbmdDbGFzc109XCJ7J2hpZ2gtZG90JzogY291bnRUeXBlID09PSAnaGlnaGNvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpZ2hDb3VudFwiIGNsYXNzPVwicmFkaW8tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2hpZ2hjb3VudCcgPyAndGV4dCc6J29ydmFsIGZ3LXNlbWlib2xkJ1wiIGNsYXNzPVwidGV4dC1ub3dyYXAgZnctc2VtaWJvbGRcIj5IaWdoIENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdjdXN0b20tY29udGFpbmVyJzonbm9ybWFsLWNvbnRhaW5lcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwibG93Q291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgdmFsdWU9XCJsb3djb3VudFwiIFsobmdNb2RlbCldPVwiY291bnRUeXBlXCIgY2xhc3M9XCJyYWRpby1pbnB1dFwiIFtuZ0NsYXNzXT1cInsnbG93LWRvdCc6IGNvdW50VHlwZSA9PT0gJ2xvd2NvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvd0NvdW50XCIgY2xhc3M9XCJyYWRpby1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY291bnRUeXBlID09PSAnbG93Y291bnQnID8gJ3RleHQnOidvcnZhbCBmdy1zZW1pYm9sZCdcIiBjbGFzcz1cInRleHQtbm93cmFwXCI+TG93IENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+ICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTIgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0yXCI+U2VsZWN0IFN0b3JlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdzdG9yZScpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbHRlcmVkU3RvcmUgPyBmaWx0ZXJlZFN0b3JlIDogJ1NlbGVjdCBTdG9yZSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRyb3BEb3duU3RvcmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoRGF0YVwiIChpbnB1dCk9XCJzZWFyY2hTdG9yZSgpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBmaWx0ZXJlZEl0ZW1zXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJmaWx0ZXJlZFN0b3JlSWQgPT09IHN0b3JlPy5zdG9yZUlkID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0yXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oc3RvcmU/LnN0b3JlTmFtZSxzdG9yZT8uc3RvcmVJZCwnc3RvcmUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c3RvcmU/LnN0b3JlTmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktMiBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTJcIj5TZWxlY3QgRmVhdHVyZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudCwnZmVhdHVyZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgdy0xMDAgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gc2VsZWN0ZWQgZnctc2VtaWJvbGQgYmctd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZmlsdGVyZWRGZWF0dXJlID8gZmlsdGVyZWRGZWF0dXJlIDogJ1NlbGVjdCBGZWF0dXJlJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHJvcERvd25GZWF0dXJlXCIgY2xhc3M9XCJjYXJkIHB5LTEgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwcHggZW5kLTAgei0xIGRyb3Bkb3duLWhlaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGZlYXR1cmUgb2YgRmVhdHVyZXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInRoaXMuZmlsdGVyZWRGZWF0dXJlID09PSBmZWF0dXJlID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0yXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oZmVhdHVyZSwnaWQnLCdmZWF0dXJlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2ZlYXR1cmV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTIgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0yXCI+RW1haWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOC4zMzM3IDQuOTk5OTJDMTguMzMzNyA0LjA4MzI1IDE3LjU4MzcgMy4zMzMyNSAxNi42NjcgMy4zMzMyNUgzLjMzMzY2QzIuNDE2OTkgMy4zMzMyNSAxLjY2Njk5IDQuMDgzMjUgMS42NjY5OSA0Ljk5OTkyTTE4LjMzMzcgNC45OTk5MlYxNC45OTk5QzE4LjMzMzcgMTUuOTE2NiAxNy41ODM3IDE2LjY2NjYgMTYuNjY3IDE2LjY2NjZIMy4zMzM2NkMyLjQxNjk5IDE2LjY2NjYgMS42NjY5OSAxNS45MTY2IDEuNjY2OTkgMTQuOTk5OVY0Ljk5OTkyTTE4LjMzMzcgNC45OTk5MkwxMC4wMDAzIDEwLjgzMzNMMS42NjY5OSA0Ljk5OTkyXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2U7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY3VzdG9tLWZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgWyhuZ01vZGVsKV09XCJlbWFpbFwiIHBsYWNlaG9sZGVyPVwiRW1haWxcIiBhcmlhLWxhYmVsPVwiRW1haWxcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiYmFzaWMtYWRkb24xXCIgKGlucHV0KT1cImVtYWlsVmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbWFpbEVycm9yXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZW1haWxFcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZC1mbGV4IG15LTVcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdy0xMDAgbWUtM1wiIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTEwMCBtcy0zXCIgIGlkPVwiYWxlcnQtdG9hc3RcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIj5BbmFseXplPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=