survey-angular-ui 2.5.12 → 2.5.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.
@@ -1,8 +1,8 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
2
- import { SurveyModel, ProgressButtons, IProgressButtonsViewModel } from "survey-core";
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewContainerRef } from "@angular/core";
2
+ import { SurveyModel, ProgressButtons, IProgressButtonsViewModel, Base } from "survey-core";
3
+ import { BaseAngular } from "../../../base-angular";
3
4
  import * as i0 from "@angular/core";
4
- export declare class ProgressButtonsComponent implements OnDestroy, AfterViewInit, OnChanges, OnInit, IProgressButtonsViewModel {
5
- private changeDetectorRef;
5
+ export declare class ProgressButtonsComponent extends BaseAngular implements OnDestroy, AfterViewInit, OnChanges, OnInit, IProgressButtonsViewModel {
6
6
  model: ProgressButtons;
7
7
  survey: SurveyModel;
8
8
  container: string;
@@ -12,7 +12,8 @@ export declare class ProgressButtonsComponent implements OnDestroy, AfterViewIni
12
12
  canShowFooter: boolean;
13
13
  canShowItemTitles: boolean;
14
14
  private respManager?;
15
- constructor(changeDetectorRef: ChangeDetectorRef);
15
+ constructor(changeDetectorRef: ChangeDetectorRef, viewContainerRef?: ViewContainerRef);
16
+ protected getModel(): Base;
16
17
  onResize(canShowItemTitles: boolean): void;
17
18
  onUpdateScroller(hasScroller: boolean): void;
18
19
  onUpdateSettings(): void;
@@ -51,7 +51,7 @@ export class DropdownComponent extends BaseAngular {
51
51
  const control = this.inputElementRef.nativeElement;
52
52
  const newValue = this.model.inputStringRendered;
53
53
  if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {
54
- control.value = this.model.inputStringRendered || "";
54
+ control.value = this.dropdownModel.inputStringRendered || "";
55
55
  }
56
56
  }
57
57
  }
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
70
70
  type: ViewChild,
71
71
  args: ["inputElement"]
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBcUIsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFNakQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFHaEQsSUFBSSxhQUFhOztRQUNmLE9BQU8sTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxpQkFBaUIsQ0FBQztJQUN2QyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDdEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVOztRQUNkLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxLQUFVOztRQUMzQixNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTs7UUFDZCxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7O1FBQ25CLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELHFCQUFxQjs7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3pDLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUM7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUMxRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO2FBQ3REO1NBQ0Y7SUFDSCxDQUFDOzsrR0E1Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIsOE9DUjlCLDY0SUF1RE07NEZEL0NPLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxXQUFXLEVBQUUsMkJBQTJCO2lCQUN6Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3FCLGVBQWU7c0JBQXpDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTGlzdE1vZGVsLCBIZWxwZXJzIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWRyb3Bkb3duLCAnW3N2LW5nLWRyb3Bkb3duXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuICBAVmlld0NoaWxkKFwiaW5wdXRFbGVtZW50XCIpIGlucHV0RWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBnZXQgZHJvcGRvd25Nb2RlbCgpOiBEcm9wZG93bkxpc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw/LmRyb3Bkb3duTGlzdE1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5kcm9wZG93bkxpc3RNb2RlbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBjbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5kcm9wZG93bk1vZGVsPy5vbkNsaWNrKGV2ZW50KTtcbiAgfVxuICBjaGV2cm9uUG9pbnRlckRvd24oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJvcGRvd25Nb2RlbD8uY2hldnJvblBvaW50ZXJEb3duKGV2ZW50KTtcbiAgfVxuICBjbGVhcihldmVudDogYW55KSB7XG4gICAgdGhpcy5kcm9wZG93bk1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgfVxuICBrZXloYW5kbGVyKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRyb3Bkb3duTW9kZWw/LmtleUhhbmRsZXIoZXZlbnQpO1xuICB9XG4gIGJsdXIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubW9kZWwub25CbHVyKGV2ZW50KTtcbiAgICB0aGlzLnVwZGF0ZUlucHV0RG9tRWxlbWVudCgpO1xuICB9XG4gIGZvY3VzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsLm9uRm9jdXMoZXZlbnQpO1xuICB9XG4gIGlucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICB1cGRhdGVJbnB1dERvbUVsZW1lbnQoKSB7XG4gICAgaWYgKCEhdGhpcy5pbnB1dEVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuaW5wdXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMubW9kZWwuaW5wdXRTdHJpbmdSZW5kZXJlZDtcbiAgICAgIGlmICghSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKG5ld1ZhbHVlLCBjb250cm9sLnZhbHVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWUgPSB0aGlzLm1vZGVsLmlucHV0U3RyaW5nUmVuZGVyZWQgfHwgXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIiAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiIFthdHRyLnRhYmluZGV4XT1cImRyb3Bkb3duTW9kZWwubm9UYWJJbmRleCA/IG51bGwgOiAwXCJcbiAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldENvbnRyb2xDbGFzcygpXCIgW2F0dHIuZGlzYWJsZWRdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHIgPyB0cnVlIDogbnVsbFwiIChibHVyKT1cImJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cImtleWhhbmRsZXIoJGV2ZW50KVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIiBbYXR0ci5yb2xlXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uUm9sZVwiXG4gICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25SZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkludmFsaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkVycm9yTWVzc2FnZVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25FeHBhbmRlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25MYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkxhYmVsbGVkYnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uRGVzY3JpYmVkYnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uQ29udHJvbHNcIlxuICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25BY3RpdmVkZXNjZW5kYW50XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wZG93bk1vZGVsLnNob3dIaW50UHJlZml4XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaGludFByZWZpeFwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgZHJvcGRvd25Nb2RlbC5oaW50U3RyaW5nUHJlZml4IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250cm9sVmFsdWVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wZG93bk1vZGVsLnNob3dIaW50U3RyaW5nXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaGludFN1ZmZpeFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCI+e3sgZHJvcGRvd25Nb2RlbC5pbnB1dFN0cmluZ1JlbmRlcmVkIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGRyb3Bkb3duTW9kZWwuaGludFN0cmluZ1N1ZmZpeCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRyb3Bkb3duTW9kZWwuc2hvd0lucHV0RmllbGRDb21wb25lbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmlucHV0RmllbGRDb21wb25lbnROYW1lLCBkYXRhOiB7IG1vZGVsOiBkcm9wZG93bk1vZGVsLmdldFNlbGVjdGVkQWN0aW9uKCksIHF1ZXN0aW9uOiBtb2RlbCB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8c3Ytbmctc3RyaW5nICpuZ0lmPVwibW9kZWwuc2hvd1NlbGVjdGVkSXRlbUxvY1RleHRcIiBbbW9kZWxdPVwibW9kZWwuc2VsZWN0ZWRJdGVtTG9jVGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEVsZW1lbnQgKm5nSWY9XCJkcm9wZG93bk1vZGVsLm5lZWRSZW5kZXJJbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJkcm9wZG93bk1vZGVsLmlucHV0U3RyaW5nUmVuZGVyZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbHRlclN0cmluZ0lucHV0XCIgW2F0dHIuaWRdPVwibW9kZWwuZ2V0SW5wdXRJZCgpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pbnB1dG1vZGVdPVwiZHJvcGRvd25Nb2RlbC5pbnB1dE1vZGVcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLm5vVGFiSW5kZXggPyBudWxsIDogLTFcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzRGlzYWJsZWRBdHRyID8gdHJ1ZSA6IG51bGxcIiBbYXR0ci5yb2xlXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0Um9sZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dFJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXRJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dEVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dEV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0Q29udHJvbHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dExhYmVsbGVkYnlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXREZXNjcmliZWRieVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0QWN0aXZlZGVzY2VuZGFudFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZHJvcGRvd25Nb2RlbC5wbGFjZWhvbGRlclJlbmRlcmVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJkcm9wZG93bk1vZGVsLmZpbHRlclJlYWRPbmx5ID8gdHJ1ZSA6IG51bGxcIiAoY2hhbmdlKT1cImlucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cImJsdXIoJGV2ZW50KVwiIChmb2N1cyk9XCJmb2N1cygkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzdi1uZy1hY3Rpb24tYmFyIFttb2RlbF09XCJkcm9wZG93bk1vZGVsLmVkaXRvckJ1dHRvbnNcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gICAgPC9kaXY+XG4gICAgPHN2LW5nLXBvcHVwICpuZ0lmPVwiIW1vZGVsLmlzSW5wdXRSZWFkT25seVwiIFtwb3B1cE1vZGVsXT1cImRyb3Bkb3duTW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHIgPyBudWxsIDogMFwiIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzRGlzYWJsZWRBdHRyID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cImRyb3Bkb3duTW9kZWw/LmFyaWFRdWVzdGlvblJvbGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImRyb3Bkb3duTW9kZWw/LmFyaWFRdWVzdGlvbkxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImRyb3Bkb3duTW9kZWw/LmFyaWFRdWVzdGlvbkxhYmVsbGVkYnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRyb3Bkb3duTW9kZWw/LmFyaWFRdWVzdGlvbkRlc2NyaWJlZGJ5XCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJmYWxzZVwiXG4gICAgICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwidHJ1ZVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwucmVhZE9ubHlUZXh0XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY29udHJvbFZhbHVlXCI+XG4gICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJtb2RlbC5sb2NSZWFkT25seVRleHRcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzdi1uZy1hY3Rpb24tYmFyIFttb2RlbF09XCJkcm9wZG93bk1vZGVsLmVkaXRvckJ1dHRvbnNcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBcUIsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFNakQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFHaEQsSUFBSSxhQUFhOztRQUNmLE9BQU8sTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxpQkFBaUIsQ0FBQztJQUN2QyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDdEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVOztRQUNkLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxLQUFVOztRQUMzQixNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTs7UUFDZCxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7O1FBQ25CLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELHFCQUFxQjs7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3pDLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUM7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUMxRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO2FBQzlEO1NBQ0Y7SUFDSCxDQUFDOzsrR0E1Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIsOE9DUjlCLDY0SUF1RE07NEZEL0NPLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxXQUFXLEVBQUUsMkJBQTJCO2lCQUN6Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3FCLGVBQWU7c0JBQXpDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTGlzdE1vZGVsLCBIZWxwZXJzIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWRyb3Bkb3duLCAnW3N2LW5nLWRyb3Bkb3duXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xuICBAVmlld0NoaWxkKFwiaW5wdXRFbGVtZW50XCIpIGlucHV0RWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBnZXQgZHJvcGRvd25Nb2RlbCgpOiBEcm9wZG93bkxpc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw/LmRyb3Bkb3duTGlzdE1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5kcm9wZG93bkxpc3RNb2RlbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBjbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5kcm9wZG93bk1vZGVsPy5vbkNsaWNrKGV2ZW50KTtcbiAgfVxuICBjaGV2cm9uUG9pbnRlckRvd24oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJvcGRvd25Nb2RlbD8uY2hldnJvblBvaW50ZXJEb3duKGV2ZW50KTtcbiAgfVxuICBjbGVhcihldmVudDogYW55KSB7XG4gICAgdGhpcy5kcm9wZG93bk1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgfVxuICBrZXloYW5kbGVyKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRyb3Bkb3duTW9kZWw/LmtleUhhbmRsZXIoZXZlbnQpO1xuICB9XG4gIGJsdXIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubW9kZWwub25CbHVyKGV2ZW50KTtcbiAgICB0aGlzLnVwZGF0ZUlucHV0RG9tRWxlbWVudCgpO1xuICB9XG4gIGZvY3VzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsLm9uRm9jdXMoZXZlbnQpO1xuICB9XG4gIGlucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICB1cGRhdGVJbnB1dERvbUVsZW1lbnQoKSB7XG4gICAgaWYgKCEhdGhpcy5pbnB1dEVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuaW5wdXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMubW9kZWwuaW5wdXRTdHJpbmdSZW5kZXJlZDtcbiAgICAgIGlmICghSGVscGVycy5pc1R3b1ZhbHVlRXF1YWxzKG5ld1ZhbHVlLCBjb250cm9sLnZhbHVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICAgIGNvbnRyb2wudmFsdWUgPSB0aGlzLmRyb3Bkb3duTW9kZWwuaW5wdXRTdHJpbmdSZW5kZXJlZCB8fCBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuc2VsZWN0V3JhcHBlclwiIChjbGljayk9XCJjbGljaygkZXZlbnQpXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW2F0dHIudGFiaW5kZXhdPVwiZHJvcGRvd25Nb2RlbC5ub1RhYkluZGV4ID8gbnVsbCA6IDBcIlxuICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5kaXNhYmxlZF09XCJtb2RlbC5pc0Rpc2FibGVkQXR0ciA/IHRydWUgOiBudWxsXCIgKGJsdXIpPVwiYmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwia2V5aGFuZGxlcigkZXZlbnQpXCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiIFthdHRyLnJvbGVdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25Sb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvblJlcXVpcmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkV4cGFuZGVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uTGFiZWxsZWRieVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25EZXNjcmliZWRieVwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25Db250cm9sc1wiXG4gICAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkFjdGl2ZWRlc2NlbmRhbnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRyb3Bkb3duTW9kZWwuc2hvd0hpbnRQcmVmaXhcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5oaW50UHJlZml4XCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBkcm9wZG93bk1vZGVsLmhpbnRTdHJpbmdQcmVmaXggfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRyb3Bkb3duTW9kZWwuc2hvd0hpbnRTdHJpbmdcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5oaW50U3VmZml4XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj57eyBkcm9wZG93bk1vZGVsLmlucHV0U3RyaW5nUmVuZGVyZWQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgZHJvcGRvd25Nb2RlbC5oaW50U3RyaW5nU3VmZml4IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJvcGRvd25Nb2RlbC5zaG93SW5wdXRGaWVsZENvbXBvbmVudFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuaW5wdXRGaWVsZENvbXBvbmVudE5hbWUsIGRhdGE6IHsgbW9kZWw6IGRyb3Bkb3duTW9kZWwuZ2V0U2VsZWN0ZWRBY3Rpb24oKSwgcXVlc3Rpb246IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgKm5nSWY9XCJtb2RlbC5zaG93U2VsZWN0ZWRJdGVtTG9jVGV4dFwiIFttb2RlbF09XCJtb2RlbC5zZWxlY3RlZEl0ZW1Mb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0RWxlbWVudCAqbmdJZj1cImRyb3Bkb3duTW9kZWwubmVlZFJlbmRlcklucHV0XCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cImRyb3Bkb3duTW9kZWwuaW5wdXRTdHJpbmdSZW5kZXJlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsdGVyU3RyaW5nSW5wdXRcIiBbYXR0ci5pZF09XCJtb2RlbC5nZXRJbnB1dElkKClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlucHV0bW9kZV09XCJkcm9wZG93bk1vZGVsLmlucHV0TW9kZVwiIFthdHRyLnRhYmluZGV4XT1cImRyb3Bkb3duTW9kZWwubm9UYWJJbmRleCA/IG51bGwgOiAtMVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHIgPyB0cnVlIDogbnVsbFwiIFthdHRyLnJvbGVdPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXRSb2xlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0UmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dEludmFsaWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0RXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0RXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXRDb250cm9sc1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXRMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImRyb3Bkb3duTW9kZWwuYXJpYUlucHV0TGFiZWxsZWRieVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkcm9wZG93bk1vZGVsLmFyaWFJbnB1dERlc2NyaWJlZGJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhSW5wdXRBY3RpdmVkZXNjZW5kYW50XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJkcm9wZG93bk1vZGVsLnBsYWNlaG9sZGVyUmVuZGVyZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cImRyb3Bkb3duTW9kZWwuZmlsdGVyUmVhZE9ubHkgPyB0cnVlIDogbnVsbFwiIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiYmx1cigkZXZlbnQpXCIgKGZvY3VzKT1cImZvY3VzKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cImRyb3Bkb3duTW9kZWwuZWRpdG9yQnV0dG9uc1wiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctcG9wdXAgKm5nSWY9XCIhbW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgW3BvcHVwTW9kZWxdPVwiZHJvcGRvd25Nb2RlbC5wb3B1cE1vZGVsXCI+PC9zdi1uZy1wb3B1cD5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaXNSZWFkT25seVwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJtb2RlbC5pc0Rpc2FibGVkQXR0ciA/IG51bGwgOiAwXCIgW2F0dHIuZGlzYWJsZWRdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHIgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwiZHJvcGRvd25Nb2RlbD8uYXJpYVF1ZXN0aW9uUm9sZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25Nb2RlbD8uYXJpYVF1ZXN0aW9uTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZHJvcGRvd25Nb2RlbD8uYXJpYVF1ZXN0aW9uTGFiZWxsZWRieVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZHJvcGRvd25Nb2RlbD8uYXJpYVF1ZXN0aW9uRGVzY3JpYmVkYnlcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImZhbHNlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZWFkb25seV09XCJ0cnVlXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5yZWFkT25seVRleHRcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250cm9sVmFsdWVcIj5cbiAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY1JlYWRPbmx5VGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cImRyb3Bkb3duTW9kZWwuZWRpdG9yQnV0dG9uc1wiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -1,32 +1,37 @@
1
1
  import { Component, Input, ViewChild } from "@angular/core";
2
2
  import { ProgressButtonsResponsivityManager } from "survey-core";
3
3
  import { AngularComponentFactory } from "../../../component-factory";
4
+ import { BaseAngular } from "../../../base-angular";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../../survey-string.component";
6
7
  import * as i2 from "@angular/common";
7
- export class ProgressButtonsComponent {
8
- constructor(changeDetectorRef) {
9
- this.changeDetectorRef = changeDetectorRef;
8
+ export class ProgressButtonsComponent extends BaseAngular {
9
+ constructor(changeDetectorRef, viewContainerRef) {
10
+ super(changeDetectorRef, viewContainerRef);
10
11
  this.hasScroller = false;
11
12
  this.canShowHeader = false;
12
13
  this.canShowFooter = false;
13
14
  this.canShowItemTitles = true;
14
15
  }
16
+ getModel() {
17
+ return this.model;
18
+ }
15
19
  onResize(canShowItemTitles) {
16
20
  this.canShowItemTitles = canShowItemTitles;
17
21
  this.canShowHeader = !this.canShowItemTitles;
18
- this.changeDetectorRef.detectChanges();
22
+ this.detectChanges();
19
23
  }
20
24
  onUpdateScroller(hasScroller) {
21
25
  this.hasScroller = hasScroller;
22
- this.changeDetectorRef.detectChanges();
26
+ this.detectChanges();
23
27
  }
24
28
  onUpdateSettings() {
25
29
  this.canShowItemTitles = this.model.showItemTitles;
26
30
  this.canShowFooter = !this.model.showItemTitles;
27
- this.changeDetectorRef.detectChanges();
31
+ this.detectChanges();
28
32
  }
29
33
  ngOnInit() {
34
+ super.ngOnInit();
30
35
  }
31
36
  ngOnChanges(changes) {
32
37
  }
@@ -44,18 +49,19 @@ export class ProgressButtonsComponent {
44
49
  }
45
50
  ngOnDestroy() {
46
51
  var _a;
52
+ super.ngOnDestroy();
47
53
  (_a = this.respManager) === null || _a === void 0 ? void 0 : _a.dispose();
48
54
  }
49
55
  }
50
- ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
51
- ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" [style.--sd-progress-buttons-pages-count]=\"survey.visiblePages.length\"\nrole=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" [attr.aria-label]=\"model.progressBarAriaLabel\"\n>\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.navigationDescription\"\n >\n {{ page.navigationDescription }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
56
+ ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
57
+ ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" [style.--sd-progress-buttons-pages-count]=\"model.visiblePages.length\"\nrole=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" [attr.aria-label]=\"model.progressBarAriaLabel\"\n>\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.navigationDescription\"\n >\n {{ page.navigationDescription }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
52
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, decorators: [{
53
59
  type: Component,
54
60
  args: [{
55
61
  selector: "sv-ng-progress-buttons",
56
62
  templateUrl: "./progress.component.html"
57
63
  }]
58
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
64
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { model: [{
59
65
  type: Input
60
66
  }], survey: [{
61
67
  type: Input
@@ -66,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
66
72
  args: ["progressButtonsListContainer"]
67
73
  }] } });
68
74
  AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYnV0dG9ucy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9idXR0b25zL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBZ0Msa0NBQWtDLEVBQTZCLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTXJFLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFMakQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO0lBR3pDLENBQUM7SUFDRCxRQUFRLENBQUMsaUJBQTBCO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsV0FBb0I7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsUUFBUTtJQUNSLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7SUFDbEMsQ0FBQztJQUNNLGlCQUFpQixDQUN0QixZQUFxQjtRQUVyQixJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNyQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM1RjtJQUNILENBQUM7SUFDTSxlQUFlOztRQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLDRCQUE0QiwwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFDTSxXQUFXOztRQUNoQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7O3NIQTdDVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qix1U0NSckMsMjBFQThDTTs0RkR0Q08sd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSwyQkFBMkI7aUJBQ3pDO3dHQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDcUMsNEJBQTRCO3NCQUF0RSxTQUFTO3VCQUFDLDhCQUE4Qjs7QUEyQzNDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdXJ2ZXlNb2RlbCwgUHJvZ3Jlc3NCdXR0b25zLCBQcm9ncmVzc0J1dHRvbnNSZXNwb25zaXZpdHlNYW5hZ2VyLCBJUHJvZ3Jlc3NCdXR0b25zVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcHJvZ3Jlc3MtYnV0dG9uc1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCdXR0b25zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uSW5pdCwgSVByb2dyZXNzQnV0dG9uc1ZpZXdNb2RlbCB7XG4gIEBJbnB1dCgpIG1vZGVsITogUHJvZ3Jlc3NCdXR0b25zO1xuICBASW5wdXQoKSBzdXJ2ZXkhOiBTdXJ2ZXlNb2RlbDtcbiAgQElucHV0KCkgY29udGFpbmVyITogc3RyaW5nO1xuICBAVmlld0NoaWxkKFwicHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lclwiKSBwcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHB1YmxpYyBoYXNTY3JvbGxlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FuU2hvd0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FuU2hvd0Zvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2FuU2hvd0l0ZW1UaXRsZXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIHJlc3BNYW5hZ2VyPzogUHJvZ3Jlc3NCdXR0b25zUmVzcG9uc2l2aXR5TWFuYWdlcjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuICBvblJlc2l6ZShjYW5TaG93SXRlbVRpdGxlczogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2FuU2hvd0l0ZW1UaXRsZXMgPSBjYW5TaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmNhblNob3dIZWFkZXIgPSAhdGhpcy5jYW5TaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBvblVwZGF0ZVNjcm9sbGVyKGhhc1Njcm9sbGVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oYXNTY3JvbGxlciA9IGhhc1Njcm9sbGVyO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG9uVXBkYXRlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5TaG93SXRlbVRpdGxlcyA9IHRoaXMubW9kZWwuc2hvd0l0ZW1UaXRsZXM7XG4gICAgdGhpcy5jYW5TaG93Rm9vdGVyID0gIXRoaXMubW9kZWwuc2hvd0l0ZW1UaXRsZXM7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICB9XG4gIHB1YmxpYyBjbGlja1Njcm9sbEJ1dHRvbihcbiAgICBpc0xlZnRTY3JvbGw6IGJvb2xlYW5cbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lcikge1xuICAgICAgdGhpcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSAoaXNMZWZ0U2Nyb2xsID8gLTEgOiAxKSAqIDcwO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgdGhpcy5yZXNwTWFuYWdlciA9IG5ldyBQcm9ncmVzc0J1dHRvbnNSZXNwb25zaXZpdHlNYW5hZ2VyKHRoaXMubW9kZWwsIGVsZW1lbnQsIHRoaXMpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZXNwTWFuYWdlcj8uZGlzcG9zZSgpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXByb2dyZXNzLWJ1dHRvbnNcIiwgUHJvZ3Jlc3NCdXR0b25zQ29tcG9uZW50KTtcbiIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLmdldFJvb3RDc3MoY29udGFpbmVyKVwiIFtzdHlsZS5tYXhXaWR0aF09XCJtb2RlbC5wcm9ncmVzc1dpZHRoXCIgW3N0eWxlLi0tc2QtcHJvZ3Jlc3MtYnV0dG9ucy1wYWdlcy1jb3VudF09XCJzdXJ2ZXkudmlzaWJsZVBhZ2VzLmxlbmd0aFwiXG5yb2xlPVwicHJvZ3Jlc3NiYXJcIiBhcmlhLXZhbHVlbWluPVwiMFwiIGFyaWEtdmFsdWVtYXg9XCIxMDBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLnByb2dyZXNzQmFyQXJpYUxhYmVsXCJcbj5cbiAgPGRpdiAqbmdJZj1cImNhblNob3dIZWFkZXJcIiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNIZWFkZXJcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJzdXJ2ZXkuY3NzLnByb2dyZXNzQnV0dG9uc1BhZ2VUaXRsZVwiIFt0aXRsZV09XCJtb2RlbC5oZWFkZXJUZXh0XCI+e3sgbW9kZWwuaGVhZGVyVGV4dCB9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNDb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0U2Nyb2xsQnV0dG9uQ3NzKGhhc1Njcm9sbGVyLCB0cnVlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24odHJ1ZSlcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJzdXJ2ZXkuY3NzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXJcIiAjcHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lcj5cbiAgICAgIDx1bCBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNMaXN0XCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHN1cnZleS52aXNpYmxlUGFnZXM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0TGlzdEVsZW1lbnRDc3MoaW5kZXgpXCJcbiAgICAgICAgICAoY2xpY2spPVwibW9kZWwuaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCkgPyBtb2RlbC5jbGlja0xpc3RFbGVtZW50KHBhZ2UpIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1wYWdlLW51bWJlcl09XCJtb2RlbC5nZXRJdGVtTnVtYmVyKHBhZ2UpXCI+XG4gICAgICAgICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNDb25uZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FuU2hvd0l0ZW1UaXRsZXNcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zUGFnZVRpdGxlXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJwYWdlLnJlbmRlcmVkTmF2aWdhdGlvblRpdGxlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJwYWdlLmxvY05hdmlnYXRpb25UaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYW5TaG93SXRlbVRpdGxlc1wiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW3RpdGxlXT1cInBhZ2UubmF2aWdhdGlvbkRlc2NyaXB0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWdlLm5hdmlnYXRpb25EZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zQnV0dG9uXCI+PGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNCdXR0b25CYWNrZ3JvdW5kXCI+PC9kaXY+PGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNCdXR0b25Db250ZW50XCI+PC9kaXY+PHNwYW4+e3ttb2RlbC5nZXRJdGVtTnVtYmVyKHBhZ2UpfX08L3NwYW4+PC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRTY3JvbGxCdXR0b25Dc3MoaGFzU2Nyb2xsZXIsIGZhbHNlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24oZmFsc2UpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjYW5TaG93Rm9vdGVyXCIgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zRm9vdGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlVGl0bGVcIiBbdGl0bGVdPVwibW9kZWwuZm9vdGVyVGV4dFwiPnt7IG1vZGVsLmZvb3RlclRleHQgfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYnV0dG9ucy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9idXR0b25zL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBK0MsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6SyxPQUFPLEVBQWdDLGtDQUFrQyxFQUFtQyxNQUFNLGFBQWEsQ0FBQztBQUNoSSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFNcEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFdBQVc7SUFVdkQsWUFBWSxpQkFBb0MsRUFBRSxnQkFBbUM7UUFDbkYsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFOdEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO0lBSXpDLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUSxDQUFDLGlCQUEwQjtRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELGdCQUFnQixDQUFDLFdBQW9CO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtJQUNsQyxDQUFDO0lBQ00saUJBQWlCLENBQ3RCLFlBQXFCO1FBRXJCLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUNNLGVBQWU7O1FBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsNEJBQTRCLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RGO0lBQ0gsQ0FBQztJQUNRLFdBQVc7O1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7O3NIQW5EVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qiw4VENUckMseTBFQThDTTs0RkRyQ08sd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSwyQkFBMkI7aUJBQ3pDO3VJQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDcUMsNEJBQTRCO3NCQUF0RSxTQUFTO3VCQUFDLDhCQUE4Qjs7QUFpRDNDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdXJ2ZXlNb2RlbCwgUHJvZ3Jlc3NCdXR0b25zLCBQcm9ncmVzc0J1dHRvbnNSZXNwb25zaXZpdHlNYW5hZ2VyLCBJUHJvZ3Jlc3NCdXR0b25zVmlld01vZGVsLCBCYXNlIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wcm9ncmVzcy1idXR0b25zXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkluaXQsIElQcm9ncmVzc0J1dHRvbnNWaWV3TW9kZWwge1xuICBASW5wdXQoKSBtb2RlbCE6IFByb2dyZXNzQnV0dG9ucztcbiAgQElucHV0KCkgc3VydmV5ITogU3VydmV5TW9kZWw7XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IHN0cmluZztcbiAgQFZpZXdDaGlsZChcInByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXJcIikgcHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwdWJsaWMgaGFzU2Nyb2xsZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhblNob3dIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhblNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhblNob3dJdGVtVGl0bGVzOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZXNwTWFuYWdlcj86IFByb2dyZXNzQnV0dG9uc1Jlc3BvbnNpdml0eU1hbmFnZXI7XG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgdmlld0NvbnRhaW5lclJlZik7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEJhc2Uge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIG9uUmVzaXplKGNhblNob3dJdGVtVGl0bGVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jYW5TaG93SXRlbVRpdGxlcyA9IGNhblNob3dJdGVtVGl0bGVzO1xuICAgIHRoaXMuY2FuU2hvd0hlYWRlciA9ICF0aGlzLmNhblNob3dJdGVtVGl0bGVzO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG9uVXBkYXRlU2Nyb2xsZXIoaGFzU2Nyb2xsZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Njcm9sbGVyID0gaGFzU2Nyb2xsZXI7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgb25VcGRhdGVTZXR0aW5ncygpOiB2b2lkIHtcbiAgICB0aGlzLmNhblNob3dJdGVtVGl0bGVzID0gdGhpcy5tb2RlbC5zaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmNhblNob3dGb290ZXIgPSAhdGhpcy5tb2RlbC5zaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgfVxuICBwdWJsaWMgY2xpY2tTY3JvbGxCdXR0b24oXG4gICAgaXNMZWZ0U2Nyb2xsOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIpIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz0gKGlzTGVmdFNjcm9sbCA/IC0xIDogMSkgKiA3MDtcbiAgICB9XG4gIH1cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMucmVzcE1hbmFnZXIgPSBuZXcgUHJvZ3Jlc3NCdXR0b25zUmVzcG9uc2l2aXR5TWFuYWdlcih0aGlzLm1vZGVsLCBlbGVtZW50LCB0aGlzKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLnJlc3BNYW5hZ2VyPy5kaXNwb3NlKCk7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcHJvZ3Jlc3MtYnV0dG9uc1wiLCBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQpO1xuIiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0Um9vdENzcyhjb250YWluZXIpXCIgW3N0eWxlLm1heFdpZHRoXT1cIm1vZGVsLnByb2dyZXNzV2lkdGhcIiBbc3R5bGUuLS1zZC1wcm9ncmVzcy1idXR0b25zLXBhZ2VzLWNvdW50XT1cIm1vZGVsLnZpc2libGVQYWdlcy5sZW5ndGhcIlxucm9sZT1cInByb2dyZXNzYmFyXCIgYXJpYS12YWx1ZW1pbj1cIjBcIiBhcmlhLXZhbHVlbWF4PVwiMTAwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5wcm9ncmVzc0JhckFyaWFMYWJlbFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJjYW5TaG93SGVhZGVyXCIgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zSGVhZGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlVGl0bGVcIiBbdGl0bGVdPVwibW9kZWwuaGVhZGVyVGV4dFwiPnt7IG1vZGVsLmhlYWRlclRleHQgfX08L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldFNjcm9sbEJ1dHRvbkNzcyhoYXNTY3JvbGxlciwgdHJ1ZSlcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrU2Nyb2xsQnV0dG9uKHRydWUpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyXCIgI3Byb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXI+XG4gICAgICA8dWwgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBtb2RlbC52aXNpYmxlUGFnZXM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0TGlzdEVsZW1lbnRDc3MoaW5kZXgpXCJcbiAgICAgICAgICAoY2xpY2spPVwibW9kZWwuaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCkgPyBtb2RlbC5jbGlja0xpc3RFbGVtZW50KHBhZ2UpIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1wYWdlLW51bWJlcl09XCJtb2RlbC5nZXRJdGVtTnVtYmVyKHBhZ2UpXCI+XG4gICAgICAgICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNDb25uZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FuU2hvd0l0ZW1UaXRsZXNcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zUGFnZVRpdGxlXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJwYWdlLnJlbmRlcmVkTmF2aWdhdGlvblRpdGxlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJwYWdlLmxvY05hdmlnYXRpb25UaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYW5TaG93SXRlbVRpdGxlc1wiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW3RpdGxlXT1cInBhZ2UubmF2aWdhdGlvbkRlc2NyaXB0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwYWdlLm5hdmlnYXRpb25EZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zQnV0dG9uXCI+PGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNCdXR0b25CYWNrZ3JvdW5kXCI+PC9kaXY+PGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNCdXR0b25Db250ZW50XCI+PC9kaXY+PHNwYW4+e3ttb2RlbC5nZXRJdGVtTnVtYmVyKHBhZ2UpfX08L3NwYW4+PC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRTY3JvbGxCdXR0b25Dc3MoaGFzU2Nyb2xsZXIsIGZhbHNlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24oZmFsc2UpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjYW5TaG93Rm9vdGVyXCIgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zRm9vdGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlVGl0bGVcIiBbdGl0bGVdPVwibW9kZWwuZm9vdGVyVGV4dFwiPnt7IG1vZGVsLmZvb3RlclRleHQgfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1558,7 +1558,7 @@ class DropdownComponent extends BaseAngular {
1558
1558
  const control = this.inputElementRef.nativeElement;
1559
1559
  const newValue = this.model.inputStringRendered;
1560
1560
  if (!Helpers.isTwoValueEquals(newValue, control.value, false, true, false)) {
1561
- control.value = this.model.inputStringRendered || "";
1561
+ control.value = this.dropdownModel.inputStringRendered || "";
1562
1562
  }
1563
1563
  }
1564
1564
  }
@@ -2953,29 +2953,33 @@ AngularComponentFactory.Instance.registerComponent("sv-progress-questions", Prog
2953
2953
  AngularComponentFactory.Instance.registerComponent("sv-progress-correctquestions", ProgressDefaultComponent);
2954
2954
  AngularComponentFactory.Instance.registerComponent("sv-progress-requiredquestions", ProgressDefaultComponent);
2955
2955
 
2956
- class ProgressButtonsComponent {
2957
- constructor(changeDetectorRef) {
2958
- this.changeDetectorRef = changeDetectorRef;
2956
+ class ProgressButtonsComponent extends BaseAngular {
2957
+ constructor(changeDetectorRef, viewContainerRef) {
2958
+ super(changeDetectorRef, viewContainerRef);
2959
2959
  this.hasScroller = false;
2960
2960
  this.canShowHeader = false;
2961
2961
  this.canShowFooter = false;
2962
2962
  this.canShowItemTitles = true;
2963
2963
  }
2964
+ getModel() {
2965
+ return this.model;
2966
+ }
2964
2967
  onResize(canShowItemTitles) {
2965
2968
  this.canShowItemTitles = canShowItemTitles;
2966
2969
  this.canShowHeader = !this.canShowItemTitles;
2967
- this.changeDetectorRef.detectChanges();
2970
+ this.detectChanges();
2968
2971
  }
2969
2972
  onUpdateScroller(hasScroller) {
2970
2973
  this.hasScroller = hasScroller;
2971
- this.changeDetectorRef.detectChanges();
2974
+ this.detectChanges();
2972
2975
  }
2973
2976
  onUpdateSettings() {
2974
2977
  this.canShowItemTitles = this.model.showItemTitles;
2975
2978
  this.canShowFooter = !this.model.showItemTitles;
2976
- this.changeDetectorRef.detectChanges();
2979
+ this.detectChanges();
2977
2980
  }
2978
2981
  ngOnInit() {
2982
+ super.ngOnInit();
2979
2983
  }
2980
2984
  ngOnChanges(changes) {
2981
2985
  }
@@ -2993,18 +2997,19 @@ class ProgressButtonsComponent {
2993
2997
  }
2994
2998
  ngOnDestroy() {
2995
2999
  var _a;
3000
+ super.ngOnDestroy();
2996
3001
  (_a = this.respManager) === null || _a === void 0 ? void 0 : _a.dispose();
2997
3002
  }
2998
3003
  }
2999
- ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3000
- ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" [style.--sd-progress-buttons-pages-count]=\"survey.visiblePages.length\"\nrole=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" [attr.aria-label]=\"model.progressBarAriaLabel\"\n>\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.navigationDescription\"\n >\n {{ page.navigationDescription }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3004
+ ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
3005
+ ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.getRootCss(container)\" [style.maxWidth]=\"model.progressWidth\" [style.--sd-progress-buttons-pages-count]=\"model.visiblePages.length\"\nrole=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" [attr.aria-label]=\"model.progressBarAriaLabel\"\n>\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n <sv-ng-string [model]=\"page.locNavigationTitle\"></sv-ng-string>\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.navigationDescription\"\n >\n {{ page.navigationDescription }}\n </div>\n <div [class]=\"survey.css.progressButtonsButton\"><div [class]=\"survey.css.progressButtonsButtonBackground\"></div><div [class]=\"survey.css.progressButtonsButtonContent\"></div><span>{{model.getItemNumber(page)}}</span></div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3001
3006
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, decorators: [{
3002
3007
  type: Component,
3003
3008
  args: [{
3004
3009
  selector: "sv-ng-progress-buttons",
3005
3010
  templateUrl: "./progress.component.html"
3006
3011
  }]
3007
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
3012
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { model: [{
3008
3013
  type: Input
3009
3014
  }], survey: [{
3010
3015
  type: Input