@coolon/angular-ui-powerups 16.1.0-aplpha.27 → 16.1.0-aplpha.29

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.
package/assets/tabs.scss CHANGED
@@ -5,16 +5,12 @@
5
5
  }
6
6
 
7
7
  [full-height-tabs], mat-tab-group.full-height-tabs {
8
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
9
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
10
- .mat-tab-body-wrapper {
8
+ .mat-mdc-tab-body-wrapper {
11
9
  flex: 1;
12
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
13
- mat-tab-body, .mat-tab-body-content {
10
+ mat-tab-body, .mat-mdc-tab-body-content {
14
11
  display: flex;
15
12
  flex-direction: column;
16
13
  justify-content: stretch;
17
14
  }
18
15
  }
19
16
  }
20
-
@@ -22,7 +22,7 @@ export class CommandFaceComponent extends DisposableComponent {
22
22
  // tslint:disable-next-line:no-input-rename
23
23
  get _rawFaces() { return this.#_rawFaces_accessor_storage; }
24
24
  set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
25
- hasIconAndText$;
25
+ hasTextAndLeadingIcon$;
26
26
  set face(face) {
27
27
  this.faces$.value = [face];
28
28
  }
@@ -42,7 +42,7 @@ export class CommandFaceComponent extends DisposableComponent {
42
42
  const activeFace = this.faceAdapters.first();
43
43
  this.activeIcon = activeFace.pluck("icon");
44
44
  this.activeColor = activeFace.pluck("color");
45
- this.hasIconAndText$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank()).areTruthy();
45
+ this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
46
46
  }
47
47
  shouldIncludeIcon(face) {
48
48
  return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
@@ -57,10 +57,10 @@ export class CommandFaceComponent extends DisposableComponent {
57
57
  return this.activeColor.value;
58
58
  }
59
59
  get hasTextAndIcon() {
60
- return this.hasIconAndText$.value;
60
+ return this.hasTextAndLeadingIcon$.value;
61
61
  }
62
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color", "class.has-text-and-icon": "this.hasTextAndIcon" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-icon{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color", "class.has-text-and-leading-icon": "this.hasTextAndIcon" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
64
64
  }
65
65
  __decorate([
66
66
  StoreInListModel("faces$"),
@@ -68,7 +68,7 @@ __decorate([
68
68
  ], CommandFaceComponent.prototype, "_rawFaces", null);
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
70
70
  type: Component,
71
- args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-icon{margin-top:4px}\n"] }]
71
+ args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"] }]
72
72
  }], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
73
73
  type: Input,
74
74
  args: ['faces']
@@ -88,6 +88,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
88
88
  args: ['attr.color']
89
89
  }], hasTextAndIcon: [{
90
90
  type: HostBinding,
91
- args: ['class.has-text-and-icon']
91
+ args: ['class.has-text-and-leading-icon']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlL2NvbW1hbmQtZmFjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZS9jb21tYW5kLWZhY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsR0FBRyxFQUVILGdCQUFnQixFQUNoQixnQkFBZ0IsRUFFakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFNUM7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLG1CQUFtQjtJQUU3QyxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsRUFBZSxDQUFDO0lBSXJELDRCQUFzRDtJQUYvRCwyQ0FBMkM7SUFFbEMsSUFBQSxTQUFTLCtDQUE2QztJQUF0RCxJQUFBLFNBQVMscURBQTZDO0lBQ3ZELGVBQWUsQ0FBeUI7SUFFaEQsSUFDSSxJQUFJLENBQUMsSUFBaUI7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBR0QsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUUxQixZQUFZLENBQXNDO0lBQ25ELFVBQVUsQ0FBMEI7SUFDcEMsV0FBVyxDQUEwQjtJQUU3QyxJQUNJLDJCQUEyQjtRQUM3QixPQUFPLElBQUksQ0FBQywwQkFBMEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ25FLENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQzFCLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQzVDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDZixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBeUI7UUFDekMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBd0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFRCxVQUFVLENBQUMsSUFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUE7SUFDbkMsQ0FBQzt1R0FqRVUsb0JBQW9COzJGQUFwQixvQkFBb0IseVpDNUJqQywwUkFLQTs7QUQ2Qlc7SUFEUSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7O3FEQUNvQjsyRkFOcEQsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJOzBFQVE1QixTQUFTO3NCQURqQixLQUFLO3VCQUFDLE9BQU87Z0JBS1YsSUFBSTtzQkFEUCxLQUFLO2dCQU1OLFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sMEJBQTBCO3NCQUR6QixLQUFLO2dCQVFGLDJCQUEyQjtzQkFEOUIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBK0IxQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsWUFBWTtnQkFNckIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBEc2wsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi9jb21tYW5kLWZhY2UnO1xuXG4vKipcbiAqIEN1c3RvbSBDU1M6XG4gKiBAZXhhbXBsZVxuICogcm9vdDogeyAvLyBnbG9iYWxseVxuICogICAtLWF1cC1jb21tYW5kLWZhY2UtaWNvbi1nYXA6IDhweDtcbiAqIH1cbiAqIGF1cC1jb21tYW5kLWZhY2UgeyAvLyBwZXIgaW5zdGFuY2VcbiAqICAgLS1pY29uLWdhcDogNHB4O1xuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtY29tbWFuZC1mYWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1hbmQtZmFjZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbW1hbmQtZmFjZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRGYWNlQ29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWNlcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb21tYW5kRmFjZT4oKTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnZmFjZXMnKSBAU3RvcmVJbkxpc3RNb2RlbChcImZhY2VzJFwiKVxuICBhY2Nlc3NvciBfcmF3RmFjZXM6IENvbW1hbmRGYWNlW10gfCBSZWFkb25seUFycmF5PENvbW1hbmRGYWNlPjtcbiAgcHJpdmF0ZSBoYXNJY29uQW5kVGV4dCQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgQElucHV0KClcbiAgc2V0IGZhY2UoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICB0aGlzLmZhY2VzJC52YWx1ZSA9IFtmYWNlXTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGlnbm9yZUljb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpZ25vcmVUZXh0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaW5jbHVkZU1pc3NpbmdJY29uSW5MYXlvdXQgPSBmYWxzZTtcblxuICByZWFkb25seSBmYWNlQWRhcHRlcnM6IExpc3RNb2RlbENoYWluPENvbW1hbmRGYWNlLkFkYXB0ZXI+O1xuICBwcml2YXRlIGFjdGl2ZUljb246IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIGFjdGl2ZUNvbG9yOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGUtaWNvbicpXG4gIGdldCByZXF1aXJlc01pc3NpbmdJY29uSW5MYXlvdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5jbHVkZU1pc3NpbmdJY29uSW5MYXlvdXQgJiYgIXRoaXMuYWN0aXZlSWNvbi52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmZhY2VBZGFwdGVycyA9IGNoYWluKHRoaXMuZmFjZXMkKS5tYXAoZmFjZSA9PiBuZXcgQ29tbWFuZEZhY2UuQWRhcHRlcihmYWNlKSk7XG4gICAgY29uc3QgYWN0aXZlRmFjZSA9IHRoaXMuZmFjZUFkYXB0ZXJzLmZpcnN0KCk7XG4gICAgdGhpcy5hY3RpdmVJY29uID0gYWN0aXZlRmFjZS5wbHVjayhcImljb25cIilcbiAgICB0aGlzLmFjdGl2ZUNvbG9yID0gYWN0aXZlRmFjZS5wbHVjayhcImNvbG9yXCIpXG4gICAgdGhpcy5oYXNJY29uQW5kVGV4dCQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuYWN0aXZlSWNvbi5pc05vdE5pbCgpLFxuICAgICAgYWN0aXZlRmFjZS5wbHVja1N0cmluZygndGV4dCcpLmlzTm90QmxhbmsoKVxuICAgICkuYXJlVHJ1dGh5KClcbiAgfVxuXG4gIHNob3VsZEluY2x1ZGVJY29uKGZhY2U6IENvbW1hbmRGYWNlLkFkYXB0ZXIpIHtcbiAgICByZXR1cm4gKCF0aGlzLmlnbm9yZUljb24gJiYgZmFjZS5pY29uKSB8fCB0aGlzLmluY2x1ZGVNaXNzaW5nSWNvbkluTGF5b3V0O1xuICB9XG5cbiAgaGFzSWNvblN0YXJ0KGZhY2U6Q29tbWFuZEZhY2UuQWRhcHRlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3VsZEluY2x1ZGVJY29uKGZhY2UpICYmICghZmFjZS5pY29uUG9zaXRpb24gfHwgZmFjZS5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLlNUQVJUKTtcbiAgfVxuXG4gIGhhc0ljb25FbmQoZmFjZTpDb21tYW5kRmFjZS5BZGFwdGVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkSW5jbHVkZUljb24oZmFjZSkgJiYgZmFjZS5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLkVORDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5jb2xvcicpXG4gIGdldCBjb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUNvbG9yLnZhbHVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtdGV4dC1hbmQtaWNvbicpXG4gIGdldCBoYXNUZXh0QW5kSWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uQW5kVGV4dCQudmFsdWVcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZhY2UtY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGZhY2Ugb2YgZmFjZUFkYXB0ZXJzLnZhbHVlXCI+XG4gIDxhdXAtaWNvbiAqbmdJZj1cImhhc0ljb25TdGFydChmYWNlKVwiIFtpY29uXT1cImZhY2UuaWNvblwiPjwvYXVwLWljb24+XG4gIDxzcGFuICpuZ0lmPVwiZmFjZS50ZXh0XCI+e3tmYWNlLnRleHR9fTwvc3Bhbj5cbiAgPGF1cC1pY29uICpuZ0lmPVwiaGFzSWNvbkVuZChmYWNlKVwiIFtpY29uXT1cImZhY2UuaWNvblwiPjwvYXVwLWljb24+XG48L2Rpdj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlL2NvbW1hbmQtZmFjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZS9jb21tYW5kLWZhY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsR0FBRyxFQUVILGdCQUFnQixFQUNoQixnQkFBZ0IsRUFFakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFNUM7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLG1CQUFtQjtJQUU3QyxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsRUFBZSxDQUFDO0lBSXJELDRCQUFzRDtJQUYvRCwyQ0FBMkM7SUFFbEMsSUFBQSxTQUFTLCtDQUE2QztJQUF0RCxJQUFBLFNBQVMscURBQTZDO0lBQ3ZELHNCQUFzQixDQUF5QjtJQUV2RCxJQUNJLElBQUksQ0FBQyxJQUFpQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFHRCxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFH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V0FBVzt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBEc2wsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi9jb21tYW5kLWZhY2UnO1xuXG4vKipcbiAqIEN1c3RvbSBDU1M6XG4gKiBAZXhhbXBsZVxuICogcm9vdDogeyAvLyBnbG9iYWxseVxuICogICAtLWF1cC1jb21tYW5kLWZhY2UtaWNvbi1nYXA6IDhweDtcbiAqIH1cbiAqIGF1cC1jb21tYW5kLWZhY2UgeyAvLyBwZXIgaW5zdGFuY2VcbiAqICAgLS1pY29uLWdhcDogNHB4O1xuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtY29tbWFuZC1mYWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1hbmQtZmFjZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbW1hbmQtZmFjZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRGYWNlQ29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWNlcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb21tYW5kRmFjZT4oKTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnZmFjZXMnKSBAU3RvcmVJbkxpc3RNb2RlbChcImZhY2VzJFwiKVxuICBhY2Nlc3NvciBfcmF3RmFjZXM6IENvbW1hbmRGYWNlW10gfCBSZWFkb25seUFycmF5PENvbW1hbmRGYWNlPjtcbiAgcHJpdmF0ZSBoYXNUZXh0QW5kTGVhZGluZ0ljb24kOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBmYWNlKGZhY2U6IENvbW1hbmRGYWNlKSB7XG4gICAgdGhpcy5mYWNlcyQudmFsdWUgPSBbZmFjZV07XG4gIH1cblxuICBASW5wdXQoKVxuICBpZ25vcmVJY29uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaWdub3JlVGV4dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGluY2x1ZGVNaXNzaW5nSWNvbkluTGF5b3V0ID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgZmFjZUFkYXB0ZXJzOiBMaXN0TW9kZWxDaGFpbjxDb21tYW5kRmFjZS5BZGFwdGVyPjtcbiAgcHJpdmF0ZSBhY3RpdmVJY29uOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcHJpdmF0ZSBhY3RpdmVDb2xvcjogVmFsdWVNb2RlbENoYWluPHN0cmluZz47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlLWljb24nKVxuICBnZXQgcmVxdWlyZXNNaXNzaW5nSWNvbkluTGF5b3V0KCkge1xuICAgIHJldHVybiB0aGlzLmluY2x1ZGVNaXNzaW5nSWNvbkluTGF5b3V0ICYmICF0aGlzLmFjdGl2ZUljb24udmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5mYWNlQWRhcHRlcnMgPSBjaGFpbih0aGlzLmZhY2VzJCkubWFwKGZhY2UgPT4gbmV3IENvbW1hbmRGYWNlLkFkYXB0ZXIoZmFjZSkpO1xuICAgIGNvbnN0IGFjdGl2ZUZhY2UgPSB0aGlzLmZhY2VBZGFwdGVycy5maXJzdCgpO1xuICAgIHRoaXMuYWN0aXZlSWNvbiA9IGFjdGl2ZUZhY2UucGx1Y2soXCJpY29uXCIpXG4gICAgdGhpcy5hY3RpdmVDb2xvciA9IGFjdGl2ZUZhY2UucGx1Y2soXCJjb2xvclwiKVxuICAgIHRoaXMuaGFzVGV4dEFuZExlYWRpbmdJY29uJCA9IHZhbHVlT2YuYWxsKFxuICAgICAgdGhpcy5hY3RpdmVJY29uLmlzTm90TmlsKCksXG4gICAgICBhY3RpdmVGYWNlLnBsdWNrU3RyaW5nKCd0ZXh0JykuaXNOb3RCbGFuaygpLFxuICAgICAgYWN0aXZlRmFjZS5wbHVjayhcImljb25Qb3NpdGlvblwiKS5kb2VzTm90RXF1YWwoQ29tbWFuZEZhY2UuUG9zaXRpb24uRU5EKVxuICAgICkuYXJlVHJ1dGh5KClcbiAgfVxuXG4gIHNob3VsZEluY2x1ZGVJY29uKGZhY2U6IENvbW1hbmRGYWNlLkFkYXB0ZXIpIHtcbiAgICByZXR1cm4gKCF0aGlzLmlnbm9yZUljb24gJiYgZmFjZS5pY29uKSB8fCB0aGlzLmluY2x1ZGVNaXNzaW5nSWNvbkluTGF5b3V0O1xuICB9XG5cbiAgaGFzSWNvblN0YXJ0KGZhY2U6Q29tbWFuZEZhY2UuQWRhcHRlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3VsZEluY2x1ZGVJY29uKGZhY2UpICYmICghZmFjZS5pY29uUG9zaXRpb24gfHwgZmFjZS5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLlNUQVJUKTtcbiAgfVxuXG4gIGhhc0ljb25FbmQoZmFjZTpDb21tYW5kRmFjZS5BZGFwdGVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkSW5jbHVkZUljb24oZmFjZSkgJiYgZmFjZS5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLkVORDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5jb2xvcicpXG4gIGdldCBjb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUNvbG9yLnZhbHVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtdGV4dC1hbmQtbGVhZGluZy1pY29uJylcbiAgZ2V0IGhhc1RleHRBbmRJY29uKCkge1xuICAgIHJldHVybiB0aGlzLmhhc1RleHRBbmRMZWFkaW5nSWNvbiQudmFsdWVcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZhY2UtY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGZhY2Ugb2YgZmFjZUFkYXB0ZXJzLnZhbHVlXCI+XG4gIDxhdXAtaWNvbiAqbmdJZj1cImhhc0ljb25TdGFydChmYWNlKVwiIFtpY29uXT1cImZhY2UuaWNvblwiPjwvYXVwLWljb24+XG4gIDxzcGFuICpuZ0lmPVwiZmFjZS50ZXh0XCI+e3tmYWNlLnRleHR9fTwvc3Bhbj5cbiAgPGF1cC1pY29uICpuZ0lmPVwiaGFzSWNvbkVuZChmYWNlKVwiIFtpY29uXT1cImZhY2UuaWNvblwiPjwvYXVwLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
175
175
  type: HostListener,
176
176
  args: ['focusout']
177
177
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9hYnN0cmFjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXhILE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBRXBCLGlCQUFpQixFQUlqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFTNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQTtBQUdoRixNQUFNLE9BQU8sc0JBQTBCLFNBQVEsbUJBQW1CO0lBRXRELHNCQUFzQixHQUFHLElBQUksaUJBQWlCLEVBQTJCLENBQUM7SUFFcEY7Ozs7Ozs7OztPQVNHO0lBQ2dCLFVBQVUsQ0FBZTtJQUVuQyxLQUFLLENBQVM7SUFDdkIsMkRBQTJEO0lBQ3RDLGNBQWMsR0FBbUIsUUFBUSxDQUFDLENBQUMsd0NBQXdDO0lBQy9GLElBQUksQ0FBUztJQUNiLFdBQVcsQ0FBUztJQUdwQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRU4sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQTtJQUV6RixJQUNJLFFBQVEsQ0FBQyxVQUErQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQs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QUFXO3VCQUFDLE9BQU87Z0JBSXBCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUztnQkFPdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1pbnB1dC1yZW5hbWUgKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSwgVW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Vycm9yU3RhdGVNYXRjaGVyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEZvY3VzTWFuYWdlcixcbiAgSU11dGFibGVIYXNWYWx1ZSxcbiAgTGlzdE1vZGVsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgSW5wdXRNb2RlbDxUPiBleHRlbmRzIElNdXRhYmxlSGFzVmFsdWU8VD4sIERpc3Bvc2FibGUge1xuICB2YWx1ZTogVDtcbiAgZW5hYmxlZCQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG4gIGVycm9ycyQ6IExpc3RNb2RlbDxzdHJpbmc+O1xuICBmb2N1c0NvbnRleHQ6IEZvY3VzTWFuYWdlci5Db250ZXh0O1xufVxuXG5jb25zdCBJTlBVVF9UT0tFTl9IQUNLID0gbmV3IEluamVjdGlvblRva2VuPElucHV0TW9kZWw8YW55Pj4oXCJJTlBVVF9UT0tFTl9IQUNLXCIpXG5cbkBDb21wb25lbnQoe3RlbXBsYXRlOiAnJ30pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBvblZhbHVlRWRpdGVkTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PChpczogVCwgd2FzOiBUKSA9PiB2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBBIGJhY2tpbmcgbW9kZWwgZm9yIGFsbCBvdXIgQElucHV0KCkgdmFsdWVNb2RlbCBwcm9wZXJ0aWVzIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkIGFzIGZvbGxvd3MuXG4gICAqXG4gICAqICAgIEBJbnB1dCgpIEBQcm94aWZ5KHt1c2VFeGlzdGluZzogXCJvdGhlck1vZGVsJFwifSlcbiAgICogICAgdmFsdWUkOiAgRGlydHlUcmFja2luZ0Zvcm0uVmFsdWVNb2RlbDxzdHJpbmc+IHwgTXV0YWJsZVZhbHVlTW9kZWw8c3RyaW5nPjtcbiAgICpcbiAgICogVGhpcyBhcHByb2FjaCBhbGxvd3MgdGhlIGlucHV0IHRvIGFjY2VwdCBwbGFpbiBvciBmb3JtIG1vZGVscyBidXQgYWxsIGJhY2tlZCBieSBhIGZvcm1cbiAgICogZnJpZW5kbHkgZGVsZWdhdGUuICBXZSBoYXZlIHRvIHVzZSBhbiBleGlzdGluZyBkZWxlZ2F0ZSBmb3IgdW5pb24gdHlwZXMgYXMgcGVjdGluIGp1c3RcbiAgICogZ2V0cyB0b2xkIGl0J3MgYW4gT2JqZWN0IGFuZCBjYW4ndCBzY2FuIGZvciBhIGJhc2UgdHlwZSBhbm5vdGF0ZWQgd2l0aCBARGVsZWdhdGVVc2luZyguLikuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybVZhbHVlJDogSW5wdXRNb2RlbDxUPlxuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnZmxvYXRMYWJlbCcpIHVzZXJGbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhbHdheXMnOyAvLyBUT0RPOiBtYWtlIHRoaXMgYW4gaW5qZWN0YWJsZSBkZWZhdWx0XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRlbnNlJylcbiAgQElucHV0KCkgZGVuc2UgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbmFibGVkJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKVxuXG4gIEBJbnB1dCgpXG4gIHNldCBlbmFibGVkJChjb25kaXRpb24kOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZW5hYmxlZCQuc2V0RGVsZWdhdGUoY29uZGl0aW9uJCk7XG4gIH1cblxuICBnZXQgZW5hYmxlZCQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIC8vIE5vdGU6IEkgZG9uJ3QgbmVlZCB0byB1c2UgZGVsZWdhdGVzIGhlcmUgYXMgSSBuZXZlciBzdWJzY3JpYmUgdG8gdGhlIGNvbW1hbmRzIG1vZGVsc1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NvbW1hbmQuZm9jdXMnKSBmb2N1c0NvbW1hbmQ6IENvbW1hbmQ8YW55PjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdjb21tYW5kLmJsdXInKSBibHVyQ29tbWFuZDogQ29tbWFuZDxhbnk+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NvbW1hbmQuZW50ZXInKSBlbnRlckNvbW1hbmQ6IENvbW1hbmQ8YW55PjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdjb21tYW5kLmVzY2FwZScpIGVzY2FwZUNvbW1hbmQ6IENvbW1hbmQ8YW55PjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdjb21tYW5kLmNsaWNrJykgY2xpY2tDb21tYW5kOiBDb21tYW5kPGFueT47XG5cbiAgLy8gVE9ETzogZml4IHRoaXMuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZXNjYXBlS2V5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlYWRvbmx5IGVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgYmFzZUNsYXNzTmFtZSA9ICdhdXAtaW5wdXQtY29tcG9uZW50JztcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG5vdGlmeUNsaWNrKCkge1xuICAgIHRoaXMuc2FmZWx5SW52b2tlKHRoaXMuY2xpY2tDb21tYW5kKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICBub3RpZnlGb2N1c0luKCkge1xuICAgIHRoaXMuc2FmZWx5SW52b2tlKHRoaXMuZm9jdXNDb21tYW5kKTtcbiAgICB0aGlzLmZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgbm90aWZ5Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5zYWZlbHlJbnZva2UodGhpcy5ibHVyQ29tbWFuZCk7XG4gICAgdGhpcy5ibHVyLmVtaXQoKTtcbiAgfVxuXG4gIG5vdGlmeUVudGVyS2V5KCkge1xuICAgIHRoaXMuc2FmZWx5SW52b2tlKHRoaXMuZW50ZXJDb21tYW5kKTtcbiAgICB0aGlzLmVudGVyS2V5LmVtaXQoKTtcbiAgfVxuXG4gIG5vdGlmeUVzY2FwZUtleSgpIHtcbiAgICB0aGlzLnNhZmVseUludm9rZSh0aGlzLmVzY2FwZUNvbW1hbmQpO1xuICAgIHRoaXMuZXNjYXBlS2V5LmVtaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzYWZlbHlJbnZva2UoY29tbWFuZDogQ29tbWFuZDxhbnk+KSB7XG4gICAgaWYgKGNvbW1hbmQgJiYgY29tbWFuZC5lbmFibGVkJC52YWx1ZSkge1xuICAgICAgY29tbWFuZC5leGVjdXRlKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChJTlBVVF9UT0tFTl9IQUNLKSBmb3JtVmFsdWUkOiBJbnB1dE1vZGVsPFQ+KSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLmZvcm1WYWx1ZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShmb3JtVmFsdWUkKTtcbiAgICB0aGlzLl9lbmFibGVkJC5zZXREZWZhdWx0KGZvcm1WYWx1ZSQuZW5hYmxlZCQpXG4gICAgdGhpcy5lcnJvclN0YXRlTWF0Y2hlciA9IHtcbiAgICAgIGlzRXJyb3JTdGF0ZShjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBzZWxmLmhhc0Vycm9ycygpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCQudmFsdWU7XG4gIH1cblxuXG4gIGhhc0Vycm9ycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZXJyb3JMaXN0JC5xdWVyeSgpLmlzRW1wdHkoKTtcbiAgfVxuXG4gIGdldCBlcnJvckxpc3QkKCk6IExpc3RNb2RlbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWUkLmVycm9ycyQ7XG4gIH1cblxuICBnZXQgZmlyc3RFcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNFcnJvcnMoKSA/IHRoaXMuZXJyb3JMaXN0JC52YWx1ZVswXSA6IG51bGw7XG4gIH1cblxuICBnZXQgZm9jdXNDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZSQuZm9jdXNDb250ZXh0O1xuICB9XG5cbiAgZ2V0IGZsb2F0TGFiZWwoKTogRmxvYXRMYWJlbFR5cGUge1xuICAgIC8vIHJldHVybiB0aGlzLmRlbnNlID8gJ25ldmVyJyA6IHRoaXMudXNlckZsb2F0TGFiZWw7XG4gICAgcmV0dXJuICB0aGlzLnVzZXJGbG9hdExhYmVsO1xuICB9XG5cbiAgZ2V0IHNob3dIaW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlbnNlID8gZmFsc2UgOiAhIXRoaXMuaGludDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2VzIHRoZSBjYWxsYmFjayB3aGVuIHRoaXMgY29tcG9uZW50cyB2YWx1ZSBpcyBjaGFuZ2VkIGJ5IGEgdXNlciBlZGl0LlxuICAgKiBAcGFyYW0gY2FsbGJhY2tcbiAgICovXG4gIG9uVmFsdWVFZGl0ZWQoY2FsbGJhY2s6IChpczogVCwgd2FzOiBUKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMub25WYWx1ZUVkaXRlZExpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbn1cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9hYnN0cmFjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXhILE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBRXBCLGlCQUFpQixFQUlqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFTNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLENBQUMsQ0FBQTtBQUdoRixNQUFNLE9BQU8sc0JBQTBCLFNBQVEsbUJBQW1CO0lBRXRELHNCQUFzQixHQUFHLElBQUksaUJBQWlCLEVBQTJCLENBQUM7SUFFcEY7Ozs7Ozs7OztPQVNHO0lBQ2dCLFVBQVUsQ0FBZTtJQUVuQyxLQUFLLENBQVM7SUFDdkIsMkRBQTJEO0lBQ3RDLGNBQWMsR0FBbUIsUUFBUSxDQUFDLENBQUMsd0NBQXdDO0lBQy9GLElBQUksQ0FBVTtJQUNkLFdBQVcsQ0FBVTtJQUdyQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRU4sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQTtJQUV6RixJQUNJLFFBQVEsQ0FBQyxVQUErQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQs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QUFXO3VCQUFDLE9BQU87Z0JBSXBCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUztnQkFPdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1pbnB1dC1yZW5hbWUgKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSwgVW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Vycm9yU3RhdGVNYXRjaGVyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEZvY3VzTWFuYWdlcixcbiAgSU11dGFibGVIYXNWYWx1ZSxcbiAgTGlzdE1vZGVsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgSW5wdXRNb2RlbDxUPiBleHRlbmRzIElNdXRhYmxlSGFzVmFsdWU8VD4sIERpc3Bvc2FibGUge1xuICB2YWx1ZTogVDtcbiAgZW5hYmxlZCQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG4gIGVycm9ycyQ6IExpc3RNb2RlbDxzdHJpbmc+O1xuICBmb2N1c0NvbnRleHQ6IEZvY3VzTWFuYWdlci5Db250ZXh0O1xufVxuXG5jb25zdCBJTlBVVF9UT0tFTl9IQUNLID0gbmV3IEluamVjdGlvblRva2VuPElucHV0TW9kZWw8YW55Pj4oXCJJTlBVVF9UT0tFTl9IQUNLXCIpXG5cbkBDb21wb25lbnQoe3RlbXBsYXRlOiAnJ30pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBvblZhbHVlRWRpdGVkTGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PChpczogVCwgd2FzOiBUKSA9PiB2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBBIGJhY2tpbmcgbW9kZWwgZm9yIGFsbCBvdXIgQElucHV0KCkgdmFsdWVNb2RlbCBwcm9wZXJ0aWVzIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkIGFzIGZvbGxvd3MuXG4gICAqXG4gICAqICAgIEBJbnB1dCgpIEBQcm94aWZ5KHt1c2VFeGlzdGluZzogXCJvdGhlck1vZGVsJFwifSlcbiAgICogICAgdmFsdWUkOiAgRGlydHlUcmFja2luZ0Zvcm0uVmFsdWVNb2RlbDxzdHJpbmc+IHwgTXV0YWJsZVZhbHVlTW9kZWw8c3RyaW5nPjtcbiAgICpcbiAgICogVGhpcyBhcHByb2FjaCBhbGxvd3MgdGhlIGlucHV0IHRvIGFjY2VwdCBwbGFpbiBvciBmb3JtIG1vZGVscyBidXQgYWxsIGJhY2tlZCBieSBhIGZvcm1cbiAgICogZnJpZW5kbHkgZGVsZWdhdGUuICBXZSBoYXZlIHRvIHVzZSBhbiBleGlzdGluZyBkZWxlZ2F0ZSBmb3IgdW5pb24gdHlwZXMgYXMgcGVjdGluIGp1c3RcbiAgICogZ2V0cyB0b2xkIGl0J3MgYW4gT2JqZWN0IGFuZCBjYW4ndCBzY2FuIGZvciBhIGJhc2UgdHlwZSBhbm5vdGF0ZWQgd2l0aCBARGVsZWdhdGVVc2luZyguLikuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybVZhbHVlJDogSW5wdXRNb2RlbDxUPlxuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnZmxvYXRMYWJlbCcpIHVzZXJGbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhbHdheXMnOyAvLyBUT0RPOiBtYWtlIHRoaXMgYW4gaW5qZWN0YWJsZSBkZWZhdWx0XG4gIEBJbnB1dCgpIGhpbnQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGVuc2UnKVxuICBASW5wdXQoKSBkZW5zZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VuYWJsZWQkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkpXG5cbiAgQElucHV0KClcbiAgc2V0IGVuYWJsZWQkKGNvbmRpdGlvbiQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9lbmFibGVkJC5zZXREZWxlZ2F0ZShjb25kaXRpb24kKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkJCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgLy8gTm90ZTogSSBkb24ndCBuZWVkIHRvIHVzZSBkZWxlZ2F0ZXMgaGVyZSBhcyBJIG5ldmVyIHN1YnNjcmliZSB0byB0aGUgY29tbWFuZHMgbW9kZWxzXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnY29tbWFuZC5mb2N1cycpIGZvY3VzQ29tbWFuZDogQ29tbWFuZDxhbnk+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NvbW1hbmQuYmx1cicpIGJsdXJDb21tYW5kOiBDb21tYW5kPGFueT47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnY29tbWFuZC5lbnRlcicpIGVudGVyQ29tbWFuZDogQ29tbWFuZDxhbnk+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NvbW1hbmQuZXNjYXBlJykgZXNjYXBlQ29tbWFuZDogQ29tbWFuZDxhbnk+O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2NvbW1hbmQuY2xpY2snKSBjbGlja0NvbW1hbmQ6IENvbW1hbmQ8YW55PjtcblxuICAvLyBUT0RPOiBmaXggdGhpcy5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZW50ZXJLZXkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBlc2NhcGVLZXkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcmVhZG9ubHkgZXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBiYXNlQ2xhc3NOYW1lID0gJ2F1cC1pbnB1dC1jb21wb25lbnQnO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgbm90aWZ5Q2xpY2soKSB7XG4gICAgdGhpcy5zYWZlbHlJbnZva2UodGhpcy5jbGlja0NvbW1hbmQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gIG5vdGlmeUZvY3VzSW4oKSB7XG4gICAgdGhpcy5zYWZlbHlJbnZva2UodGhpcy5mb2N1c0NvbW1hbmQpO1xuICAgIHRoaXMuZm9jdXMuZW1pdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICBub3RpZnlGb2N1c091dCgpIHtcbiAgICB0aGlzLnNhZmVseUludm9rZSh0aGlzLmJsdXJDb21tYW5kKTtcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xuICB9XG5cbiAgbm90aWZ5RW50ZXJLZXkoKSB7XG4gICAgdGhpcy5zYWZlbHlJbnZva2UodGhpcy5lbnRlckNvbW1hbmQpO1xuICAgIHRoaXMuZW50ZXJLZXkuZW1pdCgpO1xuICB9XG5cbiAgbm90aWZ5RXNjYXBlS2V5KCkge1xuICAgIHRoaXMuc2FmZWx5SW52b2tlKHRoaXMuZXNjYXBlQ29tbWFuZCk7XG4gICAgdGhpcy5lc2NhcGVLZXkuZW1pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNhZmVseUludm9rZShjb21tYW5kOiBDb21tYW5kPGFueT4pIHtcbiAgICBpZiAoY29tbWFuZCAmJiBjb21tYW5kLmVuYWJsZWQkLnZhbHVlKSB7XG4gICAgICBjb21tYW5kLmV4ZWN1dGUoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KElOUFVUX1RPS0VOX0hBQ0spIGZvcm1WYWx1ZSQ6IElucHV0TW9kZWw8VD4pIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuZm9ybVZhbHVlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKGZvcm1WYWx1ZSQpO1xuICAgIHRoaXMuX2VuYWJsZWQkLnNldERlZmF1bHQoZm9ybVZhbHVlJC5lbmFibGVkJClcbiAgICB0aGlzLmVycm9yU3RhdGVNYXRjaGVyID0ge1xuICAgICAgaXNFcnJvclN0YXRlKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNlbGYuaGFzRXJyb3JzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVkJC52YWx1ZTtcbiAgfVxuXG5cbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5lcnJvckxpc3QkLnF1ZXJ5KCkuaXNFbXB0eSgpO1xuICB9XG5cbiAgZ2V0IGVycm9yTGlzdCQoKTogTGlzdE1vZGVsPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZSQuZXJyb3JzJDtcbiAgfVxuXG4gIGdldCBmaXJzdEVycm9yKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0Vycm9ycygpID8gdGhpcy5lcnJvckxpc3QkLnZhbHVlWzBdIDogbnVsbDtcbiAgfVxuXG4gIGdldCBmb2N1c0NvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbHVlJC5mb2N1c0NvbnRleHQ7XG4gIH1cblxuICBnZXQgZmxvYXRMYWJlbCgpOiBGbG9hdExhYmVsVHlwZSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuZGVuc2UgPyAnbmV2ZXInIDogdGhpcy51c2VyRmxvYXRMYWJlbDtcbiAgICByZXR1cm4gIHRoaXMudXNlckZsb2F0TGFiZWw7XG4gIH1cblxuICBnZXQgc2hvd0hpbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGVuc2UgPyBmYWxzZSA6ICEhdGhpcy5oaW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZXMgdGhlIGNhbGxiYWNrIHdoZW4gdGhpcyBjb21wb25lbnRzIHZhbHVlIGlzIGNoYW5nZWQgYnkgYSB1c2VyIGVkaXQuXG4gICAqIEBwYXJhbSBjYWxsYmFja1xuICAgKi9cbiAgb25WYWx1ZUVkaXRlZChjYWxsYmFjazogKGlzOiBULCB3YXM6IFQpID0+IHZvaWQpOiBEaXNwb3NhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5vblZhbHVlRWRpdGVkTGlzdGVuZXJzLmFkZChjYWxsYmFjayk7XG4gIH1cblxufVxuIl19
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
52
52
  }], iconPrefix: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7QUFPOUUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDJCQUFtQztJQUVsRSxZQUFZLENBQVM7SUFHckIsaUNBQWUsT0FBTyxDQUFDLENBQUEsVUFBbUIsQ0FBQSxDQUFDLENBQUM7SUFBNUMsSUFBQSxZQUFZLGtEQUFnQztJQUE1QyxJQUFBLFlBQVksd0RBQWdDO0lBRzVDLGdDQUFjLEtBQUssQ0FBQztJQUFwQixJQUFBLFdBQVcsaURBQVM7SUFBcEIsSUFBQSxXQUFXLHVEQUFTO0lBRXBCLFVBQVUsQ0FBUztJQUduQixZQUFZLENBQWdCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0F0QlUsb0JBQW9COzJGQUFwQixvQkFBb0IsNk1DVGpDLDgxQkFvQkE7O0FETlc7SUFEQyxPQUFPLEVBQUU7O3dEQUNrQztBQUc1QztJQURDLGlCQUFpQixFQUFFOzt1REFDQTsyRkFSbEIsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFNbkIsWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxZQUFZO3NCQURwQixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1hbmQsIERzbCwgUHJveGlmeSwgcHJveGlmeSwgU3RvcmVJblZhbHVlTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc3RyaW5nLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0cmluZy1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0lucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50PHN0cmluZz4ge1xuXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZW5hYmxlQ2xlYXIkID0gcHJveGlmeShWYWx1ZU1vZGVsPGJvb2xlYW4+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBlbmFibGVDbGVhciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGljb25QcmVmaXg6IHN0cmluZztcblxuXG4gIHJlYWRvbmx5IGNsZWFyQ29tbWFuZDogQ29tbWFuZDx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5jbGVhckNvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFZhbHVlJC52YWx1ZSA9IFwiXCI7XG4gICAgfSk7XG4gICAgdGhpcy5jbGVhckNvbW1hbmQuZGlzYWJsZVdoaWxlKGNoYWluLnN0cmluZ1ZhbHVlKHRoaXMuY29tcG9uZW50VmFsdWUkKS5pc0JsYW5rKCkpO1xuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wb25lbnRWYWx1ZSQudmFsdWVcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkJC52YWx1ZVwiXG4gICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJub3RpZnlFbnRlcktleSgpXCJcbiAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJub3RpZnlFc2NhcGVLZXkoKVwiXG4gICAgICAgICBbcGVjdGluRm9jdXNCaW5kaW5nXT1cImZvY3VzQ29udGV4dFwiXG4gICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICA+XG4gIDxtYXQtaGludCAqbmdJZj1cInNob3dIaW50XCI+e3toaW50fX08L21hdC1oaW50PlxuICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3JzXCI+e3tmaXJzdEVycm9yfX08L21hdC1lcnJvcj5cbiAgPGF1cC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBbaWNvbl09XCJpY29uUHJlZml4XCI+PC9hdXAtaWNvbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4ICpuZ0lmPVwiZW5hYmxlQ2xlYXJcIiBbcGVjdGluQ29tbWFuZF09XCJjbGVhckNvbW1hbmRcIj5cbiAgICA8YXVwLWljb24gaWNvbj1cIm1hdDpjbG9zZVwiPjwvYXVwLWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3N0cmluZy1pbnB1dC9zdHJpbmctaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFDTCxPQUFPLEVBRVAsR0FBRyxFQUVILE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwyQkFBbUM7SUFHbEUsWUFBWSxDQUFTO0lBR3JCLGlDQUFlLE9BQU8sQ0FBQyxDQUFBLFVBQW1CLENBQUEsQ0FBQyxDQUFDO0lBQTVDLElBQUEsWUFBWSxrREFBZ0M7SUFBNUMsSUFBQSxZQUFZLHdEQUFnQztJQUc1QyxnQ0FBYyxLQUFLLENBQUM7SUFBcEIsSUFBQSxXQUFXLGlEQUFTO0lBQXBCLElBQUEsV0FBVyx1REFBUztJQUVwQixVQUFVLENBQVM7SUFFbkIsWUFBWSxDQUFnQjtJQUVyQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7dUdBdEJVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDZNQ2xCakMsODFCQW9CQTs7QURJVztJQURDLE9BQU8sRUFBRTs7d0RBQ2tDO0FBRzVDO0lBREMsaUJBQWlCLEVBQUU7O3VEQUNBOzJGQVRsQixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzBFQU9uQixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFlBQVk7c0JBRHBCLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbW1hbmQsXG4gIENvbnZlcnRlZEZvcm1WYWx1ZU1vZGVsLFxuICBEc2wsXG4gIEZvcm1WYWx1ZU1vZGVsLCBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1zdHJpbmctaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RyaW5nLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiB7XG5cblxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZztcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGVuYWJsZUNsZWFyJCA9IHByb3hpZnkoVmFsdWVNb2RlbDxib29sZWFuPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgZW5hYmxlQ2xlYXIgPSBmYWxzZTtcblxuICBASW5wdXQoKSBpY29uUHJlZml4OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgY2xlYXJDb21tYW5kOiBDb21tYW5kPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50VmFsdWUkLnZhbHVlID0gXCJcIjtcbiAgICB9KTtcbiAgICB0aGlzLmNsZWFyQ29tbWFuZC5kaXNhYmxlV2hpbGUoY2hhaW4uc3RyaW5nVmFsdWUodGhpcy5jb21wb25lbnRWYWx1ZSQpLmlzQmxhbmsoKSk7XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbKG5nTW9kZWwpXT1cImNvbXBvbmVudFZhbHVlJC52YWx1ZVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gID5cbiAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj57e2hpbnR9fTwvbWF0LWhpbnQ+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvcnNcIj57e2ZpcnN0RXJyb3J9fTwvbWF0LWVycm9yPlxuICA8YXVwLWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IFtpY29uXT1cImljb25QcmVmaXhcIj48L2F1cC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKm5nSWY9XCJlbmFibGVDbGVhclwiIFtwZWN0aW5Db21tYW5kXT1cImNsZWFyQ29tbWFuZFwiPlxuICAgIDxhdXAtaWNvbiBpY29uPVwibWF0OmNsb3NlXCI+PC9hdXAtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG4iXX0=
@@ -882,7 +882,7 @@ class CommandFaceComponent extends DisposableComponent {
882
882
  // tslint:disable-next-line:no-input-rename
883
883
  get _rawFaces() { return this.#_rawFaces_accessor_storage; }
884
884
  set _rawFaces(value) { this.#_rawFaces_accessor_storage = value; }
885
- hasIconAndText$;
885
+ hasTextAndLeadingIcon$;
886
886
  set face(face) {
887
887
  this.faces$.value = [face];
888
888
  }
@@ -902,7 +902,7 @@ class CommandFaceComponent extends DisposableComponent {
902
902
  const activeFace = this.faceAdapters.first();
903
903
  this.activeIcon = activeFace.pluck("icon");
904
904
  this.activeColor = activeFace.pluck("color");
905
- this.hasIconAndText$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank()).areTruthy();
905
+ this.hasTextAndLeadingIcon$ = valueOf.all(this.activeIcon.isNotNil(), activeFace.pluckString('text').isNotBlank(), activeFace.pluck("iconPosition").doesNotEqual(CommandFace.Position.END)).areTruthy();
906
906
  }
907
907
  shouldIncludeIcon(face) {
908
908
  return (!this.ignoreIcon && face.icon) || this.includeMissingIconInLayout;
@@ -917,10 +917,10 @@ class CommandFaceComponent extends DisposableComponent {
917
917
  return this.activeColor.value;
918
918
  }
919
919
  get hasTextAndIcon() {
920
- return this.hasIconAndText$.value;
920
+ return this.hasTextAndLeadingIcon$.value;
921
921
  }
922
922
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
923
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color", "class.has-text-and-icon": "this.hasTextAndIcon" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-icon{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
923
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CommandFaceComponent, selector: "aup-command-face", inputs: { _rawFaces: ["faces", "_rawFaces"], face: "face", ignoreIcon: "ignoreIcon", ignoreText: "ignoreText", includeMissingIconInLayout: "includeMissingIconInLayout" }, host: { properties: { "class.hide-icon": "this.requiresMissingIconInLayout", "attr.color": "this.color", "class.has-text-and-leading-icon": "this.hasTextAndIcon" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "aup-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
924
924
  }
925
925
  __decorate([
926
926
  StoreInListModel("faces$"),
@@ -928,7 +928,7 @@ __decorate([
928
928
  ], CommandFaceComponent.prototype, "_rawFaces", null);
929
929
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CommandFaceComponent, decorators: [{
930
930
  type: Component,
931
- args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-icon{margin-top:4px}\n"] }]
931
+ args: [{ selector: 'aup-command-face', encapsulation: ViewEncapsulation.None, template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n", styles: ["aup-command-face{--icon-gap: var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container>span{white-space:nowrap}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}aup-command-face.has-text-and-leading-icon{margin-top:4px}\n"] }]
932
932
  }], ctorParameters: function () { return []; }, propDecorators: { _rawFaces: [{
933
933
  type: Input,
934
934
  args: ['faces']
@@ -948,7 +948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
948
948
  args: ['attr.color']
949
949
  }], hasTextAndIcon: [{
950
950
  type: HostBinding,
951
- args: ['class.has-text-and-icon']
951
+ args: ['class.has-text-and-leading-icon']
952
952
  }] } });
953
953
 
954
954
  /**