ngx-dynamic-entity-builder 1.1.0 → 1.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.
@@ -1,4 +1,4 @@
1
- import { Component, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { DragDropModule } from '@angular/cdk/drag-drop';
4
4
  import { MatCardModule } from '@angular/material/card';
@@ -39,11 +39,12 @@ export class EntityBuilderCanvasComponent {
39
39
  </div>
40
40
  </mat-card-content>
41
41
  </mat-card>
42
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: EntityBuilderTreeNodeComponent, selector: "ngx-entity-builder-tree-node", inputs: ["field", "index", "totalCount"] }] });
42
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: EntityBuilderTreeNodeComponent, selector: "ngx-entity-builder-tree-node", inputs: ["field", "index", "totalCount"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EntityBuilderCanvasComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{
47
+ changeDetection: ChangeDetectionStrategy.OnPush,
47
48
  selector: 'ngx-entity-builder-canvas',
48
49
  standalone: true,
49
50
  imports: [
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
80
81
  `,
81
82
  }]
82
83
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWJ1aWxkZXItY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktYnVpbGRlci1jYW52YXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBc0N0RixNQUFNLE9BQU8sNEJBQTRCO0lBQ3BCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDLEtBQTJCO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7d0dBTFUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIscUZBMUI3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULDJEQTlCQyxZQUFZLDhCQUNaLGNBQWMsMmdCQUNkLGFBQWEsa1pBQ2IsYUFBYSxvTEFDYiw4QkFBOEI7OzRGQTRCckIsNEJBQTRCO2tCQXBDeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsOEJBQThCO3FCQUMvQjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCdWlsZGVyU3RvcmUgfSBmcm9tICcuLi9idWlsZGVyLXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW50aXR5QnVpbGRlclRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktYnVpbGRlci10cmVlLW5vZGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWVudGl0eS1idWlsZGVyLWNhbnZhcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEVudGl0eUJ1aWxkZXJUcmVlTm9kZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJkZWItY2FudmFzXCI+XG4gICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+RmllbGRzICh7eyBzdG9yZS5maWVsZHMoKS5sZW5ndGggfX0pPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAoc3RvcmUuZmllbGRzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1lbXB0eVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPndpZGdldHM8L21hdC1pY29uPlxuICAgICAgICAgICAgPHA+Tm8gZmllbGRzIHlldC4gUGljayBhIHR5cGUgZnJvbSA8c3Ryb25nPkFkZCBmaWVsZDwvc3Ryb25nPiB0byBnZXQgc3RhcnRlZC48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiZGViLWZpZWxkLWxpc3RcIiBkYXRhLXRlc3RpZD1cImJ1aWxkZXItZmllbGQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudClcIj5cbiAgICAgICAgICBAZm9yIChmIG9mIHN0b3JlLmZpZWxkcygpOyB0cmFjayBmLmlkOyBsZXQgaSA9ICRpbmRleCwgY291bnQgPSAkY291bnQpIHtcbiAgICAgICAgICAgIDxuZ3gtZW50aXR5LWJ1aWxkZXItdHJlZS1ub2RlXG4gICAgICAgICAgICAgIFtmaWVsZF09XCJmXCJcbiAgICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgICBbdG90YWxDb3VudF09XCJjb3VudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5QnVpbGRlckNhbnZhc0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuXG4gIHByb3RlY3RlZCBvbkRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd24+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5yZW9yZGVyRmllbGQoZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWJ1aWxkZXItY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktYnVpbGRlci1jYW52YXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBdUN0RixNQUFNLE9BQU8sNEJBQTRCO0lBQ3BCLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdEMsTUFBTSxDQUFDLEtBQTJCO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7d0dBTFUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIscUZBMUI3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JULDJEQTlCQyxZQUFZLDhCQUNaLGNBQWMsMmdCQUNkLGFBQWEsa1pBQ2IsYUFBYSxvTEFDYiw4QkFBOEI7OzRGQTRCckIsNEJBQTRCO2tCQXJDeEMsU0FBUzttQkFBQztvQkFDVCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLDhCQUE4QjtxQkFDL0I7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEJ1aWxkZXJTdG9yZSB9IGZyb20gJy4uL2J1aWxkZXItc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlCdWlsZGVyVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1idWlsZGVyLXRyZWUtbm9kZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnbmd4LWVudGl0eS1idWlsZGVyLWNhbnZhcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEVudGl0eUJ1aWxkZXJUcmVlTm9kZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJkZWItY2FudmFzXCI+XG4gICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+RmllbGRzICh7eyBzdG9yZS5maWVsZHMoKS5sZW5ndGggfX0pPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAoc3RvcmUuZmllbGRzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1lbXB0eVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPndpZGdldHM8L21hdC1pY29uPlxuICAgICAgICAgICAgPHA+Tm8gZmllbGRzIHlldC4gUGljayBhIHR5cGUgZnJvbSA8c3Ryb25nPkFkZCBmaWVsZDwvc3Ryb25nPiB0byBnZXQgc3RhcnRlZC48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiZGViLWZpZWxkLWxpc3RcIiBkYXRhLXRlc3RpZD1cImJ1aWxkZXItZmllbGQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudClcIj5cbiAgICAgICAgICBAZm9yIChmIG9mIHN0b3JlLmZpZWxkcygpOyB0cmFjayBmLmlkOyBsZXQgaSA9ICRpbmRleCwgY291bnQgPSAkY291bnQpIHtcbiAgICAgICAgICAgIDxuZ3gtZW50aXR5LWJ1aWxkZXItdHJlZS1ub2RlXG4gICAgICAgICAgICAgIFtmaWVsZF09XCJmXCJcbiAgICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgICBbdG90YWxDb3VudF09XCJjb3VudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5QnVpbGRlckNhbnZhc0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuXG4gIHByb3RlY3RlZCBvbkRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd24+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5yZW9yZGVyRmllbGQoZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { DragDropModule } from '@angular/cdk/drag-drop';
4
4
  import { MatButtonModule } from '@angular/material/button';
@@ -35,8 +35,14 @@ export class EntityBuilderTreeNodeComponent {
35
35
  data-testid="builder-field-row"
36
36
  [class.deb-field-row--active]="store.selectedFieldId() === field.id"
37
37
  (click)="store.selectField(field.id)"
38
+ (keydown.enter)="store.selectField(field.id)"
39
+ (keydown.space)="store.selectField(field.id); $event.preventDefault()"
40
+ role="button"
41
+ tabindex="0"
42
+ [attr.aria-pressed]="store.selectedFieldId() === field.id"
43
+ [attr.aria-label]="'Select field ' + fieldLabel(field)"
38
44
  >
39
- <mat-icon class="deb-drag-handle" cdkDragHandle title="Drag to reorder">drag_indicator</mat-icon>
45
+ <mat-icon class="deb-drag-handle" cdkDragHandle aria-hidden="true" title="Drag to reorder (or use the move buttons)">drag_indicator</mat-icon>
40
46
  <mat-icon class="deb-field-type" [matTooltip]="fieldTypeLabel(field.type)">{{ fieldTypeIcon(field.type) }}</mat-icon>
41
47
  <div class="deb-field-meta">
42
48
  <div class="deb-row" style="gap:6px">
@@ -55,16 +61,19 @@ export class EntityBuilderTreeNodeComponent {
55
61
 
56
62
  <button mat-icon-button type="button" [disabled]="index === 0"
57
63
  [attr.data-testid]="'row-up-' + field.id"
64
+ [attr.aria-label]="'Move ' + fieldLabel(field) + ' up'"
58
65
  (click)="store.moveField(field.id, -1); $event.stopPropagation()" matTooltip="Move up">
59
66
  <mat-icon>arrow_upward</mat-icon>
60
67
  </button>
61
68
  <button mat-icon-button type="button" [disabled]="index === totalCount - 1"
62
69
  [attr.data-testid]="'row-down-' + field.id"
70
+ [attr.aria-label]="'Move ' + fieldLabel(field) + ' down'"
63
71
  (click)="store.moveField(field.id, 1); $event.stopPropagation()" matTooltip="Move down">
64
72
  <mat-icon>arrow_downward</mat-icon>
65
73
  </button>
66
74
  <button mat-icon-button type="button"
67
75
  [attr.data-testid]="'row-duplicate-' + field.id"
76
+ [attr.aria-label]="'Duplicate ' + fieldLabel(field)"
68
77
  (click)="store.duplicateField(field.id); $event.stopPropagation()" matTooltip="Duplicate">
69
78
  <mat-icon>content_copy</mat-icon>
70
79
  </button>
@@ -86,11 +95,12 @@ export class EntityBuilderTreeNodeComponent {
86
95
  }
87
96
  </div>
88
97
  }
89
- `, isInline: true, dependencies: [{ kind: "component", type: EntityBuilderTreeNodeComponent, selector: "ngx-entity-builder-tree-node", inputs: ["field", "index", "totalCount"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
98
+ `, isInline: true, dependencies: [{ kind: "component", type: EntityBuilderTreeNodeComponent, selector: "ngx-entity-builder-tree-node", inputs: ["field", "index", "totalCount"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
99
  }
91
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EntityBuilderTreeNodeComponent, decorators: [{
92
101
  type: Component,
93
102
  args: [{
103
+ changeDetection: ChangeDetectionStrategy.OnPush,
94
104
  selector: 'ngx-entity-builder-tree-node',
95
105
  standalone: true,
96
106
  imports: [
@@ -107,8 +117,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
107
117
  data-testid="builder-field-row"
108
118
  [class.deb-field-row--active]="store.selectedFieldId() === field.id"
109
119
  (click)="store.selectField(field.id)"
120
+ (keydown.enter)="store.selectField(field.id)"
121
+ (keydown.space)="store.selectField(field.id); $event.preventDefault()"
122
+ role="button"
123
+ tabindex="0"
124
+ [attr.aria-pressed]="store.selectedFieldId() === field.id"
125
+ [attr.aria-label]="'Select field ' + fieldLabel(field)"
110
126
  >
111
- <mat-icon class="deb-drag-handle" cdkDragHandle title="Drag to reorder">drag_indicator</mat-icon>
127
+ <mat-icon class="deb-drag-handle" cdkDragHandle aria-hidden="true" title="Drag to reorder (or use the move buttons)">drag_indicator</mat-icon>
112
128
  <mat-icon class="deb-field-type" [matTooltip]="fieldTypeLabel(field.type)">{{ fieldTypeIcon(field.type) }}</mat-icon>
113
129
  <div class="deb-field-meta">
114
130
  <div class="deb-row" style="gap:6px">
@@ -127,16 +143,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
127
143
 
128
144
  <button mat-icon-button type="button" [disabled]="index === 0"
129
145
  [attr.data-testid]="'row-up-' + field.id"
146
+ [attr.aria-label]="'Move ' + fieldLabel(field) + ' up'"
130
147
  (click)="store.moveField(field.id, -1); $event.stopPropagation()" matTooltip="Move up">
131
148
  <mat-icon>arrow_upward</mat-icon>
132
149
  </button>
133
150
  <button mat-icon-button type="button" [disabled]="index === totalCount - 1"
134
151
  [attr.data-testid]="'row-down-' + field.id"
152
+ [attr.aria-label]="'Move ' + fieldLabel(field) + ' down'"
135
153
  (click)="store.moveField(field.id, 1); $event.stopPropagation()" matTooltip="Move down">
136
154
  <mat-icon>arrow_downward</mat-icon>
137
155
  </button>
138
156
  <button mat-icon-button type="button"
139
157
  [attr.data-testid]="'row-duplicate-' + field.id"
158
+ [attr.aria-label]="'Duplicate ' + fieldLabel(field)"
140
159
  (click)="store.duplicateField(field.id); $event.stopPropagation()" matTooltip="Duplicate">
141
160
  <mat-icon>content_copy</mat-icon>
142
161
  </button>
@@ -170,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
170
189
  type: Input,
171
190
  args: [{ required: true }]
172
191
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWJ1aWxkZXItdHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktYnVpbGRlci10cmVlLW5vZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXdFcEQsTUFBTSxPQUFPLDhCQUE4QjtJQUN0QixLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXJCLEtBQUssQ0FBcUI7SUFDMUIsS0FBSyxDQUFVO0lBQ2YsVUFBVSxDQUFVO0lBRXJDLGNBQWMsQ0FBQyxJQUFZO1FBQ25DLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRVMsYUFBYSxDQUFDLElBQVk7UUFDbEMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksY0FBYyxDQUFDO0lBQ3hELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBa0M7UUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDckQsQ0FBQzt3R0FsQlUsOEJBQThCOzRGQUE5Qiw4QkFBOEIsOEpBNUQvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVCw0REFFVSw4QkFBOEIsa0hBbEV2QyxZQUFZLDhCQUNaLGNBQWMsK2tCQUNkLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixnQkFBZ0I7OzRGQThEUCw4QkFBOEI7a0JBdEUxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBEVDtpQkFDRjs4QkFJNEIsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IHJlc29sdmVMYWJlbCwgdHlwZSBOZXN0ZWRGaWVsZENvbmZpZyB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IEJ1aWxkZXJTdG9yZSB9IGZyb20gJy4uL2J1aWxkZXItc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRGaWVsZFR5cGVNZXRhIH0gZnJvbSAnLi4vZmllbGQtY2F0YWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1lbnRpdHktYnVpbGRlci10cmVlLW5vZGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2xhc3M9XCJkZWItZmllbGQtcm93XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiYnVpbGRlci1maWVsZC1yb3dcIlxuICAgICAgW2NsYXNzLmRlYi1maWVsZC1yb3ctLWFjdGl2ZV09XCJzdG9yZS5zZWxlY3RlZEZpZWxkSWQoKSA9PT0gZmllbGQuaWRcIlxuICAgICAgKGNsaWNrKT1cInN0b3JlLnNlbGVjdEZpZWxkKGZpZWxkLmlkKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZGViLWRyYWctaGFuZGxlXCIgY2RrRHJhZ0hhbmRsZSB0aXRsZT1cIkRyYWcgdG8gcmVvcmRlclwiPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlYi1maWVsZC10eXBlXCIgW21hdFRvb2x0aXBdPVwiZmllbGRUeXBlTGFiZWwoZmllbGQudHlwZSlcIj57eyBmaWVsZFR5cGVJY29uKGZpZWxkLnR5cGUpIH19PC9tYXQtaWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItZmllbGQtbWV0YVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJvd1wiIHN0eWxlPVwiZ2FwOjZweFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLWZpZWxkLWxhYmVsXCIgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3Jvdy1sYWJlbC0nICsgZmllbGQuaWRcIj57eyBmaWVsZExhYmVsKGZpZWxkKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi10eXBlLWJhZGdlXCI+e3sgZmllbGQudHlwZSB9fTwvc3Bhbj5cbiAgICAgICAgICBAaWYgKGZpZWxkLmlzUmVmZXJlbmNlZCkge1xuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4OyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBjb2xvcjogIzE5NzZkMjtcIiBtYXRUb29sdGlwPVwiUmVmZXJlbmNlZCBmaWVsZCAobGlua2VkIHRvIHt7IGZpZWxkLnJlZmVyZW5jZWRFbnRpdHlLZXkgfX0pXCI+bGluazwvbWF0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoZmllbGQuaGFzRHJpZnQpIHtcbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMTZweDsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgY29sb3I6ICNkMzJmMmY7XCIgZGF0YS10ZXN0aWQ9XCJkcmlmdC13YXJuaW5nLWljb25cIiBtYXRUb29sdGlwPVwiRHJpZnQgZGV0ZWN0ZWQ6IHNvdXJjZSBmaWVsZCBoYXMgZXZvbHZlZFwiPnN5bmNfcHJvYmxlbTwvbWF0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItZmllbGQtaWRcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LWlkLScgKyBmaWVsZC5pZFwiPnt7IGZpZWxkLmlkIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGZpZWxkLnZhbGlkYXRvcnM/LnJlcXVpcmVkKSB7IDxzcGFuIGNsYXNzPVwiZGViLXJlcVwiIHRpdGxlPVwiUmVxdWlyZWRcIj4qPC9zcGFuPiB9XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiaW5kZXggPT09IDBcIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LXVwLScgKyBmaWVsZC5pZFwiXG4gICAgICAgIChjbGljayk9XCJzdG9yZS5tb3ZlRmllbGQoZmllbGQuaWQsIC0xKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgbWF0VG9vbHRpcD1cIk1vdmUgdXBcIj5cbiAgICAgICAgPG1hdC1pY29uPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiaW5kZXggPT09IHRvdGFsQ291bnQgLSAxXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3Jvdy1kb3duLScgKyBmaWVsZC5pZFwiXG4gICAgICAgIChjbGljayk9XCJzdG9yZS5tb3ZlRmllbGQoZmllbGQuaWQsIDEpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBtYXRUb29sdGlwPVwiTW92ZSBkb3duXCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LWR1cGxpY2F0ZS0nICsgZmllbGQuaWRcIlxuICAgICAgICAoY2xpY2spPVwic3RvcmUuZHVwbGljYXRlRmllbGQoZmllbGQuaWQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBtYXRUb29sdGlwPVwiRHVwbGljYXRlXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3Jvdy1kZWxldGUtJyArIGZpZWxkLmlkXCJcbiAgICAgICAgKGNsaWNrKT1cInN0b3JlLnJlbW92ZUZpZWxkKGZpZWxkLmlkKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgbWF0VG9vbHRpcD1cIkRlbGV0ZVwiPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChmaWVsZC5jaGlsZHJlbiAmJiBmaWVsZC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXRyZWUtY2hpbGRyZW5cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMjBweDsgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMDgpOyBtYXJnaW4tbGVmdDogMTJweDsgbWFyZ2luLXRvcDogNHB4O1wiPlxuICAgICAgICBAZm9yIChjaGlsZCBvZiBmaWVsZC5jaGlsZHJlbjsgdHJhY2sgY2hpbGQuaWQ7IGxldCBjaSA9ICRpbmRleCwgY0NvdW50ID0gJGNvdW50KSB7XG4gICAgICAgICAgPG5neC1lbnRpdHktYnVpbGRlci10cmVlLW5vZGVcbiAgICAgICAgICAgIFtmaWVsZF09XCJjaGlsZFwiXG4gICAgICAgICAgICBbaW5kZXhdPVwiY2lcIlxuICAgICAgICAgICAgW3RvdGFsQ291bnRdPVwiY0NvdW50XCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUJ1aWxkZXJUcmVlTm9kZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZpZWxkITogTmVzdGVkRmllbGRDb25maWc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0b3RhbENvdW50ITogbnVtYmVyO1xuXG4gIHByb3RlY3RlZCBmaWVsZFR5cGVMYWJlbCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRGaWVsZFR5cGVNZXRhKHR5cGUpPy5sYWJlbCA/PyB0eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpZWxkVHlwZUljb24odHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RmllbGRUeXBlTWV0YSh0eXBlKT8uaWNvbiA/PyAnaGVscF9vdXRsaW5lJztcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWVsZExhYmVsKGZpZWxkOiB7IGlkOiBzdHJpbmc7IGxhYmVsPzogYW55IH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnN0b3JlLmFjdGl2ZUxhbmd1YWdlKCk7XG4gICAgcmV0dXJuIHJlc29sdmVMYWJlbChmaWVsZC5sYWJlbCwgbGFuZykgfHwgZmllbGQuaWQ7XG4gIH1cbn1cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWJ1aWxkZXItdHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktYnVpbGRlci10cmVlLW5vZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQWtGcEQsTUFBTSxPQUFPLDhCQUE4QjtJQUN0QixLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXJCLEtBQUssQ0FBcUI7SUFDMUIsS0FBSyxDQUFVO0lBQ2YsVUFBVSxDQUFVO0lBRXJDLGNBQWMsQ0FBQyxJQUFZO1FBQ25DLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRVMsYUFBYSxDQUFDLElBQVk7UUFDbEMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksY0FBYyxDQUFDO0lBQ3hELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBa0M7UUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDckQsQ0FBQzt3R0FsQlUsOEJBQThCOzRGQUE5Qiw4QkFBOEIsOEpBckUvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1FVCw0REFFVSw4QkFBOEIsa0hBM0V2QyxZQUFZLDhCQUNaLGNBQWMsK2tCQUNkLGVBQWUsMklBQ2YsYUFBYSxtTEFDYixnQkFBZ0I7OzRGQXVFUCw4QkFBOEI7a0JBaEYxQyxTQUFTO21CQUFDO29CQUNULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRVQ7aUJBQ0Y7OEJBSTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgcmVzb2x2ZUxhYmVsLCB0eXBlIE5lc3RlZEZpZWxkQ29uZmlnIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldEZpZWxkVHlwZU1ldGEgfSBmcm9tICcuLi9maWVsZC1jYXRhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ25neC1lbnRpdHktYnVpbGRlci10cmVlLW5vZGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2xhc3M9XCJkZWItZmllbGQtcm93XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiYnVpbGRlci1maWVsZC1yb3dcIlxuICAgICAgW2NsYXNzLmRlYi1maWVsZC1yb3ctLWFjdGl2ZV09XCJzdG9yZS5zZWxlY3RlZEZpZWxkSWQoKSA9PT0gZmllbGQuaWRcIlxuICAgICAgKGNsaWNrKT1cInN0b3JlLnNlbGVjdEZpZWxkKGZpZWxkLmlkKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJzdG9yZS5zZWxlY3RGaWVsZChmaWVsZC5pZClcIlxuICAgICAgKGtleWRvd24uc3BhY2UpPVwic3RvcmUuc2VsZWN0RmllbGQoZmllbGQuaWQpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwic3RvcmUuc2VsZWN0ZWRGaWVsZElkKCkgPT09IGZpZWxkLmlkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlbGVjdCBmaWVsZCAnICsgZmllbGRMYWJlbChmaWVsZClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlYi1kcmFnLWhhbmRsZVwiIGNka0RyYWdIYW5kbGUgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJEcmFnIHRvIHJlb3JkZXIgKG9yIHVzZSB0aGUgbW92ZSBidXR0b25zKVwiPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRlYi1maWVsZC10eXBlXCIgW21hdFRvb2x0aXBdPVwiZmllbGRUeXBlTGFiZWwoZmllbGQudHlwZSlcIj57eyBmaWVsZFR5cGVJY29uKGZpZWxkLnR5cGUpIH19PC9tYXQtaWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItZmllbGQtbWV0YVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJvd1wiIHN0eWxlPVwiZ2FwOjZweFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLWZpZWxkLWxhYmVsXCIgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3Jvdy1sYWJlbC0nICsgZmllbGQuaWRcIj57eyBmaWVsZExhYmVsKGZpZWxkKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi10eXBlLWJhZGdlXCI+e3sgZmllbGQudHlwZSB9fTwvc3Bhbj5cbiAgICAgICAgICBAaWYgKGZpZWxkLmlzUmVmZXJlbmNlZCkge1xuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4OyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBjb2xvcjogIzE5NzZkMjtcIiBtYXRUb29sdGlwPVwiUmVmZXJlbmNlZCBmaWVsZCAobGlua2VkIHRvIHt7IGZpZWxkLnJlZmVyZW5jZWRFbnRpdHlLZXkgfX0pXCI+bGluazwvbWF0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoZmllbGQuaGFzRHJpZnQpIHtcbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMTZweDsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgY29sb3I6ICNkMzJmMmY7XCIgZGF0YS10ZXN0aWQ9XCJkcmlmdC13YXJuaW5nLWljb25cIiBtYXRUb29sdGlwPVwiRHJpZnQgZGV0ZWN0ZWQ6IHNvdXJjZSBmaWVsZCBoYXMgZXZvbHZlZFwiPnN5bmNfcHJvYmxlbTwvbWF0LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItZmllbGQtaWRcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LWlkLScgKyBmaWVsZC5pZFwiPnt7IGZpZWxkLmlkIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGZpZWxkLnZhbGlkYXRvcnM/LnJlcXVpcmVkKSB7IDxzcGFuIGNsYXNzPVwiZGViLXJlcVwiIHRpdGxlPVwiUmVxdWlyZWRcIj4qPC9zcGFuPiB9XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiaW5kZXggPT09IDBcIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LXVwLScgKyBmaWVsZC5pZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vdmUgJyArIGZpZWxkTGFiZWwoZmllbGQpICsgJyB1cCdcIlxuICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZUZpZWxkKGZpZWxkLmlkLCAtMSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIG1hdFRvb2x0aXA9XCJNb3ZlIHVwXCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImluZGV4ID09PSB0b3RhbENvdW50IC0gMVwiXG4gICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidyb3ctZG93bi0nICsgZmllbGQuaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3ZlICcgKyBmaWVsZExhYmVsKGZpZWxkKSArICcgZG93bidcIlxuICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZUZpZWxkKGZpZWxkLmlkLCAxKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgbWF0VG9vbHRpcD1cIk1vdmUgZG93blwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfZG93bndhcmQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3Jvdy1kdXBsaWNhdGUtJyArIGZpZWxkLmlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInRHVwbGljYXRlICcgKyBmaWVsZExhYmVsKGZpZWxkKVwiXG4gICAgICAgIChjbGljayk9XCJzdG9yZS5kdXBsaWNhdGVGaWVsZChmaWVsZC5pZCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIG1hdFRvb2x0aXA9XCJEdXBsaWNhdGVcIj5cbiAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBjb2xvcj1cIndhcm5cIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncm93LWRlbGV0ZS0nICsgZmllbGQuaWRcIlxuICAgICAgICAoY2xpY2spPVwic3RvcmUucmVtb3ZlRmllbGQoZmllbGQuaWQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBtYXRUb29sdGlwPVwiRGVsZXRlXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGZpZWxkLmNoaWxkcmVuICYmIGZpZWxkLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItdHJlZS1jaGlsZHJlblwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAyMHB4OyBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4wOCk7IG1hcmdpbi1sZWZ0OiAxMnB4OyBtYXJnaW4tdG9wOiA0cHg7XCI+XG4gICAgICAgIEBmb3IgKGNoaWxkIG9mIGZpZWxkLmNoaWxkcmVuOyB0cmFjayBjaGlsZC5pZDsgbGV0IGNpID0gJGluZGV4LCBjQ291bnQgPSAkY291bnQpIHtcbiAgICAgICAgICA8bmd4LWVudGl0eS1idWlsZGVyLXRyZWUtbm9kZVxuICAgICAgICAgICAgW2ZpZWxkXT1cImNoaWxkXCJcbiAgICAgICAgICAgIFtpbmRleF09XCJjaVwiXG4gICAgICAgICAgICBbdG90YWxDb3VudF09XCJjQ291bnRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5QnVpbGRlclRyZWVOb2RlQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZmllbGQhOiBOZXN0ZWRGaWVsZENvbmZpZztcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaW5kZXghOiBudW1iZXI7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRvdGFsQ291bnQhOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIGZpZWxkVHlwZUxhYmVsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEZpZWxkVHlwZU1ldGEodHlwZSk/LmxhYmVsID8/IHR5cGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmllbGRUeXBlSWNvbih0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRGaWVsZFR5cGVNZXRhKHR5cGUpPy5pY29uID8/ICdoZWxwX291dGxpbmUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpZWxkTGFiZWwoZmllbGQ6IHsgaWQ6IHN0cmluZzsgbGFiZWw/OiBhbnkgfSk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZyA9IHRoaXMuc3RvcmUuYWN0aXZlTGFuZ3VhZ2UoKTtcbiAgICByZXR1cm4gcmVzb2x2ZUxhYmVsKGZpZWxkLmxhYmVsLCBsYW5nKSB8fCBmaWVsZC5pZDtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, computed, inject, signal } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';
2
2
  import { FormsModule } from '@angular/forms';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatDividerModule } from '@angular/material/divider';
@@ -236,11 +236,11 @@ export class EntityReferenceConfigComponent {
236
236
  }
237
237
  </div>
238
238
  }
239
- `, isInline: true, styles: [".deb-entity-ref{display:flex;flex-direction:column;gap:12px}.deb-full{width:100%}.deb-row{display:flex;gap:8px;align-items:center}.deb-row--split{justify-content:space-between}.deb-option-row{display:flex;gap:6px;align-items:center}.deb-option-row>mat-form-field{flex:1}.deb-error-hint{color:#b91c1c}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
239
+ `, isInline: true, styles: [".deb-entity-ref{display:flex;flex-direction:column;gap:12px}.deb-full{width:100%}.deb-row{display:flex;gap:8px;align-items:center}.deb-row--split{justify-content:space-between}.deb-option-row{display:flex;gap:6px;align-items:center}.deb-option-row>mat-form-field{flex:1}.deb-error-hint{color:#b91c1c}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
240
  }
241
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EntityReferenceConfigComponent, decorators: [{
242
242
  type: Component,
243
- args: [{ selector: 'ngx-entity-reference-config', standalone: true, imports: [
243
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ngx-entity-reference-config', standalone: true, imports: [
244
244
  FormsModule,
245
245
  MatButtonModule,
246
246
  MatDividerModule,
@@ -402,4 +402,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
402
402
  }
403
403
  `, styles: [".deb-entity-ref{display:flex;flex-direction:column;gap:12px}.deb-full{width:100%}.deb-row{display:flex;gap:8px;align-items:center}.deb-row--split{justify-content:space-between}.deb-option-row{display:flex;gap:6px;align-items:center}.deb-option-row>mat-form-field{flex:1}.deb-error-hint{color:#b91c1c}\n"] }]
404
404
  }] });
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXJlZmVyZW5jZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1yZWZlcmVuY2UtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFeEQ7Ozs7OztHQU1HO0FBc01ILE1BQU0sT0FBTyw4QkFBOEI7SUFDdEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU3QixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFFcEQsZ0ZBQWdGO0lBQzdELGdCQUFnQixHQUFHLFFB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ZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjtxQkFDakIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0pUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHR5cGUgeyBOZXN0ZWRGaWVsZENvbmZpZyB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IHJlc29sdmVMYWJlbCB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IEJ1aWxkZXJTdG9yZSB9IGZyb20gJy4uL2J1aWxkZXItc3RvcmUuc2VydmljZSc7XG5cbi8qKlxuICogRW50aXR5UmVmZXJlbmNlQ29uZmlnQ29tcG9uZW50IOKAlCBhdXRob3JzIHRoZSBgZW50aXR5UmVmZXJlbmNlYCBibG9jayBvZiBhbiBlbnRpdHktcmVmIGZpZWxkOlxuICogcmVnaXN0cnkga2V5LCBkaXNwbGF5IGZpZWxkcywgc3RhdGljIGZpbHRlcnMsIGFuZCB0aGUgcGFyZW504oaSY2hpbGQgY2FzY2FkZS5cbiAqXG4gKiBBbHNvIGF1dGhvcnMgYGF1dG9QYXRjaGAsIHNpbmNlIHRoZSBtYXBwaW5ncyBvbmx5IG1ha2Ugc2Vuc2UgYWdhaW5zdCB0aGUgcmVjb3JkIHRoZVxuICogc2VsZWN0ZWQgcmVmZXJlbmNlIHJldHVybnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1lbnRpdHktcmVmZXJlbmNlLWNvbmZpZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGZpZWxkKCk7IGFzIGYpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWItZW50aXR5LXJlZlwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1zZWN0aW9uLXRpdGxlXCI+RW50aXR5IHJlZmVyZW5jZTwvc3Bhbj5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+UmVnaXN0cnkga2V5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbnRpdHktcmVmLWtleVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJyZWYoZikubGlua2VkRW50aXR5S2V5ID8/ICcnXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBhdGNoUmVmKGYsIHsgbGlua2VkRW50aXR5S2V5OiAkZXZlbnQgfHwgdW5kZWZpbmVkIH0pXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtaGludD5LZXkgdGhlIGNvbnN1bWVyIHJlZ2lzdGVyZWQgYSBsb2FkZXIgdW5kZXIuIERlZmF1bHRzIHRvIHRoZSBmaWVsZCBpZC48L21hdC1oaW50PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5EaXNwbGF5IGZpZWxkczwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW50aXR5LXJlZi1kaXNwbGF5LWZpZWxkc1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJkaXNwbGF5RmllbGRzVGV4dChmKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXREaXNwbGF5RmllbGRzKGYsICRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1oaW50PkNvbW1hLXNlcGFyYXRlZCByZWNvcmQgcGF0aHMgdXNlZCB0byBidWlsZCBlYWNoIG9wdGlvbiBsYWJlbC48L21hdC1oaW50PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5TdGF0aWMgZmlsdGVycyAoSlNPTik8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVudGl0eS1yZWYtZmlsdGVyc1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJmaWx0ZXJzVGV4dChmKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRGaWx0ZXJzKGYsICRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgQGlmIChmaWx0ZXJzRXJyb3IoKSkge1xuICAgICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZGViLWVycm9yLWhpbnRcIj57eyBmaWx0ZXJzRXJyb3IoKSB9fTwvbWF0LWhpbnQ+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bWF0LWhpbnQ+UGFzc2VkIHRvIHRoZSBsb2FkZXIsIGUuZy4gJiMxMjM7XCJpc0VtcGxveWVlXCI6IGZhbHNlJiMxMjU7LjwvbWF0LWhpbnQ+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuXG4gICAgICAgIDwhLS0gQ2FzY2FkZSAtLT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItc2VjdGlvbi10aXRsZVwiPkNhc2NhZGU8L3NwYW4+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImRlYi1mdWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5QYXJlbnQgZmllbGQ8L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbnRpdHktcmVmLXBhcmVudFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJyZWYoZikucGFyZW50RmllbGQgPz8gJydcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGF0Y2hSZWYoZiwgeyBwYXJlbnRGaWVsZDogJGV2ZW50IHx8IHVuZGVmaW5lZCB9KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJcIj5Ob25lIOKAlCBsb2FkIGFsbCBvcHRpb25zPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgQGZvciAoY2FuZGlkYXRlIG9mIHBhcmVudENhbmRpZGF0ZXMoKTsgdHJhY2sgY2FuZGlkYXRlLmlkKSB7XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJjYW5kaWRhdGUuaWRcIj57eyBmaWVsZExhYmVsKGNhbmRpZGF0ZSkgfX0gKHt7IGNhbmRpZGF0ZS5pZCB9fSk8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDxtYXQtaGludD5UaGlzIGZpZWxkJ3Mgb3B0aW9ucyByZWxvYWQgd2hlbmV2ZXIgdGhlIHBhcmVudCBjaGFuZ2VzLjwvbWF0LWhpbnQ+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgQGlmIChyZWYoZikucGFyZW50RmllbGQpIHtcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5Mb29rdXAgZmlsdGVyIHBhdGg8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVudGl0eS1yZWYtbG9va3VwLWZpbHRlclwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJlZihmKS5sb29rdXBGaWx0ZXIgPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwYXRjaFJlZihmLCB7IGxvb2t1cEZpbHRlcjogJGV2ZW50IHx8IHVuZGVmaW5lZCB9KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG1hdC1oaW50PktlZXAgb3B0aW9ucyB3aG9zZSByZWNvcmQgbWF0Y2hlcyB0aGUgcGFyZW50IHZhbHVlIGF0IHRoaXMgcGF0aC48L21hdC1oaW50PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5Mb29rdXAgcGF0aCAobmVzdGVkIG9wdGlvbnMpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbnRpdHktcmVmLWxvb2t1cC1wYXRoXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwicmVmKGYpLmxvb2t1cFBhdGggPz8gJydcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwYXRjaFJlZihmLCB7IGxvb2t1cFBhdGg6ICRldmVudCB8fCB1bmRlZmluZWQgfSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxtYXQtaGludD5UYWtlIG9wdGlvbnMgZnJvbSB0aGlzIGFycmF5IG9uIHRoZSBzZWxlY3RlZCBwYXJlbnQncyByZWNvcmQgaW5zdGVhZC48L21hdC1oaW50PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIH1cblxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICA8IS0tIGF1dG9QYXRjaCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1yb3cgZGViLXJvdy0tc3BsaXRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1zZWN0aW9uLXRpdGxlXCI+QXV0by1wYXRjaCBvbiBzZWxlY3Q8L3NwYW4+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRkLWF1dG8tcGF0Y2hcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLmFkZEF1dG9QYXRjaE1hcHBpbmcoZi5pZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPiBNYXBwaW5nXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoZi5hdXRvUGF0Y2gpIHtcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5UYXJnZXQgdGFiPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImF1dG8tcGF0Y2gtdGFiXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZi5hdXRvUGF0Y2gudGFyZ2V0VGFiXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUuc2V0QXV0b1BhdGNoVGFyZ2V0VGFiKGYuaWQsICRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAZm9yICh0YWIgb2Ygc3RvcmUudGFicygpOyB0cmFjayB0YWIuaWQpIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidGFiLmlkXCI+e3sgdGFiTGFiZWwodGFiLmlkKSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICBAZm9yIChtYXBwaW5nIG9mIGYuYXV0b1BhdGNoLm1hcHBpbmdzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItb3B0aW9uLXJvd1wiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Tb3VyY2UgKGxpbmtlZCByZWNvcmQpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibWFwcGluZy5zb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic3RvcmUudXBkYXRlQXV0b1BhdGNoTWFwcGluZyhmLmlkLCAkaW5kZXgsIHsgc291cmNlOiAkZXZlbnQgfSlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlRhcmdldCBmaWVsZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1hcHBpbmcudGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnVwZGF0ZUF1dG9QYXRjaE1hcHBpbmcoZi5pZCwgJGluZGV4LCB7IHRhcmdldDogJGV2ZW50IH0pXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmVtb3ZlIG1hcHBpbmdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5yZW1vdmVBdXRvUGF0Y2hNYXBwaW5nKGYuaWQsICRpbmRleClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImRlYi1oaW50XCI+XG4gICAgICAgICAgICBObyBhdXRvLXBhdGNoIGNvbmZpZ3VyZWQg4oCUIHNlbGVjdGluZyBhIHJlZmVyZW5jZSB3aWxsIG5vdCBjb3B5IGFueSB2YWx1ZXMuXG4gICAgICAgICAgPC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZWItZW50aXR5LXJlZiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgIH1cbiAgICAgIC5kZWItZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmRlYi1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5kZWItcm93LS1zcGxpdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5kZWItb3B0aW9uLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmRlYi1vcHRpb24tcm93ID4gbWF0LWZvcm0tZmllbGQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgLmRlYi1lcnJvci1oaW50IHtcbiAgICAgICAgY29sb3I6ICNiOTFjMWM7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5UmVmZXJlbmNlQ29uZmlnQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpZWxkID0gdGhpcy5zdG9yZS5zZWxlY3RlZEZpZWxkO1xuXG4gIC8qKiBTaWJsaW5nIGZpZWxkcyB0aGF0IGNhbiBkcml2ZSBhIGNhc2NhZGUg4oCUIGFueXRoaW5nIGJ1dCB0aGlzIGZpZWxkIGl0c2VsZi4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmVudENhbmRpZGF0ZXMgPSBjb21wdXRlZDxOZXN0ZWRGaWVsZENvbmZpZ1tdPigoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZmllbGQoKTtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5maWVsZHMoKS5maWx0ZXIoZiA9PiBmLmlkICE9PSBjdXJyZW50Py5pZCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyc1BhcnNlRXJyb3IgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJzRXJyb3IgPSB0aGlzLmZpbHRlcnNQYXJzZUVycm9yLmFzUmVhZG9ubHkoKTtcblxuICBwcm90ZWN0ZWQgcmVmKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZykge1xuICAgIHJldHVybiBmaWVsZC5lbnRpdHlSZWZlcmVuY2UgPz8geyBlbmFibGVkOiB0cnVlIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgcGF0Y2hSZWYoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnLCBwYXRjaDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLnVwZGF0ZUVudGl0eVJlZmVyZW5jZShmaWVsZC5pZCwgcGF0Y2gpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpZWxkTGFiZWwoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZUxhYmVsKGZpZWxkLmxhYmVsLCB0aGlzLnN0b3JlLmFjdGl2ZUxhbmd1YWdlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRhYkxhYmVsKHRhYklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRhYiA9IHRoaXMuc3RvcmUudGFicygpLmZpbmQodCA9PiB0LmlkID09PSB0YWJJZCk7XG4gICAgcmV0dXJuIHRhYiA/IHJlc29sdmVMYWJlbCh0YWIubGFiZWwsIHRoaXMuc3RvcmUuYWN0aXZlTGFuZ3VhZ2UoKSkgOiB0YWJJZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNwbGF5RmllbGRzVGV4dChmaWVsZDogTmVzdGVkRmllbGRDb25maWcpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5yZWYoZmllbGQpLmRpc3BsYXlGaWVsZHMgPz8gW10pLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RGlzcGxheUZpZWxkcyhmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJ0cyA9IHZhbHVlXG4gICAgICAuc3BsaXQoJywnKVxuICAgICAgLm1hcChzID0+IHMudHJpbSgpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICB0aGlzLnBhdGNoUmVmKGZpZWxkLCB7IGRpc3BsYXlGaWVsZHM6IHBhcnRzLmxlbmd0aCA/IHBhcnRzIDogdW5kZWZpbmVkIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlcnNUZXh0KGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlsdGVycyA9IHRoaXMucmVmKGZpZWxkKS5maWx0ZXJzO1xuICAgIHJldHVybiBmaWx0ZXJzID8gSlNPTi5zdHJpbmdpZnkoZmlsdGVycykgOiAnJztcbiAgfVxuXG4gIC8qKiBJbnZhbGlkIEpTT04gaXMgcmVwb3J0ZWQgaW5saW5lIGFuZCBsZWZ0IHVuYXBwbGllZCByYXRoZXIgdGhhbiBzaWxlbnRseSBkcm9wcGVkLiAqL1xuICBwcm90ZWN0ZWQgc2V0RmlsdGVycyhmaWVsZDogTmVzdGVkRmllbGRDb25maWcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmltbWVkID0gdmFsdWUudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZCkge1xuICAgICAgdGhpcy5maWx0ZXJzUGFyc2VFcnJvci5zZXQobnVsbCk7XG4gICAgICB0aGlzLnBhdGNoUmVmKGZpZWxkLCB7IGZpbHRlcnM6IHVuZGVmaW5lZCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UodHJpbW1lZCk7XG4gICAgICBpZiAodHlwZW9mIHBhcnNlZCAhPT0gJ29iamVjdCcgfHwgcGFyc2VkID09PSBudWxsIHx8IEFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgICAgICB0aGlzLmZpbHRlcnNQYXJzZUVycm9yLnNldCgnRmlsdGVycyBtdXN0IGJlIGEgSlNPTiBvYmplY3QuJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsdGVyc1BhcnNlRXJyb3Iuc2V0KG51bGwpO1xuICAgICAgdGhpcy5wYXRjaFJlZihmaWVsZCwgeyBmaWx0ZXJzOiBwYXJzZWQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmZpbHRlcnNQYXJzZUVycm9yLnNldCgnSW52YWxpZCBKU09OLicpO1xuICAgIH1cbiAgfVxufVxuIl19
405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXJlZmVyZW5jZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1yZWZlcmVuY2UtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFeEQ7Ozs7OztHQU1HO0FBdU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFDdEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU3QixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFFcEQsZ0ZBQWdGO0lBQzdELGdC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a0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNqQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHR5cGUgeyBOZXN0ZWRGaWVsZENvbmZpZyB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IHJlc29sdmVMYWJlbCB9IGZyb20gJ0BkeW5hbWljLWVudGl0eS9jb3JlJztcbmltcG9ydCB7IEJ1aWxkZXJTdG9yZSB9IGZyb20gJy4uL2J1aWxkZXItc3RvcmUuc2VydmljZSc7XG5cbi8qKlxuICogRW50aXR5UmVmZXJlbmNlQ29uZmlnQ29tcG9uZW50IOKAlCBhdXRob3JzIHRoZSBgZW50aXR5UmVmZXJlbmNlYCBibG9jayBvZiBhbiBlbnRpdHktcmVmIGZpZWxkOlxuICogcmVnaXN0cnkga2V5LCBkaXNwbGF5IGZpZWxkcywgc3RhdGljIGZpbHRlcnMsIGFuZCB0aGUgcGFyZW504oaSY2hpbGQgY2FzY2FkZS5cbiAqXG4gKiBBbHNvIGF1dGhvcnMgYGF1dG9QYXRjaGAsIHNpbmNlIHRoZSBtYXBwaW5ncyBvbmx5IG1ha2Ugc2Vuc2UgYWdhaW5zdCB0aGUgcmVjb3JkIHRoZVxuICogc2VsZWN0ZWQgcmVmZXJlbmNlIHJldHVybnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZ3gtZW50aXR5LXJlZmVyZW5jZS1jb25maWcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChmaWVsZCgpOyBhcyBmKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLWVudGl0eS1yZWZcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItc2VjdGlvbi10aXRsZVwiPkVudGl0eSByZWZlcmVuY2U8L3NwYW4+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPlJlZ2lzdHJ5IGtleTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW50aXR5LXJlZi1rZXlcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwicmVmKGYpLmxpbmtlZEVudGl0eUtleSA/PyAnJ1wiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwYXRjaFJlZihmLCB7IGxpbmtlZEVudGl0eUtleTogJGV2ZW50IHx8IHVuZGVmaW5lZCB9KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bWF0LWhpbnQ+S2V5IHRoZSBjb25zdW1lciByZWdpc3RlcmVkIGEgbG9hZGVyIHVuZGVyLiBEZWZhdWx0cyB0byB0aGUgZmllbGQgaWQuPC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+RGlzcGxheSBmaWVsZHM8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVudGl0eS1yZWYtZGlzcGxheS1maWVsZHNcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZGlzcGxheUZpZWxkc1RleHQoZilcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0RGlzcGxheUZpZWxkcyhmLCAkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtaGludD5Db21tYS1zZXBhcmF0ZWQgcmVjb3JkIHBhdGhzIHVzZWQgdG8gYnVpbGQgZWFjaCBvcHRpb24gbGFiZWwuPC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+U3RhdGljIGZpbHRlcnMgKEpTT04pPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbnRpdHktcmVmLWZpbHRlcnNcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZmlsdGVyc1RleHQoZilcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0RmlsdGVycyhmLCAkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIEBpZiAoZmlsdGVyc0Vycm9yKCkpIHtcbiAgICAgICAgICAgIDxtYXQtaGludCBjbGFzcz1cImRlYi1lcnJvci1oaW50XCI+e3sgZmlsdGVyc0Vycm9yKCkgfX08L21hdC1oaW50PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG1hdC1oaW50PlBhc3NlZCB0byB0aGUgbG9hZGVyLCBlLmcuICYjMTIzO1wiaXNFbXBsb3llZVwiOiBmYWxzZSYjMTI1Oy48L21hdC1oaW50PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICA8IS0tIENhc2NhZGUgLS0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIj5DYXNjYWRlPC9zcGFuPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJkZWItZnVsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+UGFyZW50IGZpZWxkPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW50aXR5LXJlZi1wYXJlbnRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwicmVmKGYpLnBhcmVudEZpZWxkID8/ICcnXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBhdGNoUmVmKGYsIHsgcGFyZW50RmllbGQ6ICRldmVudCB8fCB1bmRlZmluZWQgfSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiXCI+Tm9uZSDigJQgbG9hZCBhbGwgb3B0aW9uczwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIEBmb3IgKGNhbmRpZGF0ZSBvZiBwYXJlbnRDYW5kaWRhdGVzKCk7IHRyYWNrIGNhbmRpZGF0ZS5pZCkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiY2FuZGlkYXRlLmlkXCI+e3sgZmllbGRMYWJlbChjYW5kaWRhdGUpIH19ICh7eyBjYW5kaWRhdGUuaWQgfX0pPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8bWF0LWhpbnQ+VGhpcyBmaWVsZCdzIG9wdGlvbnMgcmVsb2FkIHdoZW5ldmVyIHRoZSBwYXJlbnQgY2hhbmdlcy48L21hdC1oaW50PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIEBpZiAocmVmKGYpLnBhcmVudEZpZWxkKSB7XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+TG9va3VwIGZpbHRlciBwYXRoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbnRpdHktcmVmLWxvb2t1cC1maWx0ZXJcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJyZWYoZikubG9va3VwRmlsdGVyID8/ICcnXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGF0Y2hSZWYoZiwgeyBsb29rdXBGaWx0ZXI6ICRldmVudCB8fCB1bmRlZmluZWQgfSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxtYXQtaGludD5LZWVwIG9wdGlvbnMgd2hvc2UgcmVjb3JkIG1hdGNoZXMgdGhlIHBhcmVudCB2YWx1ZSBhdCB0aGlzIHBhdGguPC9tYXQtaGludD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+TG9va3VwIHBhdGggKG5lc3RlZCBvcHRpb25zKTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW50aXR5LXJlZi1sb29rdXAtcGF0aFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJlZihmKS5sb29rdXBQYXRoID8/ICcnXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGF0Y2hSZWYoZiwgeyBsb29rdXBQYXRoOiAkZXZlbnQgfHwgdW5kZWZpbmVkIH0pXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+VGFrZSBvcHRpb25zIGZyb20gdGhpcyBhcnJheSBvbiB0aGUgc2VsZWN0ZWQgcGFyZW50J3MgcmVjb3JkIGluc3RlYWQuPC9tYXQtaGludD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICB9XG5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG5cbiAgICAgICAgPCEtLSBhdXRvUGF0Y2ggLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWItcm93IGRlYi1yb3ctLXNwbGl0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWItc2VjdGlvbi10aXRsZVwiPkF1dG8tcGF0Y2ggb24gc2VsZWN0PC9zcGFuPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImFkZC1hdXRvLXBhdGNoXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5hZGRBdXRvUGF0Y2hNYXBwaW5nKGYuaWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gTWFwcGluZ1xuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGYuYXV0b1BhdGNoKSB7XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiZGViLWZ1bGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+VGFyZ2V0IHRhYjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhdXRvLXBhdGNoLXRhYlwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImYuYXV0b1BhdGNoLnRhcmdldFRhYlwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnNldEF1dG9QYXRjaFRhcmdldFRhYihmLmlkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHN0b3JlLnRhYnMoKTsgdHJhY2sgdGFiLmlkKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInRhYi5pZFwiPnt7IHRhYkxhYmVsKHRhYi5pZCkgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgQGZvciAobWFwcGluZyBvZiBmLmF1dG9QYXRjaC5tYXBwaW5nczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLW9wdGlvbi1yb3dcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U291cmNlIChsaW5rZWQgcmVjb3JkKTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1hcHBpbmcuc291cmNlXCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInN0b3JlLnVwZGF0ZUF1dG9QYXRjaE1hcHBpbmcoZi5pZCwgJGluZGV4LCB7IHNvdXJjZTogJGV2ZW50IH0pXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UYXJnZXQgZmllbGQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJtYXBwaW5nLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzdG9yZS51cGRhdGVBdXRvUGF0Y2hNYXBwaW5nKGYuaWQsICRpbmRleCwgeyB0YXJnZXQ6ICRldmVudCB9KVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlbW92ZSBtYXBwaW5nXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUucmVtb3ZlQXV0b1BhdGNoTWFwcGluZyhmLmlkLCAkaW5kZXgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJkZWItaGludFwiPlxuICAgICAgICAgICAgTm8gYXV0by1wYXRjaCBjb25maWd1cmVkIOKAlCBzZWxlY3RpbmcgYSByZWZlcmVuY2Ugd2lsbCBub3QgY29weSBhbnkgdmFsdWVzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGViLWVudGl0eS1yZWYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG4gICAgICAuZGViLWZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5kZWItcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZGViLXJvdy0tc3BsaXQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgICAuZGViLW9wdGlvbi1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5kZWItb3B0aW9uLXJvdyA+IG1hdC1mb3JtLWZpZWxkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5kZWItZXJyb3ItaGludCB7XG4gICAgICAgIGNvbG9yOiAjYjkxYzFjO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eVJlZmVyZW5jZUNvbmZpZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChCdWlsZGVyU3RvcmUpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWVsZCA9IHRoaXMuc3RvcmUuc2VsZWN0ZWRGaWVsZDtcblxuICAvKiogU2libGluZyBmaWVsZHMgdGhhdCBjYW4gZHJpdmUgYSBjYXNjYWRlIOKAlCBhbnl0aGluZyBidXQgdGhpcyBmaWVsZCBpdHNlbGYuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwYXJlbnRDYW5kaWRhdGVzID0gY29tcHV0ZWQ8TmVzdGVkRmllbGRDb25maWdbXT4oKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmZpZWxkKCk7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZmllbGRzKCkuZmlsdGVyKGYgPT4gZi5pZCAhPT0gY3VycmVudD8uaWQpO1xuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcnNQYXJzZUVycm9yID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyc0Vycm9yID0gdGhpcy5maWx0ZXJzUGFyc2VFcnJvci5hc1JlYWRvbmx5KCk7XG5cbiAgcHJvdGVjdGVkIHJlZihmaWVsZDogTmVzdGVkRmllbGRDb25maWcpIHtcbiAgICByZXR1cm4gZmllbGQuZW50aXR5UmVmZXJlbmNlID8/IHsgZW5hYmxlZDogdHJ1ZSB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhdGNoUmVmKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZywgcGF0Y2g6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS51cGRhdGVFbnRpdHlSZWZlcmVuY2UoZmllbGQuaWQsIHBhdGNoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWVsZExhYmVsKGZpZWxkOiBOZXN0ZWRGaWVsZENvbmZpZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlc29sdmVMYWJlbChmaWVsZC5sYWJlbCwgdGhpcy5zdG9yZS5hY3RpdmVMYW5ndWFnZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YWJMYWJlbCh0YWJJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLnN0b3JlLnRhYnMoKS5maW5kKHQgPT4gdC5pZCA9PT0gdGFiSWQpO1xuICAgIHJldHVybiB0YWIgPyByZXNvbHZlTGFiZWwodGFiLmxhYmVsLCB0aGlzLnN0b3JlLmFjdGl2ZUxhbmd1YWdlKCkpIDogdGFiSWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzcGxheUZpZWxkc1RleHQoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucmVmKGZpZWxkKS5kaXNwbGF5RmllbGRzID8/IFtdKS5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldERpc3BsYXlGaWVsZHMoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGFydHMgPSB2YWx1ZVxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAocyA9PiBzLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgdGhpcy5wYXRjaFJlZihmaWVsZCwgeyBkaXNwbGF5RmllbGRzOiBwYXJ0cy5sZW5ndGggPyBwYXJ0cyA6IHVuZGVmaW5lZCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJzVGV4dChmaWVsZDogTmVzdGVkRmllbGRDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLnJlZihmaWVsZCkuZmlsdGVycztcbiAgICByZXR1cm4gZmlsdGVycyA/IEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpIDogJyc7XG4gIH1cblxuICAvKiogSW52YWxpZCBKU09OIGlzIHJlcG9ydGVkIGlubGluZSBhbmQgbGVmdCB1bmFwcGxpZWQgcmF0aGVyIHRoYW4gc2lsZW50bHkgZHJvcHBlZC4gKi9cbiAgcHJvdGVjdGVkIHNldEZpbHRlcnMoZmllbGQ6IE5lc3RlZEZpZWxkQ29uZmlnLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyc1BhcnNlRXJyb3Iuc2V0KG51bGwpO1xuICAgICAgdGhpcy5wYXRjaFJlZihmaWVsZCwgeyBmaWx0ZXJzOiB1bmRlZmluZWQgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRyaW1tZWQpO1xuICAgICAgaWYgKHR5cGVvZiBwYXJzZWQgIT09ICdvYmplY3QnIHx8IHBhcnNlZCA9PT0gbnVsbCB8fCBBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzUGFyc2VFcnJvci5zZXQoJ0ZpbHRlcnMgbXVzdCBiZSBhIEpTT04gb2JqZWN0LicpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlcnNQYXJzZUVycm9yLnNldChudWxsKTtcbiAgICAgIHRoaXMucGF0Y2hSZWYoZmllbGQsIHsgZmlsdGVyczogcGFyc2VkIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5maWx0ZXJzUGFyc2VFcnJvci5zZXQoJ0ludmFsaWQgSlNPTi4nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
2
  import { MatButtonModule } from '@angular/material/button';
3
3
  import { MatIconModule } from '@angular/material/icon';
4
4
  import { MatTooltipModule } from '@angular/material/tooltip';
@@ -30,11 +30,11 @@ export class FieldPaletteComponent {
30
30
  </button>
31
31
  }
32
32
  </div>
33
- `, isInline: true, styles: [".deb-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deb-palette__item{justify-content:flex-start;overflow:hidden;border-radius:8px!important;border:1px solid var(--border, #e2e8f0)!important;padding:8px 12px!important;font-family:var(--font-heading, inherit)!important;font-weight:600!important;font-size:13px!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;background:#fff!important}.deb-palette__item:hover{border-color:#6366f1!important;background:#f5f3ff!important;color:#4f46e5!important;transform:translateY(-1px);box-shadow:0 4px 12px #6366f126!important}.deb-palette__item mat-icon{color:#6366f1;margin-right:6px;font-size:18px;width:18px;height:18px}.deb-palette__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
33
+ `, isInline: true, styles: [".deb-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deb-palette__item{justify-content:flex-start;overflow:hidden;border-radius:8px!important;border:1px solid var(--border, #e2e8f0)!important;padding:8px 12px!important;font-family:var(--font-heading, inherit)!important;font-weight:600!important;font-size:13px!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;background:#fff!important}.deb-palette__item:hover{border-color:#6366f1!important;background:#f5f3ff!important;color:#4f46e5!important;transform:translateY(-1px);box-shadow:0 4px 12px #6366f126!important}.deb-palette__item mat-icon{color:#6366f1;margin-right:6px;font-size:18px;width:18px;height:18px}.deb-palette__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldPaletteComponent, decorators: [{
36
36
  type: Component,
37
- args: [{ selector: 'ngx-field-palette', standalone: true, imports: [MatButtonModule, MatIconModule, MatTooltipModule], template: `
37
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ngx-field-palette', standalone: true, imports: [MatButtonModule, MatIconModule, MatTooltipModule], template: `
38
38
  <div class="deb-palette">
39
39
  @for (meta of catalog; track meta.type) {
40
40
  <button
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
54
54
  }], propDecorators: { pick: [{
55
55
  type: Output
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcGFsZXR0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcGFsZXR0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQUUxRTs7R0FFRztBQStESCxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLE9BQU8sR0FBNkIsa0JBQWtCLENBQUM7SUFFdEQsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO3dHQUh4QyxxQkFBcUI7NEZBQXJCLHFCQUFxQix3R0ExRHRCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JULDgwQkFqQlMsZUFBZSwyTkFBRSxhQUFhLG1MQUFFLGdCQUFnQjs7NEZBMkQvQyxxQkFBcUI7a0JBOURqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFlBQ2pEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUOzhCQTZDUyxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHR5cGUgeyBSaWNoRmllbGRUeXBlIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgRklFTERfVFlQRV9DQVRBTE9HLCB0eXBlIEZpZWxkVHlwZU1ldGEgfSBmcm9tICcuLi9maWVsZC1jYXRhbG9nJztcblxuLyoqXG4gKiBGaWVsZFBhbGV0dGVDb21wb25lbnQg4oCUIHRoZSBsaXN0IG9mIGJ1aWxkYWJsZSBmaWVsZCB0eXBlcyAoQW5ndWxhciBNYXRlcmlhbCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1maWVsZC1wYWxldHRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlYi1wYWxldHRlXCI+XG4gICAgICBAZm9yIChtZXRhIG9mIGNhdGFsb2c7IHRyYWNrIG1ldGEudHlwZSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJkZWItcGFsZXR0ZV9faXRlbVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3BhbGV0dGUtJyArIG1ldGEudHlwZVwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwibWV0YS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInBpY2suZW1pdChtZXRhLnR5cGUpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj57eyBtZXRhLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7IG1ldGEubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGViLXBhbGV0dGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1wYWxldHRlX19pdGVtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLCAjZTJlOGYwKSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLCBpbmhlcml0KSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmRlYi1wYWxldHRlX19pdGVtOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjM2NmYxICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWYzZmYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICM0ZjQ2ZTUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjE1KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmRlYi1wYWxldHRlX19pdGVtIG1hdC1pY29uIHtcbiAgICAgICAgY29sb3I6ICM2MzY2ZjE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB9XG4gICAgICAuZGViLXBhbGV0dGVfX2l0ZW0gc3BhbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkUGFsZXR0ZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNhdGFsb2c6IHJlYWRvbmx5IEZpZWxkVHlwZU1ldGFbXSA9IEZJRUxEX1RZUEVfQ0FUQUxPRztcblxuICBAT3V0cHV0KCkgcGljayA9IG5ldyBFdmVudEVtaXR0ZXI8UmljaEZpZWxkVHlwZT4oKTtcbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcGFsZXR0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcGFsZXR0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQUUxRTs7R0FFRztBQWdFSCxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLE9BQU8sR0FBNkIsa0JBQWtCLENBQUM7SUFFdEQsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO3dHQUh4QyxxQkFBcUI7NEZBQXJCLHFCQUFxQix3R0ExRHRCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JULDgwQkFqQlMsZUFBZSwyTkFBRSxhQUFhLG1MQUFFLGdCQUFnQjs7NEZBMkQvQyxxQkFBcUI7a0JBL0RqQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsWUFDakQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7OEJBNkNTLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHR5cGUgeyBSaWNoRmllbGRUeXBlIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgRklFTERfVFlQRV9DQVRBTE9HLCB0eXBlIEZpZWxkVHlwZU1ldGEgfSBmcm9tICcuLi9maWVsZC1jYXRhbG9nJztcblxuLyoqXG4gKiBGaWVsZFBhbGV0dGVDb21wb25lbnQg4oCUIHRoZSBsaXN0IG9mIGJ1aWxkYWJsZSBmaWVsZCB0eXBlcyAoQW5ndWxhciBNYXRlcmlhbCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZ3gtZmllbGQtcGFsZXR0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkZWItcGFsZXR0ZVwiPlxuICAgICAgQGZvciAobWV0YSBvZiBjYXRhbG9nOyB0cmFjayBtZXRhLnR5cGUpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZGViLXBhbGV0dGVfX2l0ZW1cIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidwYWxldHRlLScgKyBtZXRhLnR5cGVcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIm1ldGEuZGVzY3JpcHRpb25cIlxuICAgICAgICAgIChjbGljayk9XCJwaWNrLmVtaXQobWV0YS50eXBlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24+e3sgbWV0YS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBtZXRhLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlYi1wYWxldHRlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5kZWItcGFsZXR0ZV9faXRlbSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlciwgI2UyZThmMCkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZywgaW5oZXJpdCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMThzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5kZWItcGFsZXR0ZV9faXRlbTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzYzNjZmMSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmM2ZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjNGY0NmU1ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xNSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5kZWItcGFsZXR0ZV9faXRlbSBtYXQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjNjM2NmYxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1wYWxldHRlX19pdGVtIHNwYW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFBhbGV0dGVDb21wb25lbnQge1xuICByZWFkb25seSBjYXRhbG9nOiByZWFkb25seSBGaWVsZFR5cGVNZXRhW10gPSBGSUVMRF9UWVBFX0NBVEFMT0c7XG5cbiAgQE91dHB1dCgpIHBpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFJpY2hGaWVsZFR5cGU+KCk7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, inject, signal } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
2
2
  import { MatButtonModule } from '@angular/material/button';
3
3
  import { MatIconModule } from '@angular/material/icon';
4
4
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
@@ -99,7 +99,7 @@ export class FieldRulesListComponent {
99
99
  <button
100
100
  mat-icon-button
101
101
  type="button"
102
- matTooltip="Move up"
102
+ matTooltip="Move up" aria-label="Move rule up"
103
103
  [attr.data-testid]="'rule-up-' + rule.id"
104
104
  (click)="store.moveRule(rule.id!, -1)"
105
105
  >
@@ -108,7 +108,7 @@ export class FieldRulesListComponent {
108
108
  <button
109
109
  mat-icon-button
110
110
  type="button"
111
- matTooltip="Move down"
111
+ matTooltip="Move down" aria-label="Move rule down"
112
112
  [attr.data-testid]="'rule-down-' + rule.id"
113
113
  (click)="store.moveRule(rule.id!, 1)"
114
114
  >
@@ -137,11 +137,11 @@ export class FieldRulesListComponent {
137
137
  </div>
138
138
  }
139
139
  </div>
140
- `, isInline: true, styles: [".deb-rules{display:flex;flex-direction:column;gap:8px}.deb-rules__head{display:flex;align-items:center;justify-content:space-between}.deb-rule-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.deb-rule-item--off{opacity:.55}.deb-rule-item__body{display:flex;flex-direction:column;min-width:0}.deb-rule-item__summary{font-size:13px;font-weight:600;overflow-wrap:anywhere}.deb-rule-item__meta{font-size:11px;color:#6b7280}.deb-rule-item__actions{display:flex;align-items:center;flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: RuleFormComponent, selector: "ngx-rule-form", inputs: ["rule"], outputs: ["save", "cancel"] }] });
140
+ `, isInline: true, styles: [".deb-rules{display:flex;flex-direction:column;gap:8px}.deb-rules__head{display:flex;align-items:center;justify-content:space-between}.deb-rule-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.deb-rule-item--off{opacity:.55}.deb-rule-item__body{display:flex;flex-direction:column;min-width:0}.deb-rule-item__summary{font-size:13px;font-weight:600;overflow-wrap:anywhere}.deb-rule-item__meta{font-size:11px;color:#6b7280}.deb-rule-item__actions{display:flex;align-items:center;flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: RuleFormComponent, selector: "ngx-rule-form", inputs: ["rule"], outputs: ["save", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
141
  }
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldRulesListComponent, decorators: [{
143
143
  type: Component,
144
- args: [{ selector: 'ngx-field-rules-list', standalone: true, imports: [MatButtonModule, MatIconModule, MatSlideToggleModule, MatTooltipModule, RuleFormComponent], template: `
144
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ngx-field-rules-list', standalone: true, imports: [MatButtonModule, MatIconModule, MatSlideToggleModule, MatTooltipModule, RuleFormComponent], template: `
145
145
  <div class="deb-rules">
146
146
  <div class="deb-rules__head">
147
147
  <span class="deb-section-title">Rules</span>
@@ -181,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
181
181
  <button
182
182
  mat-icon-button
183
183
  type="button"
184
- matTooltip="Move up"
184
+ matTooltip="Move up" aria-label="Move rule up"
185
185
  [attr.data-testid]="'rule-up-' + rule.id"
186
186
  (click)="store.moveRule(rule.id!, -1)"
187
187
  >
@@ -190,7 +190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
190
190
  <button
191
191
  mat-icon-button
192
192
  type="button"
193
- matTooltip="Move down"
193
+ matTooltip="Move down" aria-label="Move rule down"
194
194
  [attr.data-testid]="'rule-down-' + rule.id"
195
195
  (click)="store.moveRule(rule.id!, 1)"
196
196
  >
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
221
221
  </div>
222
222
  `, styles: [".deb-rules{display:flex;flex-direction:column;gap:8px}.deb-rules__head{display:flex;align-items:center;justify-content:space-between}.deb-rule-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.deb-rule-item--off{opacity:.55}.deb-rule-item__body{display:flex;flex-direction:column;min-width:0}.deb-rule-item__summary{font-size:13px;font-weight:600;overflow-wrap:anywhere}.deb-rule-item__meta{font-size:11px;color:#6b7280}.deb-rule-item__actions{display:flex;align-items:center;flex:0 0 auto}\n"] }]
223
223
  }] });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUUxRDs7O0dBR0c7QUFrSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEQseUZBQXlGO0lBQ3RFLE9BQU8sR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBRWpELFdBQVc7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksUUFBUTtZQUNwRCxPQUFPO1lBQ1AsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUM1QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFjO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxNQUFNLENBQUMsSUFBYztRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxTQUFTLENBQUMsSUFBYztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVTthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE9BQU87Z0JBQzVELENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLE1BQU0sTUFBTSxFQUFFLENBQUM7SUFDL0MsQ0FBQzt3R0EvQ1UsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ0ZBN0h4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVULDJvQkEvRVMsZUFBZSx3VUFBRSxhQUFhLG1MQUFFLG9CQUFvQixrV0FBRSxnQkFBZ0IsNlRBQUUsaUJBQWlCOzs0RkE4SHhGLHVCQUF1QjtrQkFqSW5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsWUFDMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgdHlwZSB7IEZvcm1SdWxlIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJy4uL2Nsb25lJztcbmltcG9ydCB7IFJ1bGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWZvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBGaWVsZFJ1bGVzTGlzdENvbXBvbmVudCDigJQgdGhlIHJ1bGVzIGF0dGFjaGVkIHRvIHRoZSBzZWxlY3RlZCBmaWVsZDogdmlldywgcmVvcmRlcixcbiAqIGVuYWJsZS9kaXNhYmxlLCBlZGl0LCBkZWxldGUuIGBSdWxlRm9ybUNvbXBvbmVudGAgYXV0aG9ycyBvbmUgcnVsZTsgdGhpcyBvd25zIHRoZSBzZXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1maWVsZC1ydWxlcy1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0U2xpZGVUb2dnbGVNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIFJ1bGVGb3JtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGVzX19oZWFkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXNlY3Rpb24tdGl0bGVcIj5SdWxlczwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRkLXJ1bGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhc3RvcmUuc2VsZWN0ZWRGaWVsZElkKClcIlxuICAgICAgICAgIChjbGljayk9XCJzdGFydENyZWF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPiBSdWxlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoZWRpdGluZygpOyBhcyBkcmFmdCkge1xuICAgICAgICA8bmd4LXJ1bGUtZm9ybSBbcnVsZV09XCJkcmFmdFwiIChzYXZlKT1cImNvbW1pdCgkZXZlbnQpXCIgKGNhbmNlbCk9XCJlZGl0aW5nLnNldChudWxsKVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc3RvcmUucnVsZXNGb3JTZWxlY3RlZEZpZWxkKCkubGVuZ3RoID09PSAwICYmICFlZGl0aW5nKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJkZWItaGludFwiIGRhdGEtdGVzdGlkPVwicnVsZXMtZW1wdHlcIj5ObyBydWxlcyBvbiB0aGlzIGZpZWxkLjwvcD5cbiAgICAgIH1cblxuICAgICAgQGZvciAocnVsZSBvZiBzdG9yZS5ydWxlc0ZvclNlbGVjdGVkRmllbGQoKTsgdHJhY2sgcnVsZS5pZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZGViLXJ1bGUtaXRlbVwiIFtjbGFzcy5kZWItcnVsZS1pdGVtLS1vZmZdPVwiIXJ1bGUuZW5hYmxlZFwiIGRhdGEtdGVzdGlkPVwicnVsZS1pdGVtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX2JvZHlcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fc3VtbWFyeVwiPnt7IHN1bW1hcml6ZShydWxlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGViLXJ1bGUtaXRlbV9fbWV0YVwiPlxuICAgICAgICAgICAgICBwcmlvcml0eSB7eyBydWxlLnByaW9yaXR5IH19IMK3IHt7IHJ1bGUudGFyZ2V0cy5sZW5ndGggfX0gdGFyZ2V0KHMpXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInJ1bGUuZW5hYmxlZFwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFbmFibGUgLyBkaXNhYmxlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzdG9yZS50b2dnbGVSdWxlKHJ1bGUuaWQhLCAkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSB1cFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidydWxlLXVwLScgKyBydWxlLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAtMSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIGRvd25cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1kb3duLScgKyBydWxlLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3JlLm1vdmVSdWxlKHJ1bGUuaWQhLCAxKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRWRpdCBydWxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3J1bGUtZWRpdC0nICsgcnVsZS5pZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdGFydEVkaXQocnVsZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIHJ1bGVcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1kZWxldGUtJyArIHJ1bGUuaWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUucmVtb3ZlUnVsZShydWxlLmlkISlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlYi1ydWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlc19faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtLS1vZmYge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLWl0ZW1fX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fc3VtbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6ICM2YjcyODA7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkUnVsZXNMaXN0Q29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KEJ1aWxkZXJTdG9yZSk7XG5cbiAgLyoqIFRoZSBydWxlIGN1cnJlbnRseSBvcGVuIGluIHRoZSBlZGl0b3Ig4oCUIGEgbmV3IGRyYWZ0IG9yIGEgY29weSBvZiBhbiBleGlzdGluZyBydWxlLiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdGluZyA9IHNpZ25hbDxGb3JtUnVsZSB8IG51bGw+KG51bGwpO1xuXG4gIHByb3RlY3RlZCBzdGFydENyZWF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZElkID0gdGhpcy5zdG9yZS5zZWxlY3RlZEZpZWxkSWQoKTtcbiAgICBpZiAoIWZpZWxkSWQpIHJldHVybjtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KHtcbiAgICAgIGZvcm1Db25maWdJZDogdGhpcy5zdG9yZS5jb25maWcoKS5lbnRpdHkgfHwgJ2Zvcm0tMScsXG4gICAgICBmaWVsZElkLFxuICAgICAgY29uZGl0aW9uczogW3sgb3BlcmF0b3I6ICdFUVVBTCcsIGNvbXBhcmVUeXBlOiAndmFsdWUnLCB2YWx1ZTogJycgfV0sXG4gICAgICBhY3Rpb246IHsgdHlwZTogJ3Zpc2liaWxpdHknLCB2YWx1ZTogZmFsc2UgfSxcbiAgICAgIHRhcmdldHM6IFt7IGlkOiBmaWVsZElkLCB0eXBlOiAnZmllbGQnIH1dLFxuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIHByaW9yaXR5OiB0aGlzLnN0b3JlLnJ1bGVzKCkubGVuZ3RoICsgMSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGFydEVkaXQocnVsZTogRm9ybVJ1bGUpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KGRlZXBDbG9uZShydWxlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tbWl0KHJ1bGU6IEZvcm1SdWxlKTogdm9pZCB7XG4gICAgaWYgKHJ1bGUuaWQpIHRoaXMuc3RvcmUudXBkYXRlUnVsZShydWxlLmlkLCBydWxlKTtcbiAgICBlbHNlIHRoaXMuc3RvcmUuYWRkUnVsZShydWxlKTtcbiAgICB0aGlzLmVkaXRpbmcuc2V0KG51bGwpO1xuICB9XG5cbiAgLyoqIE9uZS1saW5lIGh1bWFuIHN1bW1hcnk6IGBzdGF0dXMgRVFVQUwgXCJhcmNoaXZlZFwiIOKGkiBoaWRlYC4gKi9cbiAgcHJvdGVjdGVkIHN1bW1hcml6ZShydWxlOiBGb3JtUnVsZSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZCA9IHJ1bGUuY29uZGl0aW9uc1xuICAgICAgLm1hcChjID0+IHtcbiAgICAgICAgY29uc3QgcmhzID0gYy5jb21wYXJlVHlwZSA9PT0gJ2ZpZWxkJyA/IGMuY29tcGFyZVRvRmllbGQgOiBKU09OLnN0cmluZ2lmeShjLnZhbHVlID8/ICcnKTtcbiAgICAgICAgcmV0dXJuIGAke2Mub3BlcmF0b3J9ICR7cmhzID8/ICcnfWAudHJpbSgpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuXG4gICAgY29uc3QgYWN0aW9uID1cbiAgICAgIHJ1bGUuYWN0aW9uLnR5cGUgPT09ICd2aXNpYmlsaXR5J1xuICAgICAgICA/IHJ1bGUuYWN0aW9uLnZhbHVlID09PSBmYWxzZSB8fCBydWxlLmFjdGlvbi52YWx1ZSA9PT0gJ2ZhbHNlJ1xuICAgICAgICAgID8gJ2hpZGUnXG4gICAgICAgICAgOiAnc2hvdydcbiAgICAgICAgOiBgJHtydWxlLmFjdGlvbi50eXBlfTogJHtydWxlLmFjdGlvbi52YWx1ZX1gO1xuXG4gICAgcmV0dXJuIGAke3J1bGUuZmllbGRJZH0gJHtjb25kfSDihpIgJHthY3Rpb259YDtcbiAgfVxufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZmllbGQtcnVsZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUUxRDs7O0dBR0c7QUFtSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFaEQseUZBQXlGO0lBQ3RFLE9BQU8sR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBRWpELFdBQVc7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksUUFBUTtZQUNwRCxPQUFPO1lBQ1AsVUFBVSxF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b3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgdHlwZSB7IEZvcm1SdWxlIH0gZnJvbSAnQGR5bmFtaWMtZW50aXR5L2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRlclN0b3JlIH0gZnJvbSAnLi4vYnVpbGRlci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJy4uL2Nsb25lJztcbmltcG9ydCB7IFJ1bGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWZvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBGaWVsZFJ1bGVzTGlzdENvbXBvbmVudCDigJQgdGhlIHJ1bGVzIGF0dGFjaGVkIHRvIHRoZSBzZWxlY3RlZCBmaWVsZDogdmlldywgcmVvcmRlcixcbiAqIGVuYWJsZS9kaXNhYmxlLCBlZGl0LCBkZWxldGUuIGBSdWxlRm9ybUNvbXBvbmVudGAgYXV0aG9ycyBvbmUgcnVsZTsgdGhpcyBvd25zIHRoZSBzZXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc2VsZWN0b3I6ICduZ3gtZmllbGQtcnVsZXMtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBSdWxlRm9ybUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlc19faGVhZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1zZWN0aW9uLXRpdGxlXCI+UnVsZXM8L3NwYW4+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImFkZC1ydWxlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN0b3JlLnNlbGVjdGVkRmllbGRJZCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwic3RhcnRDcmVhdGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj4gUnVsZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGVkaXRpbmcoKTsgYXMgZHJhZnQpIHtcbiAgICAgICAgPG5neC1ydWxlLWZvcm0gW3J1bGVdPVwiZHJhZnRcIiAoc2F2ZSk9XCJjb21taXQoJGV2ZW50KVwiIChjYW5jZWwpPVwiZWRpdGluZy5zZXQobnVsbClcIiAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKHN0b3JlLnJ1bGVzRm9yU2VsZWN0ZWRGaWVsZCgpLmxlbmd0aCA9PT0gMCAmJiAhZWRpdGluZygpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiZGViLWhpbnRcIiBkYXRhLXRlc3RpZD1cInJ1bGVzLWVtcHR5XCI+Tm8gcnVsZXMgb24gdGhpcyBmaWVsZC48L3A+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHJ1bGUgb2Ygc3RvcmUucnVsZXNGb3JTZWxlY3RlZEZpZWxkKCk7IHRyYWNrIHJ1bGUuaWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1cIiBbY2xhc3MuZGViLXJ1bGUtaXRlbS0tb2ZmXT1cIiFydWxlLmVuYWJsZWRcIiBkYXRhLXRlc3RpZD1cInJ1bGUtaXRlbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1pdGVtX19ib2R5XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX3N1bW1hcnlcIj57eyBzdW1tYXJpemUocnVsZSkgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRlYi1ydWxlLWl0ZW1fX21ldGFcIj5cbiAgICAgICAgICAgICAgcHJpb3JpdHkge3sgcnVsZS5wcmlvcml0eSB9fSDCtyB7eyBydWxlLnRhcmdldHMubGVuZ3RoIH19IHRhcmdldChzKVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWItcnVsZS1pdGVtX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJydWxlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRW5hYmxlIC8gZGlzYWJsZVwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic3RvcmUudG9nZ2xlUnVsZShydWxlLmlkISwgJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgdXBcIiBhcmlhLWxhYmVsPVwiTW92ZSBydWxlIHVwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ3J1bGUtdXAtJyArIHJ1bGUuaWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZVJ1bGUocnVsZS5pZCEsIC0xKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgZG93blwiIGFyaWEtbGFiZWw9XCJNb3ZlIHJ1bGUgZG93blwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidydWxlLWRvd24tJyArIHJ1bGUuaWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcmUubW92ZVJ1bGUocnVsZS5pZCEsIDEpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJFZGl0IHJ1bGVcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCIncnVsZS1lZGl0LScgKyBydWxlLmlkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0RWRpdChydWxlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEZWxldGUgcnVsZVwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidydWxlLWRlbGV0ZS0nICsgcnVsZS5pZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdG9yZS5yZW1vdmVSdWxlKHJ1bGUuaWQhKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGViLXJ1bGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGVzX19oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgfVxuICAgICAgLmRlYi1ydWxlLWl0ZW0tLW9mZiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICB9XG4gICAgICAuZGViLXJ1bGUtaXRlbV9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtX19zdW1tYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtX19tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogIzZiNzI4MDtcbiAgICAgIH1cbiAgICAgIC5kZWItcnVsZS1pdGVtX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRSdWxlc0xpc3RDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoQnVpbGRlclN0b3JlKTtcblxuICAvKiogVGhlIHJ1bGUgY3VycmVudGx5IG9wZW4gaW4gdGhlIGVkaXRvciDigJQgYSBuZXcgZHJhZnQgb3IgYSBjb3B5IG9mIGFuIGV4aXN0aW5nIHJ1bGUuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBlZGl0aW5nID0gc2lnbmFsPEZvcm1SdWxlIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIHN0YXJ0Q3JlYXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpZWxkSWQgPSB0aGlzLnN0b3JlLnNlbGVjdGVkRmllbGRJZCgpO1xuICAgIGlmICghZmllbGRJZCkgcmV0dXJuO1xuICAgIHRoaXMuZWRpdGluZy5zZXQoe1xuICAgICAgZm9ybUNvbmZpZ0lkOiB0aGlzLnN0b3JlLmNvbmZpZygpLmVudGl0eSB8fCAnZm9ybS0xJyxcbiAgICAgIGZpZWxkSWQsXG4gICAgICBjb25kaXRpb25zOiBbeyBvcGVyYXRvcjogJ0VRVUFMJywgY29tcGFyZVR5cGU6ICd2YWx1ZScsIHZhbHVlOiAnJyB9XSxcbiAgICAgIGFjdGlvbjogeyB0eXBlOiAndmlzaWJpbGl0eScsIHZhbHVlOiBmYWxzZSB9LFxuICAgICAgdGFyZ2V0czogW3sgaWQ6IGZpZWxkSWQsIHR5cGU6ICdmaWVsZCcgfV0sXG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgcHJpb3JpdHk6IHRoaXMuc3RvcmUucnVsZXMoKS5sZW5ndGggKyAxLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXJ0RWRpdChydWxlOiBGb3JtUnVsZSk6IHZvaWQge1xuICAgIHRoaXMuZWRpdGluZy5zZXQoZGVlcENsb25lKHJ1bGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb21taXQocnVsZTogRm9ybVJ1bGUpOiB2b2lkIHtcbiAgICBpZiAocnVsZS5pZCkgdGhpcy5zdG9yZS51cGRhdGVSdWxlKHJ1bGUuaWQsIHJ1bGUpO1xuICAgIGVsc2UgdGhpcy5zdG9yZS5hZGRSdWxlKHJ1bGUpO1xuICAgIHRoaXMuZWRpdGluZy5zZXQobnVsbCk7XG4gIH1cblxuICAvKiogT25lLWxpbmUgaHVtYW4gc3VtbWFyeTogYHN0YXR1cyBFUVVBTCBcImFyY2hpdmVkXCIg4oaSIGhpZGVgLiAqL1xuICBwcm90ZWN0ZWQgc3VtbWFyaXplKHJ1bGU6IEZvcm1SdWxlKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25kID0gcnVsZS5jb25kaXRpb25zXG4gICAgICAubWFwKGMgPT4ge1xuICAgICAgICBjb25zdCByaHMgPSBjLmNvbXBhcmVUeXBlID09PSAnZmllbGQnID8gYy5jb21wYXJlVG9GaWVsZCA6IEpTT04uc3RyaW5naWZ5KGMudmFsdWUgPz8gJycpO1xuICAgICAgICByZXR1cm4gYCR7Yy5vcGVyYXRvcn0gJHtyaHMgPz8gJyd9YC50cmltKCk7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJyBBTkQgJyk7XG5cbiAgICBjb25zdCBhY3Rpb24gPVxuICAgICAgcnVsZS5hY3Rpb24udHlwZSA9PT0gJ3Zpc2liaWxpdHknXG4gICAgICAgID8gcnVsZS5hY3Rpb24udmFsdWUgPT09IGZhbHNlIHx8IHJ1bGUuYWN0aW9uLnZhbHVlID09PSAnZmFsc2UnXG4gICAgICAgICAgPyAnaGlkZSdcbiAgICAgICAgICA6ICdzaG93J1xuICAgICAgICA6IGAke3J1bGUuYWN0aW9uLnR5cGV9OiAke3J1bGUuYWN0aW9uLnZhbHVlfWA7XG5cbiAgICByZXR1cm4gYCR7cnVsZS5maWVsZElkfSAke2NvbmR9IOKGkiAke2FjdGlvbn1gO1xuICB9XG59XG4iXX0=