keevo-components 1.8.467 → 1.8.469

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.
@@ -17,7 +17,8 @@ export class KvCarouselComponent {
17
17
  this.isCollapsed = false;
18
18
  }
19
19
  navigateToLink(link) {
20
- window.open(link, '_blank');
20
+ if (link !== null && link !== undefined && link !== '')
21
+ window.open(link, '_blank');
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
23
24
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvCarouselComponent, selector: "kv-carousel", inputs: { heightCarousel: { classPropertyName: "heightCarousel", publicName: "heightCarousel", isSignal: true, isRequired: false, transformFunction: null }, carouselData: { classPropertyName: "carouselData", publicName: "carouselData", isSignal: false, isRequired: false, transformFunction: null }, autoplayInterval: { classPropertyName: "autoplayInterval", publicName: "autoplayInterval", isSignal: false, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "carouselContainer", first: true, predicate: Carousel, descendants: true, isSignal: true }], ngImport: i0, template: "<p-carousel\r\n [value]=\"carouselData\"\r\n [indicatorStyleClass]=\"'carousel-indicator'\"\r\n [autoplayInterval]=\"autoplayInterval\"\r\n [showIndicators]=\"true\"\r\n [showNavigators]=\"false\"\r\n [numVisible]=\"1\"\r\n [numScroll]=\"1\"\r\n [circular]=\"true\"\r\n styleClass=\"h-full\"\r\n>\r\n >\r\n <ng-template\r\n pTemplate=\"item\"\r\n let-banner\r\n class=\"justify-content-center align-items-center\"\r\n >\r\n <img\r\n [src]=\"banner.img\"\r\n class=\"w-full border-round-banner\"\r\n [style.height.px]=\"heightComputed()\"\r\n (click)=\"navigateToLink(banner.link)\"\r\n />\r\n </ng-template>\r\n</p-carousel>\r\n", styles: ["::ng-deep .p-carousel-indicators{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem}::ng-deep .carousel-indicator{width:15px!important;height:4px!important;margin:-3px!important;padding:0!important;background-color:#eeeeeed0}::ng-deep .carousel-indicator:hover{background-color:#efefef}button.p-carousel-indicator.p-link{background-color:#f0f8ff!important}::ng-deep .p-carousel .p-carousel-content{overflow:hidden!important;position:relative}::ng-deep .border-round-banner{border-radius:20px!important;max-height:500px}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Carousel, selector: "p-carousel", inputs: ["page", "numVisible", "numScroll", "responsiveOptions", "orientation", "verticalViewPortHeight", "contentClass", "indicatorsContentClass", "indicatorsContentStyle", "indicatorStyleClass", "indicatorStyle", "value", "circular", "showIndicators", "showNavigators", "autoplayInterval", "style", "styleClass"], outputs: ["onPage"] }] }); }
@@ -30,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
30
31
  }], autoplayInterval: [{
31
32
  type: Input
32
33
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBTzVDLE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJ6QyxzQkFBaUIsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUVqQyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsT0FBTyxDQUNMLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUN4RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFTSxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixxQkFBZ0IsR0FBVyxJQUFJLENBQUM7UUFHekMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFZSxDQUFDO0lBRTdDLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBdEJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDZpQkFDQSxRQUFRLGdFQ2hCeEMsc3FCQXlCQTs7MkZEVmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7c0ZBZ0JkLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5wdXQsXHJcbiAgdmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcm91c2VsIH0gZnJvbSAncHJpbWVuZy9jYXJvdXNlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWNhcm91c2VsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkNhcm91c2VsQ29tcG9uZW50IHtcclxuICBjYXJvdXNlbENvbnRhaW5lciA9IHZpZXdDaGlsZChDYXJvdXNlbCk7XHJcblxyXG4gIGhlaWdodENhcm91c2VsID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cclxuICBoZWlnaHRDb21wdXRlZCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuaGVpZ2h0Q2Fyb3VzZWwoKSA/P1xyXG4gICAgICB0aGlzLmNhcm91c2VsQ29udGFpbmVyKCk/LmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XHJcbiAgICApO1xyXG4gIH0pO1xyXG5cclxuICBASW5wdXQoKSBjYXJvdXNlbERhdGE6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgYXV0b3BsYXlJbnRlcnZhbDogbnVtYmVyID0gNTAwMDtcclxuXHJcbiAgd2lkdGhDYXJvdXNlbCE6IG51bWJlcjtcclxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmF2aWdhdGVUb0xpbmsobGluazogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxwLWNhcm91c2VsXHJcbiAgW3ZhbHVlXT1cImNhcm91c2VsRGF0YVwiXHJcbiAgW2luZGljYXRvclN0eWxlQ2xhc3NdPVwiJ2Nhcm91c2VsLWluZGljYXRvcidcIlxyXG4gIFthdXRvcGxheUludGVydmFsXT1cImF1dG9wbGF5SW50ZXJ2YWxcIlxyXG4gIFtzaG93SW5kaWNhdG9yc109XCJ0cnVlXCJcclxuICBbc2hvd05hdmlnYXRvcnNdPVwiZmFsc2VcIlxyXG4gIFtudW1WaXNpYmxlXT1cIjFcIlxyXG4gIFtudW1TY3JvbGxdPVwiMVwiXHJcbiAgW2NpcmN1bGFyXT1cInRydWVcIlxyXG4gIHN0eWxlQ2xhc3M9XCJoLWZ1bGxcIlxyXG4+XHJcbiAgPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgcFRlbXBsYXRlPVwiaXRlbVwiXHJcbiAgICBsZXQtYmFubmVyXHJcbiAgICBjbGFzcz1cImp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICA+XHJcbiAgICA8aW1nXHJcbiAgICAgIFtzcmNdPVwiYmFubmVyLmltZ1wiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGJvcmRlci1yb3VuZC1iYW5uZXJcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodENvbXB1dGVkKClcIlxyXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGVUb0xpbmsoYmFubmVyLmxpbmspXCJcclxuICAgIC8+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLWNhcm91c2VsPlxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBTzVDLE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJ6QyxzQkFBaUIsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUVqQyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsT0FBTyxDQUNMLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUN4RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFTSxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixxQkFBZ0IsR0FBVyxJQUFJLENBQUM7UUFHekMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFZSxDQUFDO0lBRTdDLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLElBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBdkJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDZpQkFDQSxRQUFRLGdFQ2hCeEMsc3FCQXlCQTs7MkZEVmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7c0ZBZ0JkLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5wdXQsXHJcbiAgdmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcm91c2VsIH0gZnJvbSAncHJpbWVuZy9jYXJvdXNlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWNhcm91c2VsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkNhcm91c2VsQ29tcG9uZW50IHtcclxuICBjYXJvdXNlbENvbnRhaW5lciA9IHZpZXdDaGlsZChDYXJvdXNlbCk7XHJcblxyXG4gIGhlaWdodENhcm91c2VsID0gaW5wdXQ8bnVtYmVyPigpO1xyXG5cclxuICBoZWlnaHRDb21wdXRlZCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuaGVpZ2h0Q2Fyb3VzZWwoKSA/P1xyXG4gICAgICB0aGlzLmNhcm91c2VsQ29udGFpbmVyKCk/LmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XHJcbiAgICApO1xyXG4gIH0pO1xyXG5cclxuICBASW5wdXQoKSBjYXJvdXNlbERhdGE6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgYXV0b3BsYXlJbnRlcnZhbDogbnVtYmVyID0gNTAwMDtcclxuXHJcbiAgd2lkdGhDYXJvdXNlbCE6IG51bWJlcjtcclxuICBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmF2aWdhdGVUb0xpbmsobGluazogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZihsaW5rICE9PSBudWxsICYmIGxpbmsgIT09IHVuZGVmaW5lZCAmJiBsaW5rICE9PSAnJykgXHJcbiAgICB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxwLWNhcm91c2VsXHJcbiAgW3ZhbHVlXT1cImNhcm91c2VsRGF0YVwiXHJcbiAgW2luZGljYXRvclN0eWxlQ2xhc3NdPVwiJ2Nhcm91c2VsLWluZGljYXRvcidcIlxyXG4gIFthdXRvcGxheUludGVydmFsXT1cImF1dG9wbGF5SW50ZXJ2YWxcIlxyXG4gIFtzaG93SW5kaWNhdG9yc109XCJ0cnVlXCJcclxuICBbc2hvd05hdmlnYXRvcnNdPVwiZmFsc2VcIlxyXG4gIFtudW1WaXNpYmxlXT1cIjFcIlxyXG4gIFtudW1TY3JvbGxdPVwiMVwiXHJcbiAgW2NpcmN1bGFyXT1cInRydWVcIlxyXG4gIHN0eWxlQ2xhc3M9XCJoLWZ1bGxcIlxyXG4+XHJcbiAgPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgcFRlbXBsYXRlPVwiaXRlbVwiXHJcbiAgICBsZXQtYmFubmVyXHJcbiAgICBjbGFzcz1cImp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICA+XHJcbiAgICA8aW1nXHJcbiAgICAgIFtzcmNdPVwiYmFubmVyLmltZ1wiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGJvcmRlci1yb3VuZC1iYW5uZXJcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodENvbXB1dGVkKClcIlxyXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGVUb0xpbmsoYmFubmVyLmxpbmspXCJcclxuICAgIC8+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLWNhcm91c2VsPlxyXG4iXX0=
@@ -35,11 +35,9 @@ export class KvDropdownComponent extends BaseComponentDropDown {
35
35
  this.dropDownWidth = signal(0);
36
36
  this.dropDownWidthPx = computed(() => `${this.dropDownWidth()}px`);
37
37
  this.disabledOptions = input([]);
38
- this.isOptionDisabled = (option) => {
39
- // if (this.disabledOptions().some(disabledOption => disabledOption.id === option[this.optionValue]))
40
- // this.optionDisabled = option;
38
+ this.isOptionDisabled = computed(() => (option) => {
41
39
  return this.disabledOptions().some(disabledOption => disabledOption.id === option[this.optionValue]);
42
- };
40
+ });
43
41
  this.getOptionTooltip = (option) => {
44
42
  const disabledOption = this.disabledOptions().find(disabledOption => disabledOption.id === option[this.optionValue]);
45
43
  return disabledOption ? disabledOption.tooltip : '';
@@ -76,11 +74,11 @@ export class KvDropdownComponent extends BaseComponentDropDown {
76
74
  this.onLazyLoad.emit(event);
77
75
  }
78
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvDropdownComponent, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvDropdownComponent, selector: "kv-dropdown", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, dropDowValue: { classPropertyName: "dropDowValue", publicName: "dropDowValue", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, selectedItemTemplate: { classPropertyName: "selectedItemTemplate", publicName: "selectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, disabledOptions: { classPropertyName: "disabledOptions", publicName: "disabledOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLazyLoad: "onLazyLoad" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvDropdownComponent), viewQueries: [{ propertyName: "pDropDown", first: true, predicate: Dropdown, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n\r\n <!-- <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n </ng-template> -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: i5.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i6.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvDropdownComponent, selector: "kv-dropdown", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, dropDowValue: { classPropertyName: "dropDowValue", publicName: "dropDowValue", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, selectedItemTemplate: { classPropertyName: "selectedItemTemplate", publicName: "selectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, disabledOptions: { classPropertyName: "disabledOptions", publicName: "disabledOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLazyLoad: "onLazyLoad" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: ComponentProviders(KvDropdownComponent), viewQueries: [{ propertyName: "pDropDown", first: true, predicate: Dropdown, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: i5.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i6.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i10.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
80
78
  }
81
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvDropdownComponent, decorators: [{
82
80
  type: Component,
83
- args: [{ selector: 'kv-dropdown', providers: ComponentProviders(KvDropdownComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n\r\n <!-- <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n </ng-template> -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
81
+ args: [{ selector: 'kv-dropdown', providers: ComponentProviders(KvDropdownComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-dropdown\r\n [appendTo]=\"appendTo()\"\r\n scrollHeight=\"250px\"\r\n styleClass=\"inputs\"\r\n [(ngModel)]=\"value\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [emptyMessage]=\"emptyMessage()\"\r\n [filter]=\"filter\"\r\n [group]=\"group\"\r\n [inputId]=\"componentId\"\r\n [lazy]=\"lazy\"\r\n [loading]=\"loading\"\r\n [optionDisabled]=\"optionDisabled\"\r\n [optionGroupChildren]=\"optionGroupChildren\"\r\n [optionGroupLabel]=\"optionGroupLabel\"\r\n [optionLabel]=\"optionLabel\"\r\n [options]=\"filteredOptions\"\r\n [optionValue]=\"optionValue\"\r\n [panelStyle]=\"{ width: dropDownWidthPx() }\"\r\n [showClear]=\"showClear\"\r\n [filterPlaceholder]=\"filterPlaceholder\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onInputBlur($event)\"\r\n (onChange)=\"onInputChange($event)\"\r\n (onClick)=\"onInputClick($event)\"\r\n (onFilter)=\"onInputFilter($event)\"\r\n (onLazyLoad)=\"onInputLazyLoad($event)\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n >\r\n <ng-template *ngIf=\"showAddButton\" pTemplate=\"footer\">\r\n <p-divider></p-divider>\r\n <div class=\"flex flex-wrap card-container p-1\">\r\n <div class=\"flex justify-content-center\">\r\n <button\r\n pButton\r\n label=\"Incluir\"\r\n pTooltip=\"Clique aqui para incluir um novo registro\"\r\n tooltipPosition=\"bottom\"\r\n icon=\"pi pi-plus\"\r\n class=\"p-button-rounded p-button-success mr-2\"\r\n (click)=\"addClick($event)\"\r\n ></button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"getOptionTooltip(item)\"\r\n tooltipPosition=\"left\"\r\n class=\"p-2 {{ isOptionDisabled()(item) && 'disable' }}\"\r\n >\r\n <ng-container\r\n *ngIf=\"itemTemplate\"\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n </ng-container>\r\n <span *ngIf=\"!itemTemplate\">{{ item[optionLabel] }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n let-selectedItem\r\n pTemplate=\"selectedItem\"\r\n *ngIf=\"selectedItemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"selectedItemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: selectedItem }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n\r\n <!-- :: -->\r\n </p-dropdown>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: ["::ng-deep .p-dropdown .p-dropdown-label{display:flex;align-items:center}::ng-deep .p-dropdown{width:100%}::ng-deep .p-dropdown-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-dropdown-filter{height:1.875rem}::ng-deep .p-dropdown-panel .p-dropdown-header{padding:.75rem}::ng-deep .p-dropdown-panel .p-dropdown-items{padding:.75rem}::ng-deep p-dropdown p-overlay .p-overlay{max-width:100%}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-inputtext{font-size:.875rem}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:0}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable){background-color:#f0f0f0;opacity:.5;cursor:not-allowed;pointer-events:auto}::ng-deep .p-dropdown-panel .p-dropdown-items .p-dropdown-item:has(.disable):active{pointer-events:none}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
84
82
  }], ctorParameters: () => [{ type: i1.ComponentService }, { type: i2.DialogService }, { type: i0.ElementRef }], propDecorators: { filterPlaceholder: [{
85
83
  type: Input
86
84
  }], placeholder: [{
@@ -101,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
101
99
  type: HostListener,
102
100
  args: ['window:resize', ['$event']]
103
101
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWRyb3Bkb3duL2t2LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1kcm9wZG93bi9rdi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFFUixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBVzVDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBcUI7SUFDNUQsWUFDRSxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDcEIsS0FBaUI7UUFFekIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFLbEIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBS25DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBR3hDLGFBQVEsR0FBUSxLQUFLLENBQU0sTUFBTSxDQUFDLENBQUM7UUFHbkMsWUFBTyxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMs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QyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0E3RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsdzlDQUZuQixrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxxRUEyQnZCLFFBQVEsdUZDeERyQyw0cUdBaUdBOzsyRkRsRWEsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNFLGFBQWEsYUFNWixrQkFBa0IscUJBQXFCOzBJQVd6QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ1ksV0FBVztzQkFBNUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQU9JLFVBQVU7c0JBQW5CLE1BQU07Z0JBMkNBLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIHZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50RHJvcERvd24gfSBmcm9tICcuLi8uLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi9rZWV2by1jb21wb25lbnRzLXN0eWxlcy5zY3NzJ1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBDb21wb25lbnRQcm92aWRlcnMoS3ZEcm9wZG93bkNvbXBvbmVudCksXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkRyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudERyb3BEb3duIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSwgZGlhbG9nU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBmaWx0ZXJQbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgb3ZlcnJpZGUgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcgJztcclxuICBASW5wdXQoKSBkcm9wRG93VmFsdWUhOiBhbnk7XHJcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsSXRlbVNpemUhOiBudW1iZXI7XHJcblxyXG4gIGFwcGVuZFRvOiBhbnkgPSBpbnB1dDxhbnk+KCdib2R5Jyk7XHJcblxyXG5cclxuICBjaGFuZ2VzID0gc2lnbmFsPG51bWJlcj4oMCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkxhenlMb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcERyb3BEb3duID0gdmlld0NoaWxkPGFueT4oRHJvcGRvd24pO1xyXG5cclxuICAvLyBwRHJvcERvd25XaWR0aCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcclxuICBwRHJvcERvd25XaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHRoaXMuY2hhbmdlcygpOyAvL3JlZ2lzdHJhIGVzdGUgc2luYWwgcGFyYSBjb25zaWRlcmFyIGEgZGV0ZWPDp8OjbyBkZSBtdWRhbsOnYXNcclxuXHJcbiAgICBjb25zdCBlbCA9IHRoaXMucERyb3BEb3duKCkuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiBgJHtkaW1lbnNpb25zLndpZHRofWAgKyAncHgnO1xyXG4gIH0pO1xyXG5cclxuICBkcm9wRG93bldpZHRoID0gc2lnbmFsPG51bWJlcj4oMCk7XHJcbiAgZHJvcERvd25XaWR0aFB4ID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5kcm9wRG93bldpZHRoKCl9cHhgKTtcclxuXHJcbiAgZGlzYWJsZWRPcHRpb25zID0gaW5wdXQ8YW55W10+KFtdKTtcclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgaWYgKHRoaXMuZHJvcERvd1ZhbHVlKSB0aGlzLnZhbHVlID0gdGhpcy5kcm9wRG93VmFsdWU7XHJcblxyXG4gICAgdGhpcy5jYXBpdGFsaXplT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICB0aGlzLmRyb3BEb3duV2lkdGguc2V0KHRhcmdldC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWwpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFdpZHRoKCk7XHJcbiAgICB9LCA0MDApO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5zZXRXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGgoKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuZHJvcERvd25XaWR0aC5zZXQoZWwub2Zmc2V0V2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgb25JbnB1dExhenlMb2FkKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25MYXp5TG9hZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGlzT3B0aW9uRGlzYWJsZWQgPSAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgIC8vIGlmICh0aGlzLmRpc2FibGVkT3B0aW9ucygpLnNvbWUoZGlzYWJsZWRPcHRpb24gPT4gZGlzYWJsZWRPcHRpb24uaWQgPT09IG9wdGlvblt0aGlzLm9wdGlvblZhbHVlXSkpXHJcbiAgICAvLyAgIHRoaXMub3B0aW9uRGlzYWJsZWQgPSBvcHRpb247XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRPcHRpb25zKCkuc29tZShkaXNhYmxlZE9wdGlvbiA9PiBkaXNhYmxlZE9wdGlvbi5pZCA9PT0gb3B0aW9uW3RoaXMub3B0aW9uVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvblRvb2x0aXAgPSAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRpc2FibGVkT3B0aW9uID0gdGhpcy5kaXNhYmxlZE9wdGlvbnMoKS5maW5kKGRpc2FibGVkT3B0aW9uID0+IGRpc2FibGVkT3B0aW9uLmlkID09PSBvcHRpb25bdGhpcy5vcHRpb25WYWx1ZV0pO1xyXG4gICAgcmV0dXJuIGRpc2FibGVkT3B0aW9uID8gZGlzYWJsZWRPcHRpb24udG9vbHRpcCA6ICcnO1xyXG4gIH1cclxufSIsIjxzcGFuPlxyXG4gIDxrdi1sYWJlbFxyXG4gICAgW2NvbXBvbmVudElkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbCAmJiBsYWJlbCArIChzaG93QXN0ZXJpc2sgPyAnKicgOiAnJylcIlxyXG4gIC8+XHJcblxyXG4gIDxwLWRyb3Bkb3duXHJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG8oKVwiXHJcbiAgICBzY3JvbGxIZWlnaHQ9XCIyNTBweFwiXHJcbiAgICBzdHlsZUNsYXNzPVwiaW5wdXRzXCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZSgpXCJcclxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgIFtncm91cF09XCJncm91cFwiXHJcbiAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbbGF6eV09XCJsYXp5XCJcclxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgW29wdGlvbkRpc2FibGVkXT1cIm9wdGlvbkRpc2FibGVkXCJcclxuICAgIFtvcHRpb25Hcm91cENoaWxkcmVuXT1cIm9wdGlvbkdyb3VwQ2hpbGRyZW5cIlxyXG4gICAgW29wdGlvbkdyb3VwTGFiZWxdPVwib3B0aW9uR3JvdXBMYWJlbFwiXHJcbiAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gICAgW29wdGlvbnNdPVwiZmlsdGVyZWRPcHRpb25zXCJcclxuICAgIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZVwiXHJcbiAgICBbcGFuZWxTdHlsZV09XCJ7IHdpZHRoOiBkcm9wRG93bldpZHRoUHgoKSB9XCJcclxuICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcclxuICAgIFtmaWx0ZXJQbGFjZWhvbGRlcl09XCJmaWx0ZXJQbGFjZWhvbGRlclwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgIChvbkNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgKG9uQ2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxyXG4gICAgKG9uRmlsdGVyKT1cIm9uSW5wdXRGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAob25MYXp5TG9hZCk9XCJvbklucHV0TGF6eUxvYWQoJGV2ZW50KVwiXHJcbiAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwidmlydHVhbFNjcm9sbEl0ZW1TaXplXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93QWRkQnV0dG9uXCIgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjYXJkLWNvbnRhaW5lciBwLTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgbGFiZWw9XCJJbmNsdWlyXCJcclxuICAgICAgICAgICAgcFRvb2x0aXA9XCJDbGlxdWUgYXF1aSBwYXJhIGluY2x1aXIgdW0gbm92byByZWdpc3Ryb1wiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIGljb249XCJwaSBwaS1wbHVzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gOjogLS0+XHJcblxyXG4gICAgPCEtLSA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtwVG9vbHRpcF09XCJnZXRPcHRpb25Ub29sdGlwKGl0ZW0pXCJcclxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICBjbGFzcz1cInAtMiB7eyBpc09wdGlvbkRpc2FibGVkKGl0ZW0pICYmICdkaXNhYmxlJyB9fVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtVGVtcGxhdGVcIj57eyBpdGVtW29wdGlvbkxhYmVsXSB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICBsZXQtc2VsZWN0ZWRJdGVtXHJcbiAgICAgIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtVGVtcGxhdGVcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0ZWRJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc2VsZWN0ZWRJdGVtIH1cIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8IS0tIDo6IC0tPlxyXG4gIDwvcC1kcm9wZG93bj5cclxuXHJcbiAgPGt2LWVycm9yIFtoYXNFcnJvcl09XCJoYXNDb250cm9sRXJyb3IoKVwiPnt7IGVycm9NZXNzYWdlKCkgfX08L2t2LWVycm9yPlxyXG48L3NwYW4+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWRyb3Bkb3duL2t2LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1kcm9wZG93bi9rdi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFFUixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBVzVDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBcUI7SUFDNUQsWUFDRSxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDcEIsS0FBaUI7UUFFekIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRi9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFLbEIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBS25DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBR3hDLGFBQVEsR0FBUSxLQUFLLENBQU0sTUFBTSxDQUFDLENBQUM7UUFHbkMsWUFBTyxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMs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LENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBN0VVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHc5Q0FGbkIsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMscUVBMkJ2QixRQUFRLHVGQ3hEckMscTRGQXVGQTs7MkZEeERhLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxhQUFhLGFBTVosa0JBQWtCLHFCQUFxQjswSUFXekMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNZLFdBQVc7c0JBQTVCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFPSSxVQUFVO3NCQUFuQixNQUFNO2dCQTJDQSxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGNvbXB1dGVkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBUZW1wbGF0ZVJlZixcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudERyb3BEb3duIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bic7XHJcbmltcG9ydCB7IENvbXBvbmVudFByb3ZpZGVycyB9IGZyb20gJy4uLy4uLy4uL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL3NlcnZpY2VzL2NvbXBvbmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9rdi1kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4vLi4va2Vldm8tY29tcG9uZW50cy1zdHlsZXMuc2NzcydcclxuICBdLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKEt2RHJvcGRvd25Db21wb25lbnQpLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnREcm9wRG93biBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UsIGRpYWxvZ1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgZmlsdGVyUGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG92ZXJyaWRlIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnICc7XHJcbiAgQElucHV0KCkgZHJvcERvd1ZhbHVlITogYW55O1xyXG4gIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbEl0ZW1TaXplITogbnVtYmVyO1xyXG5cclxuICBhcHBlbmRUbzogYW55ID0gaW5wdXQ8YW55PignYm9keScpO1xyXG5cclxuXHJcbiAgY2hhbmdlcyA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG5cclxuICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHBEcm9wRG93biA9IHZpZXdDaGlsZDxhbnk+KERyb3Bkb3duKTtcclxuXHJcbiAgLy8gcERyb3BEb3duV2lkdGggPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiAgcERyb3BEb3duV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICB0aGlzLmNoYW5nZXMoKTsgLy9yZWdpc3RyYSBlc3RlIHNpbmFsIHBhcmEgY29uc2lkZXJhciBhIGRldGVjw6fDo28gZGUgbXVkYW7Dp2FzXHJcblxyXG4gICAgY29uc3QgZWwgPSB0aGlzLnBEcm9wRG93bigpLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBkaW1lbnNpb25zID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICByZXR1cm4gYCR7ZGltZW5zaW9ucy53aWR0aH1gICsgJ3B4JztcclxuICB9KTtcclxuXHJcbiAgZHJvcERvd25XaWR0aCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG4gIGRyb3BEb3duV2lkdGhQeCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuZHJvcERvd25XaWR0aCgpfXB4YCk7XHJcblxyXG4gIGRpc2FibGVkT3B0aW9ucyA9IGlucHV0PGFueVtdPihbXSk7XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIGlmICh0aGlzLmRyb3BEb3dWYWx1ZSkgdGhpcy52YWx1ZSA9IHRoaXMuZHJvcERvd1ZhbHVlO1xyXG5cclxuICAgIHRoaXMuY2FwaXRhbGl6ZU9wdGlvbnModGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbnRyeS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5kcm9wRG93bldpZHRoLnNldCh0YXJnZXQub2Zmc2V0V2lkdGgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRXaWR0aCgpO1xyXG4gICAgfSwgNDAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuc2V0V2lkdGgoKTtcclxuICB9XHJcblxyXG4gIHNldFdpZHRoKCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLmRyb3BEb3duV2lkdGguc2V0KGVsLm9mZnNldFdpZHRoKTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRMYXp5TG9hZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBpc09wdGlvbkRpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4gKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZE9wdGlvbnMoKS5zb21lKGRpc2FibGVkT3B0aW9uID0+IGRpc2FibGVkT3B0aW9uLmlkID09PSBvcHRpb25bdGhpcy5vcHRpb25WYWx1ZV0pO1xyXG4gIH0pXHJcblxyXG4gIGdldE9wdGlvblRvb2x0aXAgPSAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRpc2FibGVkT3B0aW9uID0gdGhpcy5kaXNhYmxlZE9wdGlvbnMoKS5maW5kKGRpc2FibGVkT3B0aW9uID0+IGRpc2FibGVkT3B0aW9uLmlkID09PSBvcHRpb25bdGhpcy5vcHRpb25WYWx1ZV0pO1xyXG4gICAgcmV0dXJuIGRpc2FibGVkT3B0aW9uID8gZGlzYWJsZWRPcHRpb24udG9vbHRpcCA6ICcnO1xyXG4gIH1cclxufSIsIjxzcGFuPlxyXG4gIDxrdi1sYWJlbFxyXG4gICAgW2NvbXBvbmVudElkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbCAmJiBsYWJlbCArIChzaG93QXN0ZXJpc2sgPyAnKicgOiAnJylcIlxyXG4gIC8+XHJcblxyXG4gIDxwLWRyb3Bkb3duXHJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG8oKVwiXHJcbiAgICBzY3JvbGxIZWlnaHQ9XCIyNTBweFwiXHJcbiAgICBzdHlsZUNsYXNzPVwiaW5wdXRzXCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZSgpXCJcclxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgIFtncm91cF09XCJncm91cFwiXHJcbiAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbbGF6eV09XCJsYXp5XCJcclxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgW29wdGlvbkRpc2FibGVkXT1cIm9wdGlvbkRpc2FibGVkXCJcclxuICAgIFtvcHRpb25Hcm91cENoaWxkcmVuXT1cIm9wdGlvbkdyb3VwQ2hpbGRyZW5cIlxyXG4gICAgW29wdGlvbkdyb3VwTGFiZWxdPVwib3B0aW9uR3JvdXBMYWJlbFwiXHJcbiAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gICAgW29wdGlvbnNdPVwiZmlsdGVyZWRPcHRpb25zXCJcclxuICAgIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZVwiXHJcbiAgICBbcGFuZWxTdHlsZV09XCJ7IHdpZHRoOiBkcm9wRG93bldpZHRoUHgoKSB9XCJcclxuICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcclxuICAgIFtmaWx0ZXJQbGFjZWhvbGRlcl09XCJmaWx0ZXJQbGFjZWhvbGRlclwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgIChvbkNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgKG9uQ2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxyXG4gICAgKG9uRmlsdGVyKT1cIm9uSW5wdXRGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAob25MYXp5TG9hZCk9XCJvbklucHV0TGF6eUxvYWQoJGV2ZW50KVwiXHJcbiAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwidmlydHVhbFNjcm9sbEl0ZW1TaXplXCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93QWRkQnV0dG9uXCIgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjYXJkLWNvbnRhaW5lciBwLTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgbGFiZWw9XCJJbmNsdWlyXCJcclxuICAgICAgICAgICAgcFRvb2x0aXA9XCJDbGlxdWUgYXF1aSBwYXJhIGluY2x1aXIgdW0gbm92byByZWdpc3Ryb1wiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIGljb249XCJwaSBwaS1wbHVzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtwVG9vbHRpcF09XCJnZXRPcHRpb25Ub29sdGlwKGl0ZW0pXCJcclxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICBjbGFzcz1cInAtMiB7eyBpc09wdGlvbkRpc2FibGVkKCkoaXRlbSkgJiYgJ2Rpc2FibGUnIH19XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW1UZW1wbGF0ZVwiPnt7IGl0ZW1bb3B0aW9uTGFiZWxdIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgIGxldC1zZWxlY3RlZEl0ZW1cclxuICAgICAgcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1UZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3RlZEl0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBzZWxlY3RlZEl0ZW0gfVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gOjogLS0+XHJcbiAgPC9wLWRyb3Bkb3duPlxyXG5cclxuICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcbjwvc3Bhbj5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4iXX0=
@@ -43,12 +43,31 @@ export class KvEditorComponent extends BaseComponentInput {
43
43
  Quill.register(SizeStyle, true);
44
44
  Quill.register(Font, true);
45
45
  Quill.register(Size, true);
46
- // Quill.register('modules/blotFormatter', this.BlotFormatter);
47
- // blotFormatter: {}
46
+ // Customizando o comportamento do Enter
47
+ const bindings = Quill.import('modules/keyboard').DEFAULTS.bindings;
48
+ bindings['enter'] = {
49
+ key: 13, // Código da tecla Enter
50
+ handler: (range) => {
51
+ const quill = this.quill;
52
+ quill.insertEmbed(range.index, 'break', true, Quill.sources.USER);
53
+ quill.setSelection(range.index + 1, Quill.sources.SILENT);
54
+ return false; // Evita o comportamento padrão de criar um <p>
55
+ },
56
+ };
57
+ // Custom blot for <br> tag
58
+ const BlockEmbed = Quill.import('blots/block/embed');
59
+ class Break extends BlockEmbed {
60
+ static { this.blotName = 'break'; }
61
+ static { this.tagName = 'br'; }
62
+ }
63
+ Quill.register(Break);
48
64
  this.quill = new Quill('#kv-editor', {
49
65
  theme: 'snow',
50
66
  modules: {
51
67
  toolbar: '#kv-editor-toolbar',
68
+ keyboard: {
69
+ bindings: bindings,
70
+ },
52
71
  },
53
72
  placeholder: this.label ? this.label : '',
54
73
  readOnly: this.readonly,
@@ -58,14 +77,18 @@ export class KvEditorComponent extends BaseComponentInput {
58
77
  this.onSelectionChange.emit({
59
78
  range: range,
60
79
  oldRange: oldRange,
61
- source: source
80
+ source: source,
62
81
  });
63
82
  });
64
83
  this.quill.on('text-change', (delta, oldContents, source) => {
65
84
  if (!this.updatingEditor) {
66
85
  this.updatingEditor = false;
67
86
  this.escrevaValor(this.quill.getSemanticHTML(), this.quill.getText());
68
- this.onTextChange.emit({ delta: delta, oldContents: oldContents, source: source });
87
+ this.onTextChange.emit({
88
+ delta: delta,
89
+ oldContents: oldContents,
90
+ source: source,
91
+ });
69
92
  this.outputRaw.emit(this.quill.getText());
70
93
  this.outputHtml.emit(this.quill.getSemanticHTML());
71
94
  }
@@ -109,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
109
132
  }], contentType: [{
110
133
  type: Input
111
134
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLDREQUE0RDtBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBUzlFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBMEI7SUFDL0Qsc0NBQXNDO0lBR3RDLFlBQ0UsZ0JBQWtDO1FBQ2xDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBR2pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFDOUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV0QixpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFELGNBQVMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFLeEM7O1dBRUc7UUFD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RyxVQUFVO3NCQUFuQixNQUFNO2dCQVdFLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XHJcbi8vIGltcG9ydCBRdWlsbEJsb3RGb3JtYXR0ZXIgIGZyb20gJ3F1aWxsLWJsb3QtZm9ybWF0dGVyLTInO1xyXG5cclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnRJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtaW5wdXQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi9hcGkvaGVscGVycy9jb21wb25lbnQtcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtZWRpdG9yLmNvbXBvbmVudC5zY3NzJyxdLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKEt2RWRpdG9yQ29tcG9uZW50KSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2RWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudElucHV0PHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vIEJsb3RGb3JtYXR0ZXIgPSBRdWlsbEJsb3RGb3JtYXR0ZXI7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYW52YUhlaWd0aDogc3RyaW5nID0gJzM4MHB4JztcclxuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25UZXh0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb3V0cHV0UmF3OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb3V0cHV0SHRtbDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBwcml2YXRlIHVwZGF0aW5nRWRpdG9yOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHF1aWxsITogUXVpbGw7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBjYXNvIGRlZmluYSBjb21vIFwidGV4dFwiIG8gdGV4dG8gaXJhIHNlciBlbnZpYWRvIHNlbSBmb3JtYXRhw6fDo29cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250ZW50VHlwZTogJ2h0bWwnIHwgJ3RleHQnID0gJ2h0bWwnO1xyXG5cclxuXHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKVxyXG4gICAgaWYgKCF0aGlzLnF1aWxsKSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVF1aWxsRWRpdG9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdGlhbGl6ZVF1aWxsRWRpdG9yKCkge1xyXG4gICAgY29uc3QgQ29sb3JDbGFzczogYW55ID0gUXVpbGwuaW1wb3J0KCdhdHRyaWJ1dG9ycy9jbGFzcy9jb2xvcicpO1xyXG4gICAgY29uc3QgQ29sb3JTdHlsZTogYW55ID0gUXVpbGwuaW1wb3J0KCdhdHRyaWJ1dG9ycy9zdHlsZS9jb2xvcicpO1xyXG4gICAgY29uc3QgU2l6ZVN0eWxlOiBhbnkgPSBRdWlsbC5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL3NpemUnKTtcclxuICAgIGNvbnN0IEZvbnQ6IGFueSA9IFF1aWxsLmltcG9ydCgnZm9ybWF0cy9mb250Jyk7XHJcbiAgICBjb25zdCBTaXplOiBhbnkgPSBRdWlsbC5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL3NpemUnKTtcclxuXHJcbiAgICBTaXplLndoaXRlbGlzdCA9IFsnMTVweCcsICcyMHB4JywgJzMwcHgnLCAnNDBweCcsICc1MHB4JywgJzcwcHgnLCAnOTBweCddO1xyXG4gICAgRm9udC53aGl0ZWxpc3QgPSBbJ21vbm9zcGFjZScsICdyb2JvdG8nLCAnc2VyaWYnLCAnaW50ZXInXTtcclxuXHJcbiAgICBRdWlsbC5yZWdpc3RlcihDb2xvclN0eWxlLCB0cnVlKTtcclxuICAgIFF1aWxsLnJlZ2lzdGVyKFNpemVTdHlsZSwgdHJ1ZSk7XHJcbiAgICBRdWlsbC5yZWdpc3RlcihGb250LCB0cnVlKTtcclxuICAgIFF1aWxsLnJlZ2lzdGVyKFNpemUsIHRydWUpO1xyXG5cclxuICAgIC8vIFF1aWxsLnJlZ2lzdGVyKCdtb2R1bGVzL2Jsb3RGb3JtYXR0ZXInLCB0aGlzLkJsb3RGb3JtYXR0ZXIpO1xyXG5cclxuXHJcbiAgICAvLyBibG90Rm9ybWF0dGVyOiB7fVxyXG4gICAgdGhpcy5xdWlsbCA9IG5ldyBRdWlsbCgnI2t2LWVkaXRvcicsIHtcclxuICAgICAgdGhlbWU6ICdzbm93JyxcclxuICAgICAgbW9kdWxlczoge1xyXG4gICAgICAgIHRvb2xiYXI6ICcja3YtZWRpdG9yLXRvb2xiYXInLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMubGFiZWwgPyB0aGlzLmxhYmVsIDogJycsXHJcbiAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRvbmx5LFxyXG4gICAgICBkZWJ1ZzogdGhpcy5kZWJ1ZyxcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnF1aWxsLm9uKCdzZWxlY3Rpb24tY2hhbmdlJywgKHJhbmdlLCBvbGRSYW5nZSwgc291cmNlKSA9PiB7XHJcbiAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgcmFuZ2U6IHJhbmdlLFxyXG4gICAgICAgIG9sZFJhbmdlOiBvbGRSYW5nZSxcclxuICAgICAgICBzb3VyY2U6IHNvdXJjZVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucXVpbGwub24oJ3RleHQtY2hhbmdlJywgKGRlbHRhLCBvbGRDb250ZW50cywgc291cmNlKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy51cGRhdGluZ0VkaXRvcikge1xyXG4gICAgICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5lc2NyZXZhVmFsb3IodGhpcy5xdWlsbC5nZXRTZW1hbnRpY0hUTUwoKSwgdGhpcy5xdWlsbC5nZXRUZXh0KCkpXHJcblxyXG4gICAgICAgIHRoaXMub25UZXh0Q2hhbmdlLmVtaXQoeyBkZWx0YTogZGVsdGEsIG9sZENvbnRlbnRzOiBvbGRDb250ZW50cywgc291cmNlOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgdGhpcy5vdXRwdXRSYXcuZW1pdCh0aGlzLnF1aWxsLmdldFRleHQoKSlcclxuICAgICAgICB0aGlzLm91dHB1dEh0bWwuZW1pdCh0aGlzLnF1aWxsLmdldFNlbWFudGljSFRNTCgpKVxyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0aW5nRWRpdG9yID0gdHJ1ZVxyXG4gICAgdGhpcy5lc2NyZXZhVmFsb3IodmFsdWUpXHJcbiAgfVxyXG5cclxuXHJcbiAgZXNjcmV2YVZhbG9yKGh0bWx2YWx1ZTogYW55LCByYXd2YWx1ZT86YW55KXtcclxuICAgIGlmICh0aGlzLnF1aWxsKSB7XHJcblxyXG4gICAgICBpZih0aGlzLnVwZGF0aW5nRWRpdG9yKXtcclxuICAgICAgICB0aGlzLnF1aWxsLmNsaXBib2FyZC5kYW5nZXJvdXNseVBhc3RlSFRNTChodG1sdmFsdWUpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSBmYWxzZTtcclxuICAgICAgdGhpcy52YWx1ZT0gaHRtbHZhbHVlXHJcblxyXG4gICAgICBpZihyYXd2YWx1ZSA9PSBcIlxcblwiIHx8IHRoaXMudmFsdWUgPT1cIlxcblwiKVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAnJ1xyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImt2LWVkaXRvci1jb250YWluZXJcIj5cclxuICA8ZGl2ICNlZGl0b3IgaWQ9XCJrdi1lZGl0b3ItdG9vbGJhclwiIFtuZ0NsYXNzXT1cInsnZXJyb3ItYm9yZGVyLXRvb2xiYXInOiBoYXNDb250cm9sRXJyb3IoKX1cIiA+XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWZvbnRcIj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwicm9ib3RvXCI+Um9ib3RvPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1vbm9zcGFjZVwiPk1vbm9zcGFjZTwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJpbnRlclwiPkludGVyPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5TYW5zIFNlcmlmPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+U2VyaWY8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcblxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj5UaXR1bG88L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPlN1YnRpdHVsbzwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+Tm9ybWFsPC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXQtZ3JvdXBcIj5cclxuICAgICAgICA8c2VsZWN0IHRpdGxlPVwiU2l6ZVwiIGNsYXNzPVwicWwtc2l6ZVwiPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjE1cHhcIj4xNXB4PC9vcHRpb24+XHJcbiAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMjBweFwiPjIwcHg8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIzMHB4XCI+MzBweDwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjQwcHhcIj40MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNTBweFwiPjUwcHg8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI3MHB4XCI+NzBweDwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjkwcHhcIj45MHB4PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJvbGRcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWl0YWxpY1wiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdW5kZXJsaW5lXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zdHJpa2VcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWNvbG9yXCI+PC9zZWxlY3Q+XHJcbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCI+PC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1YlwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc2NyaXB0XCIgdmFsdWU9XCJzdXBlclwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaGVhZGVyXCIgdmFsdWU9XCIxXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjJcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJsb2NrcXVvdGVcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cIm9yZGVyZWRcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cImJ1bGxldFwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCItMVwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCIrMVwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtZGlyZWN0aW9uXCIgdmFsdWU9XCJydGxcIj48L2J1dHRvbj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWFsaWduXCI+PC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saW5rXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdmlkZW9cIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNsZWFuXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgaWQ9XCJrdi1lZGl0b3JcIiBbc3R5bGUuaGVpZ2h0XT1cImNhbnZhSGVpZ3RoXCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXInOiBoYXNDb250cm9sRXJyb3IoKX1cIiA+PC9kaXY+XHJcbjwvZGl2PlxyXG48a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcblxyXG5cclxuPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuc25vdy5jc3NcIiByZWw9XCJzdHlsZXNoZWV0XCIgLz5cclxuICA8bGluayBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90b1wiIHJlbD1cInN0eWxlc2hlZXRcIj5cclxuICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcXVpbGxAMi4wLjIvZGlzdC9xdWlsbC5qc1wiPjwvc2NyaXB0PlxyXG4gIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9rYXRleEAwLjE2LjkvZGlzdC9rYXRleC5taW4uanNcIj48L3NjcmlwdD5cclxuXHJcblxyXG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLmJ1YmJsZS5jc3NcIiAvPlxyXG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaGlnaGxpZ2h0LmpzLzExLjkuMC9zdHlsZXMvYXRvbS1vbmUtZGFyay5taW4uY3NzXCIgLz5cclxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0va2F0ZXhAMC4xNi45L2Rpc3Qva2F0ZXgubWluLmNzc1wiIC8+XHJcblxyXG5cclxuICA8IS0tIEltcG9ydCBmb250cyAtLT5cclxuXHJcbiAgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tXCI+XHJcbiAgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCIgY3Jvc3NvcmlnaW4+XHJcblxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJhbG9vKzI6d2dodEA0MDA7NTAwOzYwMDs3MDA7ODAwJmZhbWlseT1JbnRlcjp3Z2h0QDEwMC4uOTAwJmZhbWlseT1KZXRCcmFpbnMrTW9ubzppdGFsLHdnaHRAMCwxMDAuLjgwMDsxLDEwMC4uODAwJmRpc3BsYXk9c3dhcFwiIHJlbD1cInN0eWxlc2hlZXRcIj5cclxuICA8bGluayBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1CYWxvbysyOndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMCZmYW1pbHk9SW50ZXI6d2dodEAxMDAuLjkwMCZmYW1pbHk9SmV0QnJhaW5zK01vbm86aXRhbCx3Z2h0QDAsMTAwLi44MDA7MSwxMDAuLjgwMCZmYW1pbHk9Um9ib3RvOml0YWwsd2dodEAwLDEwMDswLDMwMDswLDQwMDswLDUwMDswLDcwMDswLDkwMDsxLDEwMDsxLDMwMDsxLDQwMDsxLDUwMDsxLDcwMDsxLDkwMCZkaXNwbGF5PXN3YXBcIiByZWw9XCJzdHlsZXNoZWV0XCI+XHJcbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLDREQUE0RDtBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBUzlFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBMEI7SUFDL0Qsc0NBQXNDO0lBR3RDLFlBQ0UsZ0JBQWtDO1FBQ2xDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBR2pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFDOUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV0QixpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFELGNBQVMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFLeEM7O1dBRUc7UUFD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QUFJLENBQUE7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBR0QsWUFBWSxDQUFDLFNBQWMsRUFBRSxRQUFhO1FBQ3hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWYsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3RELENBQUM7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFFLFNBQVMsQ0FBQTtZQUVyQixJQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBRyxJQUFJO2dCQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUVuQixDQUFDO0lBQ0gsQ0FBQzs4R0F2SVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbVJBRmpCLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLGlEQ3BCbEQsZ2dKQWlIQTs7MkZEM0ZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXLGFBR1Ysa0JBQWtCLG1CQUFtQjtxRkFXdkMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBV0UsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuLy8gaW1wb3J0IFF1aWxsQmxvdEZvcm1hdHRlciAgZnJvbSAncXVpbGwtYmxvdC1mb3JtYXR0ZXItMic7XHJcblxyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudElucHV0IH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1pbnB1dCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFByb3ZpZGVycyB9IGZyb20gJy4uLy4uLy4uL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL3NlcnZpY2VzL2NvbXBvbmVudC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi1lZGl0b3IuY29tcG9uZW50LnNjc3MnLF0sXHJcbiAgcHJvdmlkZXJzOiBDb21wb25lbnRQcm92aWRlcnMoS3ZFZGl0b3JDb21wb25lbnQpLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50SW5wdXQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gQmxvdEZvcm1hdHRlciA9IFF1aWxsQmxvdEZvcm1hdHRlcjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbnZhSGVpZ3RoOiBzdHJpbmcgPSAnMzgwcHgnO1xyXG4gIEBJbnB1dCgpIGRlYnVnOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBvblRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvdXRwdXRSYXc6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvdXRwdXRIdG1sOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG4gIHByaXZhdGUgdXBkYXRpbmdFZGl0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcXVpbGwhOiBRdWlsbDtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIGNhc28gZGVmaW5hIGNvbW8gXCJ0ZXh0XCIgbyB0ZXh0byBpcmEgc2VyIGVudmlhZG8gc2VtIGZvcm1hdGHDp8Ojb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRUeXBlOiAnaHRtbCcgfCAndGV4dCcgPSAnaHRtbCc7XHJcblxyXG5cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICBpZiAoIXRoaXMucXVpbGwpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplUXVpbGxFZGl0b3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBpbml0aWFsaXplUXVpbGxFZGl0b3IoKSB7XHJcbiAgICBjb25zdCBDb2xvckNsYXNzOiBhbnkgPSBRdWlsbC5pbXBvcnQoJ2F0dHJpYnV0b3JzL2NsYXNzL2NvbG9yJyk7XHJcbiAgICBjb25zdCBDb2xvclN0eWxlOiBhbnkgPSBRdWlsbC5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL2NvbG9yJyk7XHJcbiAgICBjb25zdCBTaXplU3R5bGU6IGFueSA9IFF1aWxsLmltcG9ydCgnYXR0cmlidXRvcnMvc3R5bGUvc2l6ZScpO1xyXG4gICAgY29uc3QgRm9udDogYW55ID0gUXVpbGwuaW1wb3J0KCdmb3JtYXRzL2ZvbnQnKTtcclxuICAgIGNvbnN0IFNpemU6IGFueSA9IFF1aWxsLmltcG9ydCgnYXR0cmlidXRvcnMvc3R5bGUvc2l6ZScpO1xyXG4gIFxyXG4gICAgU2l6ZS53aGl0ZWxpc3QgPSBbJzE1cHgnLCAnMjBweCcsICczMHB4JywgJzQwcHgnLCAnNTBweCcsICc3MHB4JywgJzkwcHgnXTtcclxuICAgIEZvbnQud2hpdGVsaXN0ID0gWydtb25vc3BhY2UnLCAncm9ib3RvJywgJ3NlcmlmJywgJ2ludGVyJ107XHJcbiAgXHJcbiAgICBRdWlsbC5yZWdpc3RlcihDb2xvclN0eWxlLCB0cnVlKTtcclxuICAgIFF1aWxsLnJlZ2lzdGVyKFNpemVTdHlsZSwgdHJ1ZSk7XHJcbiAgICBRdWlsbC5yZWdpc3RlcihGb250LCB0cnVlKTtcclxuICAgIFF1aWxsLnJlZ2lzdGVyKFNpemUsIHRydWUpO1xyXG4gIFxyXG4gICAgLy8gQ3VzdG9taXphbmRvIG8gY29tcG9ydGFtZW50byBkbyBFbnRlclxyXG4gICAgY29uc3QgYmluZGluZ3MgPSAoUXVpbGwuaW1wb3J0KCdtb2R1bGVzL2tleWJvYXJkJykgYXMgYW55KS5ERUZBVUxUUy5iaW5kaW5ncztcclxuICAgIFxyXG4gICAgYmluZGluZ3NbJ2VudGVyJ10gPSB7XHJcbiAgICAgIGtleTogMTMsIC8vIEPDs2RpZ28gZGEgdGVjbGEgRW50ZXJcclxuICAgICAgaGFuZGxlcjogKHJhbmdlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcXVpbGwgPSB0aGlzLnF1aWxsO1xyXG4gICAgICBxdWlsbC5pbnNlcnRFbWJlZChyYW5nZS5pbmRleCwgJ2JyZWFrJywgdHJ1ZSwgUXVpbGwuc291cmNlcy5VU0VSKTtcclxuICAgICAgcXVpbGwuc2V0U2VsZWN0aW9uKHJhbmdlLmluZGV4ICsgMSwgUXVpbGwuc291cmNlcy5TSUxFTlQpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7IC8vIEV2aXRhIG8gY29tcG9ydGFtZW50byBwYWRyw6NvIGRlIGNyaWFyIHVtIDxwPlxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDdXN0b20gYmxvdCBmb3IgPGJyPiB0YWdcclxuICAgIGNvbnN0IEJsb2NrRW1iZWQgPSBRdWlsbC5pbXBvcnQoJ2Jsb3RzL2Jsb2NrL2VtYmVkJyk7XHJcbiAgICBjbGFzcyBCcmVhayBleHRlbmRzIChCbG9ja0VtYmVkIGFzIGFueSkge1xyXG4gICAgICBzdGF0aWMgYmxvdE5hbWUgPSAnYnJlYWsnO1xyXG4gICAgICBzdGF0aWMgdGFnTmFtZSA9ICdicic7XHJcbiAgICB9XHJcbiAgICBRdWlsbC5yZWdpc3RlcihCcmVhayk7XHJcbiAgXHJcbiAgICB0aGlzLnF1aWxsID0gbmV3IFF1aWxsKCcja3YtZWRpdG9yJywge1xyXG4gICAgICB0aGVtZTogJ3Nub3cnLFxyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgdG9vbGJhcjogJyNrdi1lZGl0b3ItdG9vbGJhcicsXHJcbiAgICAgICAga2V5Ym9hcmQ6IHtcclxuICAgICAgICAgIGJpbmRpbmdzOiBiaW5kaW5ncyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwgOiAnJyxcclxuICAgICAgcmVhZE9ubHk6IHRoaXMucmVhZG9ubHksXHJcbiAgICAgIGRlYnVnOiB0aGlzLmRlYnVnLFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICB0aGlzLnF1aWxsLm9uKCdzZWxlY3Rpb24tY2hhbmdlJywgKHJhbmdlLCBvbGRSYW5nZSwgc291cmNlKSA9PiB7XHJcbiAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgcmFuZ2U6IHJhbmdlLFxyXG4gICAgICAgIG9sZFJhbmdlOiBvbGRSYW5nZSxcclxuICAgICAgICBzb3VyY2U6IHNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICBcclxuICAgIHRoaXMucXVpbGwub24oJ3RleHQtY2hhbmdlJywgKGRlbHRhLCBvbGRDb250ZW50cywgc291cmNlKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy51cGRhdGluZ0VkaXRvcikge1xyXG4gICAgICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSBmYWxzZTtcclxuICBcclxuICAgICAgICB0aGlzLmVzY3JldmFWYWxvcih0aGlzLnF1aWxsLmdldFNlbWFudGljSFRNTCgpLCB0aGlzLnF1aWxsLmdldFRleHQoKSk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5vblRleHRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICBkZWx0YTogZGVsdGEsXHJcbiAgICAgICAgICBvbGRDb250ZW50czogb2xkQ29udGVudHMsXHJcbiAgICAgICAgICBzb3VyY2U6IHNvdXJjZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm91dHB1dFJhdy5lbWl0KHRoaXMucXVpbGwuZ2V0VGV4dCgpKTtcclxuICAgICAgICB0aGlzLm91dHB1dEh0bWwuZW1pdCh0aGlzLnF1aWxsLmdldFNlbWFudGljSFRNTCgpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSB0cnVlXHJcbiAgICB0aGlzLmVzY3JldmFWYWxvcih2YWx1ZSlcclxuICB9XHJcblxyXG5cclxuICBlc2NyZXZhVmFsb3IoaHRtbHZhbHVlOiBhbnksIHJhd3ZhbHVlPzphbnkpe1xyXG4gICAgaWYgKHRoaXMucXVpbGwpIHtcclxuXHJcbiAgICAgIGlmKHRoaXMudXBkYXRpbmdFZGl0b3Ipe1xyXG4gICAgICAgIHRoaXMucXVpbGwuY2xpcGJvYXJkLmRhbmdlcm91c2x5UGFzdGVIVE1MKGh0bWx2YWx1ZSlcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGluZ0VkaXRvciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnZhbHVlPSBodG1sdmFsdWVcclxuXHJcbiAgICAgIGlmKHJhd3ZhbHVlID09IFwiXFxuXCIgfHwgdGhpcy52YWx1ZSA9PVwiXFxuXCIpXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9ICcnXHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwia3YtZWRpdG9yLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgI2VkaXRvciBpZD1cImt2LWVkaXRvci10b29sYmFyXCIgW25nQ2xhc3NdPVwieydlcnJvci1ib3JkZXItdG9vbGJhcic6IGhhc0NvbnRyb2xFcnJvcigpfVwiID5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtZm9udFwiPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJyb2JvdG9cIj5Sb2JvdG88L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibW9ub3NwYWNlXCI+TW9ub3NwYWNlPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImludGVyXCI+SW50ZXI8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPlNhbnMgU2VyaWY8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwic2VyaWZcIj5TZXJpZjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuXHJcbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlRpdHVsbzwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+U3VidGl0dWxvPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5Ob3JtYWw8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcblxyXG4gICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdC1ncm91cFwiPlxyXG4gICAgICAgIDxzZWxlY3QgdGl0bGU9XCJTaXplXCIgY2xhc3M9XCJxbC1zaXplXCI+XHJcbiAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMTVweFwiPjE1cHg8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIyMHB4XCI+MjBweDwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjMwcHhcIj4zMHB4PC9vcHRpb24+XHJcbiAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNDBweFwiPjQwcHg8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI1MHB4XCI+NTBweDwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjcwcHhcIj43MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiOTBweFwiPjkwcHg8L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYm9sZFwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaXRhbGljXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC11bmRlcmxpbmVcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXN0cmlrZVwiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIj48L3NlbGVjdD5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWJhY2tncm91bmRcIj48L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3ViXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1cGVyXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjFcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMlwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYmxvY2txdW90ZVwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY29kZS1ibG9ja1wiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwib3JkZXJlZFwiPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwiYnVsbGV0XCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIi0xXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIisxXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1kaXJlY3Rpb25cIiB2YWx1ZT1cInJ0bFwiPjwvYnV0dG9uPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIj48L3NlbGVjdD5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpbmtcIj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWltYWdlXCI+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC12aWRlb1wiPjwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY2xlYW5cIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBpZD1cImt2LWVkaXRvclwiIFtzdHlsZS5oZWlnaHRdPVwiY2FudmFIZWlndGhcIiBbbmdDbGFzc109XCJ7J2Vycm9yLWJvcmRlcic6IGhhc0NvbnRyb2xFcnJvcigpfVwiID48L2Rpdj5cclxuPC9kaXY+XHJcbjxrdi1lcnJvciBbaGFzRXJyb3JdPVwiaGFzQ29udHJvbEVycm9yKClcIj57eyBlcnJvTWVzc2FnZSgpIH19PC9rdi1lcnJvcj5cclxuXHJcblxyXG48IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgPGxpbmsgaHJlZj1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcXVpbGxAMi4wLjIvZGlzdC9xdWlsbC5zbm93LmNzc1wiIHJlbD1cInN0eWxlc2hlZXRcIiAvPlxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvXCIgcmVsPVwic3R5bGVzaGVldFwiPlxyXG4gIDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLmpzXCI+PC9zY3JpcHQ+XHJcbiAgPHNjcmlwdCBzcmM9XCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2thdGV4QDAuMTYuOS9kaXN0L2thdGV4Lm1pbi5qc1wiPjwvc2NyaXB0PlxyXG5cclxuXHJcbiAgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuYnViYmxlLmNzc1wiIC8+XHJcbiAgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9oaWdobGlnaHQuanMvMTEuOS4wL3N0eWxlcy9hdG9tLW9uZS1kYXJrLm1pbi5jc3NcIiAvPlxyXG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9rYXRleEAwLjE2LjkvZGlzdC9rYXRleC5taW4uY3NzXCIgLz5cclxuXHJcblxyXG4gIDwhLS0gSW1wb3J0IGZvbnRzIC0tPlxyXG5cclxuICA8bGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb21cIj5cclxuICA8bGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb21cIiBjcm9zc29yaWdpbj5cclxuXHJcbiAgPGxpbmsgaHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmFsb28rMjp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PUludGVyOndnaHRAMTAwLi45MDAmZmFtaWx5PUpldEJyYWlucytNb25vOml0YWwsd2dodEAwLDEwMC4uODAwOzEsMTAwLi44MDAmZGlzcGxheT1zd2FwXCIgcmVsPVwic3R5bGVzaGVldFwiPlxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJhbG9vKzI6d2dodEA0MDA7NTAwOzYwMDs3MDA7ODAwJmZhbWlseT1JbnRlcjp3Z2h0QDEwMC4uOTAwJmZhbWlseT1KZXRCcmFpbnMrTW9ubzppdGFsLHdnaHRAMCwxMDAuLjgwMDsxLDEwMC4uODAwJmZhbWlseT1Sb2JvdG86aXRhbCx3Z2h0QDAsMTAwOzAsMzAwOzAsNDAwOzAsNTAwOzAsNzAwOzAsOTAwOzEsMTAwOzEsMzAwOzEsNDAwOzEsNTAwOzEsNzAwOzEsOTAwJmRpc3BsYXk9c3dhcFwiIHJlbD1cInN0eWxlc2hlZXRcIj5cclxuIl19