tango-app-ui-manage-settings 3.0.8-dev → 3.0.9-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.
@@ -3,7 +3,7 @@ import dayjs from "dayjs";
3
3
  import "dayjs/locale/en";
4
4
  import utc from "dayjs/plugin/utc";
5
5
  import timezone from "dayjs/plugin/timezone";
6
- import { Subject, takeUntil } from 'rxjs';
6
+ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../services/client-api.service";
9
9
  import * as i2 from "@angular/common";
@@ -39,6 +39,7 @@ export class ActivityLogsComponent {
39
39
  filterStartDate = this.dayjs().utc().startOf('day').toISOString();
40
40
  filterEndDate = this.dayjs().utc().endOf('day').toISOString();
41
41
  showFilters = false;
42
+ pageState$ = new BehaviorSubject('loading');
42
43
  filters = [
43
44
  {
44
45
  label: 'Brand details',
@@ -69,8 +70,10 @@ export class ActivityLogsComponent {
69
70
  ngOnDestroy() {
70
71
  this.destroy$.next(true);
71
72
  this.destroy$.complete();
73
+ this.pageState$.complete();
72
74
  }
73
75
  getActivityLogs() {
76
+ this.pageState$.next('loading');
74
77
  let filters = {
75
78
  limit: this.pageSize,
76
79
  offset: this.currentPage,
@@ -87,6 +90,7 @@ export class ActivityLogsComponent {
87
90
  }
88
91
  this.apiService.getActivityLogs(filters).subscribe({
89
92
  next: (e) => {
93
+ this.pageState$.next('loaded');
90
94
  if (e?.data?.count) {
91
95
  this.logList = e.data.data;
92
96
  this.totalItems = e.data.count;
@@ -99,6 +103,7 @@ export class ActivityLogsComponent {
99
103
  }
100
104
  },
101
105
  error: (err) => {
106
+ this.pageState$.next('loaded');
102
107
  this.logList = [];
103
108
  this.totalItems = 0;
104
109
  this.cd.detectChanges();
@@ -158,13 +163,13 @@ export class ActivityLogsComponent {
158
163
  return checkedIds;
159
164
  }
160
165
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ActivityLogsComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
161
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ActivityLogsComponent, selector: "lib-activity-logs", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"activity-card\">\r\n <div class=\"d-flex justify-content-between align-items-center mb-10\">\r\n <div class=\"header\">Activity Logs</div>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"d-flex align-items-center position-relative me-5\">\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd\r\n [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\"\r\n autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n <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 </div>\r\n <div>\r\n <div class=\"multi-select-dropdown\" >\r\n <button (click)=\"$event.stopPropagation();showFilters = !showFilters;\" class=\"btn btn-outline\">\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=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\" ms-3\">{{getCheckedIds(filters).length}} selected</span>\r\n </button> \r\n <div *ngIf=\"showFilters\" class=\"input-container dropdown\" >\r\n <div>\r\n <ul>\r\n <li >\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n All Logs\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let filter of filters\" >\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input me-3\" type=\"checkbox\" [(ngModel)]=\"filter.isChecked\" [id]=\"filter.id\">\r\n <label class=\"form-check-label\" [for]=\"filter.id\" >\r\n {{filter.label}}\r\n </label>\r\n </div>\r\n </li>\r\n \r\n </ul> \r\n </div>\r\n <div >\r\n <div class=\" w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end m-2\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"showFilters = false\" >Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"getActivityLogs(); showFilters = false\" >Apply</a>\r\n </div>\r\n </div>\r\n \r\n </div> \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let item of logList\" class=\"log-card mb-8\">\r\n <div class=\"d-flex me-10\">\r\n <div class=\"line me-4\"></div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"header me-4\">{{camelCaseToWords(item?.logSubType)}}</div>\r\n <div class=\"time\">{{formatDate(item?.date)}}</div>\r\n </div>\r\n <div class=\"sub\">{{arrayToString(item?.changes)}} {{item?.eventType + 'd'}}</div>\r\n <div class=\"sub\">By {{item?.userName}} - {{item?.email}}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"chip\">\r\n {{camelCaseToWords(item?.logType)}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n</div>\r\n</div>", styles: [".activity-card{border-radius:8px;background:var(--White, #FFF);padding:24px}.log-card{display:flex;justify-content:space-between}.log-card .line{border-radius:2px;background:var(--Primary-600, #00A3FF);min-width:2px;height:100%}.log-card .header{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.log-card .time{color:var(--Gray-500, #667085);font-size:12px;font-weight:500;line-height:18px}.log-card .sub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:24px}.log-card .chip{padding:2px 10px;border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);font-size:14px;font-weight:500;line-height:20px;height:100%;white-space:nowrap}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}: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:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep 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 td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.multi-select-dropdown{position:relative}.multi-select-dropdown .input-container{position:absolute;width:212px;right:0;z-index:1;margin-top:5px;background-color:#fff;min-height:200px;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;display:flex;flex-direction:column;justify-content:space-between}.multi-select-dropdown .input-container ul{margin:0;padding:0}.multi-select-dropdown .input-container ul li{list-style:none;padding:10px 16px}.multi-select-dropdown .input-container .form-check{display:flex;align-items:center}.multi-select-dropdown .input-container .form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.multi-select-dropdown .input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.multi-select-dropdown .input-container .form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.multi-select-dropdown .input-container .footer-seperator{border-top:1px solid #EAECF0}.multi-select-dropdown .input-container .btn-primary{padding:10px 16px!important;font-size:12px!important;font-weight:600!important}.multi-select-dropdown .input-container .btn-outline{padding:10px 16px;font-size:12px;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { 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"] }] });
166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ActivityLogsComponent, selector: "lib-activity-logs", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"activity-card\">\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center mb-10\">\r\n <div class=\"header\">Activity Logs</div>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"d-flex align-items-center position-relative me-5\">\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd\r\n [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\"\r\n autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n <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 </div>\r\n <div>\r\n <div class=\"multi-select-dropdown\" >\r\n <button (click)=\"$event.stopPropagation();showFilters = !showFilters;\" class=\"btn btn-outline\">\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=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\" ms-3\">{{getCheckedIds(filters).length}} selected</span>\r\n </button> \r\n <div *ngIf=\"showFilters\" class=\"input-container dropdown\" >\r\n <div>\r\n <ul>\r\n <li >\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n All Logs\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let filter of filters\" >\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input me-3\" type=\"checkbox\" [(ngModel)]=\"filter.isChecked\" [id]=\"filter.id\">\r\n <label class=\"form-check-label\" [for]=\"filter.id\" >\r\n {{filter.label}}\r\n </label>\r\n </div>\r\n </li>\r\n \r\n </ul> \r\n </div>\r\n <div >\r\n <div class=\" w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end m-2\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"showFilters = false\" >Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"getActivityLogs(); showFilters = false\" >Apply</a>\r\n </div>\r\n </div>\r\n \r\n </div> \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngFor=\"let item of logList\" class=\"log-card mb-8\">\r\n <div class=\"d-flex me-10\">\r\n <div class=\"line me-4\"></div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"header me-4\">{{camelCaseToWords(item?.logSubType)}}</div>\r\n <div class=\"time\">{{formatDate(item?.date)}}</div>\r\n </div>\r\n <div class=\"sub\">{{arrayToString(item?.changes)}} {{item?.eventType + 'd'}}</div>\r\n <div class=\"sub\">By {{item?.userName}} - {{item?.email}}</div>\r\n </div>\r\n \r\n </div>\r\n <div class=\"chip\">\r\n {{camelCaseToWords(item?.logType)}}\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"logList?.length\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [".activity-card{border-radius:8px;background:var(--White, #FFF);padding:24px}.log-card{display:flex;justify-content:space-between}.log-card .line{border-radius:2px;background:var(--Primary-600, #00A3FF);min-width:2px;height:100%}.log-card .header{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.log-card .time{color:var(--Gray-500, #667085);font-size:12px;font-weight:500;line-height:18px}.log-card .sub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:24px}.log-card .chip{padding:2px 10px;border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);font-size:14px;font-weight:500;line-height:20px;height:100%;white-space:nowrap}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}: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:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep 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 td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.multi-select-dropdown{position:relative}.multi-select-dropdown .input-container{position:absolute;width:212px;right:0;z-index:1;margin-top:5px;background-color:#fff;min-height:200px;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;display:flex;flex-direction:column;justify-content:space-between}.multi-select-dropdown .input-container ul{margin:0;padding:0}.multi-select-dropdown .input-container ul li{list-style:none;padding:10px 16px}.multi-select-dropdown .input-container .form-check{display:flex;align-items:center}.multi-select-dropdown .input-container .form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.multi-select-dropdown .input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.multi-select-dropdown .input-container .form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.multi-select-dropdown .input-container .footer-seperator{border-top:1px solid #EAECF0}.multi-select-dropdown .input-container .btn-primary{padding:10px 16px!important;font-size:12px!important;font-weight:600!important}.multi-select-dropdown .input-container .btn-outline{padding:10px 16px;font-size:12px;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { 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"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
162
167
  }
163
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ActivityLogsComponent, decorators: [{
164
169
  type: Component,
165
- args: [{ selector: 'lib-activity-logs', template: "<div class=\"activity-card\">\r\n <div class=\"d-flex justify-content-between align-items-center mb-10\">\r\n <div class=\"header\">Activity Logs</div>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"d-flex align-items-center position-relative me-5\">\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd\r\n [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\"\r\n autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n <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 </div>\r\n <div>\r\n <div class=\"multi-select-dropdown\" >\r\n <button (click)=\"$event.stopPropagation();showFilters = !showFilters;\" class=\"btn btn-outline\">\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=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\" ms-3\">{{getCheckedIds(filters).length}} selected</span>\r\n </button> \r\n <div *ngIf=\"showFilters\" class=\"input-container dropdown\" >\r\n <div>\r\n <ul>\r\n <li >\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n All Logs\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let filter of filters\" >\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input me-3\" type=\"checkbox\" [(ngModel)]=\"filter.isChecked\" [id]=\"filter.id\">\r\n <label class=\"form-check-label\" [for]=\"filter.id\" >\r\n {{filter.label}}\r\n </label>\r\n </div>\r\n </li>\r\n \r\n </ul> \r\n </div>\r\n <div >\r\n <div class=\" w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end m-2\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"showFilters = false\" >Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"getActivityLogs(); showFilters = false\" >Apply</a>\r\n </div>\r\n </div>\r\n \r\n </div> \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let item of logList\" class=\"log-card mb-8\">\r\n <div class=\"d-flex me-10\">\r\n <div class=\"line me-4\"></div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"header me-4\">{{camelCaseToWords(item?.logSubType)}}</div>\r\n <div class=\"time\">{{formatDate(item?.date)}}</div>\r\n </div>\r\n <div class=\"sub\">{{arrayToString(item?.changes)}} {{item?.eventType + 'd'}}</div>\r\n <div class=\"sub\">By {{item?.userName}} - {{item?.email}}</div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"chip\">\r\n {{camelCaseToWords(item?.logType)}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n</div>\r\n</div>", styles: [".activity-card{border-radius:8px;background:var(--White, #FFF);padding:24px}.log-card{display:flex;justify-content:space-between}.log-card .line{border-radius:2px;background:var(--Primary-600, #00A3FF);min-width:2px;height:100%}.log-card .header{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.log-card .time{color:var(--Gray-500, #667085);font-size:12px;font-weight:500;line-height:18px}.log-card .sub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:24px}.log-card .chip{padding:2px 10px;border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);font-size:14px;font-weight:500;line-height:20px;height:100%;white-space:nowrap}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}: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:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep 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 td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.multi-select-dropdown{position:relative}.multi-select-dropdown .input-container{position:absolute;width:212px;right:0;z-index:1;margin-top:5px;background-color:#fff;min-height:200px;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;display:flex;flex-direction:column;justify-content:space-between}.multi-select-dropdown .input-container ul{margin:0;padding:0}.multi-select-dropdown .input-container ul li{list-style:none;padding:10px 16px}.multi-select-dropdown .input-container .form-check{display:flex;align-items:center}.multi-select-dropdown .input-container .form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.multi-select-dropdown .input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.multi-select-dropdown .input-container .form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.multi-select-dropdown .input-container .footer-seperator{border-top:1px solid #EAECF0}.multi-select-dropdown .input-container .btn-primary{padding:10px 16px!important;font-size:12px!important;font-weight:600!important}.multi-select-dropdown .input-container .btn-outline{padding:10px 16px;font-size:12px;font-weight:600}\n"] }]
170
+ args: [{ selector: 'lib-activity-logs', template: "<div class=\"activity-card\">\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center mb-10\">\r\n <div class=\"header\">Activity Logs</div>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"d-flex align-items-center position-relative me-5\">\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd\r\n [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\"\r\n autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n <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 </div>\r\n <div>\r\n <div class=\"multi-select-dropdown\" >\r\n <button (click)=\"$event.stopPropagation();showFilters = !showFilters;\" class=\"btn btn-outline\">\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=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\" ms-3\">{{getCheckedIds(filters).length}} selected</span>\r\n </button> \r\n <div *ngIf=\"showFilters\" class=\"input-container dropdown\" >\r\n <div>\r\n <ul>\r\n <li >\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n All Logs\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let filter of filters\" >\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input me-3\" type=\"checkbox\" [(ngModel)]=\"filter.isChecked\" [id]=\"filter.id\">\r\n <label class=\"form-check-label\" [for]=\"filter.id\" >\r\n {{filter.label}}\r\n </label>\r\n </div>\r\n </li>\r\n \r\n </ul> \r\n </div>\r\n <div >\r\n <div class=\" w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end m-2\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"showFilters = false\" >Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"getActivityLogs(); showFilters = false\" >Apply</a>\r\n </div>\r\n </div>\r\n \r\n </div> \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngFor=\"let item of logList\" class=\"log-card mb-8\">\r\n <div class=\"d-flex me-10\">\r\n <div class=\"line me-4\"></div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"header me-4\">{{camelCaseToWords(item?.logSubType)}}</div>\r\n <div class=\"time\">{{formatDate(item?.date)}}</div>\r\n </div>\r\n <div class=\"sub\">{{arrayToString(item?.changes)}} {{item?.eventType + 'd'}}</div>\r\n <div class=\"sub\">By {{item?.userName}} - {{item?.email}}</div>\r\n </div>\r\n \r\n </div>\r\n <div class=\"chip\">\r\n {{camelCaseToWords(item?.logType)}}\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"logList?.length\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [".activity-card{border-radius:8px;background:var(--White, #FFF);padding:24px}.log-card{display:flex;justify-content:space-between}.log-card .line{border-radius:2px;background:var(--Primary-600, #00A3FF);min-width:2px;height:100%}.log-card .header{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.log-card .time{color:var(--Gray-500, #667085);font-size:12px;font-weight:500;line-height:18px}.log-card .sub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:24px}.log-card .chip{padding:2px 10px;border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);font-size:14px;font-weight:500;line-height:20px;height:100%;white-space:nowrap}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}: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:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep 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 td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.multi-select-dropdown{position:relative}.multi-select-dropdown .input-container{position:absolute;width:212px;right:0;z-index:1;margin-top:5px;background-color:#fff;min-height:200px;border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;display:flex;flex-direction:column;justify-content:space-between}.multi-select-dropdown .input-container ul{margin:0;padding:0}.multi-select-dropdown .input-container ul li{list-style:none;padding:10px 16px}.multi-select-dropdown .input-container .form-check{display:flex;align-items:center}.multi-select-dropdown .input-container .form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.multi-select-dropdown .input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.multi-select-dropdown .input-container .form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.multi-select-dropdown .input-container .footer-seperator{border-top:1px solid #EAECF0}.multi-select-dropdown .input-container .btn-primary{padding:10px 16px!important;font-size:12px!important;font-weight:600!important}.multi-select-dropdown .input-container .btn-outline{padding:10px 16px;font-size:12px;font-weight:600}\n"] }]
166
171
  }], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
167
172
  type: HostListener,
168
173
  args: ['document:click', ['$event']]
169
174
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZ3MvYWN0aXZpdHktbG9ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZ3MvYWN0aXZpdHktbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBUSxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBT3ZCLE1BQU0sT0FBTyxxQkFBcUI7SUErQ1o7SUFBc0M7SUE3QzFELEtBQUssR0FBRyxLQUFLLENBQUE7SUFFYixPQUFPLENBQUMsS0FBaUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixXQUFXLEdB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QUN4QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkcsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQzt1R0FsS1kscUJBQXFCOzJGQUFyQixxQkFBcUIsdUhDZmxDLGluTEF1Rk07OzJGRHhFTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3FIQVE3QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0ICBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XHJcbmltcG9ydCB1dGMgZnJvbSBcImRheWpzL3BsdWdpbi91dGNcIjtcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gXCJkYXlqcy9wbHVnaW4vdGltZXpvbmVcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aXZpdHktbG9ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWxvZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpdml0eS1sb2dzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlMb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuZHJvcGRvd24nKSkge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7XHJcbiAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS51dGMoKS5zdGFydE9mKCdkYXknKSxcclxuICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS51dGMoKS5zdGFydE9mKCdkYXknKVxyXG4gIH07XHJcbiAgY2xpZW50TGlzdDogYW55ID0gW11cclxuICBzZWxlY3RlZENsaWVudDogYW55XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICBsb2dMaXN0OiBhbnk7XHJcbiAgZmlsdGVyU3RhcnREYXRlOiBzdHJpbmcgPSB0aGlzLmRheWpzKCkudXRjKCkuc3RhcnRPZignZGF5JykudG9JU09TdHJpbmcoKVxyXG4gIGZpbHRlckVuZERhdGU6IHN0cmluZyA9IHRoaXMuZGF5anMoKS51dGMoKS5lbmRPZignZGF5JykudG9JU09TdHJpbmcoKVxyXG4gIHNob3dGaWx0ZXJzOmJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBmaWx0ZXJzID0gW1xyXG4gICAge1xyXG4gICAgICBsYWJlbDonQnJhbmQgZGV0YWlscycsXHJcbiAgICAgIGlkOidicmFuZERldGFpbHMnLFxyXG4gICAgICBpc0NoZWNrZWQ6dHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbGFiZWw6J0NvbmZpZ3VyYXRpb24nLFxyXG4gICAgICBpZDonY29uZmlndXJhdGlvbicsXHJcbiAgICAgIGlzQ2hlY2tlZDp0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBsYWJlbDonRG9jdW1lbnRzJyxcclxuICAgICAgaWQ6J2RvY3VtZW50cycsXHJcbiAgICAgIGlzQ2hlY2tlZDp0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50SWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50SWQgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRBY3Rpdml0eUxvZ3MoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3Rpdml0eUxvZ3MoKSB7XHJcbiAgICBsZXQgZmlsdGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW50SWRcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpbHRlclN0YXJ0RGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLnN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyU3RhcnREYXRlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJFbmREYXRlKSB7XHJcbiAgICAgIGZpbHRlcnMuZW5kRGF0ZSA9IHRoaXMuZmlsdGVyRW5kRGF0ZVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuZ2V0Q2hlY2tlZElkcyh0aGlzLmZpbHRlcnMpPy5sZW5ndGgpe1xyXG4gICAgICBmaWx0ZXJzLmxvZ1R5cGVGaWx0ZXJzID0gdGhpcy5nZXRDaGVja2VkSWRzKHRoaXMuZmlsdGVycylcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0QWN0aXZpdHlMb2dzKGZpbHRlcnMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGU/LmRhdGE/LmNvdW50KSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ0xpc3QgPSBlLmRhdGEuZGF0YVxyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gZS5kYXRhLmNvdW50XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ0xpc3QgPSBbXVxyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dMaXN0ID0gW11cclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5zdGFydERhdGUgfHwgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLmZpbHRlclN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS50b0lTT1N0cmluZygpXHJcbiAgICAgIHRoaXMuZmlsdGVyRW5kRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSkudXRjKCkudG9JU09TdHJpbmcoKVxyXG4gICAgICB0aGlzLmdldEFjdGl2aXR5TG9ncygpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmFuZ2VzOiBhbnkgPSB7XHJcbiAgICBUb2RheTogW3RoaXMuZGF5anMoKSwgdGhpcy5kYXlqcygpXSxcclxuICAgIFllc3RlcmRheTogW3RoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIiksIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheXNcIildLFxyXG4gICAgXCJUaGlzIFdlZWtcIjogW3RoaXMuZGF5anMoKS5zdWJ0cmFjdCg2LCBcImRheXNcIiksIHRoaXMuZGF5anMoKV0sXHJcbiAgICBcIkxhc3QgV2Vla1wiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxNCwgXCJkYXlzXCIpLnN0YXJ0T2YoXCJkYXlzXCIpLFxyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoOCwgXCJkYXlzXCIpLmVuZE9mKFwiZGF5c1wiKSxcclxuICAgIF0sXHJcbiAgICBcIlRoaXMgTW9udGhcIjogW3RoaXMuZGF5anMoKS5zdGFydE9mKFwibW9udGhcIiksIHRoaXMuZGF5anMoKS5lbmRPZihcIm1vbnRoXCIpXSxcclxuICAgIFwiTGFzdCBNb250aFwiOiBbXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLnN0YXJ0T2YoXCJtb250aFwiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwibW9udGhcIikuZW5kT2YoXCJtb250aFwiKSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlT2Zmc2V0XHJcbiAgICB0aGlzLmdldEFjdGl2aXR5TG9ncygpXHJcblxyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemVcclxuICAgIHRoaXMuZ2V0QWN0aXZpdHlMb2dzKClcclxuICB9XHJcblxyXG4gIGZvcm1hdERhdGUoaW5wdXREYXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0aGlzLmRheWpzKGlucHV0RGF0ZSk7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gcGFyc2VkRGF0ZS5mb3JtYXQoJ0RELU1NLVlZWVkgfCBoaDptbSBBJyk7XHJcbiAgICByZXR1cm4gZm9ybWF0dGVkRGF0ZTtcclxuICB9XHJcblxyXG4gIGNhbWVsQ2FzZVRvV29yZHMoY2FtZWxDYXNlU3RyaW5nOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHdvcmRzID0gY2FtZWxDYXNlU3RyaW5nLnJlcGxhY2UoLyhbQS1aXSkvZywgJyAkMScpO1xyXG4gICAgcmV0dXJuIHdvcmRzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZHMuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGFycmF5VG9TdHJpbmcoYXJyYXk6IGFueSkge1xyXG4gICAgcmV0dXJuIGFycmF5LmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBjaGVja0lmQWxsU2VsZWN0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmV2ZXJ5KChpdGVtOmFueSkgPT4gaXRlbS5pc0NoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0QWxsID0gZXZlbnQuY3VycmVudFRhcmdldC5jaGVja2VkO1xyXG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGl0ZW06IGFueSkgPT4gaXRlbS5pc0NoZWNrZWQgPSBzZWxlY3RBbGwpO1xyXG4gIH1cclxuXHJcbiAgIGdldENoZWNrZWRJZHMoZmlsdGVyczphbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWRJZHMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyOmFueSkgPT4gZmlsdGVyLmlzQ2hlY2tlZCkubWFwKChmaWx0ZXI6YW55KSA9PiBmaWx0ZXIuaWQpO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRJZHM7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTEwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPkFjdGl2aXR5IExvZ3M8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBtZS01XCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWRcclxuICAgICAgICAgICAgICAgICAgICBbZHJvcHNdPVwiJ2Rvd24nXCIgW29wZW5zXT1cIidyaWdodCdcIiBbcmFuZ2VzXT1cInJhbmdlc1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGktc2VsZWN0LWRyb3Bkb3duXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7c2hvd0ZpbHRlcnMgPSAhc2hvd0ZpbHRlcnM7XCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgMTBIMTVNMi41IDVIMTcuNU03LjUgMTVIMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIG1zLTNcIj57e2dldENoZWNrZWRJZHMoZmlsdGVycykubGVuZ3RofX0gc2VsZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+ICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0ZpbHRlcnNcIiBjbGFzcz1cImlucHV0LWNvbnRhaW5lciBkcm9wZG93blwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICAgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsKCRldmVudClcIiBbY2hlY2tlZF09XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0zXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0QWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJzZWxlY3RBbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBMb2dzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyc1wiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0zXCIgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJmaWx0ZXIuaXNDaGVja2VkXCIgW2lkXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgW2Zvcl09XCJmaWx0ZXIuaWRcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbHRlci5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+ICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTRcIiAoY2xpY2spPVwic2hvd0ZpbHRlcnMgPSBmYWxzZVwiID5DYW5jZWw8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCIgKGNsaWNrKT1cImdldEFjdGl2aXR5TG9ncygpOyBzaG93RmlsdGVycyA9IGZhbHNlXCIgPkFwcGx5PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2dMaXN0XCIgY2xhc3M9XCJsb2ctY2FyZCBtYi04XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtZS0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZSBtZS00XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIG1lLTRcIj57e2NhbWVsQ2FzZVRvV29yZHMoaXRlbT8ubG9nU3ViVHlwZSl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+e3tmb3JtYXREYXRlKGl0ZW0/LmRhdGUpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YlwiPnt7YXJyYXlUb1N0cmluZyhpdGVtPy5jaGFuZ2VzKX19IHt7aXRlbT8uZXZlbnRUeXBlICsgJ2QnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJcIj5CeSB7e2l0ZW0/LnVzZXJOYW1lfX0gLSB7e2l0ZW0/LmVtYWlsfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwXCI+XHJcbiAgICAgICAgICAgIHt7Y2FtZWxDYXNlVG9Xb3JkcyhpdGVtPy5sb2dUeXBlKX19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuPC9kaXY+XHJcbjwvZGl2PiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZ3MvYWN0aXZpdHktbG9ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxvZ3MvYWN0aXZpdHktbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBUSxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBQzNELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQU92QixNQUFNLE9BQU8scUJBQXFCO0lBaURaO0lBQXNDO0lBL0MxRCxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBRWIsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFlBQVksR0FBRyxFQUFFLENBQUE7SUFD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QVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUEsYUFBYSxDQUFDLE9BQVc7UUFDeEIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7dUdBektZLHFCQUFxQjsyRkFBckIscUJBQXFCLHVIQ2ZsQyx5MlFBeUhBOzsyRkQxR2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjtxSEFRN0IsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCAgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XHJcbmltcG9ydCB0aW1lem9uZSBmcm9tIFwiZGF5anMvcGx1Z2luL3RpbWV6b25lXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aXZpdHktbG9ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWxvZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpdml0eS1sb2dzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlMb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuZHJvcGRvd24nKSkge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7XHJcbiAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS51dGMoKS5zdGFydE9mKCdkYXknKSxcclxuICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS51dGMoKS5zdGFydE9mKCdkYXknKVxyXG4gIH07XHJcbiAgY2xpZW50TGlzdDogYW55ID0gW11cclxuICBzZWxlY3RlZENsaWVudDogYW55XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICBsb2dMaXN0OiBhbnk7XHJcbiAgZmlsdGVyU3RhcnREYXRlOiBzdHJpbmcgPSB0aGlzLmRheWpzKCkudXRjKCkuc3RhcnRPZignZGF5JykudG9JU09TdHJpbmcoKVxyXG4gIGZpbHRlckVuZERhdGU6IHN0cmluZyA9IHRoaXMuZGF5anMoKS51dGMoKS5lbmRPZignZGF5JykudG9JU09TdHJpbmcoKVxyXG4gIHNob3dGaWx0ZXJzOmJvb2xlYW4gPSBmYWxzZVxyXG4gIHBhZ2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdsb2FkZWQnIHwgJ2xvYWRpbmcnPignbG9hZGluZycpO1xyXG5cclxuXHJcbiAgZmlsdGVycyA9IFtcclxuICAgIHtcclxuICAgICAgbGFiZWw6J0JyYW5kIGRldGFpbHMnLFxyXG4gICAgICBpZDonYnJhbmREZXRhaWxzJyxcclxuICAgICAgaXNDaGVja2VkOnRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOidDb25maWd1cmF0aW9uJyxcclxuICAgICAgaWQ6J2NvbmZpZ3VyYXRpb24nLFxyXG4gICAgICBpc0NoZWNrZWQ6dHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbGFiZWw6J0RvY3VtZW50cycsXHJcbiAgICAgIGlkOidkb2N1bWVudHMnLFxyXG4gICAgICBpc0NoZWNrZWQ6dHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudElkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUpIHtcclxuICAgICAgICB0aGlzLmNsaWVudElkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWN0aXZpdHlMb2dzKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5wYWdlU3RhdGUkLmNvbXBsZXRlKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZpdHlMb2dzKCkge1xyXG4gICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRpbmcnKVxyXG4gICAgbGV0IGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgIGxpbWl0OiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJTdGFydERhdGUpIHtcclxuICAgICAgZmlsdGVycy5zdGFydERhdGUgPSB0aGlzLmZpbHRlclN0YXJ0RGF0ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsdGVyRW5kRGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLmVuZERhdGUgPSB0aGlzLmZpbHRlckVuZERhdGVcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmdldENoZWNrZWRJZHModGhpcy5maWx0ZXJzKT8ubGVuZ3RoKXtcclxuICAgICAgZmlsdGVycy5sb2dUeXBlRmlsdGVycyA9IHRoaXMuZ2V0Q2hlY2tlZElkcyh0aGlzLmZpbHRlcnMpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmdldEFjdGl2aXR5TG9ncyhmaWx0ZXJzKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgIGlmIChlPy5kYXRhPy5jb3VudCkge1xyXG4gICAgICAgICAgdGhpcy5sb2dMaXN0ID0gZS5kYXRhLmRhdGFcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IGUuZGF0YS5jb3VudFxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5sb2dMaXN0ID0gW11cclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgIHRoaXMubG9nTGlzdCA9IFtdXHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQuc3RhcnREYXRlIHx8IGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJTdGFydERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkudXRjKCkudG9JU09TdHJpbmcoKVxyXG4gICAgICB0aGlzLmZpbHRlckVuZERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLnV0YygpLnRvSVNPU3RyaW5nKClcclxuICAgICAgdGhpcy5nZXRBY3Rpdml0eUxvZ3MoKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJhbmdlczogYW55ID0ge1xyXG4gICAgVG9kYXk6IFt0aGlzLmRheWpzKCksIHRoaXMuZGF5anMoKV0sXHJcbiAgICBZZXN0ZXJkYXk6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpLCB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlzXCIpXSxcclxuICAgIFwiVGhpcyBXZWVrXCI6IFt0aGlzLmRheWpzKCkuc3VidHJhY3QoNiwgXCJkYXlzXCIpLCB0aGlzLmRheWpzKCldLFxyXG4gICAgXCJMYXN0IFdlZWtcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMTQsIFwiZGF5c1wiKS5zdGFydE9mKFwiZGF5c1wiKSxcclxuICAgICAgdGhpcy5kYXlqcygpLnN1YnRyYWN0KDgsIFwiZGF5c1wiKS5lbmRPZihcImRheXNcIiksXHJcbiAgICBdLFxyXG4gICAgXCJUaGlzIE1vbnRoXCI6IFt0aGlzLmRheWpzKCkuc3RhcnRPZihcIm1vbnRoXCIpLCB0aGlzLmRheWpzKCkuZW5kT2YoXCJtb250aFwiKV0sXHJcbiAgICBcIkxhc3QgTW9udGhcIjogW1xyXG4gICAgICB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJtb250aFwiKS5zdGFydE9mKFwibW9udGhcIiksXHJcbiAgICAgIHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcIm1vbnRoXCIpLmVuZE9mKFwibW9udGhcIiksXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZU9mZnNldFxyXG4gICAgdGhpcy5nZXRBY3Rpdml0eUxvZ3MoKVxyXG5cclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplXHJcbiAgICB0aGlzLmdldEFjdGl2aXR5TG9ncygpXHJcbiAgfVxyXG5cclxuICBmb3JtYXREYXRlKGlucHV0RGF0ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJzZWREYXRlID0gdGhpcy5kYXlqcyhpbnB1dERhdGUpO1xyXG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHBhcnNlZERhdGUuZm9ybWF0KCdERC1NTS1ZWVlZIHwgaGg6bW0gQScpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZERhdGU7XHJcbiAgfVxyXG5cclxuICBjYW1lbENhc2VUb1dvcmRzKGNhbWVsQ2FzZVN0cmluZzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB3b3JkcyA9IGNhbWVsQ2FzZVN0cmluZy5yZXBsYWNlKC8oW0EtWl0pL2csICcgJDEnKTtcclxuICAgIHJldHVybiB3b3Jkcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmRzLnNsaWNlKDEpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBhcnJheVRvU3RyaW5nKGFycmF5OiBhbnkpIHtcclxuICAgIHJldHVybiBhcnJheS5qb2luKCcsICcpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5ldmVyeSgoaXRlbTphbnkpID0+IGl0ZW0uaXNDaGVja2VkKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdEFsbCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQuY2hlY2tlZDtcclxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IGl0ZW0uaXNDaGVja2VkID0gc2VsZWN0QWxsKTtcclxuICB9XHJcblxyXG4gICBnZXRDaGVja2VkSWRzKGZpbHRlcnM6YW55KSB7XHJcbiAgICBjb25zdCBjaGVja2VkSWRzID0gZmlsdGVycy5maWx0ZXIoKGZpbHRlcjphbnkpID0+IGZpbHRlci5pc0NoZWNrZWQpLm1hcCgoZmlsdGVyOmFueSkgPT4gZmlsdGVyLmlkKTtcclxuICAgIHJldHVybiBjaGVja2VkSWRzO1xyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhY3Rpdml0eS1jYXJkXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVN0YXRlJCB8IGFzeW5jIGFzIHBhZ2VTdGF0ZVwiID5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsb2FkZWQnXCIgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5BY3Rpdml0eSBMb2dzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbWUtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ryb3BzXT1cIidkb3duJ1wiIFtvcGVuc109XCIncmlnaHQnXCIgW3Jhbmdlc109XCJyYW5nZXNcIiBbc2hvd0N1c3RvbVJhbmdlTGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIiBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpLXNlbGVjdC1kcm9wZG93blwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO3Nob3dGaWx0ZXJzID0gIXNob3dGaWx0ZXJzO1wiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEwSDE1TTIuNSA1SDE3LjVNNy41IDE1SDEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiBtcy0zXCI+e3tnZXRDaGVja2VkSWRzKGZpbHRlcnMpLmxlbmd0aH19IHNlbGVjdGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dGaWx0ZXJzXCIgY2xhc3M9XCJpbnB1dC1jb250YWluZXIgZHJvcGRvd25cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgIGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGNoYW5nZSk9XCJvblNlbGVjdEFsbCgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiY2hlY2tJZkFsbFNlbGVjdGVkKClcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtM1wiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInNlbGVjdEFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2VsZWN0QWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGwgTG9nc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtM1wiIHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLmlzQ2hlY2tlZFwiIFtpZF09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIFtmb3JdPVwiZmlsdGVyLmlkXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWx0ZXIubGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPiAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG0tMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS00XCIgKGNsaWNrKT1cInNob3dGaWx0ZXJzID0gZmFsc2VcIiA+Q2FuY2VsPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiIChjbGljayk9XCJnZXRBY3Rpdml0eUxvZ3MoKTsgc2hvd0ZpbHRlcnMgPSBmYWxzZVwiID5BcHBseTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbG9nTGlzdFwiIGNsYXNzPVwibG9nLWNhcmQgbWItOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbWUtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUgbWUtNFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBtZS00XCI+e3tjYW1lbENhc2VUb1dvcmRzKGl0ZW0/LmxvZ1N1YlR5cGUpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPnt7Zm9ybWF0RGF0ZShpdGVtPy5kYXRlKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJcIj57e2FycmF5VG9TdHJpbmcoaXRlbT8uY2hhbmdlcyl9fSB7e2l0ZW0/LmV2ZW50VHlwZSArICdkJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViXCI+Qnkge3tpdGVtPy51c2VyTmFtZX19IC0ge3tpdGVtPy5lbWFpbH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2NhbWVsQ2FzZVRvV29yZHMoaXRlbT8ubG9nVHlwZSl9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxvZ0xpc3Q/Lmxlbmd0aFwiIGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGluZydcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
105
105
  type: ViewChild,
106
106
  args: ['imageInput']
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLGtCQUFrQjtJQVVUO0lBQXlCO0lBQXNDO0lBUm5GLGFBQWEsQ0FBVztJQUNDLFdBQVcsQ0FBMEI7SUFDOUQsU0FBUyxDQUFLO0lBQ2QsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFFBQVEsQ0FBTztJQUdmLFlBQW9CLEVBQWUsRUFBVSxVQUE0QixFQUFVLEVBQXFCO1FBQXBGLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3RHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFB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bmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYnJhbmQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9icmFuZC1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJhbmRJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgYnJhbmRJbmZvRm9ybTogRm9ybUdyb3VwXHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VJbnB1dCcpIHVwbG9hZElucHV0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBicmFuZExvZ286IGFueVxyXG4gIGNvdW50cnlMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBsb2dvRmlsZTogRmlsZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFwaVNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmluaXRGb3JtKClcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgICAgICAgXHJcbiAgICAgICAgaWYocmVzLnR5cGUgPT09ICdpbnB1dCcgJiYgcmVzLmZvcm0gPT09ICdicmFuZC1pbmZvJyl7XHJcbiAgICAgICAgdGhpcy5wYXRjaEZvcm0ocmVzLnZhbHVlKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIGluaXRGb3JtKCkge1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGJyYW5kTmFtZTogWycnXSxcclxuICAgICAgcmVnaXN0ZXJlZENvbXBhbnlOYW1lOiBbJyddLFxyXG4gICAgICBpbmR1c3RyeTogWycnXSxcclxuICAgICAgY2xpZW50VHlwZTogWycnXSxcclxuICAgICAgY29ycG9yYXRlRW1haWw6IFsnJ10sXHJcbiAgICAgIGNvdW50cnlDb2RlOiBbJyddLFxyXG4gICAgICBtb2JpbGVOdW1iZXI6IFsnJ10sXHJcbiAgICAgIHJlZ2lzdGVyZWRBZGRyZXNzOiBbJyddLFxyXG4gICAgICBoZWFkUXVhcnRlcnM6IFsnJ10sXHJcbiAgICAgIHdlYnNpdGU6IFsnJ10sXHJcbiAgICAgIHN0YXR1czogWycnXSxcclxuICAgICAgbG9nbzogWycnXVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBnZXRDb3VudHJ5Q29kZXMoKXtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRBbGxDb3VudHJpZXMoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gcmVzLmRhdGFcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooZXJyOmFueSk9PntcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHBhdGNoRm9ybShkYXRhOiBhbnkpIHsgICAgXHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgLi4uZGF0YVxyXG4gICAgICB9XHJcbiAgICApXHJcblxyXG4gICAgdGhpcy5icmFuZExvZ28gPSBkYXRhLmxvZ29cclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyRmlsZUlucHV0KCkge1xyXG4gICAgdGhpcy51cGxvYWRJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKClcclxuICB9XHJcblxyXG4gIG9uRmlsZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlc1swXSkge1xyXG4gICAgICBsZXQgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICAgICAgdGhpcy5sb2dvRmlsZSA9IGZpbGUgICAgICBcclxuICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5icmFuZExvZ28gPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChldmVudC50YXJnZXQuZmlsZXNbMF0pO1xyXG5cclxuICAgIH0gIFxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKXtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHt2YWx1ZTpudWxsLCB0eXBlOidjYW5jZWwnLCBmb3JtOidicmFuZC1pbmZvJ30pXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpeyAgIFxyXG4gICAgaWYodGhpcy5sb2dvRmlsZSl7ICAgICAgXHJcbiAgICAgIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5sb2dvID0gdGhpcy5sb2dvRmlsZSAgICAgIFxyXG4gICAgfVxyXG4gICAgIFxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5icmFuZE5hbWUgIFxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5jb3Jwb3JhdGVFbWFpbFxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5jb3VudHJ5Q29kZVxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5tb2JpbGVOdW1iZXIgICAgXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7dmFsdWU6dGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLCB0eXBlOidzdWJtaXQnLCBmb3JtOidicmFuZC1pbmZvJ30pXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJicmFuZEluZm9Gb3JtXCIgPlxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYnJhbmRJbmZvRm9ybS5kaXNhYmxlZFwiIGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWQgPyBicmFuZEluZm9Gb3JtLmVuYWJsZSgpIDogYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYWxpZ24taXRlbXMtZW5kXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjU3OV8yNTEyNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjcgMi40OTk5M0MxNC4zODU5IDIuMjgxMDYgMTQuNjQ1NyAyLjEwNzQ0IDE0LjkzMTcgMS45ODg5OUMxNS4yMTc2IDEuODcwNTQgMTUuNTI0MSAxLjgwOTU3IDE1LjgzMzcgMS44MDk1N0MxNi4xNDMyIDEuODA5NTcgMTYuNDQ5NyAxLjg3MDU0IDE2LjczNTcgMS45ODg5OUMxNy4wMjE2IDIuMTA3NDQgMTcuMjgxNSAyLjI4MTA2IDE3LjUwMDMgMi40OTk5M0MxNy43MTkyIDIuNzE4OCAxNy44OTI4IDIuOTc4NjMgMTguMDExMyAzLjI2NDZDMTguMTI5NyAzLjU1MDU3IDE4LjE5MDcgMy44NTcwNiAxOC4xOTA3IDQuMTY2NTlDMTguMTkwNyA0LjQ3NjEyIDE4LjEyOTcgNC43ODI2MiAxOC4wMTEzIDUuMDY4NTlDMTcuODkyOCA1LjM1NDU1IDE3LjcxOTIgNS42MTQzOSAxNy41MDAzIDUuODMzMjZMNi4yNTAzMyAxNy4wODMzTDEuNjY2OTkgMTguMzMzM0wyLjkxNjk5IDEzLjc0OTlMMTQuMTY3IDIuNDk5OTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yNTc5XzI1MTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+RWRpdCBEZXRhaWxzPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJCcmFuZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIExvZ28gPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCAjaW1hZ2VJbnB1dCBhY2NlcHQ9XCIucG5nLCAuanBnLCAuanBlZ1wiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0KCRldmVudClcIiBbZGlzYWJsZWRdPVwiYnJhbmRJbmZvRm9ybS5kaXNhYmxlZFwiICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgdHlwZT1cImZpbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiYnJhbmRMb2dvXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgIDxzdmcgKGNsaWNrKT1cInRyaWdnZXJGaWxlSW5wdXQoKVwiIGNsYXNzPVwidXBsb2FkLWljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA0OCA0NlwiXHJcbiAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMl80MTc1NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMTBcIiB5PVwiMTBcIiB3aWR0aD1cIjI3LjgwMzdcIiBoZWlnaHQ9XCIyNS45NTAxXCIgcng9XCIxMi45NzUxXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuOTQzNCAyNi4yMTc1VjI4LjUzNDhIMjAuNDI2MkwyNy43NTIxIDIxLjY5NzJMMjUuMjY5MyAxOS4zNzk5TDE3Ljk0MzQgMjYuMjE3NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS42NjcxIDE5LjAzNzdMMjguMTIxMSAxNy41OTQ4QzI3Ljg2MjkgMTcuMzUzOCAyNy40NDI1IDE3LjM1MzggMjcuMTg0MyAxNy41OTQ4TDI1Ljk3MjcgMTguNzI1N0wyOC40NTU1IDIxLjA0MjlMMjkuNjY3MSAxOS45MTIxQzI5LjkyNTMgMTkuNjcxMSAyOS45MjUzIDE5LjI3ODcgMjkuNjY3MSAxOS4wMzc3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yXzQxNzU1XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDcuODAzN1wiIGhlaWdodD1cIjQ1Ljk1MDJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMjg4MzMzIDAgMCAwIDAgMC4zMTI5IDAgMCAwIDAgMC40IDAgMCAwIDAuMTQgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMl80MTc1NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMl80MTc1NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhYnJhbmRMb2dvXCIgY2xhc3M9XCJ1cGxvYWQtcGxhY2Vob2xkZXJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuNSAzMkMyLjU3MTc0IDMyIDEuNjgxNSAzMS42MzEzIDEuMDI1MTMgMzAuOTc0OUMwLjM2ODc0OSAzMC4zMTg1IDAgMjkuNDI4MyAwIDI4LjVMMCAzLjVDMCAxLjU2OCAxLjU2OCAwIDMuNSAwSDIwLjVDMjIuNDMyIDAgMjQgMS41NjggMjQgMy41VjI4LjVDMjQgMjguNjcgMjMuOTg4IDI4LjgzNiAyMy45NjQgMjlIMjguNUMyOC42MzI2IDI5IDI4Ljc1OTggMjguOTQ3MyAyOC44NTM2IDI4Ljg1MzZDMjguOTQ3MyAyOC43NTk4IDI5IDI4LjYzMjYgMjkgMjguNVYxNi41N0MyOS4wMDAxIDE2LjQ4NzcgMjguOTc5OCAxNi40MDY4IDI4Ljk0MTEgMTYuMzM0MkMyOC45MDI0IDE2LjI2MTYgMjguODQ2NCAxNi4xOTk3IDI4Ljc3OCAxNi4xNTRMMjYuNjY4IDE0Ljc0OEMyNi41MDQxIDE0LjYzODcgMjYuMzYzMyAxNC40OTgzIDI2LjI1MzcgMTQuMzM0NkMyNi4xNDQxIDE0LjE3MDkgMjYuMDY3OCAxMy45ODczIDI2LjAyOTIgMTMuNzk0MkMyNS45OTA2IDEzLjYwMSAyNS45OTA0IDEzLjQwMjEgMjYuMDI4NiAxMy4yMDg5QzI2LjA2NjggMTMuMDE1NyAyNi4xNDI3IDEyLjgzMTkgMjYuMjUyIDEyLjY2OEMyNi4zNjEzIDEyLjUwNDEgMjYuNTAxNyAxMi4zNjMzIDI2LjY2NTQgMTIuMjUzN0MyNi44MjkxIDEyLjE0NDEgMjcuMDEyNyAxMi4wNjc4IDI3LjIwNTggMTIuMDI5MkMyNy4zOTkgMTEuOTkwNiAyNy41OTc5IDExLjk5MDQgMjcuNzkxMSAxMi4wMjg2QzI3Ljk4NDMgMTIuMDY2OCAyOC4xNjgxIDEyLjE0MjcgMjguMzMyIDEyLjI1MkwzMC40NDIgMTMuNjU4QzMxLjQxNiAxNC4zMDggMzIgMTUuNCAzMiAxNi41N1YyOC41QzMyIDI5LjQyODMgMzEuNjMxMyAzMC4zMTg1IDMwLjk3NDkgMzAuOTc0OUMzMC4zMTg1IDMxLjYzMTMgMjkuNDI4MyAzMiAyOC41IDMySDIxLjVDMjEuMzY3IDMxLjk5OTggMjEuMjM0NSAzMS45ODI0IDIxLjEwNiAzMS45NDhDMjAuOTA4IDMxLjk4MiAyMC43MDYgMzIgMjAuNSAzMkgxNC41QzE0LjEwMjIgMzIgMTMuNzIwNiAzMS44NDIgMTMuNDM5MyAzMS41NjA3QzEzLjE1OCAzMS4yNzk0IDEzIDMwLjg5NzggMTMgMzAuNVYyOEgxMVYzMC41QzExIDMwLjg5NzggMTAuODQyIDMxLjI3OTQgMTAuNTYwNyAzMS41NjA3QzEwLjI3OTQgMzEuODQyIDkuODk3ODMgMzIgOS41IDMySDMuNVpNMyAyOC41QzMgMjguNzc2IDMuMjI0IDI5IDMuNSAyOUg4VjI2LjVDOCAyNi4xMDIyIDguMTU4MDQgMjUuNzIwNiA4LjQzOTM0IDI1LjQzOTNDOC43MjA2NCAyNS4xNTggOS4xMDIxOCAyNSA5LjUgMjVIMTQuNUMxNC44OTc4IDI1IDE1LjI3OTQgMjUuMTU4IDE1LjU2MDcgMjUuNDM5M0MxNS44NDIgMjUuNzIwNiAxNiAyNi4xMDIyIDE2IDI2LjVWMjlIMjAuNUMyMC42MzI2IDI5IDIwLjc1OTggMjguOTQ3MyAyMC44NTM2IDI4Ljg1MzZDMjAuOTQ3MyAyOC43NTk4IDIxIDI4LjYzMjYgMjEgMjguNVYzLjVDMjEgMy4zNjczOSAyMC45NDczIDMuMjQwMjIgMjAuODUzNiAzLjE0NjQ1QzIwLjc1OTggMy4wNTI2OCAyMC42MzI2IDMgMjAuNSAzSDMuNUMzLjM2NzM5IDMgMy4yNDAyMiAzLjA1MjY4IDMuMTQ2NDUgMy4xNDY0NUMzLjA1MjY4IDMuMjQwMjIgMyAzLjM2NzM5IDMgMy41VjI4LjVaTTcuNSAxMkg4LjVDOC44OTc4MiAxMiA5LjI3OTM2IDEyLjE1OCA5LjU2MDY2IDEyLjQzOTNDOS44NDE5NiAxMi43MjA2IDEwIDEzLjEwMjIgMTAgMTMuNUMxMCAxMy44OTc4IDkuODQxOTYgMTQuMjc5NCA5LjU2MDY2IDE0LjU2MDdDOS4yNzkzNiAxNC44NDIgOC44OTc4MiAxNSA4LjUgMTVINy41QzcuMTAyMTggMTUgNi43MjA2NCAxNC44NDIgNi40MzkzNCAxNC41NjA3QzYuMTU4MDQgMTQuMjc5NCA2IDEzLjg5NzggNiAxMy41QzYgMTMuMTAyMiA2LjE1ODA0IDEyLjcyMDYgNi40MzkzNCAxMi40MzkzQzYuNzIwNjQgMTIuMTU4IDcuMTAyMTggMTIgNy41IDEyWk02IDcuNUM2IDcuMTAyMTggNi4xNTgwNCA2LjcyMDY0IDYuNDM5MzQgNi40MzkzNEM2LjcyMDY0IDYuMTU4MDQgNy4xMDIxOCA2IDcuNSA2SDguNUM4Ljg5NzgyIDYgOS4yNzkzNiA2LjE1ODA0IDkuNTYwNjYgNi40MzkzNEM5Ljg0MTk2IDYuNzIwNjQgMTAgNy4xMDIxOCAxMCA3LjVDMTAgNy44OTc4MiA5Ljg0MTk2IDguMjc5MzYgOS41NjA2NiA4LjU2MDY2QzkuMjc5MzYgOC44NDE5NiA4Ljg5NzgyIDkgOC41IDlINy41QzcuMTAyMTggOSA2LjcyMDY0IDguODQxOTYgNi40MzkzNCA4LjU2MDY2QzYuMTU4MDQgOC4yNzkzNiA2IDcuODk3ODIgNiA3LjVaTTE0IDEzLjVDMTQgMTMuMTAyMiAxNC4xNTggMTIuNzIwNiAxNC40MzkzIDEyLjQzOTNDMTQuNzIwNiAxMi4xNTggMTUuMTAyMiAxMiAxNS41IDEySDE2LjVDMTYuODk3OCAxMiAxNy4yNzk0IDEyLjE1OCAxNy41NjA3IDEyLjQzOTNDMTcuODQyIDEyLjcyMDYgMTggMTMuMTAyMiAxOCAxMy41QzE4IDEzLjg5NzggMTcuODQyIDE0LjI3OTQgMTcuNTYwNyAxNC41NjA3QzE3LjI3OTQgMTQuODQyIDE2Ljg5NzggMTUgMTYuNSAxNUgxNS41QzE1LjEwMjIgMTUgMTQuNzIwNiAxNC44NDIgMTQuNDM5MyAxNC41NjA3QzE0LjE1OCAxNC4yNzk0IDE0IDEzLjg5NzggMTQgMTMuNVpNMTUuNSA2SDE2LjVDMTYuODk3OCA2IDE3LjI3OTQgNi4xNTgwNCAxNy41NjA3IDYuNDM5MzRDMTcuODQyIDYuNzIwNjQgMTggNy4xMDIxOCAxOCA3LjVDMTggNy44OTc4MiAxNy44NDIgOC4yNzkzNiAxNy41NjA3IDguNTYwNjZDMTcuMjc5NCA4Ljg0MTk2IDE2Ljg5NzggOSAxNi41IDlIMTUuNUMxNS4xMDIyIDkgMTQuNzIwNiA4Ljg0MTk2IDE0LjQzOTMgOC41NjA2NkMxNC4xNTggOC4yNzkzNiAxNCA3Ljg5NzgyIDE0IDcuNUMxNCA3LjEwMjE4IDE0LjE1OCA2LjcyMDY0IDE0LjQzOTMgNi40MzkzNEMxNC43MjA2IDYuMTU4MDQgMTUuMTAyMiA2IDE1LjUgNlpNNiAxOS41QzYgMTkuMTAyMiA2LjE1ODA0IDE4LjcyMDYgNi40MzkzNCAxOC40MzkzQzYuNzIwNjQgMTguMTU4IDcuMTAyMTggMTggNy41IDE4SDguNUM4Ljg5NzgyIDE4IDkuMjc5MzYgMTguMTU4IDkuNTYwNjYgMTguNDM5M0M5Ljg0MTk2IDE4LjcyMDYgMTAgMTkuMTAyMiAxMCAxOS41QzEwIDE5Ljg5NzggOS44NDE5NiAyMC4yNzk0IDkuNTYwNjYgMjAuNTYwN0M5LjI3OTM2IDIwLjg0MiA4Ljg5NzgyIDIxIDguNSAyMUg3LjVDNy4xMDIxOCAyMSA2LjcyMDY0IDIwLjg0MiA2LjQzOTM0IDIwLjU2MDdDNi4xNTgwNCAyMC4yNzk0IDYgMTkuODk3OCA2IDE5LjVaTTE1LjUgMThIMTYuNUMxNi44OTc4IDE4IDE3LjI3OTQgMTguMTU4IDE3LjU2MDcgMTguNDM5M0MxNy44NDIgMTguNzIwNiAxOCAxOS4xMDIyIDE4IDE5LjVDMTggMTkuODk3OCAxNy44NDIgMjAuMjc5NCAxNy41NjA3IDIwLjU2MDdDMTcuMjc5NCAyMC44NDIgMTYuODk3OCAyMSAxNi41IDIxSDE1LjVDMTUuMTAyMiAyMSAxNC43MjA2IDIwLjg0MiAxNC40MzkzIDIwLjU2MDdDMTQuMTU4IDIwLjI3OTQgMTQgMTkuODk3OCAxNCAxOS41QzE0IDE5LjEwMjIgMTQuMTU4IDE4LjcyMDYgMTQuNDM5MyAxOC40MzkzQzE0LjcyMDYgMTguMTU4IDE1LjEwMjIgMTggMTUuNSAxOFpcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmROYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QnJhbmQgTmFtZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImJyYW5kTmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cImJyYW5kTmFtZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQ29tcGFueSBOYW1lIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRDb21wYW55TmFtZVwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImluZHVzdHJ5VHlwZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkluZHVzdHJ5IFR5cGU8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kdXN0cnlcIiBpZD1cImluZHVzdHJ5VHlwZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgXCIgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFwcGFyZWxcIj5BcHBhcmVsPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmb290d2VhclwiPkZvb3R3ZWFyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJza2luY2FyZVwiPlNraW5jYXJlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmb29kYW5kYmV2ZXJhZ2VcIj5Gb29kIGFuZCBCZXZlcmFnZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwidGVjaHN0YXJ0dXBcIj5UZWNoIFN0YXJ0dXA8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImdyb29taW5nXCI+R3Jvb21pbmc8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImxlYXRoZXJcIj5MZWF0aGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmdXJuaXR1cmVcIj5GdXJuaXR1cmU8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1hdHRyZXNzXCI+TWF0dHJlc3M8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImN1c3RvbWVyZWxlY3Ryb25pY3NcIj5DdXN0b21lciBFbGVjdHJvbmljczwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaW50ZXJpb3JkZXNpZ25cIj5JbnRlcmlvciBEZXNpZ248L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImV2XCI+RVY8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImZpbnRlY2hcIj5GaW50ZWNoPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJwZXJmdW1lXCI+UGVyZnVtZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZmFzaGlvbmFjY2Vzc29yaWVzXCI+RmFzaGlvbiBBY2Nlc3Nvcmllczwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibnV0cml0aW9uXCI+TnV0cml0aW9uPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmYXNoaW9uYW5kbGlmZXN0eWxlXCI+RmFzaGlvbiBBbmQgTGlmZXN0eWxlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJleWV3ZWFyXCI+RXlld2Vhcjwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInR5cGVPZkNsaWVudFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlR5cGUgb2YgQ2xpZW50PC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNsaWVudFR5cGVcIiBpZD1cInR5cGVPZkNsaWVudFwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicGFydG5lcnNoaXBcIj5QYXJ0bmVyc2hpcDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicHJvcHJpZXRvcnNoaXBcIj5Qcm9wcmlldG9yc2hpcDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicHZ0bHRkXCI+UHZ0LiBMdGQ8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInBlcnNvblwiPlBlcnNvbjwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRFbWFpbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgRW1haWwgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb3Jwb3JhdGVFbWFpbFwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGlzYWJsZWQtaW5wdXRcIiBpZD1cInJlZ2lzdGVyZWRFbWFpbFwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi03XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRhY3ROdW1iZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db250YWN0IG51bWJlciA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIFwiPlxyXG4gICAgICAgICAgICA8c2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlDb2RlXCIgY2xhc3M9XCJmb3JtLXNlbGVjdCBjb3VudHJ5LXRleHQtZHJvcGRvd24gZGlzYWJsZWQtaW5wdXRcIiBpZD1cImlucHV0R3JvdXBTZWxlY3QwMVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJ5TGlzdFwiIGNsYXNzPVwibXgtMlwiIFt2YWx1ZV09XCJjb3VudHJ5Py5waG9uZWNvZGVcIj57e2NvdW50cnk/Lmlzb0NvZGV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPGlucHV0IGRpc2FibGVkIGNsYXNzPVwiZm9ybS1jb250cm9sIGNvdW50cnktY29kZS1pbnB1dCBkaXNhYmxlZC1pbnB1dFwiIFt2YWx1ZV09XCJicmFuZEluZm9Gb3JtLmdldCgnY291bnRyeUNvZGUnKT8udmFsdWUgPyBicmFuZEluZm9Gb3JtLmdldCgnY291bnRyeUNvZGUnKT8udmFsdWUgOiAnJ1wiIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibW9iaWxlTnVtYmVyXCIgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1vYmlsZS1udW1iZXItaW5wdXQgZGlzYWJsZWQtaW5wdXQgcHMtMFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImNvbnRhY3ROdW1iZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwicmVnaXN0ZXJlZEFkZHJlc3NcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SZWdpc3RlcmVkIEFkZHJlc3MgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicmVnaXN0ZXJlZEFkZHJlc3NcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJyZWdpc3RlcmVkQWRkcmVzc1wiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImhlYWRRdWFydGVyc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkhlYWQgUXVhcnRlcnMgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJoZWFkUXVhcnRlcnNcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJoZWFkUXVhcnRlcnNcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiY29tcGFueVdlYnNpdGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db21wYW55IFdlYnNpdGUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ3ZWJzaXRlXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiY29tcGFueVdlYnNpdGVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJicmFuZFN0YXR1c1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIFN0YXR1czwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIiBpZD1cImJyYW5kU3RhdHVzXCIgY2xhc3M9XCJmb3JtLXNlbGVjdCBcIiBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYWN0aXZlXCI+QWN0aXZlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJkZWFjdGl2ZVwiPmRlYWN0aXZlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJob2xkXCI+SG9sZDwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImJyYW5kSW5mb0Zvcm0uZW5hYmxlZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTUgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTRcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPkNhbmNlbDwvYT5cclxuICAgICAgICA8YSB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPjxzcGFuPlNhdmUgQ2hhbmdlczwvc3Bhbj48L2E+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48L2Zvcm0+Il19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLGtCQUFrQjtJQVVUO0lBQXlCO0lBQXNDO0lBUm5GLGFBQWEsQ0FBVztJQUNDLFdBQVcsQ0FBMEI7SUFDOUQsU0FBUyxDQUFLO0lBQ2QsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUNMLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFFBQVEsQ0FBTztJQUdmLFlBQW9CLEVBQWUsRUFBVSxVQUE0QixFQUFVLEVBQXFCO1FBQXBGLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3RHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFB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bmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYnJhbmQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9icmFuZC1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJhbmRJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgYnJhbmRJbmZvRm9ybTogRm9ybUdyb3VwXHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VJbnB1dCcpIHVwbG9hZElucHV0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBicmFuZExvZ286IGFueVxyXG4gIGNvdW50cnlMaXN0OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBsb2dvRmlsZTogRmlsZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFwaVNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmluaXRGb3JtKClcclxuICAgIHRoaXMuZ2V0Q291bnRyeUNvZGVzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgIFxyXG4gICAgICAgIGlmKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAnYnJhbmQtaW5mbycpe1xyXG4gICAgICAgIHRoaXMucGF0Y2hGb3JtKHJlcy52YWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBicmFuZE5hbWU6IFsnJ10sXHJcbiAgICAgIHJlZ2lzdGVyZWRDb21wYW55TmFtZTogWycnXSxcclxuICAgICAgaW5kdXN0cnk6IFsnJ10sXHJcbiAgICAgIGNsaWVudFR5cGU6IFsnJ10sXHJcbiAgICAgIGNvcnBvcmF0ZUVtYWlsOiBbJyddLFxyXG4gICAgICBjb3VudHJ5Q29kZTogWycnXSxcclxuICAgICAgbW9iaWxlTnVtYmVyOiBbJyddLFxyXG4gICAgICByZWdpc3RlcmVkQWRkcmVzczogWycnXSxcclxuICAgICAgaGVhZFF1YXJ0ZXJzOiBbJyddLFxyXG4gICAgICB3ZWJzaXRlOiBbJyddLFxyXG4gICAgICBzdGF0dXM6IFsnJ10sXHJcbiAgICAgIGxvZ286IFsnJ11cclxuICAgIH0pO1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLmRpc2FibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUNvZGVzKCl7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0QWxsQ291bnRyaWVzKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6KGVycjphbnkpPT57XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7ICAgIFxyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLnBhdGNoVmFsdWUoXHJcbiAgICAgIHtcclxuICAgICAgIC4uLmRhdGFcclxuICAgICAgfVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuYnJhbmRMb2dvID0gZGF0YS5sb2dvXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMudXBsb2FkSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpXHJcbiAgfVxyXG5cclxuICBvbkZpbGVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5maWxlcyAmJiBldmVudC50YXJnZXQuZmlsZXNbMF0pIHtcclxuICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XHJcbiAgICAgIHRoaXMubG9nb0ZpbGUgPSBmaWxlICAgICAgXHJcbiAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYnJhbmRMb2dvID0gZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcclxuXHJcbiAgICB9ICBcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCl7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7dmFsdWU6bnVsbCwgdHlwZTonY2FuY2VsJywgZm9ybTonYnJhbmQtaW5mbyd9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKXsgICBcclxuICAgIGlmKHRoaXMubG9nb0ZpbGUpeyAgICAgIFxyXG4gICAgICB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUubG9nbyA9IHRoaXMubG9nb0ZpbGUgICAgICBcclxuICAgIH1cclxuICAgICBcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuYnJhbmROYW1lICBcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY29ycG9yYXRlRW1haWxcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY291bnRyeUNvZGVcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUubW9iaWxlTnVtYmVyICAgIFxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLm5leHQoe3ZhbHVlOnRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZSwgdHlwZTonc3VibWl0JywgZm9ybTonYnJhbmQtaW5mbyd9KVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiYnJhbmRJbmZvRm9ybVwiID5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiAqbmdJZj1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkID8gYnJhbmRJbmZvRm9ybS5lbmFibGUoKSA6IGJyYW5kSW5mb0Zvcm0uZGlzYWJsZSgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI1NzlfMjUxMjUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjU3OV8yNTEyNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiQnJhbmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBMb2dvIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgI2ltYWdlSW5wdXQgYWNjZXB0PVwiLnBuZywgLmpwZywgLmpwZWdcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIHR5cGU9XCJmaWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImJyYW5kTG9nb1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8c3ZnIChjbGljayk9XCJ0cmlnZ2VyRmlsZUlucHV0KClcIiBjbGFzcz1cInVwbG9hZC1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDggNDZcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzJfNDE3NTUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEwXCIgeT1cIjEwXCIgd2lkdGg9XCIyNy44MDM3XCIgaGVpZ2h0PVwiMjUuOTUwMVwiIHJ4PVwiMTIuOTc1MVwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3Ljk0MzQgMjYuMjE3NVYyOC41MzQ4SDIwLjQyNjJMMjcuNzUyMSAyMS42OTcyTDI1LjI2OTMgMTkuMzc5OUwxNy45NDM0IDI2LjIxNzVaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNjY3MSAxOS4wMzc3TDI4LjEyMTEgMTcuNTk0OEMyNy44NjI5IDE3LjM1MzggMjcuNDQyNSAxNy4zNTM4IDI3LjE4NDMgMTcuNTk0OEwyNS45NzI3IDE4LjcyNTdMMjguNDU1NSAyMS4wNDI5TDI5LjY2NzEgMTkuOTEyMUMyOS45MjUzIDE5LjY3MTEgMjkuOTI1MyAxOS4yNzg3IDI5LjY2NzEgMTkuMDM3N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMl80MTc1NVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ3LjgwMzdcIiBoZWlnaHQ9XCI0NS45NTAyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjI4ODMzMyAwIDAgMCAwIDAuMzEyOSAwIDAgMCAwIDAuNCAwIDAgMCAwLjE0IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWJyYW5kTG9nb1wiIGNsYXNzPVwidXBsb2FkLXBsYWNlaG9sZGVyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjUgMzJDMi41NzE3NCAzMiAxLjY4MTUgMzEuNjMxMyAxLjAyNTEzIDMwLjk3NDlDMC4zNjg3NDkgMzAuMzE4NSAwIDI5LjQyODMgMCAyOC41TDAgMy41QzAgMS41NjggMS41NjggMCAzLjUgMEgyMC41QzIyLjQzMiAwIDI0IDEuNTY4IDI0IDMuNVYyOC41QzI0IDI4LjY3IDIzLjk4OCAyOC44MzYgMjMuOTY0IDI5SDI4LjVDMjguNjMyNiAyOSAyOC43NTk4IDI4Ljk0NzMgMjguODUzNiAyOC44NTM2QzI4Ljk0NzMgMjguNzU5OCAyOSAyOC42MzI2IDI5IDI4LjVWMTYuNTdDMjkuMDAwMSAxNi40ODc3IDI4Ljk3OTggMTYuNDA2OCAyOC45NDExIDE2LjMzNDJDMjguOTAyNCAxNi4yNjE2IDI4Ljg0NjQgMTYuMTk5NyAyOC43NzggMTYuMTU0TDI2LjY2OCAxNC43NDhDMjYuNTA0MSAxNC42Mzg3IDI2LjM2MzMgMTQuNDk4MyAyNi4yNTM3IDE0LjMzNDZDMjYuMTQ0MSAxNC4xNzA5IDI2LjA2NzggMTMuOTg3MyAyNi4wMjkyIDEzLjc5NDJDMjUuOTkwNiAxMy42MDEgMjUuOTkwNCAxMy40MDIxIDI2LjAyODYgMTMuMjA4OUMyNi4wNjY4IDEzLjAxNTcgMjYuMTQyNyAxMi44MzE5IDI2LjI1MiAxMi42NjhDMjYuMzYxMyAxMi41MDQxIDI2LjUwMTcgMTIuMzYzMyAyNi42NjU0IDEyLjI1MzdDMjYuODI5MSAxMi4xNDQxIDI3LjAxMjcgMTIuMDY3OCAyNy4yMDU4IDEyLjAyOTJDMjcuMzk5IDExLjk5MDYgMjcuNTk3OSAxMS45OTA0IDI3Ljc5MTEgMTIuMDI4NkMyNy45ODQzIDEyLjA2NjggMjguMTY4MSAxMi4xNDI3IDI4LjMzMiAxMi4yNTJMMzAuNDQyIDEzLjY1OEMzMS40MTYgMTQuMzA4IDMyIDE1LjQgMzIgMTYuNTdWMjguNUMzMiAyOS40MjgzIDMxLjYzMTMgMzAuMzE4NSAzMC45NzQ5IDMwLjk3NDlDMzAuMzE4NSAzMS42MzEzIDI5LjQyODMgMzIgMjguNSAzMkgyMS41QzIxLjM2NyAzMS45OTk4IDIxLjIzNDUgMzEuOTgyNCAyMS4xMDYgMzEuOTQ4QzIwLjkwOCAzMS45ODIgMjAuNzA2IDMyIDIwLjUgMzJIMTQuNUMxNC4xMDIyIDMyIDEzLjcyMDYgMzEuODQyIDEzLjQzOTMgMzEuNTYwN0MxMy4xNTggMzEuMjc5NCAxMyAzMC44OTc4IDEzIDMwLjVWMjhIMTFWMzAuNUMxMSAzMC44OTc4IDEwLjg0MiAzMS4yNzk0IDEwLjU2MDcgMzEuNTYwN0MxMC4yNzk0IDMxLjg0MiA5Ljg5NzgzIDMyIDkuNSAzMkgzLjVaTTMgMjguNUMzIDI4Ljc3NiAzLjIyNCAyOSAzLjUgMjlIOFYyNi41QzggMjYuMTAyMiA4LjE1ODA0IDI1LjcyMDYgOC40MzkzNCAyNS40MzkzQzguNzIwNjQgMjUuMTU4IDkuMTAyMTggMjUgOS41IDI1SDE0LjVDMTQuODk3OCAyNSAxNS4yNzk0IDI1LjE1OCAxNS41NjA3IDI1LjQzOTNDMTUuODQyIDI1LjcyMDYgMTYgMjYuMTAyMiAxNiAyNi41VjI5SDIwLjVDMjAuNjMyNiAyOSAyMC43NTk4IDI4Ljk0NzMgMjAuODUzNiAyOC44NTM2QzIwLjk0NzMgMjguNzU5OCAyMSAyOC42MzI2IDIxIDI4LjVWMy41QzIxIDMuMzY3MzkgMjAuOTQ3MyAzLjI0MDIyIDIwLjg1MzYgMy4xNDY0NUMyMC43NTk4IDMuMDUyNjggMjAuNjMyNiAzIDIwLjUgM0gzLjVDMy4zNjczOSAzIDMuMjQwMjIgMy4wNTI2OCAzLjE0NjQ1IDMuMTQ2NDVDMy4wNTI2OCAzLjI0MDIyIDMgMy4zNjczOSAzIDMuNVYyOC41Wk03LjUgMTJIOC41QzguODk3ODIgMTIgOS4yNzkzNiAxMi4xNTggOS41NjA2NiAxMi40MzkzQzkuODQxOTYgMTIuNzIwNiAxMCAxMy4xMDIyIDEwIDEzLjVDMTAgMTMuODk3OCA5Ljg0MTk2IDE0LjI3OTQgOS41NjA2NiAxNC41NjA3QzkuMjc5MzYgMTQuODQyIDguODk3ODIgMTUgOC41IDE1SDcuNUM3LjEwMjE4IDE1IDYuNzIwNjQgMTQuODQyIDYuNDM5MzQgMTQuNTYwN0M2LjE1ODA0IDE0LjI3OTQgNiAxMy44OTc4IDYgMTMuNUM2IDEzLjEwMjIgNi4xNTgwNCAxMi43MjA2IDYuNDM5MzQgMTIuNDM5M0M2LjcyMDY0IDEyLjE1OCA3LjEwMjE4IDEyIDcuNSAxMlpNNiA3LjVDNiA3LjEwMjE4IDYuMTU4MDQgNi43MjA2NCA2LjQzOTM0IDYuNDM5MzRDNi43MjA2NCA2LjE1ODA0IDcuMTAyMTggNiA3LjUgNkg4LjVDOC44OTc4MiA2IDkuMjc5MzYgNi4xNTgwNCA5LjU2MDY2IDYuNDM5MzRDOS44NDE5NiA2LjcyMDY0IDEwIDcuMTAyMTggMTAgNy41QzEwIDcuODk3ODIgOS44NDE5NiA4LjI3OTM2IDkuNTYwNjYgOC41NjA2NkM5LjI3OTM2IDguODQxOTYgOC44OTc4MiA5IDguNSA5SDcuNUM3LjEwMjE4IDkgNi43MjA2NCA4Ljg0MTk2IDYuNDM5MzQgOC41NjA2NkM2LjE1ODA0IDguMjc5MzYgNiA3Ljg5NzgyIDYgNy41Wk0xNCAxMy41QzE0IDEzLjEwMjIgMTQuMTU4IDEyLjcyMDYgMTQuNDM5MyAxMi40MzkzQzE0LjcyMDYgMTIuMTU4IDE1LjEwMjIgMTIgMTUuNSAxMkgxNi41QzE2Ljg5NzggMTIgMTcuMjc5NCAxMi4xNTggMTcuNTYwNyAxMi40MzkzQzE3Ljg0MiAxMi43MjA2IDE4IDEzLjEwMjIgMTggMTMuNUMxOCAxMy44OTc4IDE3Ljg0MiAxNC4yNzk0IDE3LjU2MDcgMTQuNTYwN0MxNy4yNzk0IDE0Ljg0MiAxNi44OTc4IDE1IDE2LjUgMTVIMTUuNUMxNS4xMDIyIDE1IDE0LjcyMDYgMTQuODQyIDE0LjQzOTMgMTQuNTYwN0MxNC4xNTggMTQuMjc5NCAxNCAxMy44OTc4IDE0IDEzLjVaTTE1LjUgNkgxNi41QzE2Ljg5NzggNiAxNy4yNzk0IDYuMTU4MDQgMTcuNTYwNyA2LjQzOTM0QzE3Ljg0MiA2LjcyMDY0IDE4IDcuMTAyMTggMTggNy41QzE4IDcuODk3ODIgMTcuODQyIDguMjc5MzYgMTcuNTYwNyA4LjU2MDY2QzE3LjI3OTQgOC44NDE5NiAxNi44OTc4IDkgMTYuNSA5SDE1LjVDMTUuMTAyMiA5IDE0LjcyMDYgOC44NDE5NiAxNC40MzkzIDguNTYwNjZDMTQuMTU4IDguMjc5MzYgMTQgNy44OTc4MiAxNCA3LjVDMTQgNy4xMDIxOCAxNC4xNTggNi43MjA2NCAxNC40MzkzIDYuNDM5MzRDMTQuNzIwNiA2LjE1ODA0IDE1LjEwMjIgNiAxNS41IDZaTTYgMTkuNUM2IDE5LjEwMjIgNi4xNTgwNCAxOC43MjA2IDYuNDM5MzQgMTguNDM5M0M2LjcyMDY0IDE4LjE1OCA3LjEwMjE4IDE4IDcuNSAxOEg4LjVDOC44OTc4MiAxOCA5LjI3OTM2IDE4LjE1OCA5LjU2MDY2IDE4LjQzOTNDOS44NDE5NiAxOC43MjA2IDEwIDE5LjEwMjIgMTAgMTkuNUMxMCAxOS44OTc4IDkuODQxOTYgMjAuMjc5NCA5LjU2MDY2IDIwLjU2MDdDOS4yNzkzNiAyMC44NDIgOC44OTc4MiAyMSA4LjUgMjFINy41QzcuMTAyMTggMjEgNi43MjA2NCAyMC44NDIgNi40MzkzNCAyMC41NjA3QzYuMTU4MDQgMjAuMjc5NCA2IDE5Ljg5NzggNiAxOS41Wk0xNS41IDE4SDE2LjVDMTYuODk3OCAxOCAxNy4yNzk0IDE4LjE1OCAxNy41NjA3IDE4LjQzOTNDMTcuODQyIDE4LjcyMDYgMTggMTkuMTAyMiAxOCAxOS41QzE4IDE5Ljg5NzggMTcuODQyIDIwLjI3OTQgMTcuNTYwNyAyMC41NjA3QzE3LjI3OTQgMjAuODQyIDE2Ljg5NzggMjEgMTYuNSAyMUgxNS41QzE1LjEwMjIgMjEgMTQuNzIwNiAyMC44NDIgMTQuNDM5MyAyMC41NjA3QzE0LjE1OCAyMC4yNzk0IDE0IDE5Ljg5NzggMTQgMTkuNUMxNCAxOS4xMDIyIDE0LjE1OCAxOC43MjA2IDE0LjQzOTMgMTguNDM5M0MxNC43MjA2IDE4LjE1OCAxNS4xMDIyIDE4IDE1LjUgMThaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImJyYW5kTmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIE5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJicmFuZE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJicmFuZE5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SZWdpc3RlcmVkIENvbXBhbnkgTmFtZSA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIlxyXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJpbmR1c3RyeVR5cGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5JbmR1c3RyeSBUeXBlPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZHVzdHJ5XCIgaWQ9XCJpbmR1c3RyeVR5cGVcIiBjbGFzcz1cImZvcm0tc2VsZWN0IFwiIGFyaWEtbGFiZWw9XCJEZWZhdWx0IHNlbGVjdCBleGFtcGxlXCI+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJhcHBhcmVsXCI+QXBwYXJlbDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZm9vdHdlYXJcIj5Gb290d2Vhcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwic2tpbmNhcmVcIj5Ta2luY2FyZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZm9vZGFuZGJldmVyYWdlXCI+Rm9vZCBhbmQgQmV2ZXJhZ2U8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRlY2hzdGFydHVwXCI+VGVjaCBTdGFydHVwPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJncm9vbWluZ1wiPkdyb29taW5nPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJsZWF0aGVyXCI+TGVhdGhlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZnVybml0dXJlXCI+RnVybml0dXJlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtYXR0cmVzc1wiPk1hdHRyZXNzPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJjdXN0b21lcmVsZWN0cm9uaWNzXCI+Q3VzdG9tZXIgRWxlY3Ryb25pY3M8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImludGVyaW9yZGVzaWduXCI+SW50ZXJpb3IgRGVzaWduPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJldlwiPkVWPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmaW50ZWNoXCI+RmludGVjaDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicGVyZnVtZVwiPlBlcmZ1bWU8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImZhc2hpb25hY2Nlc3Nvcmllc1wiPkZhc2hpb24gQWNjZXNzb3JpZXM8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm51dHJpdGlvblwiPk51dHJpdGlvbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZmFzaGlvbmFuZGxpZmVzdHlsZVwiPkZhc2hpb24gQW5kIExpZmVzdHlsZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZXlld2VhclwiPkV5ZXdlYXI8L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJ0eXBlT2ZDbGllbnRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5UeXBlIG9mIENsaWVudDwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjbGllbnRUeXBlXCIgaWQ9XCJ0eXBlT2ZDbGllbnRcIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInBhcnRuZXJzaGlwXCI+UGFydG5lcnNoaXA8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInByb3ByaWV0b3JzaGlwXCI+UHJvcHJpZXRvcnNoaXA8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInB2dGx0ZFwiPlB2dC4gTHRkPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJwZXJzb25cIj5QZXJzb248L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkRW1haWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SZWdpc3RlcmVkIEVtYWlsIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29ycG9yYXRlRW1haWxcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJyZWdpc3RlcmVkRW1haWxcIlxyXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItN1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb250YWN0TnVtYmVyXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29udGFjdCBudW1iZXIgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBcIj5cclxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5Q29kZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgY291bnRyeS10ZXh0LWRyb3Bkb3duIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJpbnB1dEdyb3VwU2VsZWN0MDFcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIiBjbGFzcz1cIm14LTJcIiBbdmFsdWVdPVwiY291bnRyeT8ucGhvbmVjb2RlXCI+e3tjb3VudHJ5Py5pc29Db2RlfX08L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBjbGFzcz1cImZvcm0tY29udHJvbCBjb3VudHJ5LWNvZGUtaW5wdXQgZGlzYWJsZWQtaW5wdXRcIiBbdmFsdWVdPVwiYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlID8gYnJhbmRJbmZvRm9ybS5nZXQoJ2NvdW50cnlDb2RlJyk/LnZhbHVlIDogJydcIiByZWFkb25seT5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZU51bWJlclwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtb2JpbGUtbnVtYmVyLWlucHV0IGRpc2FibGVkLWlucHV0IHBzLTBcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjb250YWN0TnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlZ2lzdGVyZWRBZGRyZXNzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UmVnaXN0ZXJlZCBBZGRyZXNzIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInJlZ2lzdGVyZWRBZGRyZXNzXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwicmVnaXN0ZXJlZEFkZHJlc3NcIlxyXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJoZWFkUXVhcnRlcnNcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5IZWFkIFF1YXJ0ZXJzIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiaGVhZFF1YXJ0ZXJzXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiaGVhZFF1YXJ0ZXJzXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImNvbXBhbnlXZWJzaXRlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29tcGFueSBXZWJzaXRlIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwid2Vic2l0ZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImNvbXBhbnlXZWJzaXRlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmRTdGF0dXNcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBTdGF0dXM8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgaWQ9XCJicmFuZFN0YXR1c1wiIGNsYXNzPVwiZm9ybS1zZWxlY3QgXCIgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFjdGl2ZVwiPkFjdGl2ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVhY3RpdmVcIj5kZWFjdGl2ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaG9sZFwiPkhvbGQ8L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJicmFuZEluZm9Gb3JtLmVuYWJsZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi01IHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS00XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DYW5jZWw8L2E+XHJcbiAgICAgICAgPGEgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj48c3Bhbj5TYXZlIENoYW5nZXM8L3NwYW4+PC9hPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPC9mb3JtPiJdfQ==
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
55
55
  type: Component,
56
56
  args: [{ selector: 'lib-signatory-details', template: "<form [formGroup]=\"signatoryDetailsForm\">\r\n <div class=\"row\">\r\n <div *ngIf=\"signatoryDetailsForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button type=\"button\" (click)=\"signatoryDetailsForm.disabled ? signatoryDetailsForm.enable() : signatoryDetailsForm.disable()\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"username\" class=\"form-label\">Username <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"name\" type=\"type\" class=\"form-control\" id=\"username\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"email\" class=\"form-label\">Email <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"email\" type=\"type\" class=\"form-control\" id=\"email\" autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"contactNumber\" class=\"form-label\">Contact Number <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"number\" type=\"type\" class=\"form-control\" id=\"contactNumber\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"designation\" class=\"form-label\">Designation <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"designation\" type=\"type\" class=\"form-control\" id=\"designation\"\r\n autocomplete=\"off\">\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"signatoryDetailsForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onCancel()\" type=\"button\" class=\"btn btn-outline me-4\">Cancel</a>\r\n <a (click)=\" onSubmit()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}\n"] }]
57
57
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i0.ChangeDetectorRef }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0b3J5LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9icmFuZC1kZXRhaWxzL3NpZ25hdG9yeS1kZXRhaWxzL3NpZ25hdG9yeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9zaWduYXRvcnktZGV0YWlscy9zaWduYXRvcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFHL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyx5QkFBeUI7SUFNaEI7SUFBeUI7SUFBc0M7SUFKbkYsb0JBQW9CLENBQVc7SUFDZCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUcxQyxZQUFvQixFQUFlLEVBQVUsVUFBNEIsRUFBVSxFQUFxQjtRQUFwRixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUN0RyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlFLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxtQkFBbUIsRUFBQztvQkFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQ3hCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDVixLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWixXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3JDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBUztRQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUNsQztZQUNDLEdBQUcsSUFBSTtTQUNQLENBQ0YsQ0FBQTtJQUVILENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZILENBQUM7dUdBbERVLHlCQUF5QjsyRkFBekIseUJBQXlCLDZEQ1Z0QyxxaEhBaURBOzsyRkR2Q2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZ25hdG9yeS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0b3J5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zaWduYXRvcnktZGV0YWlscy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25hdG9yeURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBzaWduYXRvcnlEZXRhaWxzRm9ybTogRm9ybUdyb3VwXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHsgICAgICAgIFxyXG4gICAgICAgIGlmKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAnc2lnbmF0b3J5LWRldGFpbHMnKXtcclxuICAgICAgICB0aGlzLnBhdGNoRm9ybShyZXMudmFsdWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnNpZ25hdG9yeURldGFpbHNGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFsnJ10sXHJcbiAgICAgIGVtYWlsOiBbJyddLFxyXG4gICAgICBudW1iZXI6IFsnJ10sXHJcbiAgICAgIGRlc2lnbmF0aW9uOiBbJyddLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNpZ25hdG9yeURldGFpbHNGb3JtLmRpc2FibGUoKVxyXG4gIH1cclxuXHJcbiAgcGF0Y2hGb3JtKGRhdGE6IGFueSkgeyAgICBcclxuICAgIHRoaXMuc2lnbmF0b3J5RGV0YWlsc0Zvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgLi4uZGF0YVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgICBcclxuICB9XHJcblxyXG5cclxuICBvbkNhbmNlbCgpe1xyXG4gICAgdGhpcy5zaWduYXRvcnlEZXRhaWxzRm9ybS5kaXNhYmxlKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHt2YWx1ZTpudWxsLCB0eXBlOidjYW5jZWwnLCBmb3JtOidzaWduYXRvcnktZGV0YWlscyd9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKXsgICAgICAgXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7dmFsdWU6dGhpcy5zaWduYXRvcnlEZXRhaWxzRm9ybS52YWx1ZSwgdHlwZTonc3VibWl0JywgZm9ybTonc2lnbmF0b3J5LWRldGFpbHMnfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaWduYXRvcnlEZXRhaWxzRm9ybS5kaXNhYmxlZCA/IHNpZ25hdG9yeURldGFpbHNGb3JtLmVuYWJsZSgpIDogc2lnbmF0b3J5RGV0YWlsc0Zvcm0uZGlzYWJsZSgpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYWxpZ24taXRlbXMtZW5kXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+RWRpdCBEZXRhaWxzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+VXNlcm5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInVzZXJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5FbWFpbCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImVtYWlsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdE51bWJlclwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgTnVtYmVyIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibnVtYmVyXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiY29udGFjdE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNpZ25hdGlvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkRlc2lnbmF0aW9uIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVzaWduYXRpb25cIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJkZXNpZ25hdGlvblwiXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm0uZW5hYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi01IHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiPkNhbmNlbDwvYT5cclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cIiBvblN1Ym1pdCgpXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCI+PHNwYW4+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0b3J5LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9icmFuZC1kZXRhaWxzL3NpZ25hdG9yeS1kZXRhaWxzL3NpZ25hdG9yeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9zaWduYXRvcnktZGV0YWlscy9zaWduYXRvcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHlCQUF5QjtJQU1oQjtJQUF5QjtJQUFzQztJQUpuRixvQkFBb0IsQ0FBVztJQUNkLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLEVBQWUsRUFBVSxVQUE0QixFQUFVLEVBQXFCO1FBQXBGLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3RHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUUsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBRyxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLG1CQUFtQixFQUFDO29CQUM1RCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtpQkFDeEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNWLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNsQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQ2xDO1lBQ0MsR0FBRyxJQUFJO1NBQ1AsQ0FDRixDQUFBO0lBRUgsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUE7SUFDNUYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUE7SUFDdkgsQ0FBQzt1R0FsRFUseUJBQXlCOzJGQUF6Qix5QkFBeUIsNkRDVnRDLHFoSEFpREE7OzJGRHZDYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZ25hdG9yeS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0b3J5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zaWduYXRvcnktZGV0YWlscy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25hdG9yeURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBzaWduYXRvcnlEZXRhaWxzRm9ybTogRm9ybUdyb3VwXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHsgICAgICAgIFxyXG4gICAgICAgIGlmKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAnc2lnbmF0b3J5LWRldGFpbHMnKXtcclxuICAgICAgICB0aGlzLnBhdGNoRm9ybShyZXMudmFsdWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnNpZ25hdG9yeURldGFpbHNGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFsnJ10sXHJcbiAgICAgIGVtYWlsOiBbJyddLFxyXG4gICAgICBudW1iZXI6IFsnJ10sXHJcbiAgICAgIGRlc2lnbmF0aW9uOiBbJyddLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNpZ25hdG9yeURldGFpbHNGb3JtLmRpc2FibGUoKVxyXG4gIH1cclxuXHJcbiAgcGF0Y2hGb3JtKGRhdGE6IGFueSkgeyAgICBcclxuICAgIHRoaXMuc2lnbmF0b3J5RGV0YWlsc0Zvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgLi4uZGF0YVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgICBcclxuICB9XHJcblxyXG5cclxuICBvbkNhbmNlbCgpe1xyXG4gICAgdGhpcy5zaWduYXRvcnlEZXRhaWxzRm9ybS5kaXNhYmxlKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHt2YWx1ZTpudWxsLCB0eXBlOidjYW5jZWwnLCBmb3JtOidzaWduYXRvcnktZGV0YWlscyd9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKXsgICAgICAgXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7dmFsdWU6dGhpcy5zaWduYXRvcnlEZXRhaWxzRm9ybS52YWx1ZSwgdHlwZTonc3VibWl0JywgZm9ybTonc2lnbmF0b3J5LWRldGFpbHMnfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaWduYXRvcnlEZXRhaWxzRm9ybS5kaXNhYmxlZCA/IHNpZ25hdG9yeURldGFpbHNGb3JtLmVuYWJsZSgpIDogc2lnbmF0b3J5RGV0YWlsc0Zvcm0uZGlzYWJsZSgpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYWxpZ24taXRlbXMtZW5kXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMTY3IDIuNDk5OTNDMTQuMzg1OSAyLjI4MTA2IDE0LjY0NTcgMi4xMDc0NCAxNC45MzE3IDEuOTg4OTlDMTUuMjE3NiAxLjg3MDU0IDE1LjUyNDEgMS44MDk1NyAxNS44MzM3IDEuODA5NTdDMTYuMTQzMiAxLjgwOTU3IDE2LjQ0OTcgMS44NzA1NCAxNi43MzU3IDEuOTg4OTlDMTcuMDIxNiAyLjEwNzQ0IDE3LjI4MTUgMi4yODEwNiAxNy41MDAzIDIuNDk5OTNDMTcuNzE5MiAyLjcxODggMTcuODkyOCAyLjk3ODYzIDE4LjAxMTMgMy4yNjQ2QzE4LjEyOTcgMy41NTA1NyAxOC4xOTA3IDMuODU3MDYgMTguMTkwNyA0LjE2NjU5QzE4LjE5MDcgNC40NzYxMiAxOC4xMjk3IDQuNzgyNjIgMTguMDExMyA1LjA2ODU5QzE3Ljg5MjggNS4zNTQ1NSAxNy43MTkyIDUuNjE0MzkgMTcuNTAwMyA1LjgzMzI2TDYuMjUwMzMgMTcuMDgzM0wxLjY2Njk5IDE4LjMzMzNMMi45MTY5OSAxMy43NDk5TDE0LjE2NyAyLjQ5OTkzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+RWRpdCBEZXRhaWxzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+VXNlcm5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInVzZXJuYW1lXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5FbWFpbCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImVtYWlsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdE51bWJlclwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgTnVtYmVyIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibnVtYmVyXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiY29udGFjdE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNpZ25hdGlvblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkRlc2lnbmF0aW9uIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVzaWduYXRpb25cIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJkZXNpZ25hdGlvblwiXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2lnbmF0b3J5RGV0YWlsc0Zvcm0uZW5hYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi01IHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiPkNhbmNlbDwvYT5cclxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cIiBvblN1Ym1pdCgpXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCI+PHNwYW4+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==