@kirbydesign/designsystem 9.2.1 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2022/checkbox/checkbox.component.mjs +3 -3
  2. package/esm2022/form-field/form-field.component.mjs +18 -5
  3. package/esm2022/form-field/form-field.module.mjs +5 -4
  4. package/esm2022/form-field/input/input.component.mjs +3 -3
  5. package/esm2022/form-field/textarea/textarea.component.mjs +3 -3
  6. package/esm2022/header/header.component.mjs +18 -3
  7. package/esm2022/header/header.module.mjs +7 -4
  8. package/esm2022/header/public_api.mjs +2 -2
  9. package/esm2022/range/range.component.mjs +5 -1
  10. package/esm2022/shared/floating/floating.directive.mjs +12 -5
  11. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +2 -2
  12. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  13. package/fesm2022/kirbydesign-designsystem-form-field.mjs +72 -59
  14. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  15. package/fesm2022/kirbydesign-designsystem-header.mjs +23 -5
  16. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  17. package/fesm2022/kirbydesign-designsystem-range.mjs +4 -0
  18. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  19. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +11 -4
  20. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  21. package/form-field/form-field.component.d.ts +5 -1
  22. package/form-field/form-field.module.d.ts +2 -1
  23. package/header/header.component.d.ts +6 -1
  24. package/header/header.module.d.ts +1 -1
  25. package/header/public_api.d.ts +1 -1
  26. package/package.json +2 -2
  27. package/range/range.component.d.ts +1 -0
@@ -36,6 +36,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
36
36
  selector: '[kirbyHeaderTitleActionIcon]',
37
37
  }]
38
38
  }] });
39
+ export class HeaderCustomFlagDirective {
40
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: HeaderCustomFlagDirective, selector: "[kirbyHeaderCustomFlag]", ngImport: i0 }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: '[kirbyHeaderCustomFlag]',
47
+ }]
48
+ }] });
39
49
  export class HeaderComponent {
40
50
  get _subtitles1() {
41
51
  return Array.isArray(this.subtitle1) ? this.subtitle1 : [this.subtitle1];
@@ -80,11 +90,11 @@ export class HeaderComponent {
80
90
  }
81
91
  }
82
92
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
83
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: HeaderComponent, selector: "kirby-header", inputs: { centered: "centered", titleMaxLines: "titleMaxLines", emphasizeActions: "emphasizeActions", title: "title", value: "value", valueUnit: "valueUnit", subtitle1: "subtitle1", subtitle2: "subtitle2", hasInteractiveTitle: "hasInteractiveTitle" }, outputs: { titleClick: "titleClick" }, host: { properties: { "class.centered": "this.centered" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: "progressCircle", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: "flag", first: true, predicate: FlagComponent, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customSectionTemplate", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: "titleActionIconTemplate", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true, read: ElementRef }, { propertyName: "actionsElement", first: true, predicate: ["actionsElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag\" class=\"flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:host(:not(.single-column)) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container>h1.title,:host(.centered):not(.single-column) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-left:8px;margin-right:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: HeaderComponent, selector: "kirby-header", inputs: { centered: "centered", titleMaxLines: "titleMaxLines", emphasizeActions: "emphasizeActions", title: "title", value: "value", valueUnit: "valueUnit", subtitle1: "subtitle1", subtitle2: "subtitle2", hasInteractiveTitle: "hasInteractiveTitle" }, outputs: { titleClick: "titleClick" }, host: { properties: { "class.centered": "this.centered" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: "progressCircle", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: "flag", first: true, predicate: FlagComponent, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customSectionTemplate", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customFlagTemplate", first: true, predicate: HeaderCustomFlagDirective, descendants: true, read: (TemplateRef) }, { propertyName: "titleActionIconTemplate", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true, read: ElementRef }, { propertyName: "actionsElement", first: true, predicate: ["actionsElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag || !!customFlagTemplate\" class=\"flag\">\n <ng-container *ngIf=\"!!flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n </ng-container>\n\n <!-- Custom Content in Flag section: -->\n <ng-container *ngIf=\"!!customFlagTemplate\">\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:host(:not(.single-column)) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container>h1.title,:host(.centered):not(.single-column) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-left:8px;margin-right:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
94
  }
85
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderComponent, decorators: [{
86
96
  type: Component,
87
- args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag\" class=\"flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:host(:not(.single-column)) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container>h1.title,:host(.centered):not(.single-column) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-left:8px;margin-right:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"] }]
97
+ args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag || !!customFlagTemplate\" class=\"flag\">\n <ng-container *ngIf=\"!!flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n </ng-container>\n\n <!-- Custom Content in Flag section: -->\n <ng-container *ngIf=\"!!customFlagTemplate\">\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:host(:not(.single-column)) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container>h1.title,:host(.centered):not(.single-column) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-left:8px;margin-right:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"] }]
88
98
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { centered: [{
89
99
  type: HostBinding,
90
100
  args: ['class.centered']
@@ -115,6 +125,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
115
125
  }], customSectionTemplate: [{
116
126
  type: ContentChild,
117
127
  args: [HeaderCustomSectionDirective, { read: (TemplateRef) }]
128
+ }], customFlagTemplate: [{
129
+ type: ContentChild,
130
+ args: [HeaderCustomFlagDirective, {
131
+ read: (TemplateRef),
132
+ }]
118
133
  }], titleActionIconTemplate: [{
119
134
  type: ContentChild,
120
135
  args: [HeaderTitleActionIconDirective, { read: TemplateRef }]
@@ -133,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
133
148
  }], titleClick: [{
134
149
  type: Output
135
150
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sd0NBQXdDLENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQU1wRixNQUFNLE9BQU8sc0JBQXNCO2lJQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs7QUFNRCxNQUFNLE9BQU8sNEJBQTRCO2lJQUE1Qiw0QkFBNEI7cUhBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7QUFNRCxNQUFNLE9BQU8sOEJBQThCO2lJQUE5Qiw4QkFBOEI7cUhBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO2lCQUN6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QUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUEsV0FBbUMsQ0FBQSxFQUFFO2dCQUluRixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQSxXQUF5QyxDQUFBLEVBQUU7Z0JBSS9GLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzFELEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFDVElPTkdST1VQX0NPTkZJRywgQWN0aW9uR3JvdXBDb25maWcgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2FjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2F2YXRhcic7XG5pbXBvcnQgeyBGbGFnQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9mbGFnJztcbmltcG9ydCB7IFByb2dyZXNzQ2lyY2xlQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9wcm9ncmVzcy1jaXJjbGUnO1xuaW1wb3J0IHR5cGUgeyBGaXRIZWFkaW5nQ29uZmlnIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zaGFyZWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdba2lyYnlIZWFkZXJBY3Rpb25zXScsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckFjdGlvbnNEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2tpcmJ5SGVhZGVyQ3VzdG9tU2VjdGlvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1traXJieUhlYWRlclRpdGxlQWN0aW9uSWNvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jZW50ZXJlZCcpXG4gIEBJbnB1dCgpXG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0aXRsZU1heExpbmVzOiBudW1iZXI7XG4gIEBJbnB1dCgpIGVtcGhhc2l6ZUFjdGlvbnMgPSBmYWxzZTtcblxuICBmaXRIZWFkaW5nQ29uZmlnOiBGaXRIZWFkaW5nQ29uZmlnO1xuXG4gIEBDb250ZW50Q2hpbGQoQXZhdGFyQ29tcG9uZW50KVxuICBhdmF0YXI6IEF2YXRhckNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKFByb2dyZXNzQ2lyY2xlQ29tcG9uZW50KVxuICBwcm9ncmVzc0NpcmNsZTogUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChGbGFnQ29tcG9uZW50KVxuICBmbGFnOiBGbGFnQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICB0aXRsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxIZWFkaW5nRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYWN0aW9uc0VsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgYWN0aW9uc0VsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEhlYWRlckFjdGlvbnNEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWY8SGVhZGVyQWN0aW9uc0RpcmVjdGl2ZT4gfSlcbiAgYWN0aW9uc1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8SGVhZGVyQWN0aW9uc0RpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmPEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmU+IH0pXG4gIGN1c3RvbVNlY3Rpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoSGVhZGVyVGl0bGVBY3Rpb25JY29uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRpdGxlQWN0aW9uSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSB2YWx1ZVVuaXQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBzdWJ0aXRsZTE/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIEBJbnB1dCgpIHN1YnRpdGxlMj86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgQElucHV0KCkgaGFzSW50ZXJhY3RpdmVUaXRsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHRpdGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4oKTtcblxuICBnZXQgX3N1YnRpdGxlczEoKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5zdWJ0aXRsZTEpID8gdGhpcy5zdWJ0aXRsZTEgOiBbdGhpcy5zdWJ0aXRsZTFdO1xuICB9XG5cbiAgZ2V0IF9zdWJ0aXRsZXMyKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuc3VidGl0bGUyKSA/IHRoaXMuc3VidGl0bGUyIDogW3RoaXMuc3VidGl0bGUyXTtcbiAgfVxuXG4gIG9uVGl0bGVDbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy50aXRsZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgX2FjdGlvbkdyb3VwSW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIHByaXZhdGUgYWN0aW9uR3JvdXBDb25maWc6IEFjdGlvbkdyb3VwQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uR3JvdXBDb25maWcgPSB7XG4gICAgICBkZWZhdWx0VmlzaWJsZUFjdGlvbnM6IHRoaXMuZW1waGFzaXplQWN0aW9ucyA/IHVuZGVmaW5lZCA6IDEsXG4gICAgfTtcblxuICAgIHRoaXMuX2FjdGlvbkdyb3VwSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBQ1RJT05HUk9VUF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHRoaXMuYWN0aW9uR3JvdXBDb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGl0bGVNYXhMaW5lcyA+IDApIHtcbiAgICAgIHRoaXMuZml0SGVhZGluZ0NvbmZpZyA9IHtcbiAgICAgICAgbWF4TGluZXM6IHRoaXMudGl0bGVNYXhMaW5lcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIElmIGFuIGF2YXRhciBpcyBwcmVzZW50IHdlIGRlZmF1bHQgdG8gY2VudGVyZWQgbGF5b3V0IC0gdW5sZXNzIGNvbmZpZ3VyZWQgb3RoZXJ3aXNlOlxuICAgIGlmICh0aGlzLmF2YXRhciAmJiB0aGlzLmNlbnRlcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNlbnRlcmVkKSB7XG4gICAgICB0aGlzLmFjdGlvbkdyb3VwQ29uZmlnLmlzQ29uZGVuc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhIWF2YXRhciB8fCAhIXByb2dyZXNzQ2lyY2xlXCIgY2xhc3M9XCJhdmF0YXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktYXZhdGFyLGtpcmJ5LXByb2dyZXNzLWNpcmNsZVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiISFmbGFnXCIgY2xhc3M9XCJmbGFnXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImtpcmJ5LWZsYWdcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDwhLS0gVGl0bGUgYW5kIHZhbHVlIC0gdGl0bGU6IC0tPlxuICA8aDEgKm5nSWY9XCIhIXRpdGxlICYmICEhdmFsdWVcIiAjdGl0bGVFbGVtZW50IGNsYXNzPVwidGl0bGUga2lyYnktdGV4dC1tZWRpdW1cIiBbY2xhc3MuY2xpY2thYmxlXT1cImhhc0ludGVyYWN0aXZlVGl0bGUgIT09IGZhbHNlICYmIHRpdGxlQ2xpY2sub2JzZXJ2ZWRcIiBbY2xhc3MuaGFzLWljb25dPVwiISF0aXRsZUFjdGlvbkljb25UZW1wbGF0ZVwiIChjbGljayk9XCJvblRpdGxlQ2xpY2soJGV2ZW50KVwiPlxuICAgIHt7IHRpdGxlIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlQWN0aW9uSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvaDE+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cbiAgICA8IS0tIE9ubHkgdGl0bGUsIG5vIHZhbHVlOiAtLT5cbiAgICA8aDEgKm5nSWY9XCIhIXRpdGxlICYmICF2YWx1ZVwiICN0aXRsZUVsZW1lbnQgY2xhc3M9XCJ0aXRsZVwiIFtraXJieUZpdEhlYWRpbmddPVwiZml0SGVhZGluZ0NvbmZpZ1wiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2gxPlxuICBcbiAgICA8IS0tIFRpdGxlIGFuZCB2YWx1ZSAtIHZhbHVlOiAtLT5cbiAgICA8aDMgKm5nSWY9XCIhIXZhbHVlXCIgY2xhc3M9XCJ2YWx1ZSBraXJieS10ZXh0LWRpc3BsYXktM1wiIFtraXJieUZpdEhlYWRpbmddPVwiZml0SGVhZGluZ0NvbmZpZ1wiPnt7IHZhbHVlIH19PHNwYW4gY2xhc3M9XCJ2YWx1ZS11bml0IHNlbWktZGFyay10ZXh0XCIgKm5nSWY9XCIhIXZhbHVlVW5pdFwiPnt7IHZhbHVlVW5pdCB9fTwvc3Bhbj48L2gzPlxuICBcbiAgICA8IS0tIFN1YnRpdGxlczogLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1YlRpdGxlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBfc3VidGl0bGVzMSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1YlRpdGxlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBfc3VidGl0bGVzMiB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEN1c3RvbSBzZWN0aW9uIC0tPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiISFjdXN0b21TZWN0aW9uVGVtcGxhdGVcIlxuICAgICAgY2xhc3M9XCJjdXN0b20tc2VjdGlvblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVNlY3Rpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgXG4gIDwhLS0gQWN0aW9uczogLS0+XG4gIDxkaXZcbiAgICAgICpuZ0lmPVwiISFhY3Rpb25zVGVtcGxhdGVcIlxuICAgICAgI2FjdGlvbnNFbGVtZW50XG4gICAgICBjbGFzcz1cImFjdGlvbnNcIlxuICAgICAgW2NsYXNzLmVtcGhhc2l6ZV09XCJlbXBoYXNpemVBY3Rpb25zXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RlbXBsYXRlOyBpbmplY3RvcjogX2FjdGlvbkdyb3VwSW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3N1YlRpdGxlVGVtcGxhdGUgbGV0LXN1YnRpdGxlcz5cbiAgPGRpdiAqbmdJZj1cIiEhc3VidGl0bGVzXCIgY2xhc3M9XCJzdWJ0aXRsZSBraXJieS10ZXh0LXNtYWxsXCI+XG4gICAgPHNwYW4gKm5nRm9yPVwibGV0IHN1YnRpdGxlIG9mIHN1YnRpdGxlc1wiPnt7c3VidGl0bGV9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sd0NBQXdDLENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQU1wRixNQUFNLE9BQU8sc0JBQXNCO2lJQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs7QUFNRCxNQUFNLE9BQU8sNEJBQTRCO2lJQUE1Qiw0QkFBNEI7cUhBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7QUFNRCxNQUFNLE9BQU8sOEJBQThCO2lJQUE5Qiw4QkFBOEI7cUhBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO2lCQUN6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QVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUkvQyxjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUlqRCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQSxXQUFtQyxDQUFBLEVBQUU7Z0JBSW5GLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFdBQXlDLENBQUEsRUFBRTtnQkFNL0Ysa0JBQWtCO3NCQUhqQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFO3dCQUN2QyxJQUFJLEVBQUUsQ0FBQSxXQUFzQyxDQUFBO3FCQUM3QztnQkFJRCx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsOEJBQThCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUcxRCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBQ1RJT05HUk9VUF9DT05GSUcsIEFjdGlvbkdyb3VwQ29uZmlnIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hdmF0YXInO1xuaW1wb3J0IHsgRmxhZ0NvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vZmxhZyc7XG5pbXBvcnQgeyBQcm9ncmVzc0NpcmNsZUNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vcHJvZ3Jlc3MtY2lyY2xlJztcbmltcG9ydCB0eXBlIHsgRml0SGVhZGluZ0NvbmZpZyB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2hhcmVkJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2tpcmJ5SGVhZGVyQWN0aW9uc10nLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1traXJieUhlYWRlckN1c3RvbVNlY3Rpb25dJyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdba2lyYnlIZWFkZXJUaXRsZUFjdGlvbkljb25dJyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyVGl0bGVBY3Rpb25JY29uRGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1traXJieUhlYWRlckN1c3RvbUZsYWddJyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ3VzdG9tRmxhZ0RpcmVjdGl2ZSB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNlbnRlcmVkJylcbiAgQElucHV0KClcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRpdGxlTWF4TGluZXM6IG51bWJlcjtcbiAgQElucHV0KCkgZW1waGFzaXplQWN0aW9ucyA9IGZhbHNlO1xuXG4gIGZpdEhlYWRpbmdDb25maWc6IEZpdEhlYWRpbmdDb25maWc7XG5cbiAgQENvbnRlbnRDaGlsZChBdmF0YXJDb21wb25lbnQpXG4gIGF2YXRhcjogQXZhdGFyQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQpXG4gIHByb2dyZXNzQ2lyY2xlOiBQcm9ncmVzc0NpcmNsZUNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEZsYWdDb21wb25lbnQpXG4gIGZsYWc6IEZsYWdDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndGl0bGVFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHRpdGxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTEhlYWRpbmdFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdhY3Rpb25zRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBhY3Rpb25zRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZjxIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPiB9KVxuICBhY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkKEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZT4gfSlcbiAgY3VzdG9tU2VjdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChIZWFkZXJDdXN0b21GbGFnRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tRmxhZ0RpcmVjdGl2ZT4sXG4gIH0pXG4gIGN1c3RvbUZsYWdUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEhlYWRlckN1c3RvbUZsYWdEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoSGVhZGVyVGl0bGVBY3Rpb25JY29uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRpdGxlQWN0aW9uSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSB2YWx1ZVVuaXQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBzdWJ0aXRsZTE/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIEBJbnB1dCgpIHN1YnRpdGxlMj86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgQElucHV0KCkgaGFzSW50ZXJhY3RpdmVUaXRsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHRpdGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4oKTtcblxuICBnZXQgX3N1YnRpdGxlczEoKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5zdWJ0aXRsZTEpID8gdGhpcy5zdWJ0aXRsZTEgOiBbdGhpcy5zdWJ0aXRsZTFdO1xuICB9XG5cbiAgZ2V0IF9zdWJ0aXRsZXMyKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuc3VidGl0bGUyKSA/IHRoaXMuc3VidGl0bGUyIDogW3RoaXMuc3VidGl0bGUyXTtcbiAgfVxuXG4gIG9uVGl0bGVDbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy50aXRsZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgX2FjdGlvbkdyb3VwSW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIHByaXZhdGUgYWN0aW9uR3JvdXBDb25maWc6IEFjdGlvbkdyb3VwQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uR3JvdXBDb25maWcgPSB7XG4gICAgICBkZWZhdWx0VmlzaWJsZUFjdGlvbnM6IHRoaXMuZW1waGFzaXplQWN0aW9ucyA/IHVuZGVmaW5lZCA6IDEsXG4gICAgfTtcblxuICAgIHRoaXMuX2FjdGlvbkdyb3VwSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBQ1RJT05HUk9VUF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHRoaXMuYWN0aW9uR3JvdXBDb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGl0bGVNYXhMaW5lcyA+IDApIHtcbiAgICAgIHRoaXMuZml0SGVhZGluZ0NvbmZpZyA9IHtcbiAgICAgICAgbWF4TGluZXM6IHRoaXMudGl0bGVNYXhMaW5lcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIElmIGFuIGF2YXRhciBpcyBwcmVzZW50IHdlIGRlZmF1bHQgdG8gY2VudGVyZWQgbGF5b3V0IC0gdW5sZXNzIGNvbmZpZ3VyZWQgb3RoZXJ3aXNlOlxuICAgIGlmICh0aGlzLmF2YXRhciAmJiB0aGlzLmNlbnRlcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNlbnRlcmVkKSB7XG4gICAgICB0aGlzLmFjdGlvbkdyb3VwQ29uZmlnLmlzQ29uZGVuc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhIWF2YXRhciB8fCAhIXByb2dyZXNzQ2lyY2xlXCIgY2xhc3M9XCJhdmF0YXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktYXZhdGFyLGtpcmJ5LXByb2dyZXNzLWNpcmNsZVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiISFmbGFnIHx8ICEhY3VzdG9tRmxhZ1RlbXBsYXRlXCIgY2xhc3M9XCJmbGFnXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWZsYWdcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJraXJieS1mbGFnXCI+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICAgPCEtLSBDdXN0b20gQ29udGVudCBpbiBGbGFnIHNlY3Rpb246IC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjdXN0b21GbGFnVGVtcGxhdGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWZsYWdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUZsYWdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPCEtLSBUaXRsZSBhbmQgdmFsdWUgLSB0aXRsZTogLS0+XG4gIDxoMSAqbmdJZj1cIiEhdGl0bGUgJiYgISF2YWx1ZVwiICN0aXRsZUVsZW1lbnQgY2xhc3M9XCJ0aXRsZSBraXJieS10ZXh0LW1lZGl1bVwiIFtjbGFzcy5jbGlja2FibGVdPVwiaGFzSW50ZXJhY3RpdmVUaXRsZSAhPT0gZmFsc2UgJiYgdGl0bGVDbGljay5vYnNlcnZlZFwiIFtjbGFzcy5oYXMtaWNvbl09XCIhIXRpdGxlQWN0aW9uSWNvblRlbXBsYXRlXCIgKGNsaWNrKT1cIm9uVGl0bGVDbGljaygkZXZlbnQpXCI+XG4gICAge3sgdGl0bGUgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVBY3Rpb25JY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9oMT5cbiAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxuICAgIDwhLS0gT25seSB0aXRsZSwgbm8gdmFsdWU6IC0tPlxuICAgIDxoMSAqbmdJZj1cIiEhdGl0bGUgJiYgIXZhbHVlXCIgI3RpdGxlRWxlbWVudCBjbGFzcz1cInRpdGxlXCIgW2tpcmJ5Rml0SGVhZGluZ109XCJmaXRIZWFkaW5nQ29uZmlnXCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgIDwvaDE+XG4gIFxuICAgIDwhLS0gVGl0bGUgYW5kIHZhbHVlIC0gdmFsdWU6IC0tPlxuICAgIDxoMyAqbmdJZj1cIiEhdmFsdWVcIiBjbGFzcz1cInZhbHVlIGtpcmJ5LXRleHQtZGlzcGxheS0zXCIgW2tpcmJ5Rml0SGVhZGluZ109XCJmaXRIZWFkaW5nQ29uZmlnXCI+e3sgdmFsdWUgfX08c3BhbiBjbGFzcz1cInZhbHVlLXVuaXQgc2VtaS1kYXJrLXRleHRcIiAqbmdJZj1cIiEhdmFsdWVVbml0XCI+e3sgdmFsdWVVbml0IH19PC9zcGFuPjwvaDM+XG4gIFxuICAgIDwhLS0gU3VidGl0bGVzOiAtLT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViVGl0bGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9zdWJ0aXRsZXMxIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViVGl0bGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9zdWJ0aXRsZXMyIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQ3VzdG9tIHNlY3Rpb24gLS0+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhIWN1c3RvbVNlY3Rpb25UZW1wbGF0ZVwiXG4gICAgICBjbGFzcz1cImN1c3RvbS1zZWN0aW9uXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tU2VjdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBcbiAgPCEtLSBBY3Rpb25zOiAtLT5cbiAgPGRpdlxuICAgICAgKm5nSWY9XCIhIWFjdGlvbnNUZW1wbGF0ZVwiXG4gICAgICAjYWN0aW9uc0VsZW1lbnRcbiAgICAgIGNsYXNzPVwiYWN0aW9uc1wiXG4gICAgICBbY2xhc3MuZW1waGFzaXplXT1cImVtcGhhc2l6ZUFjdGlvbnNcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVGVtcGxhdGU7IGluamVjdG9yOiBfYWN0aW9uR3JvdXBJbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc3ViVGl0bGVUZW1wbGF0ZSBsZXQtc3VidGl0bGVzPlxuICA8ZGl2ICpuZ0lmPVwiISFzdWJ0aXRsZXNcIiBjbGFzcz1cInN1YnRpdGxlIGtpcmJ5LXRleHQtc21hbGxcIj5cbiAgICA8c3BhbiAqbmdGb3I9XCJsZXQgc3VidGl0bGUgb2Ygc3VidGl0bGVzXCI+e3tzdWJ0aXRsZX19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -1,23 +1,26 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FitHeadingDirective } from '@kirbydesign/designsystem/shared';
4
- import { HeaderActionsDirective, HeaderComponent, HeaderCustomSectionDirective, HeaderTitleActionIconDirective, } from './header.component';
4
+ import { HeaderActionsDirective, HeaderComponent, HeaderCustomFlagDirective, HeaderCustomSectionDirective, HeaderTitleActionIconDirective, } from './header.component';
5
5
  import * as i0 from "@angular/core";
6
6
  const declarations = [
7
7
  HeaderComponent,
8
8
  HeaderActionsDirective,
9
9
  HeaderCustomSectionDirective,
10
10
  HeaderTitleActionIconDirective,
11
+ HeaderCustomFlagDirective,
11
12
  ];
12
13
  export class HeaderModule {
13
14
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
15
  /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent,
15
16
  HeaderActionsDirective,
16
17
  HeaderCustomSectionDirective,
17
- HeaderTitleActionIconDirective], imports: [CommonModule, FitHeadingDirective], exports: [HeaderComponent,
18
+ HeaderTitleActionIconDirective,
19
+ HeaderCustomFlagDirective], imports: [CommonModule, FitHeadingDirective], exports: [HeaderComponent,
18
20
  HeaderActionsDirective,
19
21
  HeaderCustomSectionDirective,
20
- HeaderTitleActionIconDirective] }); }
22
+ HeaderTitleActionIconDirective,
23
+ HeaderCustomFlagDirective] }); }
21
24
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }
22
25
  }
23
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HeaderModule, decorators: [{
@@ -28,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
28
31
  exports: declarations,
29
32
  }]
30
33
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZiw0QkFBNEIsRUFDNUIsOEJBQThCLEdBQy9CLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE1BQU0sWUFBWSxHQUFHO0lBQ25CLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLDhCQUE4QjtDQUMvQixDQUFDO0FBT0YsTUFBTSxPQUFPLFlBQVk7aUlBQVosWUFBWTtrSUFBWixZQUFZLGlCQVh2QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw4QkFBOEIsYUFLcEIsWUFBWSxFQUFFLG1CQUFtQixhQVIzQyxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7a0lBUW5CLFlBQVksWUFIYixZQUFZOzsyRkFHWCxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxZQUFZO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRml0SGVhZGluZ0RpcmVjdGl2ZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2hhcmVkJztcblxuaW1wb3J0IHtcbiAgSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSxcbiAgSGVhZGVyQ29tcG9uZW50LFxuICBIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlLFxuICBIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmUsXG59IGZyb20gJy4vaGVhZGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtcbiAgSGVhZGVyQ29tcG9uZW50LFxuICBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlLFxuICBIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlLFxuICBIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IGRlY2xhcmF0aW9ucyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRml0SGVhZGluZ0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IGRlY2xhcmF0aW9ucyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTW9kdWxlIHt9XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLG9CQUFvQixDQUFDOztBQUU1QixNQUFNLFlBQVksR0FBRztJQUNuQixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1Qiw4QkFBOEI7SUFDOUIseUJBQXlCO0NBQzFCLENBQUM7QUFPRixNQUFNLE9BQU8sWUFBWTtpSUFBWixZQUFZO2tJQUFaLFlBQVksaUJBWnZCLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLDhCQUE4QjtZQUM5Qix5QkFBeUIsYUFLZixZQUFZLEVBQUUsbUJBQW1CLGFBVDNDLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLDhCQUE4QjtZQUM5Qix5QkFBeUI7a0lBUWQsWUFBWSxZQUhiLFlBQVk7OzJGQUdYLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFlBQVk7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLFlBQVk7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXRIZWFkaW5nRGlyZWN0aXZlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zaGFyZWQnO1xuXG5pbXBvcnQge1xuICBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlLFxuICBIZWFkZXJDb21wb25lbnQsXG4gIEhlYWRlckN1c3RvbUZsYWdEaXJlY3RpdmUsXG4gIEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmUsXG4gIEhlYWRlclRpdGxlQWN0aW9uSWNvbkRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9oZWFkZXIuY29tcG9uZW50JztcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xuICBIZWFkZXJDb21wb25lbnQsXG4gIEhlYWRlckFjdGlvbnNEaXJlY3RpdmUsXG4gIEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmUsXG4gIEhlYWRlclRpdGxlQWN0aW9uSWNvbkRpcmVjdGl2ZSxcbiAgSGVhZGVyQ3VzdG9tRmxhZ0RpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZGVjbGFyYXRpb25zLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGaXRIZWFkaW5nRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogZGVjbGFyYXRpb25zLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJNb2R1bGUge31cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export { HeaderComponent, HeaderActionsDirective, HeaderCustomSectionDirective, HeaderTitleActionIconDirective, } from './header.component';
1
+ export { HeaderComponent, HeaderActionsDirective, HeaderCustomFlagDirective, HeaderCustomSectionDirective, HeaderTitleActionIconDirective, } from './header.component';
2
2
  export { HeaderModule } from './header.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsOEJBQThCLEdBQy9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgSGVhZGVyQ29tcG9uZW50LFxuICBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlLFxuICBIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlLFxuICBIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmUsXG59IGZyb20gJy4vaGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJy4vaGVhZGVyLm1vZHVsZSc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL2hlYWRlci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIEhlYWRlckNvbXBvbmVudCxcbiAgSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSxcbiAgSGVhZGVyQ3VzdG9tRmxhZ0RpcmVjdGl2ZSxcbiAgSGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZSxcbiAgSGVhZGVyVGl0bGVBY3Rpb25JY29uRGlyZWN0aXZlLFxufSBmcm9tICcuL2hlYWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBIZWFkZXJNb2R1bGUgfSBmcm9tICcuL2hlYWRlci5tb2R1bGUnO1xuIl19
@@ -9,6 +9,7 @@ export class RangeComponent {
9
9
  constructor() {
10
10
  this.step = 1;
11
11
  this.disabled = false;
12
+ this.pinFormatter = this.defaultPinFormatter;
12
13
  this.change = new EventEmitter();
13
14
  this.move = new EventEmitter();
14
15
  this.onTouched = () => { };
@@ -60,6 +61,9 @@ export class RangeComponent {
60
61
  });
61
62
  }
62
63
  }
64
+ defaultPinFormatter(value) {
65
+ return value;
66
+ }
63
67
  setDisabledState(isDisabled) {
64
68
  this.disabled = isDisabled;
65
69
  }
@@ -130,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
130
134
  type: ViewChild,
131
135
  args: [IonRange, { static: true }]
132
136
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vcmFuZ2Uvc3JjL3JhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3JhbmdlL3NyYy9yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCdkQsTUFBTSxPQUFPLGNBQWM7SUFmM0I7UUFzQlcsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVULGFBQVEsR0FBRyxLQUFLLENBQUM7UUFjaEIsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzFELFNBQUksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQTZEM0QsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUU1Qiw2REFBNkQ7UUFDdEQsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBZXpDO0lBNUZDLElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN6QztJQUNI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dEdVLGNBQWM7cUhBQWQsY0FBYywyVEFUZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFDO2FBQzlDO1NBQ0Ysb0VBNkJVLFFBQVEsbUZDeERyQix3YkFnQkEsKy9ERENZLFdBQVcsMGFBQUUsWUFBWTs7MkZBYXhCLGNBQWM7a0JBZjFCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUMxQixhQUFhLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsZUFBZSxFQUFDO3lCQUM5QztxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUYsS0FBSztzQkFEUixLQUFLO2dCQVlJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBRXdDLFFBQVE7c0JBQXRELFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIElvblJhbmdlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbmljTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2tpcmJ5LXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBtaW5MYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBkZWJvdW5jZTogbnVtYmVyO1xuICBASW5wdXQoKSBtYXg6IG51bWJlcjtcbiAgQElucHV0KCkgbWluOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBpbjogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RlcCA9IDE7XG4gIEBJbnB1dCgpIHRpY2tzOiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwaW5Gb3JtYXR0ZXI6ICh2YWx1ZTogbnVtYmVyKSA9PiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgbW92ZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAVmlld0NoaWxkKElvblJhbmdlLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGlvblJhbmdlOiBJb25SYW5nZTtcblxuICBwcml2YXRlIGN1cnJlbnRWYWx1ZTogbnVtYmVyO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZU1vdmVFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy50aWNrcykgcmV0dXJuO1xuXG4gICAgLypcbiAgICAgKiBNYXggMTAgdGlja3MgYXJlIGFsbG93ZWRcbiAgICAgKi9cbiAgICBjb25zdCBhbW91bnRPZlRpY2tzID0gKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5zdGVwO1xuICAgIGlmIChhbW91bnRPZlRpY2tzID4gOSkge1xuICAgICAgdGhpcy5zdGVwID0gKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gOTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNldCB2YWx1ZSB0byB0aGUgbmVhcmVzdCB0aWNrXG4gICAgICovXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VGlja3MoKS5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmFicyhiIC0gdGhpcy52YWx1ZSkgPCBNYXRoLmFicyhhIC0gdGhpcy52YWx1ZSkgPyBiIDogYTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlja3MoKSB7XG4gICAgY29uc3QgdGlja3MgPSBbXTtcbiAgICBmb3IgKGxldCB2YWx1ZSA9IE51bWJlcih0aGlzLm1pbik7IHZhbHVlIDw9IE51bWJlcih0aGlzLm1heCk7IHZhbHVlICs9IE51bWJlcih0aGlzLnN0ZXApKSB7XG4gICAgICB0aWNrcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRpY2tzO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplTW92ZUV2ZW50RW1pdHRlcigpIHtcbiAgICAvLyBXZSBzdWJzY3JpYmUgdG8gaW9uUmFuZ2UncyBpb25JbnB1dCBpbXBlcmF0aXZlbHkgaW5zdGVhZCBvZiBpbiBtYXJrdXBcbiAgICAvLyB0byBhdm9pZCBkb2luZyB3b3JrIHdoZW4gbm8tb25lIGlzIGxpc3RlbmluZyB0byB0aGUgbW92ZSBldmVudC5cbiAgICBpZiAodGhpcy5tb3ZlLm9ic2VydmVkKSB7XG4gICAgICB0aGlzLmlvblJhbmdlLmlvbklucHV0LnN1YnNjcmliZSgocmFuZ2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9vblJhbmdlS25vYk1vdmUocmFuZ2VFdmVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIF9vblJhbmdlVmFsdWVDaGFuZ2UoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoJGV2ZW50LmRldGFpbC52YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgX29uUmFuZ2VLbm9iTW92ZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVWYWx1ZSgkZXZlbnQuZGV0YWlsLnZhbHVlKTtcbiAgICB0aGlzLm1vdmUuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cbn1cbiIsIjxpb24tcmFuZ2VcbiAgKGlvbkNoYW5nZSk9XCJfb25SYW5nZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICBbbWluXT1cIm1pblwiXG4gIFttYXhdPVwibWF4XCJcbiAgW3N0ZXBdPVwic3RlcFwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gIFtwaW5dPVwicGluXCJcbiAgW3BpbkZvcm1hdHRlcl09XCJwaW5Gb3JtYXR0ZXJcIlxuICBbc25hcHNdPVwidGlja3NcIlxuICBbdGlja3NdPVwidGlja3NcIlxuICBbZGVib3VuY2VdPVwiZGVib3VuY2VcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPjwvaW9uLXJhbmdlPlxuXG48bGFiZWwgKm5nSWY9XCJtaW5MYWJlbFwiIGNsYXNzPVwibWluLWxhYmVsXCI+e3sgbWluTGFiZWwgfX08L2xhYmVsPlxuPGxhYmVsICpuZ0lmPVwibWF4TGFiZWxcIiBjbGFzcz1cIm1heC1sYWJlbFwiPnt7IG1heExhYmVsIH19PC9sYWJlbD5cbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vcmFuZ2Uvc3JjL3JhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3JhbmdlL3NyYy9yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCdkQsTUFBTSxPQUFPLGNBQWM7SUFmM0I7UUFzQlcsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVULGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBdUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBYTNFLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxRCxTQUFJLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFpRTNELGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFNUIsNkRBQTZEO1FBQ3RELG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztLQWV6QztJQWhHQyxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXhCOztXQUVHO1FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hELElBQUksYUFBYSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQ7O1dBRUc7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLHdFQUF3RTtRQUN4RSxrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBYTtRQUN2QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBVztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFXO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQU9NLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7aUlBMUdVLGNBQWM7cUhBQWQsY0FBYywyVEFUZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFDO2FBQzlDO1NBQ0Ysb0VBNkJVLFFBQVEsbUZDeERyQix3YkFnQkEsKy9ERENZLFdBQVcsMGFBQUUsWUFBWTs7MkZBYXhCLGNBQWM7a0JBZjFCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUMxQixhQUFhLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsZUFBZSxFQUFDO3lCQUM5QztxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUYsS0FBSztzQkFEUixLQUFLO2dCQVlJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBRXdDLFFBQVE7c0JBQXRELFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIElvblJhbmdlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbmljTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2tpcmJ5LXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBtaW5MYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBkZWJvdW5jZTogbnVtYmVyO1xuICBASW5wdXQoKSBtYXg6IG51bWJlcjtcbiAgQElucHV0KCkgbWluOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBpbjogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RlcCA9IDE7XG4gIEBJbnB1dCgpIHRpY2tzOiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwaW5Gb3JtYXR0ZXI6ICh2YWx1ZTogbnVtYmVyKSA9PiBzdHJpbmcgfCBudW1iZXIgPSB0aGlzLmRlZmF1bHRQaW5Gb3JtYXR0ZXI7XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgbW92ZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAVmlld0NoaWxkKElvblJhbmdlLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGlvblJhbmdlOiBJb25SYW5nZTtcblxuICBwcml2YXRlIGN1cnJlbnRWYWx1ZTogbnVtYmVyO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZU1vdmVFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy50aWNrcykgcmV0dXJuO1xuXG4gICAgLypcbiAgICAgKiBNYXggMTAgdGlja3MgYXJlIGFsbG93ZWRcbiAgICAgKi9cbiAgICBjb25zdCBhbW91bnRPZlRpY2tzID0gKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5zdGVwO1xuICAgIGlmIChhbW91bnRPZlRpY2tzID4gOSkge1xuICAgICAgdGhpcy5zdGVwID0gKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gOTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNldCB2YWx1ZSB0byB0aGUgbmVhcmVzdCB0aWNrXG4gICAgICovXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VGlja3MoKS5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLmFicyhiIC0gdGhpcy52YWx1ZSkgPCBNYXRoLmFicyhhIC0gdGhpcy52YWx1ZSkgPyBiIDogYTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlja3MoKSB7XG4gICAgY29uc3QgdGlja3MgPSBbXTtcbiAgICBmb3IgKGxldCB2YWx1ZSA9IE51bWJlcih0aGlzLm1pbik7IHZhbHVlIDw9IE51bWJlcih0aGlzLm1heCk7IHZhbHVlICs9IE51bWJlcih0aGlzLnN0ZXApKSB7XG4gICAgICB0aWNrcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRpY2tzO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplTW92ZUV2ZW50RW1pdHRlcigpIHtcbiAgICAvLyBXZSBzdWJzY3JpYmUgdG8gaW9uUmFuZ2UncyBpb25JbnB1dCBpbXBlcmF0aXZlbHkgaW5zdGVhZCBvZiBpbiBtYXJrdXBcbiAgICAvLyB0byBhdm9pZCBkb2luZyB3b3JrIHdoZW4gbm8tb25lIGlzIGxpc3RlbmluZyB0byB0aGUgbW92ZSBldmVudC5cbiAgICBpZiAodGhpcy5tb3ZlLm9ic2VydmVkKSB7XG4gICAgICB0aGlzLmlvblJhbmdlLmlvbklucHV0LnN1YnNjcmliZSgocmFuZ2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9vblJhbmdlS25vYk1vdmUocmFuZ2VFdmVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHRQaW5Gb3JtYXR0ZXIodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBfb25SYW5nZVZhbHVlQ2hhbmdlKCRldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVZhbHVlKCRldmVudC5kZXRhaWwudmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgcHVibGljIF9vblJhbmdlS25vYk1vdmUoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoJGV2ZW50LmRldGFpbC52YWx1ZSk7XG4gICAgdGhpcy5tb3ZlLmVtaXQodGhpcy5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG59XG4iLCI8aW9uLXJhbmdlXG4gIChpb25DaGFuZ2UpPVwiX29uUmFuZ2VWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgW21pbl09XCJtaW5cIlxuICBbbWF4XT1cIm1heFwiXG4gIFtzdGVwXT1cInN0ZXBcIlxuICBbdmFsdWVdPVwidmFsdWVcIlxuICBbcGluXT1cInBpblwiXG4gIFtwaW5Gb3JtYXR0ZXJdPVwicGluRm9ybWF0dGVyXCJcbiAgW3NuYXBzXT1cInRpY2tzXCJcbiAgW3RpY2tzXT1cInRpY2tzXCJcbiAgW2RlYm91bmNlXT1cImRlYm91bmNlXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbj48L2lvbi1yYW5nZT5cblxuPGxhYmVsICpuZ0lmPVwibWluTGFiZWxcIiBjbGFzcz1cIm1pbi1sYWJlbFwiPnt7IG1pbkxhYmVsIH19PC9sYWJlbD5cbjxsYWJlbCAqbmdJZj1cIm1heExhYmVsXCIgY2xhc3M9XCJtYXgtbGFiZWxcIj57eyBtYXhMYWJlbCB9fTwvbGFiZWw+XG4iXX0=
@@ -34,7 +34,9 @@ export class FloatingDirective {
34
34
  this.tearDownReferenceElementEventHandling();
35
35
  this._reference = ref;
36
36
  this.setupEventHandling();
37
- this.autoUpdatePosition();
37
+ if (this.isShown) {
38
+ this.autoUpdatePosition();
39
+ }
38
40
  }
39
41
  get reference() {
40
42
  return this._reference;
@@ -44,7 +46,9 @@ export class FloatingDirective {
44
46
  * */
45
47
  set placement(placement) {
46
48
  this._placement = placement;
47
- this.updateHostElementPosition();
49
+ if (this.isShown) {
50
+ this.updateHostElementPosition();
51
+ }
48
52
  }
49
53
  get placement() {
50
54
  return this._placement;
@@ -54,7 +58,9 @@ export class FloatingDirective {
54
58
  * */
55
59
  set strategy(strategy) {
56
60
  this._strategy = strategy;
57
- this.updateHostElementPosition();
61
+ if (this.isShown) {
62
+ this.updateHostElementPosition();
63
+ }
58
64
  }
59
65
  get strategy() {
60
66
  return this._strategy;
@@ -166,7 +172,6 @@ export class FloatingDirective {
166
172
  }
167
173
  ngOnInit() {
168
174
  this.addFloatStylingToHostElement();
169
- this.updateHostElementPosition();
170
175
  }
171
176
  /* Should be accessible for programmatically setting display */
172
177
  show() {
@@ -177,6 +182,7 @@ export class FloatingDirective {
177
182
  this.attachHostClickEventHandler();
178
183
  this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'block');
179
184
  this.isShown = true;
185
+ this.autoUpdatePosition();
180
186
  this.displayChanged.emit(this.isShown);
181
187
  }
182
188
  /* Should be accessible for programmatically setting display */
@@ -184,6 +190,7 @@ export class FloatingDirective {
184
190
  if (this.isDisabled || !this.isShown) {
185
191
  return;
186
192
  }
193
+ this.removeAutoUpdaterRef();
187
194
  this.tearDownDocumentClickEventHandling();
188
195
  this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
189
196
  this.isShown = false;
@@ -375,4 +382,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
375
382
  type: HostListener,
376
383
  args: ['document:keydown.escape', ['$event']]
377
384
  }] } });
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc2hhcmVkL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixlQUFlLEVBRWYsSUFBSSxFQUVKLE1BQU0sRUFFTixLQUFLLEdBRU4sTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBSTFFLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsbURBQVEsQ0FBQTtJQUNSLHFEQUFTLENBQUE7SUFDVCx1REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qiw2QkFBVyxDQUFBO0lBQ1gsMkJBQVMsQ0FBQTtJQUNULGlDQUFlLENBQUE7SUFDZiwrQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBY0Q7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7O1NBRUs7SUFDTCxJQUFvQixTQUFTLENBQUMsR0FBd0M7UUFDcEUsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FB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QUFLO2dCQWVjLGVBQWU7c0JBQWxDLEtBQUs7Z0JBY2Msa0JBQWtCO3NCQUFyQyxLQUFLO2dCQWVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFNVSxLQUFLO3NCQUFwQixLQUFLO2dCQUtVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBS1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFLVyxjQUFjO3NCQUE5QixNQUFNO2dCQUdBLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgYXV0b1BsYWNlbWVudCxcbiAgYXV0b1VwZGF0ZSxcbiAgY29tcHV0ZVBvc2l0aW9uLFxuICBDb21wdXRlUG9zaXRpb25Db25maWcsXG4gIGZsaXAsXG4gIE1pZGRsZXdhcmUsXG4gIG9mZnNldCxcbiAgUGxhY2VtZW50LFxuICBzaGlmdCxcbiAgU3RyYXRlZ3ksXG59IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuaW1wb3J0IHsgRGVzaWduVG9rZW5IZWxwZXIgfSBmcm9tICdAa2lyYnlkZXNpZ24vY29yZSc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb3J0YWxEaXJlY3RpdmUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZC9wb3J0YWwnO1xuXG5leHBvcnQgdHlwZSBUcmlnZ2VyRXZlbnQgPSAnaG92ZXInIHwgJ2NsaWNrJyB8ICdmb2N1cyc7XG5cbmV4cG9ydCBlbnVtIEZsb2F0aW5nT2Zmc2V0IHtcbiAgbm9uZSA9IDAsXG4gIHNtYWxsID0gNCxcbiAgbWVkaXVtID0gOCxcbn1cblxuZXhwb3J0IGVudW0gT3V0bGV0U2VsZWN0b3Ige1xuICB0YWcgPSAndGFnJyxcbiAgaWQgPSAnaWQnLFxuICBjbGFzcyA9ICdjbGFzcycsXG4gIG5hbWUgPSAnbmFtZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsT3V0bGV0Q29uZmlnIHtcbiAgc2VsZWN0b3I6IE91dGxldFNlbGVjdG9yO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXZlbnRNZXRob2RzIHtcbiAgZXZlbnQ6IHN0cmluZztcbiAgbWV0aG9kOiAoKSA9PiB2b2lkO1xufVxuXG50eXBlIEV2ZW50TGlzdGVuZXJEaXNwb3NlRm4gPSAoKSA9PiB2b2lkO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEZsb2F0aW5nRGlyZWN0aXZlIGlzIGEgdXRpbGl0eSB0aGF0IGxldHMgeW91IGRlY2xhcmF0aXZlIGFuY2hvciBcInBvcHVwXCIgY29udGFpbmVycyB0byBhbm90aGVyIGVsZW1lbnQuXG4gKlxuICogVXNlcyBmbG9hdGluZy11aSwgd2l0aCB0aGlzIGRpcmVjdGl2ZSB3cmFwcyB0aGUgZnVuY3Rpb25hbGl0eTogaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9nZXR0aW5nLXN0YXJ0ZWRcbiAqXG4gKiBVc2VzIFBvcnRhbERpcmVjdGl2ZSB0byBlbmFibGUgZnVuY3Rpb25hbGl0eSBmb3IgcG9ydGFsaW5nIHRoZSBmbG9hdGVkIGNvbnRlbnQuIFRoaXMgc2hvdWxkIGJlIHVzZWQgd2hlbiBuZWVkZWRcbiAqIGFuZCBub3QgYXMgdGhlIGRlZmF1bHQgb3B0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdba2lyYnlGbG9hdGluZ10nLFxuICBwcm92aWRlcnM6IFtQb3J0YWxEaXJlY3RpdmVdLFxuICBob3N0RGlyZWN0aXZlczogW1BvcnRhbERpcmVjdGl2ZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IGZvciB3aGljaCB0aGUgaG9zdCBzaG91bGQgYW5jaG9yIHRvXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVmZXJlbmNlKHJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRlYXJEb3duUmVmZXJlbmNlRWxlbWVudEV2ZW50SGFuZGxpbmcoKTtcbiAgICB0aGlzLl9yZWZlcmVuY2UgPSByZWY7XG4gICAgdGhpcy5zZXR1cEV2ZW50SGFuZGxpbmcoKTtcbiAgICB0aGlzLmF1dG9VcGRhdGVQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIGdldCByZWZlcmVuY2UoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9yZWZlcmVuY2U7XG4gIH1cblxuICAvKipcbiAgICogSG93IHRoZSBob3N0IHNob3VsZCBiZSBwbGFjZWQgcmVsYXRpdmUgdG8gdGhlIHJlZmVyZW5jZS4gQ2FuIGJlIGFmZmVjdGVkIGJ5IG1pZGRsZXdhcmVcbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBwbGFjZW1lbnQocGxhY2VtZW50OiBQbGFjZW1lbnQpIHtcbiAgICB0aGlzLl9wbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XG4gICAgdGhpcy51cGRhdGVIb3N0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBsYWNlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2VtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzdHJhdGVneSBmb3IgaG93IHRoZSBob3N0IHNob3VsZCBiZSBwb3NpdGlvbmVkLlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHN0cmF0ZWd5KHN0cmF0ZWd5OiBTdHJhdGVneSkge1xuICAgIHRoaXMuX3N0cmF0ZWd5ID0gc3RyYXRlZ3k7XG4gICAgdGhpcy51cGRhdGVIb3N0RWxlbWVudFBvc2l0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0cmF0ZWd5KCk6IFN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ3k7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyB3aGVuIHRoZSBob3N0IHNob3VsZCBiZSBkaXNwbGF5ZWQvaGlkZGVuLCBpLmUuIGNsaWNrIHdpbGwgYXR0YWNoIGEgY2xpY2sgbGlzdGVuZXIgdG8gdGhlIHJlZmVyZW5jZVxuICAgKiB0aGF0IG1ha2VzIHRoZSBob3N0IHRvZ2dsZSBkaXNwbGF5LiBTdXBwb3J0cyBtdWx0aXBsZSB0cmlnZ2VycywgdG8gcHJvdmlkZSBmdW5jdGlvbmFsaXR5IGZvciBjb21iaW5hdGlvbnNcbiAgICogbGlrZSBjbGljay9mb2N1cy5cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCB0cmlnZ2VycyhldmVudFRyaWdnZXJzOiBBcnJheTxUcmlnZ2VyRXZlbnQ+KSB7XG4gICAgdGhpcy5fdHJpZ2dlcnMgPSBldmVudFRyaWdnZXJzO1xuICAgIHRoaXMudGVhckRvd25SZWZlcmVuY2VFbGVtZW50RXZlbnRIYW5kbGluZygpO1xuICAgIHRoaXMuc2V0dXBFdmVudEhhbmRsaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyaWdnZXJzKCk6IEFycmF5PFRyaWdnZXJFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VycztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgSFRNTEVsZW1lbnQgZm9yIHdoaWNoIHRoZSBjb250ZW50IHNob3VsZCBwb3J0YWwgaW50by5cbiAgICogUHJvdmlkaW5nIGFuIG91dGxldCBlbmFibGVzIHRoZSBwb3J0YWwsIGlmIG5vdGhpbmcgaXMgcHJvdmlkZWQsIHRoZSBwcm92aWRlZCBzdHJhdGVneSBpcyB1c2VkLlxuICAgKiBUaGlzIHNob3VsZCBiZSB1c2VkIHdoZW4gdGhlcmUncyBpc3N1ZXMgd2l0aCB0aGUgc3RhY2tpbmcgY29udGV4dCwgYW5kIG5vdCBhcyBhIGRlZmF1bHQgb3B0aW9uLlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IERPTVBvcnRhbE91dGxldChvdXRsZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcHJvdmlkZWRQb3J0YWxPdXRsZXQgPSBvdXRsZXQ7XG4gICAgdGhpcy5wb3J0YWxEaXJlY3RpdmUub3V0bGV0ID1cbiAgICAgIHRoaXMuRE9NUG9ydGFsT3V0bGV0ID8/IHRoaXMuZ2V0T3V0bGV0RWxlbWVudCh0aGlzLnBvcnRhbE91dGxldENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERPTVBvcnRhbE91dGxldCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVkUG9ydGFsT3V0bGV0O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgaG93IHRvIGF1dG9tYXRpY2FsbHkgZmluZCBhbmQgYXNzaWduIERPTVBvcnRhbE91dGxldCBpZiBub25lIGlzIHByb3ZpZGVkIGluIERPTVBvcnRhbE91dGxldC5cbiAgICogSWYgbm90aGluZyBpcyBwcm92aWRlZCBoZXJlIGFuZCBpbiBET01Qb3J0YWxPdXRsZXQsIHRoZSBwcm92aWRlZCBzdHJhdGVneSBpcyB1c2VkXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcG9ydGFsT3V0bGV0Q29uZmlnKGNvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcG9ydGFsT3V0bGV0Q29uZmlnID0gY29uZmlnO1xuXG4gICAgaWYgKCF0aGlzLkRPTVBvcnRhbE91dGxldCkge1xuICAgICAgdGhpcy5wb3J0YWxEaXJlY3RpdmUub3V0bGV0ID0gdGhpcy5nZXRPdXRsZXRFbGVtZW50KGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBwb3J0YWxPdXRsZXRDb25maWcoKTogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcG9ydGFsT3V0bGV0Q29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgaG9zdCBmcm9tIGJlaW5nIHRvZ2dsZWQgaWYgc2V0LlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEaXNwbGFjZXMgdGhlIGZsb2F0aW5nIGVsZW1lbnQgZnJvbSBpdHMgY29yZSBwbGFjZW1lbnQgYWxvbmcgdGhlIHNwZWNpZmllZCBheGVzLlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgb2Zmc2V0OiBGbG9hdGluZ09mZnNldCA9IEZsb2F0aW5nT2Zmc2V0Lm5vbmU7XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZSBzcGVjaWZpZWQgYXhlcyBpbiBvcmRlciB0byBrZWVwIGl0IGluIHZpZXcuXG4gICAqIFRoaXMgZG9lcyBub3QgYWx3YXlzIHdvcmsgYXMgZXhwZWN0ZWQsIHNvIGRvbid0IFwianVzdFwiIHNldCBpdC5cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNoaWZ0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENob29zZXMgdGhlIHBsYWNlbWVudCB0aGF0IGhhcyB0aGUgbW9zdCBzcGFjZSBhdmFpbGFibGUgYXV0b21hdGljYWxseS5cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIGF1dG9QbGFjZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRW5hYmxlcyBoaWRpbmcgdGhlIGhvc3QgYnkgZXZlbnRzLiBTZWUgdmFyaWFibGUgbmFtZXMuXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25Fc2NhcGVLZXk6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgb3B0aW9uIHRvIGJlIG5vdGlmaWVkIHdoZW4gdGhlIGhvc3QgY2hhbmdlcyBkaXNwbGF5LiBUaGUgbmV3IGRpc3BsYXkgdmFsdWUgaXMgcHJvdmlkZWQuXG4gICAqICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgZGlzcGxheUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkVzY2FwZUtleVByZXNzZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcGxhY2VtZW50OiBQbGFjZW1lbnQgPSAnYm90dG9tLXN0YXJ0JztcblxuICBwcml2YXRlIF9zdHJhdGVneTogU3RyYXRlZ3kgPSAnYWJzb2x1dGUnO1xuXG4gIHByaXZhdGUgX3Byb3ZpZGVkUG9ydGFsT3V0bGV0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9wb3J0YWxPdXRsZXRDb25maWc6IFBvcnRhbE91dGxldENvbmZpZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF90cmlnZ2VyczogQXJyYXk8VHJpZ2dlckV2ZW50PiA9IFsnY2xpY2snXTtcblxuICBwcml2YXRlIF9yZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgYXV0b1VwZGF0ZXJSZWY6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgaXNTaG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlZmVyZW5jZUV2ZW50TGlzdGVuZXJEaXNwb3NlRm5zOiBFdmVudExpc3RlbmVyRGlzcG9zZUZuW10gPSBbXTtcbiAgcHJpdmF0ZSBkb2N1bWVudENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbjogRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbjtcbiAgcHJpdmF0ZSBob3N0Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuOiBFdmVudExpc3RlbmVyRGlzcG9zZUZuO1xuICBwcml2YXRlIHRyaWdnZXJFdmVudE1hcDogTWFwPFRyaWdnZXJFdmVudCwgRXZlbnRNZXRob2RzW10+ID0gbmV3IE1hcChbXG4gICAgWydjbGljaycsIFt7IGV2ZW50OiAnY2xpY2snLCBtZXRob2Q6IHRoaXMudG9nZ2xlU2hvdy5iaW5kKHRoaXMpIH1dXSxcbiAgICBbXG4gICAgICAnaG92ZXInLFxuICAgICAgW1xuICAgICAgICB7IGV2ZW50OiAnbW91c2VlbnRlcicsIG1ldGhvZDogdGhpcy5zaG93LmJpbmQodGhpcykgfSxcbiAgICAgICAgeyBldmVudDogJ21vdXNlbGVhdmUnLCBtZXRob2Q6IHRoaXMuaGlkZS5iaW5kKHRoaXMpIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgW1xuICAgICAgJ2ZvY3VzJyxcbiAgICAgIFtcbiAgICAgICAgeyBldmVudDogJ2ZvY3VzJywgbWV0aG9kOiB0aGlzLnNob3cuYmluZCh0aGlzKSB9LFxuICAgICAgICB7IGV2ZW50OiAnYmx1cicsIG1ldGhvZDogdGhpcy5oaWRlLmJpbmQodGhpcykgfSxcbiAgICAgIF0sXG4gICAgXSxcbiAgXSk7XG5cbiAgcHJpdmF0ZSBIVE1MRWxlbWVudHM6IHtcbiAgICBba2V5IGluIE91dGxldFNlbGVjdG9yIHwgJ2RlZmF1bHQnXTogKHZhbHVlPzogc3RyaW5nKSA9PiBBcnJheTxFbGVtZW50PiB8IG51bGw7XG4gIH0gPSB7XG4gICAgaWQ6ICh2YWx1ZSkgPT4gQXJyYXkub2YoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpKSxcbiAgICBjbGFzczogKHZhbHVlKSA9PiBBcnJheS5mcm9tKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodmFsdWUpKSxcbiAgICBuYW1lOiAodmFsdWUpID0+IEFycmF5LmZyb20oZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUodmFsdWUpKSxcbiAgICB0YWc6ICh2YWx1ZSkgPT4gQXJyYXkuZnJvbShkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh2YWx1ZSkpLFxuICAgIGRlZmF1bHQ6ICgpID0+IG51bGwsXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcG9ydGFsRGlyZWN0aXZlOiBQb3J0YWxEaXJlY3RpdmVcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZEZsb2F0U3R5bGluZ1RvSG9zdEVsZW1lbnQoKTtcbiAgICB0aGlzLnVwZGF0ZUhvc3RFbGVtZW50UG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qIFNob3VsZCBiZSBhY2Nlc3NpYmxlIGZvciBwcm9ncmFtbWF0aWNhbGx5IHNldHRpbmcgZGlzcGxheSAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hdHRhY2hEb2N1bWVudENsaWNrRXZlbnRIYW5kbGVyKCk7XG4gICAgdGhpcy5hdHRhY2hIb3N0Q2xpY2tFdmVudEhhbmRsZXIoKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdibG9jaycpO1xuICAgIHRoaXMuaXNTaG93biA9IHRydWU7XG4gICAgdGhpcy5kaXNwbGF5Q2hhbmdlZC5lbWl0KHRoaXMuaXNTaG93bik7XG4gIH1cblxuICAvKiBTaG91bGQgYmUgYWNjZXNzaWJsZSBmb3IgcHJvZ3JhbW1hdGljYWxseSBzZXR0aW5nIGRpc3BsYXkgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCB8fCAhdGhpcy5pc1Nob3duKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50ZWFyRG93bkRvY3VtZW50Q2xpY2tFdmVudEhhbmRsaW5nKCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgIHRoaXMuaXNTaG93biA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGxheUNoYW5nZWQuZW1pdCh0aGlzLmlzU2hvd24pO1xuICB9XG5cbiAgLyogU2hvdWxkIGJlIGFjY2Vzc2libGUgZm9yIHByb2dyYW1tYXRpY2FsbHkgc2V0dGluZyBkaXNwbGF5ICovXG4gIHB1YmxpYyB0b2dnbGVTaG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEZsb2F0U3R5bGluZ1RvSG9zdEVsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgMHB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAwcHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAncG9zaXRpb24nLCB0aGlzLnN0cmF0ZWd5KTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnei1pbmRleCcsXG4gICAgICBEZXNpZ25Ub2tlbkhlbHBlci56TGF5ZXIoJ3BvcG92ZXInKVxuICAgICk7XG4gICAgdGhpcy5zZXREaXNwbGF5U3R5bGluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREaXNwbGF5U3R5bGluZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnZGlzcGxheScsXG4gICAgICB0aGlzLmlzU2hvd24gPyBgYmxvY2tgIDogYG5vbmVgXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSG9zdEVsZW1lbnRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBDb21wdXRlUG9zaXRpb25Db25maWcgPSB7XG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxuICAgICAgbWlkZGxld2FyZTogdGhpcy5nZXRNaWRkbGV3YXJlQ29uZmlnKCksXG4gICAgICBzdHJhdGVneTogdGhpcy5zdHJhdGVneSxcbiAgICB9IGFzIENvbXB1dGVQb3NpdGlvbkNvbmZpZztcblxuICAgIGZyb20oXG4gICAgICBjb21wdXRlUG9zaXRpb24odGhpcy5yZWZlcmVuY2U/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjb25maWcpXG4gICAgKS5zdWJzY3JpYmUoKHsgeCwgeSB9KSA9PiB0aGlzLnNldFBvc2l0aW9uU3R5bGluZ09uSG9zdEVsZW1lbnQoeCwgeSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaWRkbGV3YXJlQ29uZmlnKCk6IEFycmF5PE1pZGRsZXdhcmUgfCBudWxsIHwgdW5kZWZpbmVkIHwgZmFsc2U+IHtcbiAgICBjb25zdCBtaWRkbGV3YXJlOiBBcnJheTxNaWRkbGV3YXJlIHwgbnVsbCB8IHVuZGVmaW5lZCB8IGZhbHNlPiA9IFtdO1xuICAgIG1pZGRsZXdhcmUucHVzaChvZmZzZXQodGhpcy5vZmZzZXQpKTtcbiAgICBtaWRkbGV3YXJlLnB1c2goZmxpcCgpKTtcblxuICAgIGlmICh0aGlzLnNoaWZ0KSB7XG4gICAgICBtaWRkbGV3YXJlLnB1c2goc2hpZnQoeyBwYWRkaW5nOiBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci5zaXplKCdzJykpIH0pKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdXRvUGxhY2VtZW50KSB7XG4gICAgICBtaWRkbGV3YXJlLnB1c2goYXV0b1BsYWNlbWVudCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWlkZGxld2FyZTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b1VwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlQXV0b1VwZGF0ZXJSZWYoKTtcblxuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmF1dG9VcGRhdGVyUmVmID0gYXV0b1VwZGF0ZShcbiAgICAgIHRoaXMucmVmZXJlbmNlPy5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLnVwZGF0ZUhvc3RFbGVtZW50UG9zaXRpb24uYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uU3R5bGluZ09uSG9zdEVsZW1lbnQoeFBvc2l0aW9uOiBudW1iZXIsIHlQb3NpdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt4UG9zaXRpb259cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7eVBvc2l0aW9ufXB4YCk7XG4gICAgdGhpcy5zZXREaXNwbGF5U3R5bGluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV2ZW50SGFuZGxpbmcoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSB8fCAhdGhpcy50cmlnZ2Vycykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHJpZ2dlcnMuZm9yRWFjaCgodHJpZ2dlcjogVHJpZ2dlckV2ZW50KSA9PlxuICAgICAgdGhpcy5hdHRhY2hUcmlnZ2VyRXZlbnRUb1JlZmVyZW5jZUVsZW1lbnQodHJpZ2dlcilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hEb2N1bWVudENsaWNrRXZlbnRIYW5kbGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kb2N1bWVudENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgJ2RvY3VtZW50JyxcbiAgICAgICdtb3VzZWRvd24nLFxuICAgICAgKGV2ZW50KSA9PiB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZUhvc3RFbGVtZW50KGV2ZW50KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaEhvc3RDbGlja0V2ZW50SGFuZGxlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3N0Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuIHx8ICF0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhvc3RDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2NsaWNrJyxcbiAgICAgICgpID0+IHRoaXMuaGFuZGxlQ2xpY2tJbnNpZGVIb3N0RWxlbWVudCgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoVHJpZ2dlckV2ZW50VG9SZWZlcmVuY2VFbGVtZW50KHRyaWdnZXI6IFRyaWdnZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50czogRXZlbnRNZXRob2RzW10gfCB1bmRlZmluZWQgPSB0aGlzLnRyaWdnZXJFdmVudE1hcC5nZXQodHJpZ2dlcik7XG5cbiAgICBpZiAoIWV2ZW50cykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RyaWdnZXJ9IGlzIG1pc3NpbmcgZXZlbnQgZGVmaW5pdGlvbihzKWApO1xuICAgIH1cblxuICAgIGV2ZW50cy5mb3JFYWNoKChldmVudDogRXZlbnRNZXRob2RzKSA9PiB7XG4gICAgICBjb25zdCBldmVudExpc3RlbmVyRGlzcG9zZUZuOiBFdmVudExpc3RlbmVyRGlzcG9zZUZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgIHRoaXMucmVmZXJlbmNlPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICBldmVudC5ldmVudCxcbiAgICAgICAgZXZlbnQubWV0aG9kXG4gICAgICApO1xuICAgICAgdGhpcy5yZWZlcmVuY2VFdmVudExpc3RlbmVyRGlzcG9zZUZucy5wdXNoKGV2ZW50TGlzdGVuZXJEaXNwb3NlRm4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbGlja0luc2lkZUhvc3RFbGVtZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2tPdXRzaWRlSG9zdEVsZW1lbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpIHtcbiAgICAgIGNvbnN0IGNsaWNrZWRPbkhvc3Q6IGJvb2xlYW4gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgaWYgKGNsaWNrZWRPbkhvc3QpIHJldHVybjtcblxuICAgICAgY29uc3QgY2xpY2tlZE9uUmVmZXJlbmNlV2l0aENsaWNrVHJpZ2dlckVuYWJsZWQ6IGJvb2xlYW4gPVxuICAgICAgICB0aGlzLnJlZmVyZW5jZT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmIHRoaXMudHJpZ2dlcnMuaW5jbHVkZXMoJ2NsaWNrJyk7XG5cbiAgICAgIGlmICh0aGlzLmNsb3NlT25CYWNrZHJvcCAmJiAhY2xpY2tlZE9uUmVmZXJlbmNlV2l0aENsaWNrVHJpZ2dlckVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRsZXRFbGVtZW50KGNvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLnNlbGVjdG9yIHx8ICFjb25maWcudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzOiBBcnJheTxFbGVtZW50PiB8IG51bGwgPSB0aGlzLmdldEhUTUxFbGVtZW50cyhjb25maWcpO1xuXG4gICAgaWYgKCFlbGVtZW50cyB8fCBlbGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IEVycm9yKGBDb3VsZCBub3QgbG9jYXRlIEhUTUxFbGVtZW50IGZvciAke2NvbmZpZy5zZWxlY3Rvcn0uIERpZCB5b3UgbWlzc3BlbGwgaXQ/YCk7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgTXVsdGlwbGUgSFRNTEVsZW1lbnRzIGZvdW5kIGZvciAke2NvbmZpZy5zZWxlY3Rvcn0uXG4gICAgICAgICBUaGlzIGNhbiBsZWFkIHRvIHVuaW50ZW5kZWQgYmVoYXZpb3Vycy4gUHJvdmlkZSBhbiB1bmlxdWUgb3V0bGV0YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudHNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldEhUTUxFbGVtZW50cyhjb25maWc6IFBvcnRhbE91dGxldENvbmZpZyB8IHVuZGVmaW5lZCk6IEFycmF5PEVsZW1lbnQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuSFRNTEVsZW1lbnRzW2NvbmZpZy5zZWxlY3Rvcl0oY29uZmlnLnZhbHVlKSB8fCB0aGlzLkhUTUxFbGVtZW50c1snZGVmYXVsdCddKGNvbmZpZy52YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0ZWFyRG93blJlZmVyZW5jZUVsZW1lbnRFdmVudEhhbmRsaW5nKCk6IHZvaWQge1xuICAgIHRoaXMucmVmZXJlbmNlRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbnMuZm9yRWFjaChcbiAgICAgIChldmVudExpc3RlbmVyRGlzcG9zZUZ1bmN0aW9uOiBFdmVudExpc3RlbmVyRGlzcG9zZUZuKSA9PiB7XG4gICAgICAgIGlmIChldmVudExpc3RlbmVyRGlzcG9zZUZ1bmN0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICBldmVudExpc3RlbmVyRGlzcG9zZUZ1bmN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMucmVmZXJlbmNlRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgdGVhckRvd25Eb2N1bWVudENsaWNrRXZlbnRIYW5kbGluZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbikge1xuICAgICAgdGhpcy5kb2N1bWVudENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbigpO1xuICAgICAgdGhpcy5kb2N1bWVudENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbiA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaG9zdENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbikge1xuICAgICAgdGhpcy5ob3N0Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuKCk7XG4gICAgICB0aGlzLmhvc3RDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm4gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQXV0b1VwZGF0ZXJSZWYoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b1VwZGF0ZXJSZWYpIHtcbiAgICAgIHRoaXMuYXV0b1VwZGF0ZXJSZWYoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50ZWFyRG93bkRvY3VtZW50Q2xpY2tFdmVudEhhbmRsaW5nKCk7XG4gICAgdGhpcy50ZWFyRG93blJlZmVyZW5jZUVsZW1lbnRFdmVudEhhbmRsaW5nKCk7XG4gICAgdGhpcy5yZW1vdmVBdXRvVXBkYXRlclJlZigpO1xuICB9XG59XG4iXX0=
385
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc2hhcmVkL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixlQUFlLEVBRWYsSUFBSSxFQUVKLE1BQU0sRUFFTixLQUFLLEdBRU4sTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBSTFFLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsbURBQVEsQ0FBQTtJQUNSLHFEQUFTLENBQUE7SUFDVCx1REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qiw2QkFBVyxDQUFBO0lBQ1gsMkJBQVMsQ0FBQTtJQUNULGlDQUFlLENBQUE7SUFDZiwrQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBY0Q7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7O1NBRUs7SUFDTCxJQUFvQixTQUFTLENBQUMsR0FBd0M7UUFDcEUsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FB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QWMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3FJQUtxQixTQUFTO3NCQUE1QixLQUFLO2dCQWdCYyxTQUFTO3NCQUE1QixLQUFLO2dCQWNjLFFBQVE7c0JBQTNCLEtBQUs7Z0JBZ0JjLFFBQVE7c0JBQTNCLEtBQUs7Z0JBZWMsZUFBZTtzQkFBbEMsS0FBSztnQkFjYyxrQkFBa0I7c0JBQXJDLEtBQUs7Z0JBZVUsVUFBVTtzQkFBekIsS0FBSztnQkFLVSxNQUFNO3NCQUFyQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBS1UsYUFBYTtzQkFBNUIsS0FBSztnQkFLVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUtXLGNBQWM7c0JBQTlCLE1BQU07Z0JBR0Esa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBhdXRvUGxhY2VtZW50LFxuICBhdXRvVXBkYXRlLFxuICBjb21wdXRlUG9zaXRpb24sXG4gIENvbXB1dGVQb3NpdGlvbkNvbmZpZyxcbiAgZmxpcCxcbiAgTWlkZGxld2FyZSxcbiAgb2Zmc2V0LFxuICBQbGFjZW1lbnQsXG4gIHNoaWZ0LFxuICBTdHJhdGVneSxcbn0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgeyBEZXNpZ25Ub2tlbkhlbHBlciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBvcnRhbERpcmVjdGl2ZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2hhcmVkL3BvcnRhbCc7XG5cbmV4cG9ydCB0eXBlIFRyaWdnZXJFdmVudCA9ICdob3ZlcicgfCAnY2xpY2snIHwgJ2ZvY3VzJztcblxuZXhwb3J0IGVudW0gRmxvYXRpbmdPZmZzZXQge1xuICBub25lID0gMCxcbiAgc21hbGwgPSA0LFxuICBtZWRpdW0gPSA4LFxufVxuXG5leHBvcnQgZW51bSBPdXRsZXRTZWxlY3RvciB7XG4gIHRhZyA9ICd0YWcnLFxuICBpZCA9ICdpZCcsXG4gIGNsYXNzID0gJ2NsYXNzJyxcbiAgbmFtZSA9ICduYW1lJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxPdXRsZXRDb25maWcge1xuICBzZWxlY3RvcjogT3V0bGV0U2VsZWN0b3I7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBFdmVudE1ldGhvZHMge1xuICBldmVudDogc3RyaW5nO1xuICBtZXRob2Q6ICgpID0+IHZvaWQ7XG59XG5cbnR5cGUgRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbiA9ICgpID0+IHZvaWQ7XG5cbi8qKlxuICogQHN1bW1hcnkgRmxvYXRpbmdEaXJlY3RpdmUgaXMgYSB1dGlsaXR5IHRoYXQgbGV0cyB5b3UgZGVjbGFyYXRpdmUgYW5jaG9yIFwicG9wdXBcIiBjb250YWluZXJzIHRvIGFub3RoZXIgZWxlbWVudC5cbiAqXG4gKiBVc2VzIGZsb2F0aW5nLXVpLCB3aXRoIHRoaXMgZGlyZWN0aXZlIHdyYXBzIHRoZSBmdW5jdGlvbmFsaXR5OiBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2dldHRpbmctc3RhcnRlZFxuICpcbiAqIFVzZXMgUG9ydGFsRGlyZWN0aXZlIHRvIGVuYWJsZSBmdW5jdGlvbmFsaXR5IGZvciBwb3J0YWxpbmcgdGhlIGZsb2F0ZWQgY29udGVudC4gVGhpcyBzaG91bGQgYmUgdXNlZCB3aGVuIG5lZWRlZFxuICogYW5kIG5vdCBhcyB0aGUgZGVmYXVsdCBvcHRpb24uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1traXJieUZsb2F0aW5nXScsXG4gIHByb3ZpZGVyczogW1BvcnRhbERpcmVjdGl2ZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbUG9ydGFsRGlyZWN0aXZlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRmxvYXRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgZm9yIHdoaWNoIHRoZSBob3N0IHNob3VsZCBhbmNob3IgdG9cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCByZWZlcmVuY2UocmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudGVhckRvd25SZWZlcmVuY2VFbGVtZW50RXZlbnRIYW5kbGluZygpO1xuICAgIHRoaXMuX3JlZmVyZW5jZSA9IHJlZjtcbiAgICB0aGlzLnNldHVwRXZlbnRIYW5kbGluZygpO1xuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcbiAgICAgIHRoaXMuYXV0b1VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWZlcmVuY2UoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9yZWZlcmVuY2U7XG4gIH1cblxuICAvKipcbiAgICogSG93IHRoZSBob3N0IHNob3VsZCBiZSBwbGFjZWQgcmVsYXRpdmUgdG8gdGhlIHJlZmVyZW5jZS4gQ2FuIGJlIGFmZmVjdGVkIGJ5IG1pZGRsZXdhcmVcbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBwbGFjZW1lbnQocGxhY2VtZW50OiBQbGFjZW1lbnQpIHtcbiAgICB0aGlzLl9wbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XG4gICAgaWYgKHRoaXMuaXNTaG93bikge1xuICAgICAgdGhpcy51cGRhdGVIb3N0RWxlbWVudFBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlbWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc3RyYXRlZ3kgZm9yIGhvdyB0aGUgaG9zdCBzaG91bGQgYmUgcG9zaXRpb25lZC5cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBzdHJhdGVneShzdHJhdGVneTogU3RyYXRlZ3kpIHtcbiAgICB0aGlzLl9zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcbiAgICAgIHRoaXMudXBkYXRlSG9zdEVsZW1lbnRQb3NpdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RyYXRlZ3koKTogU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLl9zdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoZW4gdGhlIGhvc3Qgc2hvdWxkIGJlIGRpc3BsYXllZC9oaWRkZW4sIGkuZS4gY2xpY2sgd2lsbCBhdHRhY2ggYSBjbGljayBsaXN0ZW5lciB0byB0aGUgcmVmZXJlbmNlXG4gICAqIHRoYXQgbWFrZXMgdGhlIGhvc3QgdG9nZ2xlIGRpc3BsYXkuIFN1cHBvcnRzIG11bHRpcGxlIHRyaWdnZXJzLCB0byBwcm92aWRlIGZ1bmN0aW9uYWxpdHkgZm9yIGNvbWJpbmF0aW9uc1xuICAgKiBsaWtlIGNsaWNrL2ZvY3VzLlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyaWdnZXJzKGV2ZW50VHJpZ2dlcnM6IEFycmF5PFRyaWdnZXJFdmVudD4pIHtcbiAgICB0aGlzLl90cmlnZ2VycyA9IGV2ZW50VHJpZ2dlcnM7XG4gICAgdGhpcy50ZWFyRG93blJlZmVyZW5jZUVsZW1lbnRFdmVudEhhbmRsaW5nKCk7XG4gICAgdGhpcy5zZXR1cEV2ZW50SGFuZGxpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJpZ2dlcnMoKTogQXJyYXk8VHJpZ2dlckV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MRWxlbWVudCBmb3Igd2hpY2ggdGhlIGNvbnRlbnQgc2hvdWxkIHBvcnRhbCBpbnRvLlxuICAgKiBQcm92aWRpbmcgYW4gb3V0bGV0IGVuYWJsZXMgdGhlIHBvcnRhbCwgaWYgbm90aGluZyBpcyBwcm92aWRlZCwgdGhlIHByb3ZpZGVkIHN0cmF0ZWd5IGlzIHVzZWQuXG4gICAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgd2hlbiB0aGVyZSdzIGlzc3VlcyB3aXRoIHRoZSBzdGFja2luZyBjb250ZXh0LCBhbmQgbm90IGFzIGEgZGVmYXVsdCBvcHRpb24uXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgRE9NUG9ydGFsT3V0bGV0KG91dGxldDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9wcm92aWRlZFBvcnRhbE91dGxldCA9IG91dGxldDtcbiAgICB0aGlzLnBvcnRhbERpcmVjdGl2ZS5vdXRsZXQgPVxuICAgICAgdGhpcy5ET01Qb3J0YWxPdXRsZXQgPz8gdGhpcy5nZXRPdXRsZXRFbGVtZW50KHRoaXMucG9ydGFsT3V0bGV0Q29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRE9NUG9ydGFsT3V0bGV0KCk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvdmlkZWRQb3J0YWxPdXRsZXQ7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBob3cgdG8gYXV0b21hdGljYWxseSBmaW5kIGFuZCBhc3NpZ24gRE9NUG9ydGFsT3V0bGV0IGlmIG5vbmUgaXMgcHJvdmlkZWQgaW4gRE9NUG9ydGFsT3V0bGV0LlxuICAgKiBJZiBub3RoaW5nIGlzIHByb3ZpZGVkIGhlcmUgYW5kIGluIERPTVBvcnRhbE91dGxldCwgdGhlIHByb3ZpZGVkIHN0cmF0ZWd5IGlzIHVzZWRcbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBwb3J0YWxPdXRsZXRDb25maWcoY29uZmlnOiBQb3J0YWxPdXRsZXRDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9wb3J0YWxPdXRsZXRDb25maWcgPSBjb25maWc7XG5cbiAgICBpZiAoIXRoaXMuRE9NUG9ydGFsT3V0bGV0KSB7XG4gICAgICB0aGlzLnBvcnRhbERpcmVjdGl2ZS5vdXRsZXQgPSB0aGlzLmdldE91dGxldEVsZW1lbnQoY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBvcnRhbE91dGxldENvbmZpZygpOiBQb3J0YWxPdXRsZXRDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb3J0YWxPdXRsZXRDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBob3N0IGZyb20gYmVpbmcgdG9nZ2xlZCBpZiBzZXQuXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERpc3BsYWNlcyB0aGUgZmxvYXRpbmcgZWxlbWVudCBmcm9tIGl0cyBjb3JlIHBsYWNlbWVudCBhbG9uZyB0aGUgc3BlY2lmaWVkIGF4ZXMuXG4gICAqICovXG4gIEBJbnB1dCgpIHB1YmxpYyBvZmZzZXQ6IEZsb2F0aW5nT2Zmc2V0ID0gRmxvYXRpbmdPZmZzZXQubm9uZTtcblxuICAvKipcbiAgICogTW92ZXMgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYWxvbmcgdGhlIHNwZWNpZmllZCBheGVzIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldy5cbiAgICogVGhpcyBkb2VzIG5vdCBhbHdheXMgd29yayBhcyBleHBlY3RlZCwgc28gZG9uJ3QgXCJqdXN0XCIgc2V0IGl0LlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgc2hpZnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2hvb3NlcyB0aGUgcGxhY2VtZW50IHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LlxuICAgKiAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXV0b1BsYWNlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGhpZGluZyB0aGUgaG9zdCBieSBldmVudHMuIFNlZSB2YXJpYWJsZSBuYW1lcy5cbiAgICogKi9cbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkVzY2FwZUtleTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBvcHRpb24gdG8gYmUgbm90aWZpZWQgd2hlbiB0aGUgaG9zdCBjaGFuZ2VzIGRpc3BsYXkuIFRoZSBuZXcgZGlzcGxheSB2YWx1ZSBpcyBwcm92aWRlZC5cbiAgICogKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBkaXNwbGF5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRXNjYXBlS2V5UHJlc3NlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uRXNjYXBlS2V5KSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9wbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20tc3RhcnQnO1xuXG4gIHByaXZhdGUgX3N0cmF0ZWd5OiBTdHJhdGVneSA9ICdhYnNvbHV0ZSc7XG5cbiAgcHJpdmF0ZSBfcHJvdmlkZWRQb3J0YWxPdXRsZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3BvcnRhbE91dGxldENvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3RyaWdnZXJzOiBBcnJheTxUcmlnZ2VyRXZlbnQ+ID0gWydjbGljayddO1xuXG4gIHByaXZhdGUgX3JlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBhdXRvVXBkYXRlclJlZjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBpc1Nob3duOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgcmVmZXJlbmNlRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbnM6IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm5bXSA9IFtdO1xuICBwcml2YXRlIGRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuOiBFdmVudExpc3RlbmVyRGlzcG9zZUZuO1xuICBwcml2YXRlIGhvc3RDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm46IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm47XG4gIHByaXZhdGUgdHJpZ2dlckV2ZW50TWFwOiBNYXA8VHJpZ2dlckV2ZW50LCBFdmVudE1ldGhvZHNbXT4gPSBuZXcgTWFwKFtcbiAgICBbJ2NsaWNrJywgW3sgZXZlbnQ6ICdjbGljaycsIG1ldGhvZDogdGhpcy50b2dnbGVTaG93LmJpbmQodGhpcykgfV1dLFxuICAgIFtcbiAgICAgICdob3ZlcicsXG4gICAgICBbXG4gICAgICAgIHsgZXZlbnQ6ICdtb3VzZWVudGVyJywgbWV0aG9kOiB0aGlzLnNob3cuYmluZCh0aGlzKSB9LFxuICAgICAgICB7IGV2ZW50OiAnbW91c2VsZWF2ZScsIG1ldGhvZDogdGhpcy5oaWRlLmJpbmQodGhpcykgfSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBbXG4gICAgICAnZm9jdXMnLFxuICAgICAgW1xuICAgICAgICB7IGV2ZW50OiAnZm9jdXMnLCBtZXRob2Q6IHRoaXMuc2hvdy5iaW5kKHRoaXMpIH0sXG4gICAgICAgIHsgZXZlbnQ6ICdibHVyJywgbWV0aG9kOiB0aGlzLmhpZGUuYmluZCh0aGlzKSB9LFxuICAgICAgXSxcbiAgICBdLFxuICBdKTtcblxuICBwcml2YXRlIEhUTUxFbGVtZW50czoge1xuICAgIFtrZXkgaW4gT3V0bGV0U2VsZWN0b3IgfCAnZGVmYXVsdCddOiAodmFsdWU/OiBzdHJpbmcpID0+IEFycmF5PEVsZW1lbnQ+IHwgbnVsbDtcbiAgfSA9IHtcbiAgICBpZDogKHZhbHVlKSA9PiBBcnJheS5vZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh2YWx1ZSkpLFxuICAgIGNsYXNzOiAodmFsdWUpID0+IEFycmF5LmZyb20oZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh2YWx1ZSkpLFxuICAgIG5hbWU6ICh2YWx1ZSkgPT4gQXJyYXkuZnJvbShkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSh2YWx1ZSkpLFxuICAgIHRhZzogKHZhbHVlKSA9PiBBcnJheS5mcm9tKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKHZhbHVlKSksXG4gICAgZGVmYXVsdDogKCkgPT4gbnVsbCxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBwb3J0YWxEaXJlY3RpdmU6IFBvcnRhbERpcmVjdGl2ZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkRmxvYXRTdHlsaW5nVG9Ib3N0RWxlbWVudCgpO1xuICB9XG5cbiAgLyogU2hvdWxkIGJlIGFjY2Vzc2libGUgZm9yIHByb2dyYW1tYXRpY2FsbHkgc2V0dGluZyBkaXNwbGF5ICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmF0dGFjaERvY3VtZW50Q2xpY2tFdmVudEhhbmRsZXIoKTtcbiAgICB0aGlzLmF0dGFjaEhvc3RDbGlja0V2ZW50SGFuZGxlcigpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgdGhpcy5pc1Nob3duID0gdHJ1ZTtcbiAgICB0aGlzLmF1dG9VcGRhdGVQb3NpdGlvbigpO1xuICAgIHRoaXMuZGlzcGxheUNoYW5nZWQuZW1pdCh0aGlzLmlzU2hvd24pO1xuICB9XG5cbiAgLyogU2hvdWxkIGJlIGFjY2Vzc2libGUgZm9yIHByb2dyYW1tYXRpY2FsbHkgc2V0dGluZyBkaXNwbGF5ICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQgfHwgIXRoaXMuaXNTaG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlQXV0b1VwZGF0ZXJSZWYoKTtcbiAgICB0aGlzLnRlYXJEb3duRG9jdW1lbnRDbGlja0V2ZW50SGFuZGxpbmcoKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XG4gICAgdGhpcy5kaXNwbGF5Q2hhbmdlZC5lbWl0KHRoaXMuaXNTaG93bik7XG4gIH1cblxuICAvKiBTaG91bGQgYmUgYWNjZXNzaWJsZSBmb3IgcHJvZ3JhbW1hdGljYWxseSBzZXR0aW5nIGRpc3BsYXkgKi9cbiAgcHVibGljIHRvZ2dsZVNob3coKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNTaG93bikge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRmxvYXRTdHlsaW5nVG9Ib3N0RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAwcHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG9wJywgYDBweGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdwb3NpdGlvbicsIHRoaXMuc3RyYXRlZ3kpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd6LWluZGV4JyxcbiAgICAgIERlc2lnblRva2VuSGVscGVyLnpMYXllcigncG9wb3ZlcicpXG4gICAgKTtcbiAgICB0aGlzLnNldERpc3BsYXlTdHlsaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIHNldERpc3BsYXlTdHlsaW5nKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdkaXNwbGF5JyxcbiAgICAgIHRoaXMuaXNTaG93biA/IGBibG9ja2AgOiBgbm9uZWBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIb3N0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWc6IENvbXB1dGVQb3NpdGlvbkNvbmZpZyA9IHtcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICBtaWRkbGV3YXJlOiB0aGlzLmdldE1pZGRsZXdhcmVDb25maWcoKSxcbiAgICAgIHN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxuICAgIH0gYXMgQ29tcHV0ZVBvc2l0aW9uQ29uZmlnO1xuXG4gICAgZnJvbShcbiAgICAgIGNvbXB1dGVQb3NpdGlvbih0aGlzLnJlZmVyZW5jZT8ubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZylcbiAgICApLnN1YnNjcmliZSgoeyB4LCB5IH0pID0+IHRoaXMuc2V0UG9zaXRpb25TdHlsaW5nT25Ib3N0RWxlbWVudCh4LCB5KSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1pZGRsZXdhcmVDb25maWcoKTogQXJyYXk8TWlkZGxld2FyZSB8IG51bGwgfCB1bmRlZmluZWQgfCBmYWxzZT4ge1xuICAgIGNvbnN0IG1pZGRsZXdhcmU6IEFycmF5PE1pZGRsZXdhcmUgfCBudWxsIHwgdW5kZWZpbmVkIHwgZmFsc2U+ID0gW107XG4gICAgbWlkZGxld2FyZS5wdXNoKG9mZnNldCh0aGlzLm9mZnNldCkpO1xuICAgIG1pZGRsZXdhcmUucHVzaChmbGlwKCkpO1xuXG4gICAgaWYgKHRoaXMuc2hpZnQpIHtcbiAgICAgIG1pZGRsZXdhcmUucHVzaChzaGlmdCh7IHBhZGRpbmc6IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnNpemUoJ3MnKSkgfSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmF1dG9QbGFjZW1lbnQpIHtcbiAgICAgIG1pZGRsZXdhcmUucHVzaChhdXRvUGxhY2VtZW50KCkpO1xuICAgIH1cblxuICAgIHJldHVybiBtaWRkbGV3YXJlO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvVXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVBdXRvVXBkYXRlclJlZigpO1xuXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXV0b1VwZGF0ZXJSZWYgPSBhdXRvVXBkYXRlKFxuICAgICAgdGhpcy5yZWZlcmVuY2U/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgIHRoaXMudXBkYXRlSG9zdEVsZW1lbnRQb3NpdGlvbi5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb25TdHlsaW5nT25Ib3N0RWxlbWVudCh4UG9zaXRpb246IG51bWJlciwgeVBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3hQb3NpdGlvbn1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt5UG9zaXRpb259cHhgKTtcbiAgICB0aGlzLnNldERpc3BsYXlTdHlsaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwRXZlbnRIYW5kbGluZygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlIHx8ICF0aGlzLnRyaWdnZXJzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50cmlnZ2Vycy5mb3JFYWNoKCh0cmlnZ2VyOiBUcmlnZ2VyRXZlbnQpID0+XG4gICAgICB0aGlzLmF0dGFjaFRyaWdnZXJFdmVudFRvUmVmZXJlbmNlRWxlbWVudCh0cmlnZ2VyKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaERvY3VtZW50Q2xpY2tFdmVudEhhbmRsZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZG9jdW1lbnRDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXG4gICAgICAnZG9jdW1lbnQnLFxuICAgICAgJ21vdXNlZG93bicsXG4gICAgICAoZXZlbnQpID0+IHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlSG9zdEVsZW1lbnQoZXZlbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoSG9zdENsaWNrRXZlbnRIYW5kbGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvc3RDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm4gfHwgIXRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG9zdENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnY2xpY2snLFxuICAgICAgKCkgPT4gdGhpcy5oYW5kbGVDbGlja0luc2lkZUhvc3RFbGVtZW50KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hUcmlnZ2VyRXZlbnRUb1JlZmVyZW5jZUVsZW1lbnQodHJpZ2dlcjogVHJpZ2dlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRzOiBFdmVudE1ldGhvZHNbXSB8IHVuZGVmaW5lZCA9IHRoaXMudHJpZ2dlckV2ZW50TWFwLmdldCh0cmlnZ2VyKTtcblxuICAgIGlmICghZXZlbnRzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dHJpZ2dlcn0gaXMgbWlzc2luZyBldmVudCBkZWZpbml0aW9uKHMpYCk7XG4gICAgfVxuXG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50OiBFdmVudE1ldGhvZHMpID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50TGlzdGVuZXJEaXNwb3NlRm46IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihcbiAgICAgICAgdGhpcy5yZWZlcmVuY2U/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGV2ZW50LmV2ZW50LFxuICAgICAgICBldmVudC5tZXRob2RcbiAgICAgICk7XG4gICAgICB0aGlzLnJlZmVyZW5jZUV2ZW50TGlzdGVuZXJEaXNwb3NlRm5zLnB1c2goZXZlbnRMaXN0ZW5lckRpc3Bvc2VGbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNsaWNrSW5zaWRlSG9zdEVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbGlja091dHNpZGVIb3N0RWxlbWVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSkge1xuICAgICAgY29uc3QgY2xpY2tlZE9uSG9zdDogYm9vbGVhbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICBpZiAoY2xpY2tlZE9uSG9zdCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBjbGlja2VkT25SZWZlcmVuY2VXaXRoQ2xpY2tUcmlnZ2VyRW5hYmxlZDogYm9vbGVhbiA9XG4gICAgICAgIHRoaXMucmVmZXJlbmNlPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiYgdGhpcy50cmlnZ2Vycy5pbmNsdWRlcygnY2xpY2snKTtcblxuICAgICAgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wICYmICFjbGlja2VkT25SZWZlcmVuY2VXaXRoQ2xpY2tUcmlnZ2VyRW5hYmxlZCkge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE91dGxldEVsZW1lbnQoY29uZmlnOiBQb3J0YWxPdXRsZXRDb25maWcgfCB1bmRlZmluZWQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghY29uZmlnIHx8ICFjb25maWcuc2VsZWN0b3IgfHwgIWNvbmZpZy52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudHM6IEFycmF5PEVsZW1lbnQ+IHwgbnVsbCA9IHRoaXMuZ2V0SFRNTEVsZW1lbnRzKGNvbmZpZyk7XG5cbiAgICBpZiAoIWVsZW1lbnRzIHx8IGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgRXJyb3IoYENvdWxkIG5vdCBsb2NhdGUgSFRNTEVsZW1lbnQgZm9yICR7Y29uZmlnLnNlbGVjdG9yfS4gRGlkIHlvdSBtaXNzcGVsbCBpdD9gKTtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBNdWx0aXBsZSBIVE1MRWxlbWVudHMgZm91bmQgZm9yICR7Y29uZmlnLnNlbGVjdG9yfS5cbiAgICAgICAgIFRoaXMgY2FuIGxlYWQgdG8gdW5pbnRlbmRlZCBiZWhhdmlvdXJzLiBQcm92aWRlIGFuIHVuaXF1ZSBvdXRsZXRgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SFRNTEVsZW1lbnRzKGNvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkKTogQXJyYXk8RWxlbWVudD4gfCBudWxsIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5IVE1MRWxlbWVudHNbY29uZmlnLnNlbGVjdG9yXShjb25maWcudmFsdWUpIHx8IHRoaXMuSFRNTEVsZW1lbnRzWydkZWZhdWx0J10oY29uZmlnLnZhbHVlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRlYXJEb3duUmVmZXJlbmNlRWxlbWVudEV2ZW50SGFuZGxpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZlcmVuY2VFdmVudExpc3RlbmVyRGlzcG9zZUZucy5mb3JFYWNoKFxuICAgICAgKGV2ZW50TGlzdGVuZXJEaXNwb3NlRnVuY3Rpb246IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm4pID0+IHtcbiAgICAgICAgaWYgKGV2ZW50TGlzdGVuZXJEaXNwb3NlRnVuY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICAgIGV2ZW50TGlzdGVuZXJEaXNwb3NlRnVuY3Rpb24oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5yZWZlcmVuY2VFdmVudExpc3RlbmVyRGlzcG9zZUZucyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSB0ZWFyRG93bkRvY3VtZW50Q2xpY2tFdmVudEhhbmRsaW5nKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuKSB7XG4gICAgICB0aGlzLmRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuKCk7XG4gICAgICB0aGlzLmRvY3VtZW50Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ob3N0Q2xpY2tFdmVudExpc3RlbmVyRGlzcG9zZUZuKSB7XG4gICAgICB0aGlzLmhvc3RDbGlja0V2ZW50TGlzdGVuZXJEaXNwb3NlRm4oKTtcbiAgICAgIHRoaXMuaG9zdENsaWNrRXZlbnRMaXN0ZW5lckRpc3Bvc2VGbiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVBdXRvVXBkYXRlclJlZigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvVXBkYXRlclJlZikge1xuICAgICAgdGhpcy5hdXRvVXBkYXRlclJlZigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRlYXJEb3duRG9jdW1lbnRDbGlja0V2ZW50SGFuZGxpbmcoKTtcbiAgICB0aGlzLnRlYXJEb3duUmVmZXJlbmNlRWxlbWVudEV2ZW50SGFuZGxpbmcoKTtcbiAgICB0aGlzLnJlbW92ZUF1dG9VcGRhdGVyUmVmKCk7XG4gIH1cbn1cbiJdfQ==
@@ -91,7 +91,7 @@ class CheckboxComponent {
91
91
  useExisting: forwardRef((() => CheckboxComponent)),
92
92
  multi: true,
93
93
  },
94
- ], viewQueries: [{ propertyName: "ionCheckboxElement", first: true, predicate: IonCheckbox, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n", styles: [":host{display:inline-block}:host.attention-level1 ion-checkbox{--checkmark-color: var(--kirby-black);--checkbox-background-checked: var(--kirby-success);--border-color-checked: var(--kirby-success)}@media (hover: hover){:host.attention-level1 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #2dc172;--border-color-checked: #2dc172}}:host.attention-level1 ion-checkbox:active,:host.attention-level1 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background-checked: #29ae67;--border-color-checked: #29ae67}:host.attention-level2 ion-checkbox{--checkmark-color: var(--kirby-white);--checkbox-background-checked: var(--kirby-black);--border-color-checked: var(--kirby-black)}@media (hover: hover){:host.attention-level2 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #5c5c5c;--border-color-checked: #5c5c5c}}:host.attention-level2 ion-checkbox:active,:host.attention-level2 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkmark-color: #ebebeb;--checkbox-background-checked: #6e6e6e;--border-color-checked: #6e6e6e}:host.error ion-checkbox{--border-color: var(--kirby-danger)}:host[disabled]{color:var(--kirby-text-color-semi-dark)}:host[disabled] ion-checkbox{--checkmark-color: var(--kirby-semi-dark);--checkbox-background: var(--kirby-semi-light);--checkbox-background-checked: var(--kirby-semi-light);--border-color: var(--kirby-medium);--border-color-checked: var(--kirby-semi-light)}:host[disabled] ion-checkbox::part(label-text-wrapper){opacity:1}:host[disabled] ion-checkbox::part(native-wrapper){opacity:1}:host ion-checkbox{--transition: 80ms;--size: 24px;--checkmark-width: 4px;--checkbox-background: var(--kirby-white);--border-width: 1px;--border-color: var(--kirby-semi-dark);--border-radius: 6px}@media (hover: hover) and (pointer: fine){:host ion-checkbox:focus-within::part(container){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}@media (hover: hover){:host ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background: #ebebeb}}:host ion-checkbox:active,:host ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background: #e0e0e0}:host ion-checkbox::part(container){padding:4px}:host ion-checkbox::part(label){align-items:start;padding-left:16px;padding-right:12px;line-height:24px}:host ion-checkbox::part(label-text-wrapper){margin-inline:12px 0}:host ion-checkbox span{white-space:pre-line}:host.has-label{display:block}:host.has-label.xs ion-checkbox::part(label){padding-top:4px;padding-bottom:4px}:host.has-label.sm ion-checkbox::part(label){padding-top:10px;padding-bottom:10px}:host.has-label.md ion-checkbox::part(label){padding-top:16px;padding-bottom:16px}:host-context(kirby-item){z-index:1}:host-context(kirby-item) ion-checkbox{margin:0}:host-context(kirby-item)[slot=start]{margin-inline-end:12px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "directive", type: i2.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
+ ], viewQueries: [{ propertyName: "ionCheckboxElement", first: true, predicate: IonCheckbox, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n", styles: [":host{display:inline-block}:host.attention-level1 ion-checkbox{--checkmark-color: var(--kirby-black);--checkbox-background-checked: var(--kirby-success);--border-color-checked: var(--kirby-success)}@media (hover: hover){:host.attention-level1 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #2dc172;--border-color-checked: #2dc172}}:host.attention-level1 ion-checkbox:active,:host.attention-level1 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background-checked: #29ae67;--border-color-checked: #29ae67}:host.attention-level2 ion-checkbox{--checkmark-color: var(--kirby-white);--checkbox-background-checked: var(--kirby-black);--border-color-checked: var(--kirby-black)}@media (hover: hover){:host.attention-level2 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #5c5c5c;--border-color-checked: #5c5c5c}}:host.attention-level2 ion-checkbox:active,:host.attention-level2 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkmark-color: #ebebeb;--checkbox-background-checked: #6e6e6e;--border-color-checked: #6e6e6e}:host.error ion-checkbox{--border-color: var(--kirby-danger)}:host[disabled]{color:var(--kirby-text-color-semi-dark)}:host[disabled] ion-checkbox{--checkmark-color: var(--kirby-semi-dark);--checkbox-background: var(--kirby-semi-light);--checkbox-background-checked: var(--kirby-semi-light);--border-color: var(--kirby-medium);--border-color-checked: var(--kirby-semi-light)}:host[disabled] ion-checkbox::part(label-text-wrapper){opacity:1}:host[disabled] ion-checkbox::part(native-wrapper){opacity:1}:host ion-checkbox{--transition: 80ms;--size: 24px;--checkmark-width: 4px;--checkbox-background: var(--kirby-white);--border-width: 1px;--border-color: var(--kirby-semi-dark);--border-radius: 6px}@media (hover: hover) and (pointer: fine){:host ion-checkbox:focus-within::part(container){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}@media (hover: hover){:host ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background: #ebebeb}}:host ion-checkbox:active,:host ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background: #e0e0e0}:host ion-checkbox::part(container){padding:4px}:host ion-checkbox::part(label){align-items:start;padding-left:16px;padding-right:12px;line-height:24px}:host ion-checkbox::part(label-text-wrapper){margin-inline:12px 0}:host ion-checkbox span{white-space:pre-line}:host.has-label{display:block}:host.has-label.xs ion-checkbox::part(label){padding-block:4px}:host.has-label.sm ion-checkbox::part(label){padding-block:10px}:host.has-label.md ion-checkbox::part(label){padding-block:16px}:host.has-label.xs ion-checkbox::part(label){line-height:16px;font-size:14px}:host.has-label.xs ion-checkbox{--size: 16px;--border-radius: 4px}:host.has-label.xs ion-checkbox::part(container){padding:2px}:host :host-context(kirby-item){z-index:1}:host :host-context(kirby-item) ion-checkbox{margin:0}:host :host-context(kirby-item)[slot=start]{margin-inline-end:12px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "directive", type: i2.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CheckboxComponent, decorators: [{
97
97
  type: Component,
@@ -102,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
102
102
  useExisting: forwardRef((() => CheckboxComponent)),
103
103
  multi: true,
104
104
  },
105
- ], template: "<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n", styles: [":host{display:inline-block}:host.attention-level1 ion-checkbox{--checkmark-color: var(--kirby-black);--checkbox-background-checked: var(--kirby-success);--border-color-checked: var(--kirby-success)}@media (hover: hover){:host.attention-level1 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #2dc172;--border-color-checked: #2dc172}}:host.attention-level1 ion-checkbox:active,:host.attention-level1 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background-checked: #29ae67;--border-color-checked: #29ae67}:host.attention-level2 ion-checkbox{--checkmark-color: var(--kirby-white);--checkbox-background-checked: var(--kirby-black);--border-color-checked: var(--kirby-black)}@media (hover: hover){:host.attention-level2 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #5c5c5c;--border-color-checked: #5c5c5c}}:host.attention-level2 ion-checkbox:active,:host.attention-level2 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkmark-color: #ebebeb;--checkbox-background-checked: #6e6e6e;--border-color-checked: #6e6e6e}:host.error ion-checkbox{--border-color: var(--kirby-danger)}:host[disabled]{color:var(--kirby-text-color-semi-dark)}:host[disabled] ion-checkbox{--checkmark-color: var(--kirby-semi-dark);--checkbox-background: var(--kirby-semi-light);--checkbox-background-checked: var(--kirby-semi-light);--border-color: var(--kirby-medium);--border-color-checked: var(--kirby-semi-light)}:host[disabled] ion-checkbox::part(label-text-wrapper){opacity:1}:host[disabled] ion-checkbox::part(native-wrapper){opacity:1}:host ion-checkbox{--transition: 80ms;--size: 24px;--checkmark-width: 4px;--checkbox-background: var(--kirby-white);--border-width: 1px;--border-color: var(--kirby-semi-dark);--border-radius: 6px}@media (hover: hover) and (pointer: fine){:host ion-checkbox:focus-within::part(container){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}@media (hover: hover){:host ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background: #ebebeb}}:host ion-checkbox:active,:host ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background: #e0e0e0}:host ion-checkbox::part(container){padding:4px}:host ion-checkbox::part(label){align-items:start;padding-left:16px;padding-right:12px;line-height:24px}:host ion-checkbox::part(label-text-wrapper){margin-inline:12px 0}:host ion-checkbox span{white-space:pre-line}:host.has-label{display:block}:host.has-label.xs ion-checkbox::part(label){padding-top:4px;padding-bottom:4px}:host.has-label.sm ion-checkbox::part(label){padding-top:10px;padding-bottom:10px}:host.has-label.md ion-checkbox::part(label){padding-top:16px;padding-bottom:16px}:host-context(kirby-item){z-index:1}:host-context(kirby-item) ion-checkbox{margin:0}:host-context(kirby-item)[slot=start]{margin-inline-end:12px}\n"] }]
105
+ ], template: "<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n", styles: [":host{display:inline-block}:host.attention-level1 ion-checkbox{--checkmark-color: var(--kirby-black);--checkbox-background-checked: var(--kirby-success);--border-color-checked: var(--kirby-success)}@media (hover: hover){:host.attention-level1 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #2dc172;--border-color-checked: #2dc172}}:host.attention-level1 ion-checkbox:active,:host.attention-level1 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background-checked: #29ae67;--border-color-checked: #29ae67}:host.attention-level2 ion-checkbox{--checkmark-color: var(--kirby-white);--checkbox-background-checked: var(--kirby-black);--border-color-checked: var(--kirby-black)}@media (hover: hover){:host.attention-level2 ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background-checked: #5c5c5c;--border-color-checked: #5c5c5c}}:host.attention-level2 ion-checkbox:active,:host.attention-level2 ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkmark-color: #ebebeb;--checkbox-background-checked: #6e6e6e;--border-color-checked: #6e6e6e}:host.error ion-checkbox{--border-color: var(--kirby-danger)}:host[disabled]{color:var(--kirby-text-color-semi-dark)}:host[disabled] ion-checkbox{--checkmark-color: var(--kirby-semi-dark);--checkbox-background: var(--kirby-semi-light);--checkbox-background-checked: var(--kirby-semi-light);--border-color: var(--kirby-medium);--border-color-checked: var(--kirby-semi-light)}:host[disabled] ion-checkbox::part(label-text-wrapper){opacity:1}:host[disabled] ion-checkbox::part(native-wrapper){opacity:1}:host ion-checkbox{--transition: 80ms;--size: 24px;--checkmark-width: 4px;--checkbox-background: var(--kirby-white);--border-width: 1px;--border-color: var(--kirby-semi-dark);--border-radius: 6px}@media (hover: hover) and (pointer: fine){:host ion-checkbox:focus-within::part(container){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}@media (hover: hover){:host ion-checkbox:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--checkbox-background: #ebebeb}}:host ion-checkbox:active,:host ion-checkbox.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--checkbox-background: #e0e0e0}:host ion-checkbox::part(container){padding:4px}:host ion-checkbox::part(label){align-items:start;padding-left:16px;padding-right:12px;line-height:24px}:host ion-checkbox::part(label-text-wrapper){margin-inline:12px 0}:host ion-checkbox span{white-space:pre-line}:host.has-label{display:block}:host.has-label.xs ion-checkbox::part(label){padding-block:4px}:host.has-label.sm ion-checkbox::part(label){padding-block:10px}:host.has-label.md ion-checkbox::part(label){padding-block:16px}:host.has-label.xs ion-checkbox::part(label){line-height:16px;font-size:14px}:host.has-label.xs ion-checkbox{--size: 16px;--border-radius: 4px}:host.has-label.xs ion-checkbox::part(container){padding:2px}:host :host-context(kirby-item){z-index:1}:host :host-context(kirby-item) ion-checkbox{margin:0}:host :host-context(kirby-item)[slot=start]{margin-inline-end:12px}\n"] }]
106
106
  }], ctorParameters: () => [{ type: i1.IonicElementPartHelper }], propDecorators: { ionCheckboxElement: [{
107
107
  type: ViewChild,
108
108
  args: [IonCheckbox, { read: ElementRef, static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-checkbox.mjs","sources":["../../../../libs/designsystem/checkbox/src/checkbox.component.ts","../../../../libs/designsystem/checkbox/src/checkbox.component.html","../../../../libs/designsystem/checkbox/src/kirbydesign-designsystem-checkbox.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { IonCheckbox, IonicModule } from '@ionic/angular';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IonicElementPartHelper } from '@kirbydesign/designsystem/helpers';\n\n@Component({\n standalone: true,\n imports: [IonicModule, CommonModule],\n selector: 'kirby-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n IonicElementPartHelper,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements AfterViewInit, ControlValueAccessor {\n @ViewChild(IonCheckbox, { read: ElementRef, static: true })\n private ionCheckboxElement?: ElementRef<HTMLIonCheckboxElement>;\n\n @Input() checked: boolean = false;\n @Input() attentionLevel: '1' | '2' = '2';\n\n @HostBinding('class.has-label')\n @Input()\n text: string;\n\n @HostBinding('class')\n @Input()\n size: 'xs' | 'sm' | 'md' = 'md';\n\n @HostBinding('class.error')\n @Input()\n hasError: boolean = false;\n\n @Input() disabled = false;\n @HostBinding('attr.disabled')\n get _isDisabled() {\n return this.disabled ? 'disabled' : null;\n }\n\n @HostBinding('class.attention-level1') get isAttentionLevel1() {\n return this.attentionLevel === '1';\n }\n @HostBinding('class.attention-level2') get isAttentionLevel2() {\n return this.attentionLevel === '2';\n }\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n constructor(private ionicElementPartHelper: IonicElementPartHelper) {}\n\n ngAfterViewInit(): void {\n this.ionicElementPartHelper.setPart('label', this.ionCheckboxElement, '.checkbox-wrapper');\n this.ionicElementPartHelper.setPart(\n 'label-text-wrapper',\n this.ionCheckboxElement,\n '.label-text-wrapper'\n );\n this.ionicElementPartHelper.setPart(\n 'native-wrapper',\n this.ionCheckboxElement,\n '.native-wrapper'\n );\n }\n\n onChecked(checked: boolean): void {\n this.checked = checked;\n this._onChange(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n onBlur() {\n this._onTouched();\n }\n\n // Initialize default ControlValueAccessor callback functions (noop)\n // eslint-disable-next-line no-empty-function\n private _onChange: (value: boolean) => void = () => {};\n // eslint-disable-next-line no-empty-function\n private _onTouched = () => {};\n\n /**\n * Sets the checkbox's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n /**\n * Saves a callback function to be invoked when the checkbox's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the checkbox is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Disables the checkbox. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-checkbox.mjs","sources":["../../../../libs/designsystem/checkbox/src/checkbox.component.ts","../../../../libs/designsystem/checkbox/src/checkbox.component.html","../../../../libs/designsystem/checkbox/src/kirbydesign-designsystem-checkbox.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { IonCheckbox, IonicModule } from '@ionic/angular';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IonicElementPartHelper } from '@kirbydesign/designsystem/helpers';\n\n@Component({\n standalone: true,\n imports: [IonicModule, CommonModule],\n selector: 'kirby-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n IonicElementPartHelper,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements AfterViewInit, ControlValueAccessor {\n @ViewChild(IonCheckbox, { read: ElementRef, static: true })\n private ionCheckboxElement?: ElementRef<HTMLIonCheckboxElement>;\n\n @Input() checked: boolean = false;\n @Input() attentionLevel: '1' | '2' = '2';\n\n @HostBinding('class.has-label')\n @Input()\n text: string;\n\n @HostBinding('class')\n @Input()\n size: 'xs' | 'sm' | 'md' = 'md';\n\n @HostBinding('class.error')\n @Input()\n hasError: boolean = false;\n\n @Input() disabled = false;\n @HostBinding('attr.disabled')\n get _isDisabled() {\n return this.disabled ? 'disabled' : null;\n }\n\n @HostBinding('class.attention-level1') get isAttentionLevel1() {\n return this.attentionLevel === '1';\n }\n @HostBinding('class.attention-level2') get isAttentionLevel2() {\n return this.attentionLevel === '2';\n }\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n constructor(private ionicElementPartHelper: IonicElementPartHelper) {}\n\n ngAfterViewInit(): void {\n this.ionicElementPartHelper.setPart('label', this.ionCheckboxElement, '.checkbox-wrapper');\n this.ionicElementPartHelper.setPart(\n 'label-text-wrapper',\n this.ionCheckboxElement,\n '.label-text-wrapper'\n );\n this.ionicElementPartHelper.setPart(\n 'native-wrapper',\n this.ionCheckboxElement,\n '.native-wrapper'\n );\n }\n\n onChecked(checked: boolean): void {\n this.checked = checked;\n this._onChange(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n onBlur() {\n this._onTouched();\n }\n\n // Initialize default ControlValueAccessor callback functions (noop)\n // eslint-disable-next-line no-empty-function\n private _onChange: (value: boolean) => void = () => {};\n // eslint-disable-next-line no-empty-function\n private _onTouched = () => {};\n\n /**\n * Sets the checkbox's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n /**\n * Saves a callback function to be invoked when the checkbox's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the checkbox is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Disables the checkbox. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ion-checkbox\n mode=\"md\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (ionChange)=\"onChecked($event.detail.checked)\"\n labelPlacement=\"end\"\n (ionBlur)=\"onBlur()\"\n>\n <span *ngIf=\"text\">{{ text }}</span>\n</ion-checkbox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}