@biit-solutions/wizardry-theme 1.22.12 → 1.22.14

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.
Files changed (31) hide show
  1. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.mjs +1 -1
  2. package/esm2020/inputs/biit-checkbox/biit-checkbox.component.mjs +11 -5
  3. package/esm2020/inputs/biit-datepicker/biit-datepicker.component.mjs +1 -1
  4. package/esm2020/inputs/biit-input-text/biit-input-text.component.mjs +1 -1
  5. package/esm2020/inputs/biit-multiselect/biit-multiselect.component.mjs +1 -1
  6. package/esm2020/inputs/biit-textarea/biit-textarea.component.mjs +1 -1
  7. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +1 -4
  8. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +1 -1
  9. package/esm2020/table/biit-table/biit-table.component.mjs +2 -2
  10. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs +1 -1
  11. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs.map +1 -1
  12. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +10 -4
  13. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -1
  14. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +0 -3
  15. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -1
  16. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +2 -2
  17. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -1
  18. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs +1 -1
  19. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs.map +1 -1
  20. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +10 -4
  21. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -1
  22. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +0 -3
  23. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -1
  24. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +2 -2
  25. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -1
  26. package/inputs/biit-checkbox/biit-checkbox.component.d.ts +3 -1
  27. package/inputs/biit-datepicker/biit-datepicker.component.d.ts +1 -1
  28. package/inputs/biit-input-text/biit-input-text.component.d.ts +1 -1
  29. package/inputs/biit-textarea/biit-textarea.component.d.ts +1 -1
  30. package/navigation/biit-nav-menu/biit-nav-menu.component.d.ts +0 -1
  31. package/package.json +1 -1
@@ -137,7 +137,7 @@ export class DateFilterSelectorComponent {
137
137
  }
138
138
  }
139
139
  DateFilterSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
140
- DateFilterSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterSelectorComponent, selector: "biit-date-filter-selector", inputs: { _items: ["items", "_items"], _field: ["field", "_field"], _range: ["range", "_range"] }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<div>\n <div *ngFor=\"let year of sortByYear.keys()\" class=\"date-filter-row\">\n <biit-checkbox [(ngModel)]=\"selectedRanges[year + '']\" (ngModelChange)=\"onYearSelected(year, $event)\" >\n <div class=\"year-title\">\n <div class=\"title-counter\">\n <div> {{year}} </div>\n <div> ({{sortByYear.get(year).length}})</div>\n </div>\n <biit-icon\n name=\"right_arrow\" class=\"year-arrow\" [class.arrow-rotate]=\"selectedYear === year\"\n (click)=\"$event.preventDefault(); onDisplayYear(year)\" />\n </div>\n <div class=\"month-body\" *ngIf=\"selectedYear === year\">\n <div *ngFor=\"let month of sortByMonth.keys()\">\n <biit-checkbox\n class=\"month-checkbox\"\n [(ngModel)]=\"selectedRanges[year + '-' + month]\"\n (ngModelChange)=\"onMonthSelected(year, month, $event)\" >\n <div class=\"title-counter\">\n <div>\n {{month | monthName}}\n </div>\n <div>\n ({{sortByMonth.get(month).length}})\n </div>\n </div>\n </biit-checkbox>\n </div>\n </div>\n </biit-checkbox>\n </div>\n</div>\n", styles: [".year-arrow{cursor:pointer;width:1em;height:1em;display:block;transition:transform .3s ease-in-out}.arrow-rotate{transform:rotate(90deg)}biit-checkbox{display:block;width:100%;&>label{width:100%;&>div{width:100%;&>div>a{width:100%}}}}.year-title{display:flex;align-items:center;&>div:first-child{flex-grow:1}}.month-body{display:flex;flex-direction:column;gap:.25em;font-size:.75em}.date-filter-row{margin:.5em 0;align-content:center}.title-counter{display:flex;&>div:first-child{flex-grow:1}&>div:last-child{color:gray;margin-right:.5em;font-size:.75em}}.month-body .title-counter>div:last-child{margin-right:1.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.MonthNamePipe, name: "monthName" }] });
140
+ DateFilterSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterSelectorComponent, selector: "biit-date-filter-selector", inputs: { _items: ["items", "_items"], _field: ["field", "_field"], _range: ["range", "_range"] }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<div>\n <div *ngFor=\"let year of sortByYear.keys()\" class=\"date-filter-row\">\n <biit-checkbox [(ngModel)]=\"selectedRanges[year + '']\" (ngModelChange)=\"onYearSelected(year, $event)\" >\n <div class=\"year-title\">\n <div class=\"title-counter\">\n <div> {{year}} </div>\n <div> ({{sortByYear.get(year).length}})</div>\n </div>\n <biit-icon\n name=\"right_arrow\" class=\"year-arrow\" [class.arrow-rotate]=\"selectedYear === year\"\n (click)=\"$event.preventDefault(); onDisplayYear(year)\" />\n </div>\n <div class=\"month-body\" *ngIf=\"selectedYear === year\">\n <div *ngFor=\"let month of sortByMonth.keys()\">\n <biit-checkbox\n class=\"month-checkbox\"\n [(ngModel)]=\"selectedRanges[year + '-' + month]\"\n (ngModelChange)=\"onMonthSelected(year, month, $event)\" >\n <div class=\"title-counter\">\n <div>\n {{month | monthName}}\n </div>\n <div>\n ({{sortByMonth.get(month).length}})\n </div>\n </div>\n </biit-checkbox>\n </div>\n </div>\n </biit-checkbox>\n </div>\n</div>\n", styles: [".year-arrow{cursor:pointer;width:1em;height:1em;display:block;transition:transform .3s ease-in-out}.arrow-rotate{transform:rotate(90deg)}biit-checkbox{display:block;width:100%;&>label{width:100%;&>div{width:100%;&>div>a{width:100%}}}}.year-title{display:flex;align-items:center;&>div:first-child{flex-grow:1}}.month-body{display:flex;flex-direction:column;gap:.25em;font-size:.75em}.date-filter-row{margin:.5em 0;align-content:center}.title-counter{display:flex;&>div:first-child{flex-grow:1}&>div:last-child{color:gray;margin-right:.5em;font-size:.75em}}.month-body .title-counter>div:last-child{margin-right:1.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"], outputs: ["onValueChange"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.MonthNamePipe, name: "monthName" }] });
141
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterSelectorComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'biit-date-filter-selector', template: "<div>\n <div *ngFor=\"let year of sortByYear.keys()\" class=\"date-filter-row\">\n <biit-checkbox [(ngModel)]=\"selectedRanges[year + '']\" (ngModelChange)=\"onYearSelected(year, $event)\" >\n <div class=\"year-title\">\n <div class=\"title-counter\">\n <div> {{year}} </div>\n <div> ({{sortByYear.get(year).length}})</div>\n </div>\n <biit-icon\n name=\"right_arrow\" class=\"year-arrow\" [class.arrow-rotate]=\"selectedYear === year\"\n (click)=\"$event.preventDefault(); onDisplayYear(year)\" />\n </div>\n <div class=\"month-body\" *ngIf=\"selectedYear === year\">\n <div *ngFor=\"let month of sortByMonth.keys()\">\n <biit-checkbox\n class=\"month-checkbox\"\n [(ngModel)]=\"selectedRanges[year + '-' + month]\"\n (ngModelChange)=\"onMonthSelected(year, month, $event)\" >\n <div class=\"title-counter\">\n <div>\n {{month | monthName}}\n </div>\n <div>\n ({{sortByMonth.get(month).length}})\n </div>\n </div>\n </biit-checkbox>\n </div>\n </div>\n </biit-checkbox>\n </div>\n</div>\n", styles: [".year-arrow{cursor:pointer;width:1em;height:1em;display:block;transition:transform .3s ease-in-out}.arrow-rotate{transform:rotate(90deg)}biit-checkbox{display:block;width:100%;&>label{width:100%;&>div{width:100%;&>div>a{width:100%}}}}.year-title{display:flex;align-items:center;&>div:first-child{flex-grow:1}}.month-body{display:flex;flex-direction:column;gap:.25em;font-size:.75em}.date-filter-row{margin:.5em 0;align-content:center}.title-counter{display:flex;&>div:first-child{flex-grow:1}&>div:last-child{color:gray;margin-right:.5em;font-size:.75em}}.month-body .title-counter>div:last-child{margin-right:1.2em}\n"] }]
@@ -1,4 +1,4 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
1
+ import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -8,8 +8,11 @@ export class BiitCheckboxComponent {
8
8
  constructor() {
9
9
  this.disabled = false;
10
10
  this.showAlwaysDescription = false;
11
- this.onChange = (value) => { };
12
- this.onTouched = () => { };
11
+ this.onValueChange = new EventEmitter();
12
+ this.onChange = (value) => {
13
+ };
14
+ this.onTouched = () => {
15
+ };
13
16
  }
14
17
  registerOnChange(fn) {
15
18
  this.onChange = fn;
@@ -23,10 +26,11 @@ export class BiitCheckboxComponent {
23
26
  onModelChange(event) {
24
27
  this.checked = event;
25
28
  this.onChange(event);
29
+ this.onValueChange.emit(this.checked);
26
30
  }
27
31
  }
28
32
  BiitCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- BiitCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitCheckboxComponent, selector: "biit-checkbox", inputs: { disabled: "disabled", description: "description", showAlwaysDescription: "showAlwaysDescription" }, providers: [
33
+ BiitCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitCheckboxComponent, selector: "biit-checkbox", inputs: { disabled: "disabled", description: "description", showAlwaysDescription: "showAlwaysDescription" }, outputs: { onValueChange: "onValueChange" }, providers: [
30
34
  {
31
35
  provide: NG_VALUE_ACCESSOR,
32
36
  useExisting: forwardRef(() => BiitCheckboxComponent),
@@ -48,5 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
48
52
  type: Input
49
53
  }], showAlwaysDescription: [{
50
54
  type: Input
55
+ }], onValueChange: [{
56
+ type: Output
51
57
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtY2hlY2tib3gvYmlpdC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtY2hlY2tib3gvYmlpdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN2RSxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBYVcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFHdkMsYUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQWtCdEI7SUFoQkMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O21IQXhCVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixzSkFSckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsa29CQWlCQTs0RkRGYSxxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UsZUFBZSxhQUdkO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJ2JpaXQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYmlpdC1jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXRDaGVja2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0Q2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dBbHdheXNEZXNjcmlwdGlvbiA9IGZhbHNlO1xuICBjaGVja2VkOiBhbnk7XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZDtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2UoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNoZWNrZWQgPSBldmVudDtcbiAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50KTtcbiAgfVxufVxuIiwiPGxhYmVsIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIGlkPVwiYmlpdC1jaGVja2JveFwiIGNsYXNzPVwiYmlpdC1jaGVja2JveFwiPlxuICA8aW5wdXQgW2F0dHIuaWRdPVwiY2hlY2tlZD8nY2hlY2tlZCc6J3VuY2hlY2tlZCdcIlxuICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtYm94XCJcbiAgICAgICAgIFtuZ01vZGVsXT1cImNoZWNrZWRcIlxuICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiLz5cbiAgPGRpdj5cbiAgICA8ZGl2PlxuICAgICAgPGE+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvYT5cbiAgICAgIDxiaWl0LXRvb2x0aXAtaWNvbiAqbmdJZj1cImRlc2NyaXB0aW9uICYmICFzaG93QWx3YXlzRGVzY3JpcHRpb25cIiBpbmxpbmUgW3RleHRdPVwiZGVzY3JpcHRpb25cIi8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvblwiICpuZ0lmPVwiZGVzY3JpcHRpb24gJiYgc2hvd0Fsd2F5c0Rlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtY2hlY2tib3gvYmlpdC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtY2hlY2tib3gvYmlpdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBY3ZFLE1BQU0sT0FBTyxxQkFBcUI7SUFabEM7UUFhVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM3QixrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzdFLGFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQzFCLENBQUMsQ0FBQztRQUNGLGNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDakIsQ0FBQyxDQUFDO0tBbUJIO0lBakJDLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7bUhBNUJVLHFCQUFxQjt1R0FBckIscUJBQXFCLG1NQVJyQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCxrb0JBaUJBOzRGREZhLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlpdC1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnYmlpdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydiaWl0LWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmlpdENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0Fsd2F5c0Rlc2NyaXB0aW9uID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvblZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGNoZWNrZWQ6IGFueTtcblxuICBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gIH07XG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgfTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHdyaXRlVmFsdWUoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGVja2VkID0gZXZlbnQ7XG4gICAgdGhpcy5vbkNoYW5nZShldmVudCk7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgfVxufVxuIiwiPGxhYmVsIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIGlkPVwiYmlpdC1jaGVja2JveFwiIGNsYXNzPVwiYmlpdC1jaGVja2JveFwiPlxuICA8aW5wdXQgW2F0dHIuaWRdPVwiY2hlY2tlZD8nY2hlY2tlZCc6J3VuY2hlY2tlZCdcIlxuICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtYm94XCJcbiAgICAgICAgIFtuZ01vZGVsXT1cImNoZWNrZWRcIlxuICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiLz5cbiAgPGRpdj5cbiAgICA8ZGl2PlxuICAgICAgPGE+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvYT5cbiAgICAgIDxiaWl0LXRvb2x0aXAtaWNvbiAqbmdJZj1cImRlc2NyaXB0aW9uICYmICFzaG93QWx3YXlzRGVzY3JpcHRpb25cIiBpbmxpbmUgW3RleHRdPVwiZGVzY3JpcHRpb25cIi8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJkZXNjcmlwdGlvblwiICpuZ0lmPVwiZGVzY3JpcHRpb24gJiYgc2hvd0Fsd2F5c0Rlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
@@ -248,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
248
248
  type: HostListener,
249
249
  args: ['keydown.esc', ['$event']]
250
250
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1kYXRlcGlja2VyL2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtZGF0ZXBpY2tlci9iaWl0LWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFzQixZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQVUsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFBO0FBQy9HLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFxQjVELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsSUFBNEIsY0FBYyxDQUFDLEtBQVU7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBUUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQWFELElBQWMsWUFBWSxLQUFpQixPQUFPLElB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dUJBQUMsZUFBZTtnQkFJYixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFrQk4sU0FBUztzQkFEUixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25Jbml0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7ZWFjaERheU9mSW50ZXJ2YWwsIGFkZCwgc2V0RGF0ZSwgc3RhcnRPZldlZWssIHN1Yiwgc2V0RGVmYXVsdE9wdGlvbnMsIExvY2FsZSwgcGFyc2VJU099IGZyb20gJ2RhdGUtZm5zJ1xuaW1wb3J0IHtUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1NlcnZpY2V9IGZyb20gXCJAbmduZWF0L3RyYW5zbG9jb1wiO1xuaW1wb3J0IHtlbkdCLCBlcywgbmx9IGZyb20gXCJkYXRlLWZucy9sb2NhbGVcIjtcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnYmlpdC1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXREYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgICB1c2VWYWx1ZToge3Njb3BlOiAnd2l6YXJkcnktdGhlbWUvaW5wdXRzJywgYWxpYXM6IFwiaW5wdXRzXCJ9XG4gICAgfVxuICBdLFxuICBob3N0OiB7XG4gICAgJyhkb2N1bWVudDpwb2ludGVyZG93biknOiAnaGFuZGxlTW91c2VFdmVudHMoJGV2ZW50KSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0RGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICBASW5wdXQoJ2NhbGVuZGFyLW1vZGUnKSBzZXQgaXNDYWxlbmRhck1vZGUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2FsZW5kYXJNb2RlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgY2FsZW5kYXJNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogRGF0ZVtdID0gW107XG4gIEBJbnB1dCgpIGRpc2FibGVXZWVrZGF5czogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZVdlZWtlbmRzOiBib29sZWFuO1xuICBASW5wdXQoKSB0aW1lUGlja2VyOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW46IERhdGU7XG4gIEBJbnB1dCgpIG1heDogRGF0ZTtcbiAgQElucHV0KCkgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICB9XG4gIHByb3RlY3RlZCBfcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIHZhbHVlOiBEYXRlO1xuICBwcm90ZWN0ZWQgZHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBtb250aFNlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBkYXlzOiBEYXRlW10gPSBbXTtcbiAgcHJvdGVjdGVkIGhlYWRlcnMgPSBbXCJNb1wiLCBcIlR1XCIsIFwiV2VcIiwgXCJUaFwiLCBcIkZyXCIsIFwiU2FcIiwgXCJTdVwiXTtcbiAgcHJvdGVjdGVkIHZpZXdlckRhdGUgPSBuZXcgRGF0ZSgpO1xuICBwcm90ZWN0ZWQgbG9jYWxlOiBMb2NhbGU7XG5cbiAgcHJvdGVjdGVkIGdldCBpbnB1dEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge3JldHVybiB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtb2JqZWN0Jyl9XG4gIHByb3RlY3RlZCBnZXQgZHJvcGRvd25FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtyZXR1cm4gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvcHVwJyl9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFkZCA9IGFkZDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IHN1YjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcnNlSVNPID0gcGFyc2VJU087XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBvbktleURvd24oZSkge1xuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsb2NvOiBUcmFuc2xvY29TZXJ2aWNlXG4gICkgeyB9XG5cbiAgY2hlY2tCb29sZWFuSW5wdXQodmFsdWUpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IERhdGUpID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhck1vZGUgJiYgIXZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2UodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm1pbiAmJiBuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpIDw9IChuZXcgRGF0ZSh0aGlzLm1pbikuZ2V0VGltZSgpKSkgdmFsdWUgPSBhZGQodGhpcy5taW4sIHttaW51dGVzOiAxfSk7XG4gICAgICBpZiAodGhpcy5tYXggJiYgbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKSA+IG5ldyBEYXRlKHRoaXMubWF4KS5nZXRUaW1lKCkpIHZhbHVlID0gc3ViKHRoaXMubWF4LCB7bWludXRlczogMX0pO1xuXG4gICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy52aWV3ZXJEYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0TG9jYWxpemF0aW9uKCk7XG5cbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnJlYWRvbmx5KTtcbiAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnJlcXVpcmVkKTtcbiAgICB0aGlzLmRpc2FibGVXZWVrZGF5cyA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlV2Vla2RheXMpO1xuICAgIHRoaXMuZGlzYWJsZVdlZWtlbmRzID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVXZWVrZW5kcyk7XG4gICAgdGhpcy50aW1lUGlja2VyID0gdGhpcy5jaGVja0Jvb2xlYW5JbnB1dCh0aGlzLnRpbWVQaWNrZXIpO1xuXG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdExvY2FsaXphdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNsb2NvLmdldEFjdGl2ZUxhbmcoKSkge1xuICAgICAgY2FzZSAnZXMnOlxuICAgICAgICB0aGlzLmxvY2FsZSA9IGVzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25sJzpcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBubDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmxvY2FsZSA9IGVuR0I7XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdE9wdGlvbnMoe2xvY2FsZTogdGhpcy5sb2NhbGV9KTtcbiAgfVxuXG4gIGhhbmRsZU1vdXNlRXZlbnRzKCRldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25PcGVuICYmICF0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5jb250YWlucygkZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmlldygpIHtcbiAgICB0aGlzLm1vbnRoU2VsZWN0b3IgPSAhdGhpcy5tb250aFNlbGVjdG9yO1xuICAgIHRoaXMuc2V0UG9wdXBDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gIH1cblxuICBvcGVuRHJvcGRvd24oKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB0aGlzLm9uTW9kZWxDaGFuZ2UobmV3IERhdGUoKSk7XG5cbiAgICB0aGlzLnZpZXdlckRhdGUgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMubW9udGhTZWxlY3RvciA9IGZhbHNlO1xuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gICAgdGhpcy5zZXRQb3B1cENvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAodGhpcy5pbnB1dEVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkuZm9jdXMoKTtcblxuICAgIC8vIFNldHRpbmcgYSB0aW1lb3V0IGJlY2F1c2UgaXQgZG9lc24ndCBsb2FkIHVwd2FyZHMvZG93bndhcmRzIGNzcyBjbGFzc2VzIG9uIGV4ZWN1dGlvbiB0aW1lXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmRyb3Bkb3duRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBcInRydWVcIik7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmRyb3Bkb3duRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBcImZhbHNlXCIpO1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvcHVwQ29tcG9uZW50UHJvcGVydGllcygpIHtcbiAgICBsZXQgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duRWxlbWVudDtcbiAgICBkcm9wZG93bi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgIGxldCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50O1xuXG4gICAgLy8gQ2hlY2tpbmcgYXZhaWxhYmxlIHNjcmVlbiBzcGFjZVxuICAgIGNvbnN0IGZpdHNCb3R0b20gPSBib3R0b21DaGVjaygpO1xuICAgIGNvbnN0IGZpdHNSaWdodCA9IHJpZ2h0Q2hlY2soKTtcbiAgICBjb25zdCBmaXRzTGVmdCA9IGxlZnRDaGVjaygpO1xuXG4gICAgaWYgKCFmaXRzUmlnaHQgJiYgZml0c0xlZnQpIHtcbiAgICAgIGRyb3Bkb3duLnN0eWxlLm1hcmdpbkxlZnQgPSBpbnB1dC5vZmZzZXRXaWR0aCAtIGRyb3Bkb3duLm9mZnNldFdpZHRoICsgJ3B4JztcbiAgICB9IGVsc2Uge1xuICAgICAgZHJvcGRvd24uc3R5bGUubWFyZ2luTGVmdCA9IG51bGw7XG4gICAgfVxuXG4gICAgZHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnb253YXJkcycpO1xuICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2Rvd253YXJkcycpO1xuXG4gICAgaWYgKCFmaXRzQm90dG9tKSB7XG4gICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdvbndhcmRzJyk7XG4gICAgICBkcm9wZG93bi5zdHlsZS5tYXJnaW5Ub3AgPSAtKGRyb3Bkb3duLm9mZnNldEhlaWdodCArIGlucHV0Lm9mZnNldEhlaWdodCkgKyAncHgnO1xuICAgIH0gZWxzZSB7XG4gICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdkb3dud2FyZHMnKTtcbiAgICAgIGRyb3Bkb3duLnN0eWxlLm1hcmdpblRvcCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gU3VwcG9ydCBpbm5lciBmdW5jdGlvbnNcbiAgICBmdW5jdGlvbiBib3R0b21DaGVjaygpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpbnB1dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gKyBkcm9wZG93bi5vZmZzZXRIZWlnaHQgPD0gd2luZG93LmlubmVySGVpZ2h0IHx8XG4gICAgICAgIGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIGRyb3Bkb3duLm9mZnNldEhlaWdodCA8PSAwO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJpZ2h0Q2hlY2soKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgKyBkcm9wZG93bi5vZmZzZXRXaWR0aCA8PSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsZWZ0Q2hlY2soKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgLSBkcm9wZG93bi5vZmZzZXRXaWR0aCA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIGRyYXdDYWxlbmRhcigpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdERheSA9IHN0YXJ0T2ZXZWVrKHNldERhdGUodGhpcy52aWV3ZXJEYXRlLCAxKSk7XG4gICAgY29uc3QgbGFzdERheSA9IGFkZChmaXJzdERheSwge2RheXM6NDF9KTtcblxuICAgIHRoaXMuZGF5cyA9IGVhY2hEYXlPZkludGVydmFsKHtzdGFydDpmaXJzdERheSwgZW5kOmxhc3REYXl9KTtcbiAgfVxuXG4gIHByZXZNb250aCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdlckRhdGUgPSBzdWIodGhpcy52aWV3ZXJEYXRlLCB7bW9udGhzOjF9KVxuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gIH1cblxuICBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ZXJEYXRlID0gYWRkKHRoaXMudmlld2VyRGF0ZSwge21vbnRoczoxfSk7XG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHNldFRvZGF5KCk6IHZvaWQge1xuICAgIHRoaXMudmlld2VyRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5kcmF3Q2FsZW5kYXIoKTtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobmV3IERhdGUoKSk7XG4gIH1cblxuICBsb2codmFsdWUpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdERVZFTE9QTUVOVCBMT0c6ICcsIHZhbHVlKTtcbiAgfVxufVxuXG5cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjYWxlbmRhck1vZGU7IHRoZW4gY2FsZW5kYXJNb2RlVGVtcGxhdGUgZWxzZSBkYXRlUGlja2VyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkYXRlUGlja2VyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJiaWl0LWlucHV0XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0LW9iamVjdFwiXG4gICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWUgJiYgIXRpbWVQaWNrZXIgPyAodmFsdWUgfCBkYXRlOiAneXl5eS1NTS1kZCcpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlICYmIHRpbWVQaWNrZXIgPyAodmFsdWUgfCBkYXRlOiAneXl5eS1NTS1kZFxcVEhIOm1tJykgOlxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKHBhcnNlSVNPKCRldmVudCkpXCJcbiAgICAgICAgICAgICBbdHlwZV09XCJ0aW1lUGlja2VyID8gJ2RhdGV0aW1lLWxvY2FsJyA6ICdkYXRlJ1wiIHJlcXVpcmVkXG4gICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZHJvcGRvd25PcGVuID8gJyNEOUQ5RDknIDogbnVsbFwiXG4gICAgICAgICAgICAgW21pbl09XCJtaW4gPyAobWluIHwgZGF0ZTogJ3l5eXktTU0tZGQnKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgW21heF09XCJtYXggPyAobWF4IHwgZGF0ZTogJ3l5eXktTU0tZGQnKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1zaG93LWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZHJvcGRvd25PcGVuID8gJyNEOUQ5RDknIDogbnVsbFwiXG4gICAgICAgICAgIChjbGljayk9XCJkcm9wZG93bk9wZW4gPyBjbG9zZURyb3Bkb3duKCk6IG9wZW5Ecm9wZG93bigpXCJcbiAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigpOiBvcGVuRHJvcGRvd24oKVwiXG4gICAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uXCJcbiAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiBkcm9wZG93bk9wZW4gPyAnI0YyMEQ1RScgOiAnIzI2MjYyNid9XCJcbiAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtcGxhY2Vob2xkZXIgaW5wdXQtZmlsbGVkXCI+XG4gICAgICAgIHt7X3BsYWNlaG9sZGVyfX1cbiAgICAgICAgPGEgKm5nSWY9XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZSA/IG51bGwgOiAncmVkJ1wiPio8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxiaWl0LWljb24gKm5nSWY9XCJlcnJvciB8fCAodmFsdWUgfCBpc0Rpc2FibGVkOiBkaXNhYmxlZERheXM6IGRpc2FibGVXZWVrZGF5czogZGlzYWJsZVdlZWtlbmRzOiBtaW46IG1heClcIlxuICAgICAgICAgICAgICAgICBuYW1lPVwiZXhjbGFtYXRpb25cIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWVycm9yLWljb25cIlxuICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOicjQTEwOTNGJ31cIlxuICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJpbnB1dC1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8YT5cbiAgICAgICAgICB7e2Rlc2NyaXB0aW9ufX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwXCJcbiAgICAgICAgICAgICBbY2xhc3MuZHJvcGRvd24tb3Blbl09XCJkcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlciA/ICcyOS4xZW0gKyAzcHgpJyA6IG51bGxcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vbnRoU2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC12aWV3XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInJvdGF0ZTogMTgwZGVnXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzIHwgc2xpY2U6MDo3XCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZWxlbWVudCBoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICB7eyhkYXkgfCB0cmFuc2xvY29EYXRlOiB7d2Vla2RheTogJ3Nob3J0J30pLnN1YnN0cmluZygwLDIpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJncmlkLWVsZW1lbnQgZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0ZXItZGF5XT1cImRheSB8IG91dE9mTW9udGg6IHZpZXdlckRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pcy10b2RheV09XCJkYXkgfCBpc1RvZGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiZGF5IHwgaXNTYW1lRGF5OiB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRheSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVkRGF5czogZGlzYWJsZVdlZWtkYXlzOiBkaXNhYmxlV2Vla2VuZHM6IHN1YihtaW4sIHtkYXlzOiAxfSk6IGFkZChtYXgsIHtkYXlzOiAxfSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGRheSlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e2RheSB8IGNhbGVuZGFyRGF0ZX19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvZGF5LWJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICAgICAgICB7eydpbnB1dHMudG9kYXknIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCI+XG4gICAgICAgICAgICAgICAge3snaW5wdXRzLmRvbmUnIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyXCIgKm5nSWY9XCIhbW9udGhTZWxlY3RvciAmJiB0aW1lUGlja2VyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RvclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHtob3VyczogMX0pIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnSCcpIDogJycgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMmVtO1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7bWludXRlczogMX0pIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ5ZWFyLXZpZXdcIiAqbmdJZj1cIm1vbnRoU2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1zZWxlY3RvclwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPlxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RvclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogOGVtO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KVwiPlxuICAgICAgICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge21vbnRoczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge21vbnRoczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge21vbnRoczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge21vbnRoczogMn0pXCI+XG4gICAgICAgICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNWVtO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge3llYXJzOiAyfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pXCI+XG4gICAgICAgICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRyYXdDYWxlbmRhcigpOyBjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICAgICAgICB7eydpbnB1dHMuYmFjaycgfCB0cmFuc2xvY299fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWxpbmVcIj48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICAgIDxhPlxuICAgICAgICAgIHt7ZXJyb3J9fVxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2YWx1ZSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVkRGF5czogZGlzYWJsZVdlZWtkYXlzOiBkaXNhYmxlV2Vla2VuZHM6IG1pbjogbWF4XCIgY2xhc3M9XCJpbnB1dC1lcnJvci1tc2dcIj5cbiAgICAgICAgPGE+XG4gICAgICAgICAge3snaW5wdXRzLmRhdGUtZXJyb3InIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck1vZGVUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInBvcHVwIGNhbGVuZGFyLW1vZGVcIlxuICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlciA/ICdjYWxjKDI5LjFlbSArIDNweCknIDogbnVsbFwiPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9udGhTZWxlY3RvclwiXG4gICAgICAgICBjbGFzcz1cIm1vbnRoLXZpZXdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1zZWxlY3RvclwiPlxuICAgICAgICA8YnV0dG9uIGJpaXQtaWNvblxuICAgICAgICAgICAgICAgIFtpY29uXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwicm90YXRlOiAxODBkZWdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2TW9udGgoKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtbGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWljb25cbiAgICAgICAgICAgICAgICBbaWNvbl09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXMgfCBzbGljZTowOjdcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1lbGVtZW50IGhlYWRlclwiPlxuICAgICAgICAgIHt7KGRheSB8IHRyYW5zbG9jb0RhdGU6IHt3ZWVrZGF5OiAnc2hvcnQnfSkuc3Vic3RyaW5nKDAsMikgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZWxlbWVudCBkYXlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5vdXRlci1kYXldPVwiZGF5IHwgb3V0T2ZNb250aDogdmlld2VyRGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLXRvZGF5XT1cImRheSB8IGlzVG9kYXlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgfCBpc1NhbWVEYXk6IHZhbHVlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGF5IHwgaXNEaXNhYmxlZDogZGlzYWJsZWREYXlzOiBkaXNhYmxlV2Vla2RheXM6IGRpc2FibGVXZWVrZW5kczogc3ViKG1pbiwge2RheXM6IDF9KTogYWRkKG1heCwge2RheXM6IDF9KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoZGF5KVwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ZGF5IHwgY2FsZW5kYXJEYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidG9kYXktYnRuXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPlxuICAgICAgICAgIHt7J2lucHV0cy50b2RheScgfCB0cmFuc2xvY299fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyXCIgKm5nSWY9XCIhbW9udGhTZWxlY3RvciAmJiB0aW1lUGlja2VyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlID8gKHZhbHVlIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChhZGQodmFsdWUsIHtob3VyczogMX0pIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKHN1Yih2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChzdWIodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAodmFsdWUgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/IChhZGQodmFsdWUsIHttaW51dGVzOiAxfSkgfCBkYXRlOiAnbW0nKSA6ICcnIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2UoYWRkKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93blwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwieWVhci12aWV3XCIgKm5nSWY9XCJtb250aFNlbGVjdG9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtbGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDhlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSlcIj5cbiAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KVwiPlxuICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge21vbnRoczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDVlbTtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KVwiPlxuICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge3llYXJzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkcmF3Q2FsZW5kYXIoKTsgY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAge3snaW5wdXRzLmJhY2snIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1kYXRlcGlja2VyL2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtZGF0ZXBpY2tlci9iaWl0LWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFzQixZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQVUsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFBO0FBQy9HLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFxQjVELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsSUFBNEIsY0FBYyxDQUFDLEtBQVU7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBUUQsSUFBYSxXQUFXLENBQUMsV0FBbUI7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQWFELElBQWMsWUFBWSxLQUFpQixPQUFPLElB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O3VCQUFDLGVBQWU7Z0JBSWIsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBa0JOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uSW5pdCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2VhY2hEYXlPZkludGVydmFsLCBhZGQsIHNldERhdGUsIHN0YXJ0T2ZXZWVrLCBzdWIsIHNldERlZmF1bHRPcHRpb25zLCBMb2NhbGUsIHBhcnNlSVNPfSBmcm9tICdkYXRlLWZucydcbmltcG9ydCB7VFJBTlNMT0NPX1NDT1BFLCBUcmFuc2xvY29TZXJ2aWNlfSBmcm9tIFwiQG5nbmVhdC90cmFuc2xvY29cIjtcbmltcG9ydCB7ZW5HQiwgZXMsIG5sfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCI7XG5pbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LWRhdGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJ2JpaXQtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydiaWl0LWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCaWl0RGF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX1NDT1BFLFxuICAgICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL2lucHV0cycsIGFsaWFzOiBcImlucHV0c1wifVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6cG9pbnRlcmRvd24pJzogJ2hhbmRsZU1vdXNlRXZlbnRzKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcbiAgQElucHV0KCdjYWxlbmRhci1tb2RlJykgc2V0IGlzQ2FsZW5kYXJNb2RlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmNhbGVuZGFyTW9kZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIGNhbGVuZGFyTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZERheXM6IERhdGVbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlV2Vla2RheXM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVXZWVrZW5kczogYm9vbGVhbjtcbiAgQElucHV0KCkgdGltZVBpY2tlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgbWluOiBEYXRlO1xuICBASW5wdXQoKSBtYXg6IERhdGU7XG4gIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgfVxuICBwcm90ZWN0ZWQgX3BsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBcIlwiO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCB2YWx1ZTogRGF0ZTtcbiAgcHJvdGVjdGVkIGRyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgbW9udGhTZWxlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgZGF5czogRGF0ZVtdID0gW107XG4gIHByb3RlY3RlZCBoZWFkZXJzID0gW1wiTW9cIiwgXCJUdVwiLCBcIldlXCIsIFwiVGhcIiwgXCJGclwiLCBcIlNhXCIsIFwiU3VcIl07XG4gIHByb3RlY3RlZCB2aWV3ZXJEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIGxvY2FsZTogTG9jYWxlO1xuXG4gIHByb3RlY3RlZCBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtyZXR1cm4gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LW9iamVjdCcpfVxuICBwcm90ZWN0ZWQgZ2V0IGRyb3Bkb3duRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7cmV0dXJuIHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wb3B1cCcpfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBhZGQgPSBhZGQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBzdWI7XG4gIHByb3RlY3RlZCByZWFkb25seSBwYXJzZUlTTyA9IHBhcnNlSVNPO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duKGUpIHtcbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRyYW5zbG9jbzogVHJhbnNsb2NvU2VydmljZVxuICApIHsgfVxuXG4gIGNoZWNrQm9vbGVhbklucHV0KHZhbHVlKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBEYXRlKSA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXJNb2RlICYmICF2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5taW4gJiYgbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKSA8PSAobmV3IERhdGUodGhpcy5taW4pLmdldFRpbWUoKSkpIHZhbHVlID0gYWRkKHRoaXMubWluLCB7bWludXRlczogMX0pO1xuICAgICAgaWYgKHRoaXMubWF4ICYmIG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lKCkgPiBuZXcgRGF0ZSh0aGlzLm1heCkuZ2V0VGltZSgpKSB2YWx1ZSA9IHN1Yih0aGlzLm1heCwge21pbnV0ZXM6IDF9KTtcblxuICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMudmlld2VyRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdExvY2FsaXphdGlvbigpO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy5yZWFkb25seSA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZWFkb25seSk7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZXF1aXJlZCk7XG4gICAgdGhpcy5kaXNhYmxlV2Vla2RheXMgPSB0aGlzLmNoZWNrQm9vbGVhbklucHV0KHRoaXMuZGlzYWJsZVdlZWtkYXlzKTtcbiAgICB0aGlzLmRpc2FibGVXZWVrZW5kcyA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlV2Vla2VuZHMpO1xuICAgIHRoaXMudGltZVBpY2tlciA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy50aW1lUGlja2VyKTtcblxuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRMb2NhbGl6YXRpb24oKSB7XG4gICAgc3dpdGNoICh0aGlzLnRyYW5zbG9jby5nZXRBY3RpdmVMYW5nKCkpIHtcbiAgICAgIGNhc2UgJ2VzJzpcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdubCc6XG4gICAgICAgIHRoaXMubG9jYWxlID0gbmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBlbkdCO1xuICAgIH1cblxuICAgIHNldERlZmF1bHRPcHRpb25zKHtsb2NhbGU6IHRoaXMubG9jYWxlfSk7XG4gIH1cblxuICBoYW5kbGVNb3VzZUV2ZW50cygkZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duT3BlbiAmJiAhdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoJGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVZpZXcoKSB7XG4gICAgdGhpcy5tb250aFNlbGVjdG9yID0gIXRoaXMubW9udGhTZWxlY3RvcjtcbiAgICB0aGlzLnNldFBvcHVwQ29tcG9uZW50UHJvcGVydGllcygpO1xuICB9XG5cbiAgb3BlbkRyb3Bkb3duKCkge1xuICAgIGlmICghdGhpcy52YWx1ZSkgdGhpcy5vbk1vZGVsQ2hhbmdlKG5ldyBEYXRlKCkpO1xuXG4gICAgdGhpcy52aWV3ZXJEYXRlID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLm1vbnRoU2VsZWN0b3IgPSBmYWxzZTtcbiAgICB0aGlzLmRyYXdDYWxlbmRhcigpO1xuICAgIHRoaXMuc2V0UG9wdXBDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gICAgKHRoaXMuaW5wdXRFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XG5cbiAgICAvLyBTZXR0aW5nIGEgdGltZW91dCBiZWNhdXNlIGl0IGRvZXNuJ3QgbG9hZCB1cHdhcmRzL2Rvd253YXJkcyBjc3MgY2xhc3NlcyBvbiBleGVjdXRpb24gdGltZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5kcm9wZG93bkVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgXCJ0cnVlXCIpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgdGhpcy5kcm9wZG93bkVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgXCJmYWxzZVwiKTtcbiAgICB0aGlzLmlucHV0RWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3B1cENvbXBvbmVudFByb3BlcnRpZXMoKSB7XG4gICAgbGV0IGRyb3Bkb3duID0gdGhpcy5kcm9wZG93bkVsZW1lbnQ7XG4gICAgZHJvcGRvd24uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICBsZXQgaW5wdXQgPSB0aGlzLmlucHV0RWxlbWVudDtcblxuICAgIC8vIENoZWNraW5nIGF2YWlsYWJsZSBzY3JlZW4gc3BhY2VcbiAgICBjb25zdCBmaXRzQm90dG9tID0gYm90dG9tQ2hlY2soKTtcbiAgICBjb25zdCBmaXRzUmlnaHQgPSByaWdodENoZWNrKCk7XG4gICAgY29uc3QgZml0c0xlZnQgPSBsZWZ0Q2hlY2soKTtcblxuICAgIGlmICghZml0c1JpZ2h0ICYmIGZpdHNMZWZ0KSB7XG4gICAgICBkcm9wZG93bi5zdHlsZS5tYXJnaW5MZWZ0ID0gaW5wdXQub2Zmc2V0V2lkdGggLSBkcm9wZG93bi5vZmZzZXRXaWR0aCArICdweCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRyb3Bkb3duLnN0eWxlLm1hcmdpbkxlZnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ29ud2FyZHMnKTtcbiAgICBkcm9wZG93bi5jbGFzc0xpc3QucmVtb3ZlKCdkb3dud2FyZHMnKTtcblxuICAgIGlmICghZml0c0JvdHRvbSkge1xuICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnb253YXJkcycpO1xuICAgICAgZHJvcGRvd24uc3R5bGUubWFyZ2luVG9wID0gLShkcm9wZG93bi5vZmZzZXRIZWlnaHQgKyBpbnB1dC5vZmZzZXRIZWlnaHQpICsgJ3B4JztcbiAgICB9IGVsc2Uge1xuICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnZG93bndhcmRzJyk7XG4gICAgICBkcm9wZG93bi5zdHlsZS5tYXJnaW5Ub3AgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIFN1cHBvcnQgaW5uZXIgZnVuY3Rpb25zXG4gICAgZnVuY3Rpb24gYm90dG9tQ2hlY2soKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tICsgZHJvcGRvd24ub2Zmc2V0SGVpZ2h0IDw9IHdpbmRvdy5pbm5lckhlaWdodCB8fFxuICAgICAgICBpbnB1dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSBkcm9wZG93bi5vZmZzZXRIZWlnaHQgPD0gMDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByaWdodENoZWNrKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0ICsgZHJvcGRvd24ub2Zmc2V0V2lkdGggPD0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbGVmdENoZWNrKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0IC0gZHJvcGRvd24ub2Zmc2V0V2lkdGggPj0gMDtcbiAgICB9XG4gIH1cblxuICBkcmF3Q2FsZW5kYXIoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3REYXkgPSBzdGFydE9mV2VlayhzZXREYXRlKHRoaXMudmlld2VyRGF0ZSwgMSkpO1xuICAgIGNvbnN0IGxhc3REYXkgPSBhZGQoZmlyc3REYXksIHtkYXlzOjQxfSk7XG5cbiAgICB0aGlzLmRheXMgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7c3RhcnQ6Zmlyc3REYXksIGVuZDpsYXN0RGF5fSk7XG4gIH1cblxuICBwcmV2TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ZXJEYXRlID0gc3ViKHRoaXMudmlld2VyRGF0ZSwge21vbnRoczoxfSlcbiAgICB0aGlzLmRyYXdDYWxlbmRhcigpO1xuICB9XG5cbiAgbmV4dE1vbnRoKCk6IHZvaWQge1xuICAgIHRoaXMudmlld2VyRGF0ZSA9IGFkZCh0aGlzLnZpZXdlckRhdGUsIHttb250aHM6MX0pO1xuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gIH1cblxuICBzZXRUb2RheSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdlckRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZHJhd0NhbGVuZGFyKCk7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKG5ldyBEYXRlKCkpO1xuICB9XG5cbiAgbG9nKHZhbHVlKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnREVWRUxPUE1FTlQgTE9HOiAnLCB2YWx1ZSk7XG4gIH1cbn1cblxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2FsZW5kYXJNb2RlOyB0aGVuIGNhbGVuZGFyTW9kZVRlbXBsYXRlIGVsc2UgZGF0ZVBpY2tlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0ZVBpY2tlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYmlpdC1pbnB1dFwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiID5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dC1vYmplY3RcIlxuICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlICYmICF0aW1lUGlja2VyID8gKHZhbHVlIHwgZGF0ZTogJ3l5eXktTU0tZGQnKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSAmJiB0aW1lUGlja2VyID8gKHZhbHVlIHwgZGF0ZTogJ3l5eXktTU0tZGRcXFRISDptbScpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZShwYXJzZUlTTygkZXZlbnQpKVwiXG4gICAgICAgICAgICAgW3R5cGVdPVwidGltZVBpY2tlciA/ICdkYXRldGltZS1sb2NhbCcgOiAnZGF0ZSdcIiByZXF1aXJlZFxuICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImRyb3Bkb3duT3BlbiA/ICcjRDlEOUQ5JyA6IG51bGxcIlxuICAgICAgICAgICAgIFttaW5dPVwibWluID8gKG1pbiB8IGRhdGU6ICd5eXl5LU1NLWRkJykgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgIFttYXhdPVwibWF4ID8gKG1heCB8IGRhdGU6ICd5eXl5LU1NLWRkJykgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImRyb3Bkb3duT3BlbiA/ICcjRDlEOUQ5JyA6IG51bGxcIlxuICAgICAgICAgICAoY2xpY2spPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigpOiBvcGVuRHJvcGRvd24oKVwiXG4gICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRyb3Bkb3duT3BlbiA/IGNsb3NlRHJvcGRvd24oKTogb3BlbkRyb3Bkb3duKClcIlxuICAgICAgICAgICB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LXNob3ctaWNvblwiXG4gICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogZHJvcGRvd25PcGVuID8gJyNGMjBENUUnIDogJyMyNjI2MjYnfVwiXG4gICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXBsYWNlaG9sZGVyIGlucHV0LWZpbGxlZFwiPlxuICAgICAgICB7e19wbGFjZWhvbGRlcn19XG4gICAgICAgIDxhICpuZ0lmPVwicmVxdWlyZWRcIlxuICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwidmFsdWUgPyBudWxsIDogJ3JlZCdcIj4qPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8YmlpdC1pY29uICpuZ0lmPVwiZXJyb3IgfHwgKHZhbHVlIHwgaXNEaXNhYmxlZDogZGlzYWJsZWREYXlzOiBkaXNhYmxlV2Vla2RheXM6IGRpc2FibGVXZWVrZW5kczogbWluOiBtYXgpXCJcbiAgICAgICAgICAgICAgICAgbmFtZT1cImV4Y2xhbWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1lcnJvci1pY29uXCJcbiAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDonI0ExMDkzRid9XCJcbiAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiaW5wdXQtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGE+XG4gICAgICAgICAge3tkZXNjcmlwdGlvbn19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDA7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cFwiXG4gICAgICAgICAgICAgW2NsYXNzLmRyb3Bkb3duLW9wZW5dPVwiZHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cIiFtb250aFNlbGVjdG9yICYmIHRpbWVQaWNrZXIgPyAnMjkuMWVtICsgM3B4KScgOiBudWxsXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFtb250aFNlbGVjdG9yXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtdmlld1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLXNlbGVjdG9yXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gYmlpdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJyb3RhdGU6IDE4MGRlZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZNb250aCgpXCJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb250aC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPlxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiXG4gICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5cyB8IHNsaWNlOjA6N1wiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJncmlkLWVsZW1lbnQgaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAge3soZGF5IHwgdHJhbnNsb2NvRGF0ZToge3dlZWtkYXk6ICdzaG9ydCd9KS5zdWJzdHJpbmcoMCwyKSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1lbGVtZW50IGRheVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dGVyLWRheV09XCJkYXkgfCBvdXRPZk1vbnRoOiB2aWV3ZXJEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaXMtdG9kYXldPVwiZGF5IHwgaXNUb2RheVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImRheSB8IGlzU2FtZURheTogdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkYXkgfCBpc0Rpc2FibGVkOiBkaXNhYmxlZERheXM6IGRpc2FibGVXZWVrZGF5czogZGlzYWJsZVdlZWtlbmRzOiBzdWIobWluLCB7ZGF5czogMX0pOiBhZGQobWF4LCB7ZGF5czogMX0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShkYXkpXCJcbiAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tkYXkgfCBjYWxlbmRhckRhdGV9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2RheS1idG5cIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRUb2RheSgpXCI+XG4gICAgICAgICAgICAgICAge3snaW5wdXRzLnRvZGF5JyB8IHRyYW5zbG9jb319XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGJpaXQtYnV0dG9uIHRlcnRpYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRHJvcGRvd24oKVwiPlxuICAgICAgICAgICAgICAgIHt7J2lucHV0cy5kb25lJyB8IHRyYW5zbG9jb319XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlclwiICpuZ0lmPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAyZW07XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKHN1Yih2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlID8gKHZhbHVlIHwgZGF0ZTogJ0gnKSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlID8gKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkgfCBkYXRlOiAnSCcpIDogJycgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShhZGQodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93blwiXG4gICAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDJlbTtcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKHN1Yih2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmFsdWUgPyAoc3ViKHZhbHVlLCB7bWludXRlczogMX0pIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlID8gKHZhbHVlIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShhZGQodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHZhbHVlID8gKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSB8IGRhdGU6ICdtbScpIDogJycgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShhZGQodmFsdWUsIHttaW51dGVzOiAxfSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieWVhci12aWV3XCIgKm5nSWY9XCJtb250aFNlbGVjdG9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9udGgtbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cbiAgICAgICAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDhlbTtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHttb250aHM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge21vbnRoczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDVlbTtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pXCI+XG4gICAgICAgICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gc3ViKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KVwiPlxuICAgICAgICAgICAgICAgICAge3thZGQodmlld2VyRGF0ZSwge3llYXJzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWJ1dHRvbiB0ZXJ0aWFyeVxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkcmF3Q2FsZW5kYXIoKTsgY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAgICAgICAge3snaW5wdXRzLmJhY2snIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbS1saW5lXCI+PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImlucHV0LWVycm9yLW1zZ1wiPlxuICAgICAgICA8YT5cbiAgICAgICAgICB7e2Vycm9yfX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwidmFsdWUgfCBpc0Rpc2FibGVkOiBkaXNhYmxlZERheXM6IGRpc2FibGVXZWVrZGF5czogZGlzYWJsZVdlZWtlbmRzOiBtaW46IG1heFwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICAgIDxhPlxuICAgICAgICAgIHt7J2lucHV0cy5kYXRlLWVycm9yJyB8IHRyYW5zbG9jb319XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2FsZW5kYXJNb2RlVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJwb3B1cCBjYWxlbmRhci1tb2RlXCJcbiAgICAgICBbc3R5bGUuaGVpZ2h0XT1cIiFtb250aFNlbGVjdG9yICYmIHRpbWVQaWNrZXIgPyAnY2FsYygyOS4xZW0gKyAzcHgpJyA6IG51bGxcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vbnRoU2VsZWN0b3JcIlxuICAgICAgICAgY2xhc3M9XCJtb250aC12aWV3XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9udGgtc2VsZWN0b3JcIj5cbiAgICAgICAgPGJ1dHRvbiBiaWl0LWljb25cbiAgICAgICAgICAgICAgICBbaWNvbl09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInJvdGF0ZTogMTgwZGVnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldk1vbnRoKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gYmlpdC1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzIHwgc2xpY2U6MDo3XCJcbiAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZWxlbWVudCBoZWFkZXJcIj5cbiAgICAgICAgICB7eyhkYXkgfCB0cmFuc2xvY29EYXRlOiB7d2Vla2RheTogJ3Nob3J0J30pLnN1YnN0cmluZygwLDIpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJncmlkLWVsZW1lbnQgZGF5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mub3V0ZXItZGF5XT1cImRheSB8IG91dE9mTW9udGg6IHZpZXdlckRhdGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy10b2RheV09XCJkYXkgfCBpc1RvZGF5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiZGF5IHwgaXNTYW1lRGF5OiB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRheSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVkRGF5czogZGlzYWJsZVdlZWtkYXlzOiBkaXNhYmxlV2Vla2VuZHM6IHN1YihtaW4sIHtkYXlzOiAxfSk6IGFkZChtYXgsIHtkYXlzOiAxfSlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGRheSlcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID5cbiAgICAgICAgICB7e2RheSB8IGNhbGVuZGFyRGF0ZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRvZGF5LWJ0blwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICB7eydpbnB1dHMudG9kYXknIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlclwiICpuZ0lmPVwiIW1vbnRoU2VsZWN0b3IgJiYgdGltZVBpY2tlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdG9yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAyZW07XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7aG91cnM6IDF9KSlcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlID8gKHN1Yih2YWx1ZSwge2hvdXJzOiAxfSkgfCBkYXRlOiAnSCcpIDogJycgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICB7eyB2YWx1ZSA/ICh2YWx1ZSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShhZGQodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7aG91cnM6IDF9KSB8IGRhdGU6ICdIJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge2hvdXJzOiAxfSkpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiAyZW07XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW9kZWxDaGFuZ2Uoc3ViKHZhbHVlLCB7bWludXRlczogMX0pKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBcIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShzdWIodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAoc3ViKHZhbHVlLCB7bWludXRlczogMX0pIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7IHZhbHVlID8gKHZhbHVlIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb2RlbENoYW5nZShhZGQodmFsdWUsIHtob3VyczogMX0pKVwiPlxuICAgICAgICAgICAge3sgdmFsdWUgPyAoYWRkKHZhbHVlLCB7bWludXRlczogMX0pIHwgZGF0ZTogJ21tJykgOiAnJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbk1vZGVsQ2hhbmdlKGFkZCh2YWx1ZSwge21pbnV0ZXM6IDF9KSlcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd25cIlxuICAgICAgICAgICAgPjwvYmlpdC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInllYXItdmlld1wiICpuZ0lmPVwibW9udGhTZWxlY3RvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLXNlbGVjdG9yXCI+XG4gICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vbnRoLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlVmlldygpXCI+XG4gICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge21vbnRoOiAnbG9uZyd9IH19XG4gICAgICAgICAge3t2aWV3ZXJEYXRlIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdG9yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiA4ZW07XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZNb250aCgpXCI+XG4gICAgICAgICAgICA8YmlpdC1pY29uIFtuYW1lXT1cIidyaWdodF9hcnJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGF0aFN0eWxlXT1cIntmaWxsOiAnIzI2MjYyNid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cFwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge21vbnRoczogMn0pXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZNb250aCgpXCI+XG4gICAgICAgICAgICB7e3N1Yih2aWV3ZXJEYXRlLCB7bW9udGhzOiAxfSkgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBwcmltYXJ5XCI+XG4gICAgICAgICAgICB7e3ZpZXdlckRhdGUgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+XG4gICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7bW9udGhzOiAxfSkgfCB0cmFuc2xvY29EYXRlOiB7bW9udGg6ICdsb25nJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7bW9udGhzOiAyfSlcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHttb250aHM6IDJ9KSB8IHRyYW5zbG9jb0RhdGU6IHttb250aDogJ2xvbmcnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIGFycm93XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93blwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIlxuICAgICAgICAgICAgIHN0eWxlPVwibWluLXdpZHRoOiA1ZW07XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gYXJyb3dcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBzdWIodmlld2VyRGF0ZSwge3llYXJzOiAxfSlcIj5cbiAgICAgICAgICAgIDxiaWl0LWljb24gW25hbWVdPVwiJ3JpZ2h0X2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjMjYyNjI2J31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwXCJcbiAgICAgICAgICAgID48L2JpaXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSB0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDJ9KVwiPlxuICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge3llYXJzOiAyfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IHN1Yih2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAge3tzdWIodmlld2VyRGF0ZSwge3llYXJzOiAxfSkgfCB0cmFuc2xvY29EYXRlOiB7eWVhcjogJ251bWVyaWMnfSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7dmlld2VyRGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWV3ZXJEYXRlID0gYWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMX0pXCI+XG4gICAgICAgICAgICB7e2FkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KSB8IHRyYW5zbG9jb0RhdGU6IHt5ZWFyOiAnbnVtZXJpYyd9IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gdGVydGlhcnlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdlckRhdGUgPSBhZGQodmlld2VyRGF0ZSwge3llYXJzOiAyfSlcIj5cbiAgICAgICAgICAgIHt7YWRkKHZpZXdlckRhdGUsIHt5ZWFyczogMn0pIHwgdHJhbnNsb2NvRGF0ZToge3llYXI6ICdudW1lcmljJ30gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBhcnJvd1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlld2VyRGF0ZSA9IGFkZCh2aWV3ZXJEYXRlLCB7eWVhcnM6IDF9KVwiPlxuICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCIncmlnaHRfYXJyb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogJyMyNjI2MjYnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93blwiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJhd0NhbGVuZGFyKCk7IGNoYW5nZVZpZXcoKVwiPlxuICAgICAgICAgIHt7J2lucHV0cy5iYWNrJyB8IHRyYW5zbG9jb319XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -139,4 +139,4 @@ export var Type;
139
139
  Type["EMAIL"] = "EMAIL";
140
140
  Type["PASSWORD"] = "PASSWORD";
141
141
  })(Type || (Type = {}));
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1pbnB1dC10ZXh0L2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtaW5wdXQtdGV4dC9iaWl0LWlucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFrQjVELE1BQU0sT0FBTyxzQkFBc0I7SUFoQm5DO1FBcUJZLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBZWxCLHNCQUFpQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRS9FLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUNULFNBQUksR0FBRyxJQUFJLENBQUM7UUEwQi9CLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FtQ3BCO0lBdEZDLElBQWEsV0FBVyxDQUFDLFdBQW1CO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUF3QkQs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bXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIENoYW5nZURldGVjdG9yUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7YmlpdEljb259IGZyb20gJ0BiaWl0LXNvbHV0aW9ucy9iaWl0LWljb25zLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHtUUkFOU0xPQ09fU0NPUEV9IGZyb20gXCJAbmduZWF0L3RyYW5zbG9jb1wiO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlpdC1pbnB1dC10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXRJbnB1dFRleHRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19TQ09QRSxcbiAgICAgIHVzZVZhbHVlOiB7c2NvcGU6ICd3aXphcmRyeS10aGVtZS9pbnB1dHMnLCBhbGlhczogXCJpbnB1dHNcIn1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdElucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgfVxuICBwcm90ZWN0ZWQgX3BsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogVHlwZTtcbiAgQElucHV0KCkgaWNvbjogYmlpdEljb247XG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZDtcbiAgQElucHV0KCkgcmVxdWlyZWQ7XG4gIEBJbnB1dCgpIHJlYWRvbmx5O1xuICBASW5wdXQoKSBtaW46IG51bWJlcjtcbiAgQElucHV0KCkgbWF4OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgcmVnRXg6IFJlZ0V4cDtcbiAgQE91dHB1dCgpIG9uQWN0aW9uUGVyZm9ybWVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHJldmVhbDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWx1ZTogc3RyaW5nO1xuICBtaW5MZW5ndGhFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWdFeEVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSBUeXBlID0gVHlwZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuZGlzYWJsZWQpO1xuICAgIHRoaXMucmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodGhpcy5yZXF1aXJlZCk7XG4gICAgdGhpcy5yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLnJlYWRvbmx5KTtcblxuICAgIGlmICh0aGlzLnR5cGUgPT0gVHlwZS5FTUFJTCkge1xuICAgICAgdGhpcy5yZWdFeCA9IG5ldyBSZWdFeHAoXCIoPzpbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFxcXC5bYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSp8XFxcIig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxXFx4MjMtXFx4NWJcXHg1ZC1cXHg3Zl18XFxcXFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSpcXFwiKUAoPzooPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XFxcXC4pK1thLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT98XFxcXFsoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFxcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcXFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKylcXFxcXSlcIik7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVJbnB1dCgpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5yZWdFeCkge1xuICAgICAgICB0aGlzLnJlZ0V4RXJyb3IgPSAhdGhpcy5yZWdFeC50ZXN0KHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubWluTGVuZ3RoRXJyb3IgPSB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZ0V4RXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMubWluTGVuZ3RoRXJyb3IgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrVmFsdWUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBUeXBlLk5VTUJFUikge1xuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGNvbnN0IGN1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgICBjb25zdCB2YWx1ZSA9IGlucHV0LnZhbHVlO1xuXG4gICAgICAvLyBBbGxvdyBkaWdpdHMgYW5kIGNvbnRyb2wga2V5c1xuICAgICAgaWYgKC9bMC05XS8udGVzdChldmVudC5rZXkpIHx8IFsnQmFja3NwYWNlJywgJ1RhYicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdEZWxldGUnXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIEFsbG93ICctJyBvbmx5IGF0IHRoZSBzdGFydCBhbmQgaWYgbm90IGFscmVhZHkgcHJlc2VudFxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJy0nICYmIGN1cnNvclBvcyA9PT0gMCAmJiAhdmFsdWUuc3RhcnRzV2l0aCgnLScpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIEFsbG93ICcuJyBvciAnLCcgb25seSBpZiBuZWl0aGVyIGlzIHByZXNlbnRcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSAnLicgfHwgZXZlbnQua2V5ID09PSAnLCcpICYmICF2YWx1ZS5pbmNsdWRlcygnLicpICYmICF2YWx1ZS5pbmNsdWRlcygnLCcpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBlbnVtIFR5cGUge1xuICBURVhUID0gJ1RFWFQnLFxuICBOVU1CRVIgPSAnTlVNQkVSJyxcbiAgRU1BSUwgPSAnRU1BSUwnLFxuICBQQVNTV09SRCA9ICdQQVNTV09SRCdcbn1cbiIsIjxkaXYgY2xhc3M9XCJiaWl0LWlucHV0XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8YmlpdC10b29sdGlwLWljb24gKm5nSWY9XCJpbmZvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b29sdGlwLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJpbmZvXCI+PC9iaWl0LXRvb2x0aXAtaWNvbj5cbiAgICA8aW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1vYmplY3RcIlxuICAgICAgICAgICAoa2V5ZG93bik9XCJjaGVja1ZhbHVlKCRldmVudClcIlxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgKGlucHV0KT1cInZhbHVlXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KTsgdmFsaWRhdGVJbnB1dCgpO1wiXG4gICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uUGVyZm9ybWVkLmVtaXQodmFsdWUpXCJcbiAgICAgICAgICAgW3R5cGVdPVwicmV2ZWFsID8gVHlwZS5URVhUIDogdHlwZVwiIHJlcXVpcmVkXG4gICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICBbbWlubGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogMTAwXCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09XCJmaWVsZE5hbWVcIlxuICAgICAgICAgICBbY2xhc3MuZXJyb3JdPVwiZXJyb3IgfHwgcmVnRXhFcnJvciB8fCBtaW5MZW5ndGhFcnJvclwiXG4gICAgICAgICAgIFtjbGFzcy5yZXZlYWxdPVwicmV2ZWFsXCJcbiAgICA+XG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09IFR5cGUuUEFTU1dPUkQgfHwgaWNvblwiIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAoY2xpY2spPVwicmV2ZWFsID0gKHR5cGUgPT09IFR5cGUuUEFTU1dPUkQgPyAhcmV2ZWFsIDogZmFsc2UpOyBvbkFjdGlvblBlcmZvcm1lZC5lbWl0KHZhbHVlKVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJyZXZlYWwgPSAodHlwZSA9PT0gVHlwZS5QQVNTV09SRCA/ICFyZXZlYWwgOiBmYWxzZSk7IG9uQWN0aW9uUGVyZm9ybWVkLmVtaXQodmFsdWUpXCJcbiAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJ0eXBlID09PSBUeXBlLlBBU1NXT1JEID8gJ3Nob3cnIDogaWNvblwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uXCJcbiAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogcmV2ZWFsID8gJyNGMjBENUUnIDogJyMyNjI2MjYnfVwiXG4gICAgICA+PC9iaWl0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXBsYWNlaG9sZGVyXCIgW2NsYXNzLmlucHV0LWZpbGxlZF09XCJ0aGlzLnZhbHVlPy50b1N0cmluZygpLmxlbmd0aFwiPlxuICAgICAge3sgX3BsYWNlaG9sZGVyIH19XG4gICAgICA8YSAqbmdJZj1cInJlcXVpcmVkXCJcbiAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZSA/IG51bGwgOiAncmVkJ1wiPio8L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtaWNvbiAqbmdJZj1cImVycm9yIHx8IHJlZ0V4RXJyb3IgfHwgbWluTGVuZ3RoRXJyb3JcIiBpZD1cImV4Y2xhbWF0aW9uXCIgbmFtZT1cImV4Y2xhbWF0aW9uXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZXJyb3ItaWNvblwiIFtwYXRoU3R5bGVdPVwie2ZpbGw6JyNBMTA5M0YnfVwiPjwvYmlpdC1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbGluZVwiXG4gICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJpbnB1dC1lcnJvci1tc2dcIiBpZD1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgIDxhIGlkPVwibWVzc2FnZVwiPlxuICAgICAgICB7eyBlcnJvciB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJyZWdFeEVycm9yICYmICFlcnJvclwiIGlkPVwicmVnZXgtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICA8YSBpZD1cInJlZ2V4LW1lc3NhZ2VcIj5cbiAgICAgICAge3sgdCgnaW5wdXRzLnJlZ2V4LWVycm9yJykgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWluTGVuZ3RoRXJyb3IgJiYgIWVycm9yICYmICFyZWdFeEVycm9yXCIgaWQ9XCJsZW5ndGgtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICA8YSBpZD1cImxlbmd0aC1tZXNzYWdlXCI+XG4gICAgICAgIHt7IHQoJ2lucHV0cy5taW5sZW5ndGgtZXJyb3InKSB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBpZD1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJpbnB1dC1kZXNjcmlwdGlvblwiPlxuICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1pbnB1dC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL2lucHV0cy9zcmMvYmlpdC1pbnB1dC10ZXh0L2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtaW5wdXQtdGV4dC9iaWl0LWlucHV0LXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFrQjVELE1BQU0sT0FBTyxzQkFBc0I7SUFoQm5DO1FBcUJZLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBZWxCLHNCQUFpQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRS9FLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUNULFNBQUksR0FBRyxJQUFJLENBQUM7UUEwQi9CLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FtQ3BCO0lBdEZDLElBQWEsV0FBVyxDQUFDLFdBQW1CO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUF3QkQs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bXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIENoYW5nZURldGVjdG9yUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7YmlpdEljb259IGZyb20gJ0BiaWl0LXNvbHV0aW9ucy9iaWl0LWljb25zLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHtUUkFOU0xPQ09fU0NPUEV9IGZyb20gXCJAbmduZWF0L3RyYW5zbG9jb1wiO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlpdC1pbnB1dC10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JpaXQtaW5wdXQtdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXRJbnB1dFRleHRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19TQ09QRSxcbiAgICAgIHVzZVZhbHVlOiB7c2NvcGU6ICd3aXphcmRyeS10aGVtZS9pbnB1dHMnLCBhbGlhczogXCJpbnB1dHNcIn1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdElucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgfVxuICBwcm90ZWN0ZWQgX3BsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogVHlwZTtcbiAgQElucHV0KCkgaWNvbjogYmlpdEljb247XG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZDtcbiAgQElucHV0KCkgcmVxdWlyZWQ7XG4gIEBJbnB1dCgpIHJlYWRvbmx5O1xuICBASW5wdXQoKSBtaW46IG51bWJlcjtcbiAgQElucHV0KCkgbWF4OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgcmVnRXg6IFJlZ0V4cDtcbiAgQE91dHB1dCgpIG9uQWN0aW9uUGVyZm9ybWVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHJldmVhbDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWx1ZTogc3RyaW5nO1xuICBtaW5MZW5ndGhFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWdFeEVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSBUeXBlID0gVHlwZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuZGlzYWJsZWQpO1xuICAgIHRoaXMucmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodGhpcy5yZXF1aXJlZCk7XG4gICAgdGhpcy5yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLnJlYWRvbmx5KTtcblxuICAgIGlmICh0aGlzLnR5cGUgPT0gVHlwZS5FTUFJTCkge1xuICAgICAgdGhpcy5yZWdFeCA9IG5ldyBSZWdFeHAoXCIoPzpbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFxcXC5bYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSp8XFxcIig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxXFx4MjMtXFx4NWJcXHg1ZC1cXHg3Zl18XFxcXFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSpcXFwiKUAoPzooPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XFxcXC4pK1thLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT98XFxcXFsoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFxcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcXFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKylcXFxcXSlcIik7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVJbnB1dCgpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5yZWdFeCkge1xuICAgICAgICB0aGlzLnJlZ0V4RXJyb3IgPSAhdGhpcy5yZWdFeC50ZXN0KHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubWluTGVuZ3RoRXJyb3IgPSB0aGlzLnZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZ0V4RXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMubWluTGVuZ3RoRXJyb3IgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrVmFsdWUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBUeXBlLk5VTUJFUikge1xuICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGNvbnN0IGN1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgICBjb25zdCB2YWx1ZSA9IGlucHV0LnZhbHVlO1xuXG4gICAgICAvLyBBbGxvdyBkaWdpdHMgYW5kIGNvbnRyb2wga2V5c1xuICAgICAgaWYgKC9bMC05XS8udGVzdChldmVudC5rZXkpIHx8IFsnQmFja3NwYWNlJywgJ1RhYicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdEZWxldGUnXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIEFsbG93ICctJyBvbmx5IGF0IHRoZSBzdGFydCBhbmQgaWYgbm90IGFscmVhZHkgcHJlc2VudFxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJy0nICYmIGN1cnNvclBvcyA9PT0gMCAmJiAhdmFsdWUuc3RhcnRzV2l0aCgnLScpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIEFsbG93ICcuJyBvciAnLCcgb25seSBpZiBuZWl0aGVyIGlzIHByZXNlbnRcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSAnLicgfHwgZXZlbnQua2V5ID09PSAnLCcpICYmICF2YWx1ZS5pbmNsdWRlcygnLicpICYmICF2YWx1ZS5pbmNsdWRlcygnLCcpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBlbnVtIFR5cGUge1xuICBURVhUID0gJ1RFWFQnLFxuICBOVU1CRVIgPSAnTlVNQkVSJyxcbiAgRU1BSUwgPSAnRU1BSUwnLFxuICBQQVNTV09SRCA9ICdQQVNTV09SRCdcbn1cbiIsIjxkaXYgY2xhc3M9XCJiaWl0LWlucHV0XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8YmlpdC10b29sdGlwLWljb24gKm5nSWY9XCJpbmZvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b29sdGlwLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJpbmZvXCI+PC9iaWl0LXRvb2x0aXAtaWNvbj5cbiAgICA8aW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1vYmplY3RcIlxuICAgICAgICAgICAoa2V5ZG93bik9XCJjaGVja1ZhbHVlKCRldmVudClcIlxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgKGlucHV0KT1cInZhbHVlXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KTsgdmFsaWRhdGVJbnB1dCgpO1wiXG4gICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uUGVyZm9ybWVkLmVtaXQodmFsdWUpXCJcbiAgICAgICAgICAgW3R5cGVdPVwicmV2ZWFsID8gVHlwZS5URVhUIDogdHlwZVwiIHJlcXVpcmVkXG4gICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgICBbbWlubGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogMTAwXCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09XCJmaWVsZE5hbWVcIlxuICAgICAgICAgICBbY2xhc3MuZXJyb3JdPVwiZXJyb3IgfHwgcmVnRXhFcnJvciB8fCBtaW5MZW5ndGhFcnJvclwiXG4gICAgICAgICAgIFtjbGFzcy5yZXZlYWxdPVwicmV2ZWFsXCJcbiAgICA+XG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09IFR5cGUuUEFTU1dPUkQgfHwgaWNvblwiIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAoY2xpY2spPVwicmV2ZWFsID0gKHR5cGUgPT09IFR5cGUuUEFTU1dPUkQgPyAhcmV2ZWFsIDogZmFsc2UpOyBvbkFjdGlvblBlcmZvcm1lZC5lbWl0KHZhbHVlKVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJyZXZlYWwgPSAodHlwZSA9PT0gVHlwZS5QQVNTV09SRCA/ICFyZXZlYWwgOiBmYWxzZSk7IG9uQWN0aW9uUGVyZm9ybWVkLmVtaXQodmFsdWUpXCJcbiAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJ0eXBlID09PSBUeXBlLlBBU1NXT1JEID8gJ3Nob3cnIDogaWNvblwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2hvdy1pY29uXCJcbiAgICAgICAgICAgICAgICAgW3BhdGhTdHlsZV09XCJ7ZmlsbDogcmV2ZWFsID8gJyNGMjBENUUnIDogJyMyNjI2MjYnfVwiXG4gICAgICA+PC9iaWl0LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXBsYWNlaG9sZGVyXCIgW2NsYXNzLmlucHV0LWZpbGxlZF09XCJ0aGlzLnZhbHVlPy50b1N0cmluZygpLmxlbmd0aFwiPlxuICAgICAge3sgX3BsYWNlaG9sZGVyIH19XG4gICAgICA8YSAqbmdJZj1cInJlcXVpcmVkXCJcbiAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZSA/IG51bGwgOiAncmVkJ1wiPio8L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtaWNvbiAqbmdJZj1cImVycm9yIHx8IHJlZ0V4RXJyb3IgfHwgbWluTGVuZ3RoRXJyb3JcIiBpZD1cImV4Y2xhbWF0aW9uXCIgbmFtZT1cImV4Y2xhbWF0aW9uXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZXJyb3ItaWNvblwiIFtwYXRoU3R5bGVdPVwie2ZpbGw6JyNBMTA5M0YnfVwiPjwvYmlpdC1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbGluZVwiXG4gICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJpbnB1dC1lcnJvci1tc2dcIiBpZD1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgIDxhIGlkPVwibWVzc2FnZVwiPlxuICAgICAgICB7eyBlcnJvciB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJyZWdFeEVycm9yICYmICFlcnJvclwiIGlkPVwicmVnZXgtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICA8YSBpZD1cInJlZ2V4LW1lc3NhZ2VcIj5cbiAgICAgICAge3sgdCgnaW5wdXRzLnJlZ2V4LWVycm9yJykgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibWluTGVuZ3RoRXJyb3IgJiYgIWVycm9yICYmICFyZWdFeEVycm9yXCIgaWQ9XCJsZW5ndGgtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCI+XG4gICAgICA8YSBpZD1cImxlbmd0aC1tZXNzYWdlXCI+XG4gICAgICAgIHt7IHQoJ2lucHV0cy5taW5sZW5ndGgtZXJyb3InKSB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBpZD1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJpbnB1dC1kZXNjcmlwdGlvblwiPlxuICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -273,7 +273,7 @@ BiitMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
273
273
  useExisting: forwardRef(() => BiitMultiselectComponent),
274
274
  multi: true
275
275
  }
276
- ], ngImport: i0, template: "<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;min-width:12.8rem}.biit-input.compact{width:12.8rem}.input-container{position:relative;width:100%}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:3px solid black;margin-top:-3px;min-width:100%;width:100%;cursor:pointer;transform-origin:top;opacity:0;display:none;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:1rem;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + 6px);margin-left:-3px;padding-left:calc(.7rem + 3px)}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.dropdown-item ::ng-deep label{width:100%;height:100%;cursor:pointer}.dropdown-item ::ng-deep label input[type=checkbox]{cursor:pointer;pointer-events:none}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}.description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.chips .chips-item{font-size:.75rem;color:#fff;background:#f20D5e;padding:.25rem .75rem;position:relative;cursor:pointer}.chips .chips-item biit-icon{display:none}.chips .chips-item:hover biit-icon{display:block;height:100%;width:5px;position:absolute;top:0;right:4px}\n"], dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i5.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
276
+ ], ngImport: i0, template: "<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;min-width:12.8rem}.biit-input.compact{width:12.8rem}.input-container{position:relative;width:100%}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:var(--component-color);padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:var(--main-background)}.input-object:disabled{pointer-events:none;background-color:transparent;color:var(--main-background)}.default-cursor{cursor:auto}.input-placeholder{color:var(--component-color);font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:var(--secondary-color)}.input-placeholder.disabled{color:var(--main-background)}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:var(--main-background)}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled{background:var(--main-background)}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:3px solid black;margin-top:-3px;min-width:100%;width:100%;cursor:pointer;transform-origin:top;opacity:0;display:none;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:1rem;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus-visible{outline:none;background:var(--hover-color);width:calc(100% + 6px);margin-left:-3px;padding-left:calc(.7rem + 3px)}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.dropdown-item ::ng-deep label{width:100%;height:100%;cursor:pointer}.dropdown-item ::ng-deep label input[type=checkbox]{cursor:pointer;pointer-events:none}.passthrough{pointer-events:none}.grey-bg{background:var(--main-background)}.onwards{--origin: 1rem}.downwards{--origin: -1rem}.description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.chips .chips-item{font-size:.75rem;color:#fff;background:#f20D5e;padding:.25rem .75rem;position:relative;cursor:pointer}.chips .chips-item biit-icon{display:none}.chips .chips-item:hover biit-icon{display:block;height:100%;width:5px;position:absolute;top:0;right:4px}\n"], dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"], outputs: ["onValueChange"] }, { kind: "component", type: i5.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
277
277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectComponent, decorators: [{
278
278
  type: Component,
279
279
  args: [{ selector: 'biit-multiselect', providers: [
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
96
96
  }], onActionPerformed: [{
97
97
  type: Output
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtdGV4dGFyZWEvYmlpdC10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtdGV4dGFyZWEvYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWV2RSxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBY1csZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFZeEIsc0JBQWlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFL0UsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixXQUFNLEdBQVcsTUFBTSxDQUFDO1FBOEJ4QixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBYXBCO0lBekNDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUs7UUFDckIsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxLQUFLLENBQUM7WUFDZjtnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUtELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O21IQTVEVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixtWUFSckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDZEgsbXVDQWlDQTs0RkRqQmEscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNFLGVBQWUsYUFHZDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBSVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNhLE9BQU87c0JBQXpCLEtBQUs7dUJBQUMsVUFBVTtnQkFDRSxPQUFPO3NCQUF6QixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge2JpaXRJY29ufSBmcm9tICdAYmlpdC1zb2x1dGlvbnMvYmlpdC1pY29ucy1jb2xsZWN0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlpdC10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iaWl0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXRUZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogYmlpdEljb247XG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgncmVzaXplLXgnKSByZXNpemVYOiBib29sZWFuO1xuICBASW5wdXQoJ3Jlc2l6ZS15JykgcmVzaXplWTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25BY3Rpb25QZXJmb3JtZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcmV2ZWFsOiBib29sZWFuID0gZmFsc2U7XG4gIHJlc2l6ZTogc3RyaW5nID0gJ25vbmUnO1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLmNoZWNrQm9vbGVhbklucHV0KHRoaXMucmVhZG9ubHkpO1xuICAgIHRoaXMucmVzaXplWCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZXNpemVYKTtcbiAgICB0aGlzLnJlc2l6ZVkgPSB0aGlzLmNoZWNrQm9vbGVhbklucHV0KHRoaXMucmVzaXplWCk7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZXF1aXJlZCk7XG5cbiAgICBpZiAodGhpcy5yZXNpemVYICYmIHRoaXMucmVzaXplWSkge1xuICAgICAgdGhpcy5yZXNpemUgPSAnYm90aCdcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzaXplWCkge1xuICAgICAgdGhpcy5yZXNpemUgPSAnaG9yaXpvbnRhbCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc2l6ZVkpIHtcbiAgICAgIHRoaXMucmVzaXplID0gJ3ZlcnRpY2FsJztcbiAgICB9XG4gIH1cblxuICBjaGVja0Jvb2xlYW5JbnB1dCh2YWx1ZSkge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBjYXNlIGZhbHNlOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYmlpdC1pbnB1dFwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPGJpaXQtdG9vbHRpcC1pY29uICpuZ0lmPVwiaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9vbHRpcC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiaW5mb1wiPjwvYmlpdC10b29sdGlwLWljb24+XG4gICAgPHRleHRhcmVhXG4gICAgICBjbGFzcz1cImlucHV0LW9iamVjdFwiIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMub25DaGFuZ2UoJGV2ZW50KTtcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb25QZXJmb3JtZWQuZW1pdCh2YWx1ZSlcIlxuICAgICAgW2F0dHIubmFtZV09XCJmaWVsZE5hbWVcIlxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICBbY2xhc3MuZXJyb3JdPVwiZXJyb3JcIlxuICAgICAgW2NsYXNzLnJldmVhbF09XCJyZXZlYWxcIlxuICAgICAgW3N0eWxlLnJlc2l6ZV09XCJyZXNpemVcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1wbGFjZWhvbGRlclwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDxhICpuZ0lmPVwicmVxdWlyZWRcIlxuICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInZhbHVlID8gbnVsbCA6ICdyZWQnXCI+KjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8YmlpdC1pY29uICpuZ0lmPVwiZXJyb3JcIiBpZD1cImV4Y2xhbWF0aW9uXCIgbmFtZT1cImV4Y2xhbWF0aW9uXCIgY2xhc3M9XCJpbnB1dC1lcnJvci1pY29uXCJcbiAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6JyNBMTA5M0YnfVwiPjwvYmlpdC1pY29uPlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCIgaWQ9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICA8YSBpZD1cIm1lc3NhZ2VcIj5cbiAgICAgICAge3sgZXJyb3IgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cImRlc2NyaXB0aW9uXCIgaWQ9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiaW5wdXQtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtdGV4dGFyZWEvYmlpdC10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9pbnB1dHMvc3JjL2JpaXQtdGV4dGFyZWEvYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWV2RSxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBY1csZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFZeEIsc0JBQWlCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFL0UsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixXQUFNLEdBQVcsTUFBTSxDQUFDO1FBOEJ4QixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBYXBCO0lBekNDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQ3JCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUs7UUFDckIsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxLQUFLLENBQUM7WUFDZjtnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUtELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O21IQTVEVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixtWUFSckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDZEgsbXVDQWlDQTs0RkRqQmEscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNFLGVBQWUsYUFHZDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBSVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNhLE9BQU87c0JBQXpCLEtBQUs7dUJBQUMsVUFBVTtnQkFDRSxPQUFPO3NCQUF6QixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge2JpaXRJY29ufSBmcm9tICdAYmlpdC1zb2x1dGlvbnMvYmlpdC1pY29ucy1jb2xsZWN0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlpdC10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iaWl0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmlpdC10ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJpaXRUZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogYmlpdEljb247XG4gIEBJbnB1dCgpIGZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgncmVzaXplLXgnKSByZXNpemVYOiBib29sZWFuO1xuICBASW5wdXQoJ3Jlc2l6ZS15JykgcmVzaXplWTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25BY3Rpb25QZXJmb3JtZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcmV2ZWFsOiBib29sZWFuID0gZmFsc2U7XG4gIHJlc2l6ZTogc3RyaW5nID0gJ25vbmUnO1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLmNoZWNrQm9vbGVhbklucHV0KHRoaXMucmVhZG9ubHkpO1xuICAgIHRoaXMucmVzaXplWCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZXNpemVYKTtcbiAgICB0aGlzLnJlc2l6ZVkgPSB0aGlzLmNoZWNrQm9vbGVhbklucHV0KHRoaXMucmVzaXplWCk7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMuY2hlY2tCb29sZWFuSW5wdXQodGhpcy5yZXF1aXJlZCk7XG5cbiAgICBpZiAodGhpcy5yZXNpemVYICYmIHRoaXMucmVzaXplWSkge1xuICAgICAgdGhpcy5yZXNpemUgPSAnYm90aCdcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzaXplWCkge1xuICAgICAgdGhpcy5yZXNpemUgPSAnaG9yaXpvbnRhbCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc2l6ZVkpIHtcbiAgICAgIHRoaXMucmVzaXplID0gJ3ZlcnRpY2FsJztcbiAgICB9XG4gIH1cblxuICBjaGVja0Jvb2xlYW5JbnB1dCh2YWx1ZSkge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBjYXNlIGZhbHNlOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYmlpdC1pbnB1dFwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPGJpaXQtdG9vbHRpcC1pY29uICpuZ0lmPVwiaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9vbHRpcC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiaW5mb1wiPjwvYmlpdC10b29sdGlwLWljb24+XG4gICAgPHRleHRhcmVhXG4gICAgICBjbGFzcz1cImlucHV0LW9iamVjdFwiIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMub25DaGFuZ2UoJGV2ZW50KTtcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb25QZXJmb3JtZWQuZW1pdCh2YWx1ZSlcIlxuICAgICAgW2F0dHIubmFtZV09XCJmaWVsZE5hbWVcIlxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICBbY2xhc3MuZXJyb3JdPVwiZXJyb3JcIlxuICAgICAgW2NsYXNzLnJldmVhbF09XCJyZXZlYWxcIlxuICAgICAgW3N0eWxlLnJlc2l6ZV09XCJyZXNpemVcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1wbGFjZWhvbGRlclwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDxhICpuZ0lmPVwicmVxdWlyZWRcIlxuICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInZhbHVlID8gbnVsbCA6ICdyZWQnXCI+KjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8YmlpdC1pY29uICpuZ0lmPVwiZXJyb3JcIiBpZD1cImV4Y2xhbWF0aW9uXCIgbmFtZT1cImV4Y2xhbWF0aW9uXCIgY2xhc3M9XCJpbnB1dC1lcnJvci1pY29uXCJcbiAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6JyNBMTA5M0YnfVwiPjwvYmlpdC1pY29uPlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiaW5wdXQtZXJyb3ItbXNnXCIgaWQ9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICA8YSBpZD1cIm1lc3NhZ2VcIj5cbiAgICAgICAge3sgZXJyb3IgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cImRlc2NyaXB0aW9uXCIgaWQ9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiaW5wdXQtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -63,9 +63,6 @@ export class BiitNavMenuComponent {
63
63
  }
64
64
  this.contextMenuService.show(this.contextMenu, { x, y });
65
65
  }
66
- log(event) {
67
- console.debug("DEVELOPMENT LOG: ", event);
68
- }
69
66
  }
70
67
  BiitNavMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitNavMenuComponent, deps: [{ token: i1.Router }, { token: i2.ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
71
68
  BiitNavMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitNavMenuComponent, selector: "biit-nav-menu", inputs: { routes: "routes" }, viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["navbarMenu"], descendants: true }, { propertyName: "navbarRef", first: true, predicate: ["navbarMenu"], descendants: true, read: ElementRef }, { propertyName: "menuCanvas", first: true, predicate: ["menuCanvas"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"nav-wrapper\">\n <button class=\"nav-arrow left\" id=\"nav-menu-left\"\n *ngIf=\"showLeft\"\n (click)=\"scrollLeft()\"\n aria-label=\"Scroll left\">\n \u2039\n </button>\n\n <div #menuCanvas class=\"navbar-menu-canvas scroll-x\" id=\"nav-menu\">\n <div class=\"item\" #navItem\n *ngFor=\"let route of routes\"\n [attr.id]=\"'nav-item-' + route.path\"\n [routerLink]=\"route.children ? null : [route.path]\"\n [routerLinkActive]=\"['active']\"\n [class.active]=\"router.url.includes('/'+route.path)\"\n [class.hover]=\"route == hovered && contextMenuService.hasOpenMenu()\"\n [class.disabled]=\"route.data?.['disabled']\"\n [style.display]=\"route.data?.['hidden'] ? 'none' : 'inline-flex'\"\n (click)=\"route.children ? onContextMenu(route, navItem) : null\">\n {{ route.title }}\n <context-menu #navbarMenu menuClass=\"custom-style\">\n <ng-template contextMenuItem\n *ngFor=\"let item of contextMenuItems\"\n [disabled]=\"item.disabled\"\n [visible]=\"item.visible\"\n (execute)=\"router.navigate([item.parent, item.path])\">\n <div [attr.id]=\"'nav-subitem-' + item.path\"\n [class.active]=\"router.url.includes('/' + item.parent + '/' + item.path)\">\n {{ item.title }}\n </div>\n </ng-template>\n </context-menu>\n </div>\n </div>\n\n <button class=\"nav-arrow right\" id=\"nav-menu-right\"\n *ngIf=\"showRight\"\n (click)=\"scrollRight()\n\"\n aria-label=\"Scroll right\">\n \u203A\n </button>\n</div>\n", styles: ["@charset \"UTF-8\";.navbar-menu-canvas{height:2.5rem;display:flex;background:white;overflow-x:auto}.navbar-menu-canvas .item{display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;-webkit-user-select:none;user-select:none;cursor:pointer}.navbar-menu-canvas .item:active,.navbar-menu-canvas .item.active,.navbar-menu-canvas .item.open{background:var(--hover-color)}.navbar-menu-canvas .item:hover,.navbar-menu-canvas .item.hover{background:var(--main-background)}.disabled{color:var(--hover-color);pointer-events:none}.nav-wrapper{position:relative;display:flex;align-items:stretch}.navbar-menu-canvas.scroll-x{overflow-x:auto;overflow-y:hidden;display:flex;gap:.5rem;scrollbar-width:none}.navbar-menu-canvas.scroll-x::-webkit-scrollbar{display:none}.item{flex:0 0 auto}.nav-arrow{position:absolute;top:0;bottom:0;width:32px;padding:0;border:none;background:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,0)) center/100% 100%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;z-index:5;color:#333;backdrop-filter:blur(2px)}.nav-arrow.left{left:0;background:linear-gradient(to right,rgba(255,255,255,.9),transparent)}.nav-arrow.right{right:0;background:linear-gradient(to left,rgba(255,255,255,.9),transparent)}.nav-arrow:hover{color:#000}.custom-style{--ngx-contextmenu-focusable-border-bottom: 1px dotted #70757e;--ngx-contextmenu-border-radius: 4px;--ngx-contextmenu-border: 1px solid rgba(0, 0, 0, .18);--ngx-contextmenu-margin: 2px 0 0;--ngx-contextmenu-min-width: 160px;--ngx-contextmenu-padding: 5px 0;--ngx-contextmenu-max-height: 100vh;--ngx-contextmenu-item-arrow-left: \"\\25c0\";--ngx-contextmenu-item-arrow-right: \"\\25b6\";--ngx-contextmenu-item-separator-color: $separator-color;--ngx-contextmenu-item-separator-padding: 10px;--ngx-contextmenu-item-separator-width: 96%;--ngx-contextmenu-item-padding: 6px 20px;--ngx-contextmenu-item-text-hover-color: $text-over-color}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i2.ContextMenuComponent, selector: "context-menu", inputs: ["menuClass", "disabled", "dir"], outputs: ["open", "close"] }, { kind: "directive", type: i2.ContextMenuItemDirective, selector: "[contextMenuItem]", inputs: ["subMenu", "divider", "disabled", "passive", "visible"], outputs: ["execute"] }], encapsulation: i0.ViewEncapsulation.None });
@@ -84,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
84
81
  type: ViewChild,
85
82
  args: ['menuCanvas', { static: true }]
86
83
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9uYXZpZ2F0aW9uL3NyYy9iaWl0LW5hdi1tZW51L2JpaXQtbmF2LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvbmF2aWdhdGlvbi9zcmMvYmlpdC1uYXYtbWVudS9iaWl0LW5hdi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUFzQixNQUFjLEVBQ2Qsa0JBQTZDO1FBRDdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBbEIxRCxXQUFNLEdBQVksRUFBRSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSVosaUJBQVksR0FBRyxZQUFZLENBQUM7UUFNL0MscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUlsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO2FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFB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QkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUMzQyxDQUFDOztrSEEvRVUsb0JBQW9CO3NHQUFwQixvQkFBb0IsbVFBVUMsVUFBVSxzSUN2QjVDLHdyREEyQ0E7NEZEOUJhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7OEhBSTVCLE1BQU07c0JBQWQsS0FBSztnQkFRbUIsV0FBVztzQkFBbkMsU0FBUzt1QkFBQyxZQUFZO2dCQUNzQixTQUFTO3NCQUFyRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBQ0EsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29udGV4dE1lbnVDb21wb25lbnQsIENvbnRleHRNZW51U2VydmljZX0gZnJvbSBcIkBwZXJmZWN0bWVtb3J5L25neC1jb250ZXh0bWVudVwiO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtbmF2LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJ2JpaXQtbmF2LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYmlpdC1uYXYtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuXG5leHBvcnQgY2xhc3MgQmlpdE5hdk1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKSByb3V0ZXM6IFJvdXRlW10gPSBbXTtcbiAgcHJvdGVjdGVkIGhvdmVyZWQ6IFJvdXRlO1xuICBwcm90ZWN0ZWQgc3VibWVudUhvdmVyID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzdWJtZW51SXRlbUhvdmVyO1xuICBwcm90ZWN0ZWQgdGltZW91dDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuXG4gIEBWaWV3Q2hpbGQoJ25hdmJhck1lbnUnKSBjb250ZXh0TWVudTogQ29udGV4dE1lbnVDb21wb25lbnQ8Um91dGU+O1xuICBAVmlld0NoaWxkKCduYXZiYXJNZW51Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBuYXZiYXJSZWY6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ21lbnVDYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtZW51Q2FudmFzITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgY29udGV4dE1lbnVJdGVtcyA9IFtdO1xuICBoYXNPdmVyZmxvdyA9IGZhbHNlO1xuICBzaG93TGVmdCA9IGZhbHNlO1xuICBzaG93UmlnaHQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjb250ZXh0TWVudVNlcnZpY2U6IENvbnRleHRNZW51U2VydmljZTxSb3V0ZT4pIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFycm93cygpO1xuICAgIGZyb21FdmVudCh0aGlzLm1lbnVDYW52YXMubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcpXG4gICAgICAucGlwZShhdWRpdFRpbWUoNTApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUFycm93cygpKTtcblxuICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMudXBkYXRlQXJyb3dzKCkpO1xuICAgIHJvLm9ic2VydmUodGhpcy5tZW51Q2FudmFzLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBcnJvd3MoKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLm1lbnVDYW52YXMubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmhhc092ZXJmbG93ID0gZWwuc2Nyb2xsV2lkdGggPiBlbC5jbGllbnRXaWR0aDtcbiAgICB0aGlzLnNob3dMZWZ0ID0gdGhpcy5oYXNPdmVyZmxvdyAmJiBlbC5zY3JvbGxMZWZ0ID4gMDtcbiAgICB0aGlzLnNob3dSaWdodCA9IHRoaXMuaGFzT3ZlcmZsb3cgJiYgKGVsLnNjcm9sbExlZnQgKyBlbC5jbGllbnRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoKTtcbiAgfVxuXG4gIHNjcm9sbExlZnQoKTogdm9pZCB7XG4gICAgdGhpcy5tZW51Q2FudmFzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiAtMjAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gIH1cblxuICBzY3JvbGxSaWdodCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVDYW52YXMubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IGxlZnQ6IDIwMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG5cbiAgb25Db250ZXh0TWVudShyb3V0ZTogUm91dGUsIG5hdkl0ZW06IEhUTUxEaXZFbGVtZW50KSB7XG4gICAgdGhpcy5ob3ZlcmVkID0gcm91dGU7XG4gICAgdGhpcy5jb250ZXh0TWVudUl0ZW1zID0gcm91dGUuY2hpbGRyZW4/Lm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICBkaXNhYmxlZDogaXRlbS5kYXRhPy5bJ2Rpc2FibGVkJ10sXG4gICAgICAgIHZpc2libGU6ICFpdGVtLmRhdGE/LlsnaGlkZGVuJ10sXG4gICAgICAgIHBhdGg6IGl0ZW0ucGF0aCxcbiAgICAgICAgcGFyZW50OiByb3V0ZS5wYXRoXG4gICAgICB9XG4gICAgfSlcbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuTWVudShuYXZJdGVtKTtcbiAgICB9LCA1MCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3Blbk1lbnUobmF2SXRlbTogSFRNTERpdkVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZWN0OiBET01SZWN0ID0gbmF2SXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgeDogbnVtYmVyID0gcmVjdC5sZWZ0ICsgd2luZG93LnNjcm9sbFg7XG4gICAgbGV0IHk6IG51bWJlciA9IHJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFk7XG5cbiAgICAvLyBPcHRpb25hbDogYXZvaWQgY2xpcHBpbmcgb24gdGhlIHJpZ2h0IGVkZ2VcbiAgICBjb25zdCBtYXhYOiBudW1iZXIgPSB3aW5kb3cuc2Nyb2xsWCArIHdpbmRvdy5pbm5lcldpZHRoIC0gMTA7XG4gICAgaWYgKHggPiBtYXhYKSB7XG4gICAgICB4ID0gbWF4WDtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zaG93KHRoaXMuY29udGV4dE1lbnUsIHsgeCwgeSB9KTtcbiAgfVxuXG4gIGxvZyhldmVudCkge1xuICAgIGNvbnNvbGUuZGVidWcoXCJERVZFTE9QTUVOVCBMT0c6IFwiLCBldmVudClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5hdi13cmFwcGVyXCI+XG4gIDxidXR0b24gY2xhc3M9XCJuYXYtYXJyb3cgbGVmdFwiIGlkPVwibmF2LW1lbnUtbGVmdFwiXG4gICAgICAgICAgKm5nSWY9XCJzaG93TGVmdFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNjcm9sbExlZnQoKVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNjcm9sbCBsZWZ0XCI+XG4gICAg4oC5XG4gIDwvYnV0dG9uPlxuXG4gIDxkaXYgI21lbnVDYW52YXMgY2xhc3M9XCJuYXZiYXItbWVudS1jYW52YXMgc2Nyb2xsLXhcIiBpZD1cIm5hdi1tZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAjbmF2SXRlbVxuICAgICAgICAgKm5nRm9yPVwibGV0IHJvdXRlIG9mIHJvdXRlc1wiXG4gICAgICAgICBbYXR0ci5pZF09XCInbmF2LWl0ZW0tJyArIHJvdXRlLnBhdGhcIlxuICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGUuY2hpbGRyZW4gPyBudWxsIDogW3JvdXRlLnBhdGhdXCJcbiAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIlsnYWN0aXZlJ11cIlxuICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyb3V0ZXIudXJsLmluY2x1ZGVzKCcvJytyb3V0ZS5wYXRoKVwiXG4gICAgICAgICBbY2xhc3MuaG92ZXJdPVwicm91dGUgPT0gaG92ZXJlZCAmJiBjb250ZXh0TWVudVNlcnZpY2UuaGFzT3Blbk1lbnUoKVwiXG4gICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicm91dGUuZGF0YT8uWydkaXNhYmxlZCddXCJcbiAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInJvdXRlLmRhdGE/LlsnaGlkZGVuJ10gPyAnbm9uZScgOiAnaW5saW5lLWZsZXgnXCJcbiAgICAgICAgIChjbGljayk9XCJyb3V0ZS5jaGlsZHJlbiA/IG9uQ29udGV4dE1lbnUocm91dGUsIG5hdkl0ZW0pIDogbnVsbFwiPlxuICAgICAge3sgcm91dGUudGl0bGUgfX1cbiAgICAgIDxjb250ZXh0LW1lbnUgI25hdmJhck1lbnUgbWVudUNsYXNzPVwiY3VzdG9tLXN0eWxlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBjb250ZXh0TWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgIChleGVjdXRlKT1cInJvdXRlci5uYXZpZ2F0ZShbaXRlbS5wYXJlbnQsIGl0ZW0ucGF0aF0pXCI+XG4gICAgICAgICAgPGRpdiBbYXR0ci5pZF09XCInbmF2LXN1Yml0ZW0tJyArIGl0ZW0ucGF0aFwiXG4gICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInJvdXRlci51cmwuaW5jbHVkZXMoJy8nICsgaXRlbS5wYXJlbnQgKyAnLycgKyBpdGVtLnBhdGgpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2NvbnRleHQtbWVudT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdi1hcnJvdyByaWdodFwiIGlkPVwibmF2LW1lbnUtcmlnaHRcIlxuICAgICAgICAgICpuZ0lmPVwic2hvd1JpZ2h0XCJcbiAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsUmlnaHQoKVxuXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2Nyb2xsIHJpZ2h0XCI+XG4gICAg4oC6XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC1uYXYtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS9uYXZpZ2F0aW9uL3NyYy9iaWl0LW5hdi1tZW51L2JpaXQtbmF2LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvbmF2aWdhdGlvbi9zcmMvYmlpdC1uYXYtbWVudS9iaWl0LW5hdi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUFzQixNQUFjLEVBQ2Qsa0JBQTZDO1FBRDdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBbEIxRCxXQUFNLEdBQVksRUFBRSxDQUFDO1FBRXBCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSVosaUJBQVksR0FBRyxZQUFZLENBQUM7UUFNL0MscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUlsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO2FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFB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Qyx3ckRBMkNBOzRGRDlCYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzhIQUk1QixNQUFNO3NCQUFkLEtBQUs7Z0JBUW1CLFdBQVc7c0JBQW5DLFNBQVM7dUJBQUMsWUFBWTtnQkFDc0IsU0FBUztzQkFBckQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQUNBLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0NvbnRleHRNZW51Q29tcG9uZW50LCBDb250ZXh0TWVudVNlcnZpY2V9IGZyb20gXCJAcGVyZmVjdG1lbW9yeS9uZ3gtY29udGV4dG1lbnVcIjtcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LW5hdi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICdiaWl0LW5hdi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2JpaXQtbmF2LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcblxuZXhwb3J0IGNsYXNzIEJpaXROYXZNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcm91dGVzOiBSb3V0ZVtdID0gW107XG4gIHByb3RlY3RlZCBob3ZlcmVkOiBSb3V0ZTtcbiAgcHJvdGVjdGVkIHN1Ym1lbnVIb3ZlciA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc3VibWVudUl0ZW1Ib3ZlcjtcbiAgcHJvdGVjdGVkIHRpbWVvdXQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcblxuICBAVmlld0NoaWxkKCduYXZiYXJNZW51JykgY29udGV4dE1lbnU6IENvbnRleHRNZW51Q29tcG9uZW50PFJvdXRlPjtcbiAgQFZpZXdDaGlsZCgnbmF2YmFyTWVudScsIHtyZWFkOiBFbGVtZW50UmVmfSkgbmF2YmFyUmVmOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtZW51Q2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgbWVudUNhbnZhcyE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIGNvbnRleHRNZW51SXRlbXMgPSBbXTtcbiAgaGFzT3ZlcmZsb3cgPSBmYWxzZTtcbiAgc2hvd0xlZnQgPSBmYWxzZTtcbiAgc2hvd1JpZ2h0ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2U8Um91dGU+KSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBcnJvd3MoKTtcbiAgICBmcm9tRXZlbnQodGhpcy5tZW51Q2FudmFzLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxuICAgICAgLnBpcGUoYXVkaXRUaW1lKDUwKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVBcnJvd3MoKSk7XG5cbiAgICBjb25zdCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLnVwZGF0ZUFycm93cygpKTtcbiAgICByby5vYnNlcnZlKHRoaXMubWVudUNhbnZhcy5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXJyb3dzKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gdGhpcy5tZW51Q2FudmFzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5oYXNPdmVyZmxvdyA9IGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5zaG93TGVmdCA9IHRoaXMuaGFzT3ZlcmZsb3cgJiYgZWwuc2Nyb2xsTGVmdCA+IDA7XG4gICAgdGhpcy5zaG93UmlnaHQgPSB0aGlzLmhhc092ZXJmbG93ICYmIChlbC5zY3JvbGxMZWZ0ICsgZWwuY2xpZW50V2lkdGggPCBlbC5zY3JvbGxXaWR0aCk7XG4gIH1cblxuICBzY3JvbGxMZWZ0KCk6IHZvaWQge1xuICAgIHRoaXMubWVudUNhbnZhcy5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgbGVmdDogLTIwMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG5cbiAgc2Nyb2xsUmlnaHQoKTogdm9pZCB7XG4gICAgdGhpcy5tZW51Q2FudmFzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiAyMDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgfVxuXG4gIG9uQ29udGV4dE1lbnUocm91dGU6IFJvdXRlLCBuYXZJdGVtOiBIVE1MRGl2RWxlbWVudCkge1xuICAgIHRoaXMuaG92ZXJlZCA9IHJvdXRlO1xuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtcyA9IHJvdXRlLmNoaWxkcmVuPy5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgZGlzYWJsZWQ6IGl0ZW0uZGF0YT8uWydkaXNhYmxlZCddLFxuICAgICAgICB2aXNpYmxlOiAhaXRlbS5kYXRhPy5bJ2hpZGRlbiddLFxuICAgICAgICBwYXRoOiBpdGVtLnBhdGgsXG4gICAgICAgIHBhcmVudDogcm91dGUucGF0aFxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub3Blbk1lbnUobmF2SXRlbSk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9wZW5NZW51KG5hdkl0ZW06IEhUTUxEaXZFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IG5hdkl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgbGV0IHg6IG51bWJlciA9IHJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYO1xuICAgIGxldCB5OiBudW1iZXIgPSByZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZO1xuXG4gICAgLy8gT3B0aW9uYWw6IGF2b2lkIGNsaXBwaW5nIG9uIHRoZSByaWdodCBlZGdlXG4gICAgY29uc3QgbWF4WDogbnVtYmVyID0gd2luZG93LnNjcm9sbFggKyB3aW5kb3cuaW5uZXJXaWR0aCAtIDEwO1xuICAgIGlmICh4ID4gbWF4WCkge1xuICAgICAgeCA9IG1heFg7XG4gICAgfVxuXG4gICAgdGhpcy5jb250ZXh0TWVudVNlcnZpY2Uuc2hvdyh0aGlzLmNvbnRleHRNZW51LCB7IHgsIHkgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuYXYtd3JhcHBlclwiPlxuICA8YnV0dG9uIGNsYXNzPVwibmF2LWFycm93IGxlZnRcIiBpZD1cIm5hdi1tZW51LWxlZnRcIlxuICAgICAgICAgICpuZ0lmPVwic2hvd0xlZnRcIlxuICAgICAgICAgIChjbGljayk9XCJzY3JvbGxMZWZ0KClcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJTY3JvbGwgbGVmdFwiPlxuICAgIOKAuVxuICA8L2J1dHRvbj5cblxuICA8ZGl2ICNtZW51Q2FudmFzIGNsYXNzPVwibmF2YmFyLW1lbnUtY2FudmFzIHNjcm9sbC14XCIgaWQ9XCJuYXYtbWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgI25hdkl0ZW1cbiAgICAgICAgICpuZ0Zvcj1cImxldCByb3V0ZSBvZiByb3V0ZXNcIlxuICAgICAgICAgW2F0dHIuaWRdPVwiJ25hdi1pdGVtLScgKyByb3V0ZS5wYXRoXCJcbiAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlLmNoaWxkcmVuID8gbnVsbCA6IFtyb3V0ZS5wYXRoXVwiXG4gICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJbJ2FjdGl2ZSddXCJcbiAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwicm91dGVyLnVybC5pbmNsdWRlcygnLycrcm91dGUucGF0aClcIlxuICAgICAgICAgW2NsYXNzLmhvdmVyXT1cInJvdXRlID09IGhvdmVyZWQgJiYgY29udGV4dE1lbnVTZXJ2aWNlLmhhc09wZW5NZW51KClcIlxuICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInJvdXRlLmRhdGE/LlsnZGlzYWJsZWQnXVwiXG4gICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJyb3V0ZS5kYXRhPy5bJ2hpZGRlbiddID8gJ25vbmUnIDogJ2lubGluZS1mbGV4J1wiXG4gICAgICAgICAoY2xpY2spPVwicm91dGUuY2hpbGRyZW4gPyBvbkNvbnRleHRNZW51KHJvdXRlLCBuYXZJdGVtKSA6IG51bGxcIj5cbiAgICAgIHt7IHJvdXRlLnRpdGxlIH19XG4gICAgICA8Y29udGV4dC1tZW51ICNuYXZiYXJNZW51IG1lbnVDbGFzcz1cImN1c3RvbS1zdHlsZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgY29udGV4dE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAoZXhlY3V0ZSk9XCJyb3V0ZXIubmF2aWdhdGUoW2l0ZW0ucGFyZW50LCBpdGVtLnBhdGhdKVwiPlxuICAgICAgICAgIDxkaXYgW2F0dHIuaWRdPVwiJ25hdi1zdWJpdGVtLScgKyBpdGVtLnBhdGhcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyb3V0ZXIudXJsLmluY2x1ZGVzKCcvJyArIGl0ZW0ucGFyZW50ICsgJy8nICsgaXRlbS5wYXRoKVwiPlxuICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9jb250ZXh0LW1lbnU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxidXR0b24gY2xhc3M9XCJuYXYtYXJyb3cgcmlnaHRcIiBpZD1cIm5hdi1tZW51LXJpZ2h0XCJcbiAgICAgICAgICAqbmdJZj1cInNob3dSaWdodFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFJpZ2h0KClcblwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNjcm9sbCByaWdodFwiPlxuICAgIOKAulxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19