@yuuvis/client-framework 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +2 -2
  2. package/esm2022/forms/index.mjs +5 -1
  3. package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +32 -32
  4. package/esm2022/forms/lib/elements/number/number.component.mjs +3 -3
  5. package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +3 -3
  6. package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +38 -0
  7. package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +181 -0
  8. package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +2 -0
  9. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +98 -0
  10. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +2 -0
  11. package/esm2022/forms/lib/elements/string/string.component.mjs +10 -3
  12. package/esm2022/list/lib/list.component.mjs +6 -4
  13. package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +3 -3
  14. package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +5 -3
  15. package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +3 -3
  16. package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +2 -2
  17. package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +2 -2
  18. package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +2 -2
  19. package/fesm2022/yuuvis-client-framework-actions.mjs +1 -1
  20. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  21. package/fesm2022/yuuvis-client-framework-forms.mjs +339 -44
  22. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  23. package/fesm2022/yuuvis-client-framework-list.mjs +5 -3
  24. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  25. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +6 -4
  26. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  27. package/fesm2022/yuuvis-client-framework-object-details.mjs +2 -2
  28. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  29. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +2 -2
  30. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  31. package/fesm2022/yuuvis-client-framework-tile-list.mjs +1 -1
  32. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  33. package/forms/index.d.ts +4 -0
  34. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +2 -1
  35. package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +13 -0
  36. package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +33 -0
  37. package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +5 -0
  38. package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +28 -0
  39. package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +5 -0
  40. package/list/lib/list.component.d.ts +2 -1
  41. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +1 -0
  42. package/package.json +4 -4
@@ -38,6 +38,7 @@ export class ListComponent {
38
38
  });
39
39
  this._selection = [];
40
40
  this.multiselect = input(false);
41
+ this.selfHandleSelection = input(false);
41
42
  this.itemSelect = output();
42
43
  this.itemFocus = output();
43
44
  // autoselectFirst: boolean = (inject(new HostAttributeToken('autoselectFirst'), { optional: true }) || 'false') === 'true';
@@ -118,16 +119,17 @@ export class ListComponent {
118
119
  this._keyManager?.destroy();
119
120
  }
120
121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "yuv-list", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, disableSelection: { classPropertyName: "disableSelection", publicName: "disableSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", itemFocus: "itemFocus" }, host: { attributes: { "role": "listbox", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, queries: [{ propertyName: "items", predicate: ListItemDirective, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: A11yModule }], encapsulation: i0.ViewEncapsulation.None }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "yuv-list", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selfHandleSelection: { classPropertyName: "selfHandleSelection", publicName: "selfHandleSelection", isSignal: true, isRequired: false, transformFunction: null }, disableSelection: { classPropertyName: "disableSelection", publicName: "disableSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", itemFocus: "itemFocus" }, host: { attributes: { "role": "listbox", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "class.self-handle-selection": "selfHandleSelection()" } }, queries: [{ propertyName: "items", predicate: ListItemDirective, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list :not(.self-handle-selection) [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list :not(.self-handle-selection) [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: A11yModule }], encapsulation: i0.ViewEncapsulation.None }); }
122
123
  }
123
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
124
125
  type: Component,
125
126
  args: [{ selector: 'yuv-list', standalone: true, imports: [CommonModule, A11yModule], template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, host: {
126
127
  role: 'listbox',
127
- tabindex: '0'
128
- }, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"] }]
128
+ tabindex: '0',
129
+ '[class.self-handle-selection]': 'selfHandleSelection()',
130
+ }, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list :not(.self-handle-selection) [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list :not(.self-handle-selection) [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"] }]
129
131
  }], propDecorators: { onKeydown: [{
130
132
  type: HostListener,
131
133
  args: ['keydown', ['$event']]
132
134
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRDs7Ozs7Ozs7Ozs7R0FXRztBQWFILE1BQU0sT0FBTyxhQUFhO0lBWjFCO1FBYUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWU5QixVQUFLLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUNoQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLElB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NEZBU3ZCLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsWUFDekIsMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxHQUFHO3FCQUNkOzhCQUtvQyxTQUFTO3NCQUE3QyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUsIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QXR0cmlidXRlVG9rZW4sIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtaXRlbS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZW5kZXJpbmcgYSBzaW1wbGUgbGlzdCBvZiBpdGVtcy4gSXQgc3VwcG9ydHMga2V5Ym9hcmRcbiAqIG5hdmlnYXRpb24gYXMgd2VsbCBhcyBhY2Nlc3NhYmlsaXR5LiBUbyBjcmVhdGUgYSBsaXN0IGp1c3Qgd3JhcHBcbiAqIGB5dXZMaXN0SXRlbWAgZWxlbWVudHMgaW50byB0aGlzIGNvbXBvbmVudDpcbiAqXG4gKiBgYGB0c1xuICogPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gKiAgIDxkaXYgeXV2TGlzdEl0ZW0+RW50cnkgIzE8L2Rpdj5cbiAqICAgPGRpdiB5dXZMaXN0SXRlbT5FbnRyeSAjMjwvZGl2PlxuICogPC95dXYtbGlzdD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEExMXlNb2R1bGVdLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybDogJy4vbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgdGFiaW5kZXg6ICcwJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5KTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlbGVjdGlvbigpKSByZXR1cm47XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5jb2RlID09PSAnU3BhY2UnIHx8ICh0aGlzLnNlbGVjdE9uRW50ZXIgJiYgZXZlbnQuY29kZSA9PT0gJ0VudGVyJykpIHtcbiAgICAgIGNvbnN0IGFpaTogbnVtYmVyID0gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggIT09IG51bGwgPyB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA6IC0xO1xuICAgICAgaWYgKGFpaSA+PSAwKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdChhaWkpO1xuICAgICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHRoaXMuX2tleU1hbmFnZXI/Lm9uS2V5ZG93bihldmVudCk7XG4gIH1cbiAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oTGlzdEl0ZW1EaXJlY3RpdmUpO1xuICAjaXRlbXNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB0aGlzLl9rZXlNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gdGhpcy5ob3Jpem9udGFsXG4gICAgICA/IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCkud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLiNkaXIudmFsdWUpXG4gICAgICA6IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0ub25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3QoaW5kZXgsIGV2dC5zaGlmdEtleSwgZXZ0LmN0cmxLZXkpO1xuICAgICAgfTtcbiAgICAgIGl0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuX2xhc3RTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9sYXN0U2VsZWN0aW9uIDw9IHRoaXMuaXRlbXMoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0KHRoaXMuX2xhc3RTZWxlY3Rpb24pO1xuICAgIH1cbiAgfSk7XG4gIHByaXZhdGUgX2tleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxMaXN0SXRlbURpcmVjdGl2ZT47XG4gIHByaXZhdGUgX3NlbGVjdGlvbjogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbj86IG51bWJlcjtcblxuICBtdWx0aXNlbGVjdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBpdGVtU2VsZWN0ID0gb3V0cHV0PG51bWJlcltdPigpO1xuICBpdGVtRm9jdXMgPSBvdXRwdXQ8bnVtYmVyPigpO1xuXG4gIC8vIGF1dG9zZWxlY3RGaXJzdDogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignYXV0b3NlbGVjdEZpcnN0JyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcbiAgc2VsZWN0T25FbnRlcjogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignc2VsZWN0T25FbnRlcicpLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICdmYWxzZScpID09PSAndHJ1ZSc7XG4gIGhvcml6b250YWw6IGJvb2xlYW4gPSAoaW5qZWN0KG5ldyBIb3N0QXR0cmlidXRlVG9rZW4oJ2hvcml6b250YWwnKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAnZmFsc2UnKSA9PT0gJ3RydWUnO1xuICBkaXNhYmxlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHNlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0aW9uKCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5fa2V5TWFuYWdlcikge1xuICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0KGluZGV4LCBzaGlmdEtleSwgY3RybEtleSk7XG4gICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbi5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdCgtMSk7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuICAgICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB0aGlzLl9zZWxlY3Rpb24gPSBbXTtcbiAgICBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KCkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmZpbHRlcigoaSkgPT4gaSAhPT0gaW5kZXgpO1xuICAgICAgICBpZiAoY3RybEtleSkge1xuICAgICAgICAgIC8vIGlmIGN0cmwga2V5IGFkZCB0byBzZWxlY3Rpb25cbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hpZnRLZXkpIHtcbiAgICAgICAgICAvLyBhZGQgcmFuZ2VcbiAgICAgICAgICBpZiAodGhpcy5fbGFzdFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX2xhc3RTZWxlY3Rpb24gPCBpbmRleCA/IHRoaXMuX2xhc3RTZWxlY3Rpb24gOiBpbmRleDsgaSA8ICh0aGlzLl9sYXN0U2VsZWN0aW9uID4gaW5kZXggPyB0aGlzLl9sYXN0U2VsZWN0aW9uIDogaW5kZXgpOyBpKyspIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB0aGlzLl9zZWxlY3Rpb24gPSBbaW5kZXhdO1xuICAgIH1cbiAgICB0aGlzLl9sYXN0U2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGluZGV4O1xuICAgIHRoaXMuX3NlbGVjdGlvbi5zb3J0KCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbTogTGlzdEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4gKGl0ZW0uc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb24uaW5jbHVkZXMoaSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5pdGVtU2VsZWN0LmVtaXQodGhpcy5fc2VsZWN0aW9uKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2tleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRDs7Ozs7Ozs7Ozs7R0FXRztBQWNILE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBY0UsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWU5QixVQUFLLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUNoQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLElB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QWlCLDZDQXpCL0IsMkJBQTJCLHc5QkFEM0IsWUFBWSw4QkFBRSxVQUFVOzs0RkFVdkIsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUN6QiwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsUUFBUSxFQUFFLEdBQUc7d0JBQ2IsK0JBQStCLEVBQUUsdUJBQXVCO3FCQUN6RDs4QkFLb0MsU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlLCBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEF0dHJpYnV0ZVRva2VuLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbnRlbnRDaGlsZHJlbiwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LWl0ZW0uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVuZGVyaW5nIGEgc2ltcGxlIGxpc3Qgb2YgaXRlbXMuIEl0IHN1cHBvcnRzIGtleWJvYXJkXG4gKiBuYXZpZ2F0aW9uIGFzIHdlbGwgYXMgYWNjZXNzYWJpbGl0eS4gVG8gY3JlYXRlIGEgbGlzdCBqdXN0IHdyYXBwXG4gKiBgeXV2TGlzdEl0ZW1gIGVsZW1lbnRzIGludG8gdGhpcyBjb21wb25lbnQ6XG4gKlxuICogYGBgdHNcbiAqIDx5dXYtbGlzdCAoaXRlbVNlbGVjdCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICogICA8ZGl2IHl1dkxpc3RJdGVtPkVudHJ5ICMxPC9kaXY+XG4gKiAgIDxkaXYgeXV2TGlzdEl0ZW0+RW50cnkgIzI8L2Rpdj5cbiAqIDwveXV2LWxpc3Q+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBMTF5TW9kdWxlXSxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmw6ICcuL2xpc3QuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgIHRhYmluZGV4OiAnMCcsXG4gICAgJ1tjbGFzcy5zZWxmLWhhbmRsZS1zZWxlY3Rpb25dJzogJ3NlbGZIYW5kbGVTZWxlY3Rpb24oKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICNkaXIgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHkpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0aW9uKCkpIHJldHVybjtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdTcGFjZScgfHwgKHRoaXMuc2VsZWN0T25FbnRlciAmJiBldmVudC5jb2RlID09PSAnRW50ZXInKSkge1xuICAgICAgY29uc3QgYWlpOiBudW1iZXIgPSB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCAhPT0gbnVsbCA/IHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IDogLTE7XG4gICAgICBpZiAoYWlpID49IDApIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0KGFpaSk7XG4gICAgICAgIHRoaXMuX2VtaXRTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgdGhpcy5fa2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgfVxuICBpdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihMaXN0SXRlbURpcmVjdGl2ZSk7XG4gICNpdGVtc0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuX2tleU1hbmFnZXIpIHRoaXMuX2tleU1hbmFnZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2tleU1hbmFnZXIgPSB0aGlzLmhvcml6b250YWxcbiAgICAgID8gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMoKSkud2l0aFdyYXAoKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuI2Rpci52YWx1ZSlcbiAgICAgIDogbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMoKSkud2l0aFdyYXAoKTtcblxuICAgIHRoaXMuaXRlbXMoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5vbkNsaWNrID0gKGV2dDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdChpbmRleCwgZXZ0LnNoaWZ0S2V5LCBldnQuY3RybEtleSk7XG4gICAgICB9O1xuICAgICAgaXRlbS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBpZiAodGhpcy5fbGFzdFNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2xhc3RTZWxlY3Rpb24gPD0gdGhpcy5pdGVtcygpLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3QodGhpcy5fbGFzdFNlbGVjdGlvbik7XG4gICAgfVxuICB9KTtcbiAgcHJpdmF0ZSBfa2V5TWFuYWdlciE6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPExpc3RJdGVtRGlyZWN0aXZlPjtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBudW1iZXJbXSA9IFtdO1xuICBwcml2YXRlIF9sYXN0U2VsZWN0aW9uPzogbnVtYmVyO1xuXG4gIG11bHRpc2VsZWN0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBzZWxmSGFuZGxlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGl0ZW1TZWxlY3QgPSBvdXRwdXQ8bnVtYmVyW10+KCk7XG4gIGl0ZW1Gb2N1cyA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgLy8gYXV0b3NlbGVjdEZpcnN0OiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdhdXRvc2VsZWN0Rmlyc3QnKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAnZmFsc2UnKSA9PT0gJ3RydWUnO1xuICBzZWxlY3RPbkVudGVyOiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdzZWxlY3RPbkVudGVyJyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcbiAgaG9yaXpvbnRhbDogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignaG9yaXpvbnRhbCcpLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICdmYWxzZScpID09PSAndHJ1ZSc7XG4gIGRpc2FibGVTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgc2VsZWN0KGluZGV4OiBudW1iZXIsIHNoaWZ0S2V5ID0gZmFsc2UsIGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVTZWxlY3Rpb24oKSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLl9zZWxlY3QoaW5kZXgsIHNoaWZ0S2V5LCBjdHJsS2V5KTtcbiAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0KC0xKTtcbiAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2VsZWN0KGluZGV4OiBudW1iZXIsIHNoaWZ0S2V5ID0gZmFsc2UsIGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHRoaXMuX3NlbGVjdGlvbiA9IFtdO1xuICAgIGVsc2Uge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QoKSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb24gPSB0aGlzLl9zZWxlY3Rpb24uZmlsdGVyKChpKSA9PiBpICE9PSBpbmRleCk7XG4gICAgICAgIGlmIChjdHJsS2V5KSB7XG4gICAgICAgICAgLy8gaWYgY3RybCBrZXkgYWRkIHRvIHNlbGVjdGlvblxuICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5wdXNoKGluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChzaGlmdEtleSkge1xuICAgICAgICAgIC8vIGFkZCByYW5nZVxuICAgICAgICAgIGlmICh0aGlzLl9sYXN0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fbGFzdFNlbGVjdGlvbiA8IGluZGV4ID8gdGhpcy5fbGFzdFNlbGVjdGlvbiA6IGluZGV4OyBpIDwgKHRoaXMuX2xhc3RTZWxlY3Rpb24gPiBpbmRleCA/IHRoaXMuX2xhc3RTZWxlY3Rpb24gOiBpbmRleCk7IGkrKykge1xuICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gW2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgfVxuICAgIHRoaXMuX2xhc3RTZWxlY3Rpb24gPSB0aGlzLl9zZWxlY3Rpb24ubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogaW5kZXg7XG4gICAgdGhpcy5fc2VsZWN0aW9uLnNvcnQoKTtcblxuICAgIHRoaXMuaXRlbXMoKS5mb3JFYWNoKChpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZSwgaTogbnVtYmVyKSA9PiAoaXRlbS5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGlvbi5pbmNsdWRlcyhpKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdFNlbGVjdGlvbigpIHtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdCh0aGlzLl9zZWxlY3Rpb24pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
@@ -9,7 +9,7 @@ import * as i1 from "@angular/forms";
9
9
  import * as i2 from "@yuuvis/components/checkbox";
10
10
  export class MetadataDefaultTemplatesComponent {
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDefaultTemplatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataDefaultTemplatesComponent, isStandalone: true, selector: "yuv-metadata-default-templates", ngImport: i0, template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n > \n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n<yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number> \n } @else {\n \n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime> \n } @else {\n <yuv-datetime-range\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range> \n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: StringComponent, selector: "yuv-string", inputs: ["multiselect", "rows", "readonly", "autofocus", "classifications", "situation", "regex", "minLength", "maxLength"] }, { kind: "component", type: OrganizationComponent, selector: "yuv-organization", inputs: ["placeholder", "situation", "multiselect", "classifications", "readonly", "autofocus", "appendTo", "excludeMe", "withMetadata"], outputs: ["userSelect"] }, { kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "component", type: NumberRangeComponent, selector: "yuv-number-range", inputs: ["scale", "precision", "grouping", "pattern", "readonly", "classifications", "minValue", "maxValue"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["onlyFutureDates", "readonly", "withTime"] }, { kind: "component", type: DatetimeRangeComponent, selector: "yuv-datetime-range", inputs: ["withTime", "readonly", "operator"] }, { kind: "directive", type: MetadataElementTemplateDirective, selector: "[yuvMetadataElementTemplate]", inputs: ["yuvMetadataElementTemplate", "propertyType", "situation"] }, { kind: "ngmodule", type: YvcCheckboxModule }, { kind: "component", type: i2.CheckboxComponent, selector: "yvc-checkbox", inputs: ["tristate", "readonly"] }] }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataDefaultTemplatesComponent, isStandalone: true, selector: "yuv-metadata-default-templates", ngImport: i0, template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n >\n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime>\n } @else {\n <yuv-datetime-range\n [situation]=\"ctx.situation\"\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range>\n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: StringComponent, selector: "yuv-string", inputs: ["multiselect", "rows", "readonly", "autofocus", "classifications", "situation", "regex", "minLength", "maxLength"] }, { kind: "component", type: OrganizationComponent, selector: "yuv-organization", inputs: ["placeholder", "situation", "multiselect", "classifications", "readonly", "autofocus", "appendTo", "excludeMe", "withMetadata"], outputs: ["userSelect"] }, { kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "component", type: NumberRangeComponent, selector: "yuv-number-range", inputs: ["scale", "precision", "grouping", "pattern", "readonly", "classifications", "minValue", "maxValue"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["onlyFutureDates", "readonly", "withTime"] }, { kind: "component", type: DatetimeRangeComponent, selector: "yuv-datetime-range", inputs: ["withTime", "readonly", "operator", "situation"] }, { kind: "directive", type: MetadataElementTemplateDirective, selector: "[yuvMetadataElementTemplate]", inputs: ["yuvMetadataElementTemplate", "propertyType", "situation"] }, { kind: "ngmodule", type: YvcCheckboxModule }, { kind: "component", type: i2.CheckboxComponent, selector: "yvc-checkbox", inputs: ["tristate", "readonly"] }] }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDefaultTemplatesComponent, decorators: [{
15
15
  type: Component,
@@ -26,6 +26,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26
26
  DatetimeRangeComponent,
27
27
  MetadataElementTemplateDirective,
28
28
  YvcCheckboxModule
29
- ], template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n > \n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n<yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number> \n } @else {\n \n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime> \n } @else {\n <yuv-datetime-range\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range> \n }\n</ng-template>\n" }]
29
+ ], template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n >\n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime>\n } @else {\n <yuv-datetime-range\n [situation]=\"ctx.situation\"\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range>\n }\n</ng-template>\n" }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFzQmhFLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQzttR0FBakMsaUNBQWlDLDBGQ3BDOUMsOGpKQXNJQSx5RERsSEksWUFBWSw4QkFDWixtQkFBbUIsbWRBR25CLGVBQWUsb0xBQ2YscUJBQXFCLGdPQUNyQixlQUFlLDBLQUNmLG9CQUFvQiwyS0FDcEIsaUJBQWlCLDhHQUNqQixzQkFBc0IsNkdBQ3RCLGdDQUFnQyw2SUFDaEMsaUJBQWlCOzs0RkFLUixpQ0FBaUM7a0JBcEI3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixnQ0FBZ0M7d0JBQ2hDLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENhdGFsb2dDb21wb25lbnQsXG4gIERhdGV0aW1lQ29tcG9uZW50LFxuICBEYXRldGltZVJhbmdlQ29tcG9uZW50LFxuICBGb3JtSW5wdXRDb21wb25lbnQsXG4gIE51bWJlckNvbXBvbmVudCxcbiAgTnVtYmVyUmFuZ2VDb21wb25lbnQsXG4gIE9yZ2FuaXphdGlvbkNvbXBvbmVudCxcbiAgU3RyaW5nQ29tcG9uZW50XG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcyc7XG5pbXBvcnQgeyBNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL29iamVjdC1tZXRhZGF0YS1lbGVtZW50LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFl2Y0NoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW1ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBDYXRhbG9nQ29tcG9uZW50LFxuICAgIFN0cmluZ0NvbXBvbmVudCxcbiAgICBPcmdhbml6YXRpb25Db21wb25lbnQsXG4gICAgTnVtYmVyQ29tcG9uZW50LFxuICAgIE51bWJlclJhbmdlQ29tcG9uZW50LFxuICAgIERhdGV0aW1lQ29tcG9uZW50LFxuICAgIERhdGV0aW1lUmFuZ2VDb21wb25lbnQsXG4gICAgTWV0YWRhdGFFbGVtZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgWXZjQ2hlY2tib3hNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YURlZmF1bHRUZW1wbGF0ZXNDb21wb25lbnQge31cbiIsIjwhLS0gZm9ybSBlbGVtZW50IHRlbXBsYXRlcyAtLT5cbjwhLS0gU1RSSU5HIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cInN0cmluZ1wiIGxldC1jdHg+XG5cbiAgPHl1di1zdHJpbmdcbiAgICAgIFtzaXR1YXRpb25dPVwiY3R4LnNpdHVhdGlvblwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cImN0eC5maWVsZC5jYXJkaW5hbGl0eSA9PT0gJ211bHRpJyB8fCBjdHguc2l0dWF0aW9uID09PSAnU0VBUkNIJ1wiXG4gICAgICBbcm93c109XCJjdHguZmllbGQucm93c1wiXG4gICAgICBbY2xhc3NpZmljYXRpb25zXT1cImN0eC5maWVsZC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgICAgW3JlZ2V4XT1cImN0eC5maWVsZC5yZWdleFwiXG4gICAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFttaW5MZW5ndGhdPVwiY3R4LmZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbbWF4TGVuZ3RoXT1cImN0eC5maWVsZC5tYXhMZW5ndGhcIlxuICAgID4gXG4gICAgPC95dXYtc3RyaW5nPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBPUkdBTklaQVRJT04gLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwic3RyaW5nOm9yZ2FuaXphdGlvblwiIGxldC1jdHg+XG4gPHl1di1vcmdhbml6YXRpb25cbiAgICAgIFtzaXR1YXRpb25dPVwiY3R4LnNpdHVhdGlvblwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiY3R4LmZpZWxkLmNhcmRpbmFsaXR5ID09PSAnbXVsdGknIHx8IGN0eC5zaXR1YXRpb24gPT09ICdTRUFSQ0gnXCJcbiAgICAgICh1c2VyU2VsZWN0KT1cImN0eC5maWVsZC5kYXRhTWV0YSA9ICRldmVudFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgID5cbiAgICA8L3l1di1vcmdhbml6YXRpb24+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIElOVEVHRVIgLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwiaW50ZWdlclwiIGxldC1jdHg+XG4gIEBpZiAoY3R4LnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCcpIHtcbjx5dXYtbnVtYmVyXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiMFwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICAgICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICAgID5cbiAgICAgIDwveXV2LW51bWJlcj4gXG4gIH0gQGVsc2Uge1xuICAgIFxuICAgIDx5dXYtbnVtYmVyLXJhbmdlXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiMFwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgICBbY2xhc3NpZmljYXRpb25zXT1cImN0eC5maWVsZC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgICAgPjwveXV2LW51bWJlci1yYW5nZT5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBERUNJTUFMIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImRlY2ltYWxcIiBsZXQtY3R4PlxuICBAaWYgKGN0eC5zaXR1YXRpb24gIT09ICdTRUFSQ0gnKSB7XG4gIDx5dXYtbnVtYmVyXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiY3R4LmZpZWxkLnNjYWxlXCJcbiAgICAgICAgW2dyb3VwaW5nXT1cImN0eC5maWVsZC5ncm91cGluZ1wiXG4gICAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgICAgW21pblZhbHVlXT1cImN0eC5maWVsZC5taW5WYWx1ZVwiXG4gICAgICAgIFttYXhWYWx1ZV09XCJjdHguZmllbGQubWF4VmFsdWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgICA+XG4gICAgICAgID5cbiAgICAgIDwveXV2LW51bWJlcj5cbiAgfSBAZWxzZSB7XG4gICAgPHl1di1udW1iZXItcmFuZ2VcbiAgICAgICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgICAgIFtwcmVjaXNpb25dPVwiY3R4LmZpZWxkLnByZWNpc2lvblwiXG4gICAgICAgIFtzY2FsZV09XCJjdHguZmllbGQuc2NhbGVcIlxuICAgICAgICBbcGF0dGVybl09XCJjdHguZmllbGQucGF0dGVyblwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICAgID48L3l1di1udW1iZXItcmFuZ2U+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQk9PTEVBTiAtLT5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJib29sZWFuXCIgbGV0LWN0eD5cbiAgPHl2Yy1jaGVja2JveFxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgIFt0cmlzdGF0ZV09XCJjdHguZmllbGQudHJpc3RhdGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlXCJcbiAgPjwveXZjLWNoZWNrYm94PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBCT09MRUFOIFNXSVRDSCAtLT5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJib29sZWFuOnN3aXRjaFwiIGxldC1jdHg+XG4gIDx5dmMtY2hlY2tib3hcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgc3dpdGNoPVwidHJ1ZVwiXG4gICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICBbdHJpc3RhdGVdPVwiY3R4LmZpZWxkLnRyaXN0YXRlID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZVwiXG4gID48L3l2Yy1jaGVja2JveD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJkYXRldGltZVwiIGxldC1jdHg+XG4gIEBpZiAoY3R4LnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCcpIHtcbiAgICA8eXV2LWRhdGV0aW1lXG4gICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgW3dpdGhUaW1lXT1cImN0eC5maWVsZC5yZXNvbHV0aW9uICE9PSAnZGF0ZSdcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgID48L3l1di1kYXRldGltZT4gXG4gIH0gQGVsc2Uge1xuICAgIDx5dXYtZGF0ZXRpbWUtcmFuZ2VcbiAgICAgICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgICAgIFt3aXRoVGltZV09XCJjdHguZmllbGQucmVzb2x1dGlvbiAhPT0gJ2RhdGUnXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgPjwveXV2LWRhdGV0aW1lLXJhbmdlPiBcbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFzQmhFLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQzttR0FBakMsaUNBQWlDLDBGQ3BDOUMsMDlJQXFJQSx5RERqSEksWUFBWSw4QkFDWixtQkFBbUIsbWRBR25CLGVBQWUsb0xBQ2YscUJBQXFCLGdPQUNyQixlQUFlLDBLQUNmLG9CQUFvQiwyS0FDcEIsaUJBQWlCLDhHQUNqQixzQkFBc0IsMEhBQ3RCLGdDQUFnQyw2SUFDaEMsaUJBQWlCOzs0RkFLUixpQ0FBaUM7a0JBcEI3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixnQ0FBZ0M7d0JBQ2hDLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENhdGFsb2dDb21wb25lbnQsXG4gIERhdGV0aW1lQ29tcG9uZW50LFxuICBEYXRldGltZVJhbmdlQ29tcG9uZW50LFxuICBGb3JtSW5wdXRDb21wb25lbnQsXG4gIE51bWJlckNvbXBvbmVudCxcbiAgTnVtYmVyUmFuZ2VDb21wb25lbnQsXG4gIE9yZ2FuaXphdGlvbkNvbXBvbmVudCxcbiAgU3RyaW5nQ29tcG9uZW50XG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcyc7XG5pbXBvcnQgeyBNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL29iamVjdC1tZXRhZGF0YS1lbGVtZW50LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFl2Y0NoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW1ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBDYXRhbG9nQ29tcG9uZW50LFxuICAgIFN0cmluZ0NvbXBvbmVudCxcbiAgICBPcmdhbml6YXRpb25Db21wb25lbnQsXG4gICAgTnVtYmVyQ29tcG9uZW50LFxuICAgIE51bWJlclJhbmdlQ29tcG9uZW50LFxuICAgIERhdGV0aW1lQ29tcG9uZW50LFxuICAgIERhdGV0aW1lUmFuZ2VDb21wb25lbnQsXG4gICAgTWV0YWRhdGFFbGVtZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgWXZjQ2hlY2tib3hNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YURlZmF1bHRUZW1wbGF0ZXNDb21wb25lbnQge31cbiIsIjwhLS0gZm9ybSBlbGVtZW50IHRlbXBsYXRlcyAtLT5cbjwhLS0gU1RSSU5HIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cInN0cmluZ1wiIGxldC1jdHg+XG4gIDx5dXYtc3RyaW5nXG4gICAgW3NpdHVhdGlvbl09XCJjdHguc2l0dWF0aW9uXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICBbbXVsdGlzZWxlY3RdPVwiY3R4LmZpZWxkLmNhcmRpbmFsaXR5ID09PSAnbXVsdGknIHx8IGN0eC5zaXR1YXRpb24gPT09ICdTRUFSQ0gnXCJcbiAgICBbcm93c109XCJjdHguZmllbGQucm93c1wiXG4gICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICBbcmVnZXhdPVwiY3R4LmZpZWxkLnJlZ2V4XCJcbiAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICBbbWluTGVuZ3RoXT1cImN0eC5maWVsZC5taW5MZW5ndGhcIlxuICAgIFttYXhMZW5ndGhdPVwiY3R4LmZpZWxkLm1heExlbmd0aFwiXG4gID5cbiAgPC95dXYtc3RyaW5nPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBPUkdBTklaQVRJT04gLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwic3RyaW5nOm9yZ2FuaXphdGlvblwiIGxldC1jdHg+XG4gIDx5dXYtb3JnYW5pemF0aW9uXG4gICAgW3NpdHVhdGlvbl09XCJjdHguc2l0dWF0aW9uXCJcbiAgICBbbXVsdGlzZWxlY3RdPVwiY3R4LmZpZWxkLmNhcmRpbmFsaXR5ID09PSAnbXVsdGknIHx8IGN0eC5zaXR1YXRpb24gPT09ICdTRUFSQ0gnXCJcbiAgICAodXNlclNlbGVjdCk9XCJjdHguZmllbGQuZGF0YU1ldGEgPSAkZXZlbnRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgIFtjbGFzc2lmaWNhdGlvbnNdPVwiY3R4LmZpZWxkLmNsYXNzaWZpY2F0aW9uc1wiXG4gICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gID5cbiAgPC95dXYtb3JnYW5pemF0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBJTlRFR0VSIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImludGVnZXJcIiBsZXQtY3R4PlxuICBAaWYgKGN0eC5zaXR1YXRpb24gIT09ICdTRUFSQ0gnKSB7XG4gICAgPHl1di1udW1iZXJcbiAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3ByZWNpc2lvbl09XCJjdHguZmllbGQucHJlY2lzaW9uXCJcbiAgICAgIFtzY2FsZV09XCIwXCJcbiAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgW21pblZhbHVlXT1cImN0eC5maWVsZC5taW5WYWx1ZVwiXG4gICAgICBbbWF4VmFsdWVdPVwiY3R4LmZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgICBbY2xhc3NpZmljYXRpb25zXT1cImN0eC5maWVsZC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgID5cbiAgICA8L3l1di1udW1iZXI+XG4gIH0gQGVsc2Uge1xuICAgIDx5dXYtbnVtYmVyLXJhbmdlXG4gICAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwcmVjaXNpb25dPVwiY3R4LmZpZWxkLnByZWNpc2lvblwiXG4gICAgICBbc2NhbGVdPVwiMFwiXG4gICAgICBbZ3JvdXBpbmddPVwiY3R4LmZpZWxkLmdyb3VwaW5nXCJcbiAgICAgIFttaW5WYWx1ZV09XCJjdHguZmllbGQubWluVmFsdWVcIlxuICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbcGF0dGVybl09XCJjdHguZmllbGQucGF0dGVyblwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICA+PC95dXYtbnVtYmVyLXJhbmdlPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIERFQ0lNQUwgLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwiZGVjaW1hbFwiIGxldC1jdHg+XG4gIEBpZiAoY3R4LnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCcpIHtcbiAgICA8eXV2LW51bWJlclxuICAgICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgW3NjYWxlXT1cImN0eC5maWVsZC5zY2FsZVwiXG4gICAgICBbZ3JvdXBpbmddPVwiY3R4LmZpZWxkLmdyb3VwaW5nXCJcbiAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgIFttaW5WYWx1ZV09XCJjdHguZmllbGQubWluVmFsdWVcIlxuICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgID5cbiAgICAgID5cbiAgICA8L3l1di1udW1iZXI+XG4gIH0gQGVsc2Uge1xuICAgIDx5dXYtbnVtYmVyLXJhbmdlXG4gICAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFtwcmVjaXNpb25dPVwiY3R4LmZpZWxkLnByZWNpc2lvblwiXG4gICAgICBbc2NhbGVdPVwiY3R4LmZpZWxkLnNjYWxlXCJcbiAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgW21pblZhbHVlXT1cImN0eC5maWVsZC5taW5WYWx1ZVwiXG4gICAgICBbbWF4VmFsdWVdPVwiY3R4LmZpZWxkLm1heFZhbHVlXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgPjwveXV2LW51bWJlci1yYW5nZT5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBCT09MRUFOIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImJvb2xlYW5cIiBsZXQtY3R4PlxuICA8eXZjLWNoZWNrYm94XG4gICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgW3RyaXN0YXRlXT1cImN0eC5maWVsZC50cmlzdGF0ZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWVcIlxuICA+PC95dmMtY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIEJPT0xFQU4gU1dJVENIIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImJvb2xlYW46c3dpdGNoXCIgbGV0LWN0eD5cbiAgPHl2Yy1jaGVja2JveFxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBzd2l0Y2g9XCJ0cnVlXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgIFt0cmlzdGF0ZV09XCJjdHguZmllbGQudHJpc3RhdGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlXCJcbiAgPjwveXZjLWNoZWNrYm94PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImRhdGV0aW1lXCIgbGV0LWN0eD5cbiAgQGlmIChjdHguc2l0dWF0aW9uICE9PSAnU0VBUkNIJykge1xuICAgIDx5dXYtZGF0ZXRpbWVcbiAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgW3dpdGhUaW1lXT1cImN0eC5maWVsZC5yZXNvbHV0aW9uICE9PSAnZGF0ZSdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICA+PC95dXYtZGF0ZXRpbWU+XG4gIH0gQGVsc2Uge1xuICAgIDx5dXYtZGF0ZXRpbWUtcmFuZ2VcbiAgICAgIFtzaXR1YXRpb25dPVwiY3R4LnNpdHVhdGlvblwiXG4gICAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFt3aXRoVGltZV09XCJjdHguZmllbGQucmVzb2x1dGlvbiAhPT0gJ2RhdGUnXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgPjwveXV2LWRhdGV0aW1lLXJhbmdlPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -17,6 +17,7 @@ export class MetadataFormFieldComponent {
17
17
  this.errors = null;
18
18
  this.label = '';
19
19
  this.readonly = false;
20
+ this.required = false;
20
21
  this.formField = input.required({ alias: 'field' });
21
22
  this.#fieldEffect = effect(() => {
22
23
  const field = this.formField();
@@ -25,6 +26,7 @@ export class MetadataFormFieldComponent {
25
26
  this.label = this.#system.getLocalizedLabel(field.name) || field.name;
26
27
  // TODO: set readonly state based on ...????... schema?
27
28
  this.readonly = false;
29
+ this.required = this.situation() !== Situation.SEARCH ? field.required : false;
28
30
  this.ngControl.statusChanges;
29
31
  this.fetchTags();
30
32
  });
@@ -115,12 +117,12 @@ export class MetadataFormFieldComponent {
115
117
  this._subs.forEach((s) => s.unsubscribe());
116
118
  }
117
119
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataFormFieldComponent, isStandalone: true, selector: "yuv-metadata-form-field", inputs: { formField: { classPropertyName: "formField", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "yuv-metadata-form-field" }, hostDirectives: [{ directive: i1.NoopValueAccessorDirective }], ngImport: i0, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"field.required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormInputComponent, selector: "yuv-form-input", inputs: ["label", "tag", "description", "invalid", "disabled", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataFormFieldComponent, isStandalone: true, selector: "yuv-metadata-form-field", inputs: { formField: { classPropertyName: "formField", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "yuv-metadata-form-field" }, hostDirectives: [{ directive: i1.NoopValueAccessorDirective }], ngImport: i0, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormInputComponent, selector: "yuv-form-input", inputs: ["label", "tag", "description", "invalid", "disabled", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
119
121
  }
120
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormFieldComponent, decorators: [{
121
123
  type: Component,
122
124
  args: [{ selector: 'yuv-metadata-form-field', standalone: true, imports: [NgClass, NgTemplateOutlet, FormInputComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, host: {
123
125
  class: 'yuv-metadata-form-field'
124
- }, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"field.required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"] }]
126
+ }, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"] }]
125
127
  }] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL21ldGFkYXRhLWZvcm0vc3JjL2xpYi9tZXRhZGF0YS1mb3JtLWZpZWxkL21ldGFkYXRhLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZm9ybS1maWVsZC9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBbUIsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQWN4RixNQUFNLE9BQU8sMEJBQTBCO0lBWnZDO1FBYVcsY0FBUyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2hELFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxD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QyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNwSCxDQUFDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQTNIVSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1ZENyQnZDLG1sQ0FvQ0EsZ29DRHhCWSxPQUFPLG9GQUFFLGdCQUFnQixvSkFBRSxrQkFBa0I7OzRGQVM1QywwQkFBMEI7a0JBWnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxrQkFHeEMsQ0FBQywwQkFBMEIsQ0FBQyxpQkFDN0IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUseUJBQXlCO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCB1bnRyYWNrZWQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JqZWN0VHlwZUZpZWxkLCBTaXR1YXRpb24sIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ0NvbnRyb2wsIE5vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXRhZGF0YUZvcm1FbGVtZW50UmVnaXN0cnkgfSBmcm9tICcuLi9tZXRhZGF0YS1mb3JtLWVsZW1lbnQtcmVnaXN0cnkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1tZXRhZGF0YS1mb3JtLWZpZWxkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIEZvcm1JbnB1dENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21ldGFkYXRhLWZvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxuICBob3N0RGlyZWN0aXZlczogW05vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAneXV2LW1ldGFkYXRhLWZvcm0tZmllbGQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5ICNyZWdpc3RyeSA9IGluamVjdChNZXRhZGF0YUZvcm1FbGVtZW50UmVnaXN0cnkpO1xuICByZWFkb25seSAjc3lzdGVtID0gaW5qZWN0KFN5c3RlbVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBuZ0NvbnRyb2wgPSBpbmplY3ROZ0NvbnRyb2woKTtcbiAgZWxlbWVudFRlbXBsYXRlID0gc2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICBsYWJlbCA9ICcnO1xuICByZWFkb25seSA9IGZhbHNlO1xuICB0YWc6XG4gICAgfCB7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2ZpZWxkITogT2JqZWN0VHlwZUZpZWxkO1xuXG4gIGZvcm1GaWVsZCA9IGlucHV0LnJlcXVpcmVkPE9iamVjdFR5cGVGaWVsZD4oeyBhbGlhczogJ2ZpZWxkJyB9KTtcblxuICAjZmllbGRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5mb3JtRmllbGQoKTtcblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnRUZW1wbGF0ZS5zZXQodGhpcy4jcmVnaXN0cnkuZ2V0RWxlbWVudFRlbXBsYXRlKGZpZWxkLl9pbnRlcm5hbFR5cGUsIHRoaXMuc2l0dWF0aW9uKCkpKTtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLiNzeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoZmllbGQubmFtZSkgfHwgZmllbGQubmFtZTtcblxuICAgICAgLy8gVE9ETzogc2V0IHJlYWRvbmx5IHN0YXRlIGJhc2VkIG9uIC4uLj8/Pz8uLi4gc2NoZW1hP1xuICAgICAgdGhpcy5yZWFkb25seSA9IGZhbHNlO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcztcbiAgICAgIHRoaXMuZmV0Y2hUYWdzKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBGb3JtIHNpdHVhdGlvbiwgaWYgbm90IHNldCBkZWZhdWx0IHdpbGwgYmUgJ0VESVQnXG4gICAqL1xuICBzaXR1YXRpb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KFNpdHVhdGlvbi5FRElUKTtcblxuICBmZXRjaFRhZ3MoKSB7XG4gICAgdGhpcy50YWcgPSB1bmRlZmluZWQ7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zaXR1YXRpb24oKSA9PT0gU2l0dWF0aW9uLkNSRUFURSAmJlxuICAgICAgKFV0aWxzLmhhc1Byb3BlcnR5KHRoaXMuZm9ybUZpZWxkKCksICdkZWZhdWx0dmFsdWVmdW5jdGlvbicpIHx8IFV0aWxzLmhhc1Byb3BlcnR5KHRoaXMuZm9ybUZpZWxkKCksICdkZWZhdWx0dmFsdWUnKSlcbiAgICApIHtcbiAgICAgIHRoaXMudGFnID1cbiAgICAgICAgKHRoaXMuZm9ybUZpZWxkKCkgYXMgYW55KS5kZWZhdWx0dmFsdWVmdW5jdGlvbiA9PT0gJ0VYVFJBQ1RJT04nXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZXgnLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQudGFnLmV4JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdkZicsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC50YWcuZGYnKVxuICAgICAgICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRFcnJvckxhYmVsKGVycm9yOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xuICAgIHN3aXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhc2UgJ2RhdGVyYW5nZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5kYXRlcmFuZ2UuaW52YWxpZCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdkYXRlcmFuZ2VvcmRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5kYXRlcmFuZ2VvcmRlci5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ251bWJlcnJhbmdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm51bWJlcnJhbmdlLmludmFsaWQnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbnVtYmVycmFuZ2VvcmRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXJyYW5nZW9yZGVyLmludmFsaWQnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm51bWJlcicsIHBhcmFtcyk7XG4gICAgICBjYXNlICdwcmVjaXNpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubnVtYmVyLnByZWNpc2lvbicsIHBhcmFtcyk7XG4gICAgICBjYXNlICdzY2FsZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXIuc2NhbGUnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAncmVnZXgnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3Iuc3RyaW5nLnJlZ2V4Lm5vbWF0Y2gnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAncGF0dGVybic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcucmVnZXgubm9tYXRjaCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbmVtYWlsJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnN0cmluZy5jbGFzc2lmaWNhdGlvbi5lbWFpbCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbnBob25lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnN0cmluZy5jbGFzc2lmaWNhdGlvbi5waG9uZScsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbnVybCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcuY2xhc3NpZmljYXRpb24udXJsJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ29ubHlXaGl0ZXNwYWNlcyc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcud2hpdGVzcGFjZXMnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnZGF0ZWNvbnRyb2wnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IuZGF0ZS5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnJlcXVpcmVkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5tYXhsZW5ndGgnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbWlubGVuZ3RoJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1pbmxlbmd0aCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdtaW5tYXgnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubWlubWF4JywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21pbnZhbHVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1pbnZhbHVlJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21heHZhbHVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1heHZhbHVlJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ2VtcHR5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LnJlY2VudC1hY3Rpdml0aWVzLmxpc3QuZW1wdHknLCBwYXJhbXMpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZXJyb3IsIHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMpXG4gICAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9ycyA9IHRoaXMubmdDb250cm9sLmNvbnRyb2wuZXJyb3JzXG4gICAgICAgICAgICA/IE9iamVjdC5rZXlzKHRoaXMubmdDb250cm9sLmNvbnRyb2wuZXJyb3JzKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9ycyA/IHRoaXMuX2dldEVycm9yTGFiZWwoa2V5LCB0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9yc1trZXldLnBhcmFtcykgOiBudWxsO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIiwiQGxldCBmaWVsZCA9IGZvcm1GaWVsZCgpO1xuQGlmIChmaWVsZCkge1xuICBAbGV0IGV0ID0gZWxlbWVudFRlbXBsYXRlKCk7XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkIHQte3sgZmllbGQuX2ludGVybmFsVHlwZSB9fVwiICNmb3JtRmllbGQgW2F0dHIuZGF0YS1uYW1lXT1cImZpZWxkLm5hbWVcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhIXJlYWRvbmx5IH1cIj5cbiAgICBAaWYgKGV0KSB7XG4gICAgICA8eXV2LWZvcm0taW5wdXRcbiAgICAgICAgW25nQ2xhc3NdPVwieyBjaGVja2JveDogZmllbGQuX2ludGVybmFsVHlwZSA9PT0gJ2Jvb2xlYW4nIH1cIlxuICAgICAgICBbdGFnXT1cInRhZ1wiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICAgIFtpbnZhbGlkXT1cIiEhZXJyb3JzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBzaXR1YXRpb246IHNpdHVhdGlvbigpLCBuZ0NvbnRyb2w6IG5nQ29udHJvbC5jb250cm9sLCBmaWVsZCB9IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwveXV2LWZvcm0taW5wdXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZW0+XG4gICAgICAgIDxzdHJvbmc+e3sgZmllbGQuX2ludGVybmFsVHlwZSB9fTwvc3Ryb25nPlxuICAgICAgPC9lbT5cbiAgICB9XG5cbiAgICA8IS0tIHRoZSBmaWVsZHMgZGVzY3JpcHRpb24gLS0+XG4gICAgQGlmIChmaWVsZC5kZXNjcmlwdGlvbikge1xuICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIHt7IGZpZWxkLmRlc2NyaXB0aW9uIH19XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIGVycm9yL3ZhbGlkYXRpb24gbWVzc2FnZXMgLS0+XG4gICAgQGlmIChlcnJvcnMpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCI+XG4gICAgICAgIDxkaXY+e3sgZXJyb3JzW2Vycm9yc1snbGVuZ3RoJ10gLSAxXSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL21ldGFkYXRhLWZvcm0vc3JjL2xpYi9tZXRhZGF0YS1mb3JtLWZpZWxkL21ldGFkYXRhLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZm9ybS1maWVsZC9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBbUIsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQWN4RixNQUFNLE9BQU8sMEJBQTBCO0lBWnZDO1FBYVcsY0FBUyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2hELFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxD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LFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTTtvQkFDekMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ3JELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDcEgsQ0FBQyxDQUFDO29CQUNKLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0E3SFUsMEJBQTBCO21HQUExQiwwQkFBMEIsdWRDckJ2Qyw2a0NBb0NBLGdvQ0R4QlksT0FBTyxvRkFBRSxnQkFBZ0Isb0pBQUUsa0JBQWtCOzs0RkFTNUMsMEJBQTBCO2tCQVp0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsa0JBR3hDLENBQUMsMEJBQTBCLENBQUMsaUJBQzdCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHlCQUF5QjtxQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiwgdW50cmFja2VkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9iamVjdFR5cGVGaWVsZCwgU2l0dWF0aW9uLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlscyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgaW5qZWN0TmdDb250cm9sLCBOb29wVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWV0YWRhdGFGb3JtRWxlbWVudFJlZ2lzdHJ5IH0gZnJvbSAnLi4vbWV0YWRhdGEtZm9ybS1lbGVtZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtbWV0YWRhdGEtZm9ybS1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3JtSW5wdXRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOb29wVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3l1di1tZXRhZGF0YS1mb3JtLWZpZWxkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhRm9ybUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSAjcmVnaXN0cnkgPSBpbmplY3QoTWV0YWRhdGFGb3JtRWxlbWVudFJlZ2lzdHJ5KTtcbiAgcmVhZG9ubHkgI3N5c3RlbSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgbmdDb250cm9sID0gaW5qZWN0TmdDb250cm9sKCk7XG4gIGVsZW1lbnRUZW1wbGF0ZSA9IHNpZ25hbDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgbGFiZWwgPSAnJztcbiAgcmVhZG9ubHkgPSBmYWxzZTtcbiAgcmVxdWlyZWQgPSBmYWxzZTtcbiAgdGFnOlxuICAgIHwge1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9maWVsZCE6IE9iamVjdFR5cGVGaWVsZDtcblxuICBmb3JtRmllbGQgPSBpbnB1dC5yZXF1aXJlZDxPYmplY3RUeXBlRmllbGQ+KHsgYWxpYXM6ICdmaWVsZCcgfSk7XG5cbiAgI2ZpZWxkRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZm9ybUZpZWxkKCk7XG5cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5lbGVtZW50VGVtcGxhdGUuc2V0KHRoaXMuI3JlZ2lzdHJ5LmdldEVsZW1lbnRUZW1wbGF0ZShmaWVsZC5faW50ZXJuYWxUeXBlLCB0aGlzLnNpdHVhdGlvbigpKSk7XG4gICAgICB0aGlzLmxhYmVsID0gdGhpcy4jc3lzdGVtLmdldExvY2FsaXplZExhYmVsKGZpZWxkLm5hbWUpIHx8IGZpZWxkLm5hbWU7XG5cbiAgICAgIC8vIFRPRE86IHNldCByZWFkb25seSBzdGF0ZSBiYXNlZCBvbiAuLi4/Pz8/Li4uIHNjaGVtYT9cbiAgICAgIHRoaXMucmVhZG9ubHkgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLnNpdHVhdGlvbigpICE9PSBTaXR1YXRpb24uU0VBUkNIID8gZmllbGQucmVxdWlyZWQgOiBmYWxzZTtcbiAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXM7XG4gICAgICB0aGlzLmZldGNoVGFncygpO1xuICAgIH0pO1xuICB9KTtcblxuICAvKipcbiAgICogRm9ybSBzaXR1YXRpb24sIGlmIG5vdCBzZXQgZGVmYXVsdCB3aWxsIGJlICdFRElUJ1xuICAgKi9cbiAgc2l0dWF0aW9uID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPihTaXR1YXRpb24uRURJVCk7XG5cbiAgZmV0Y2hUYWdzKCkge1xuICAgIHRoaXMudGFnID0gdW5kZWZpbmVkO1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2l0dWF0aW9uKCkgPT09IFNpdHVhdGlvbi5DUkVBVEUgJiZcbiAgICAgIChVdGlscy5oYXNQcm9wZXJ0eSh0aGlzLmZvcm1GaWVsZCgpLCAnZGVmYXVsdHZhbHVlZnVuY3Rpb24nKSB8fCBVdGlscy5oYXNQcm9wZXJ0eSh0aGlzLmZvcm1GaWVsZCgpLCAnZGVmYXVsdHZhbHVlJykpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhZyA9XG4gICAgICAgICh0aGlzLmZvcm1GaWVsZCgpIGFzIGFueSkuZGVmYXVsdHZhbHVlZnVuY3Rpb24gPT09ICdFWFRSQUNUSU9OJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBsYWJlbDogJ2V4JyxcbiAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LnRhZy5leCcpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZGYnLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQudGFnLmRmJylcbiAgICAgICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXJyb3JMYWJlbChlcnJvcjogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcbiAgICBzd2l0Y2ggKGVycm9yKSB7XG4gICAgICBjYXNlICdkYXRlcmFuZ2UnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IuZGF0ZXJhbmdlLmludmFsaWQnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnZGF0ZXJhbmdlb3JkZXInOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IuZGF0ZXJhbmdlb3JkZXIuaW52YWxpZCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdudW1iZXJyYW5nZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXJyYW5nZS5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ251bWJlcnJhbmdlb3JkZXInOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubnVtYmVycmFuZ2VvcmRlci5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXInLCBwYXJhbXMpO1xuICAgICAgY2FzZSAncHJlY2lzaW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm51bWJlci5wcmVjaXNpb24nLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnc2NhbGUnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubnVtYmVyLnNjYWxlJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ3JlZ2V4JzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnN0cmluZy5yZWdleC5ub21hdGNoJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ3BhdHRlcm4nOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3Iuc3RyaW5nLnJlZ2V4Lm5vbWF0Y2gnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnY2xhc3NpZmljYXRpb25lbWFpbCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcuY2xhc3NpZmljYXRpb24uZW1haWwnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnY2xhc3NpZmljYXRpb25waG9uZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcuY2xhc3NpZmljYXRpb24ucGhvbmUnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnY2xhc3NpZmljYXRpb251cmwnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3Iuc3RyaW5nLmNsYXNzaWZpY2F0aW9uLnVybCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdvbmx5V2hpdGVzcGFjZXMnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3Iuc3RyaW5nLndoaXRlc3BhY2VzJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ2RhdGVjb250cm9sJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLmRhdGUuaW52YWxpZCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5yZXF1aXJlZCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdtYXhsZW5ndGgnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubWF4bGVuZ3RoJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21pbmxlbmd0aCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5taW5sZW5ndGgnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbWlubWF4JzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1pbm1heCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdtaW52YWx1ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5taW52YWx1ZScsIHBhcmFtcyk7XG4gICAgICBjYXNlICdtYXh2YWx1ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5tYXh2YWx1ZScsIHBhcmFtcyk7XG4gICAgICBjYXNlICdlbXB0eSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5yZWNlbnQtYWN0aXZpdGllcy5saXN0LmVtcHR5JywgcGFyYW1zKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGVycm9yLCBwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzKVxuICAgICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvcnMgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9yc1xuICAgICAgICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9ycykubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5lcnJvcnMgPyB0aGlzLl9nZXRFcnJvckxhYmVsKGtleSwgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5lcnJvcnNba2V5XS5wYXJhbXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIkBsZXQgZmllbGQgPSBmb3JtRmllbGQoKTtcbkBpZiAoZmllbGQpIHtcbiAgQGxldCBldCA9IGVsZW1lbnRUZW1wbGF0ZSgpO1xuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZCB0LXt7IGZpZWxkLl9pbnRlcm5hbFR5cGUgfX1cIiAjZm9ybUZpZWxkIFthdHRyLmRhdGEtbmFtZV09XCJmaWVsZC5uYW1lXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogISFyZWFkb25seSB9XCI+XG4gICAgQGlmIChldCkge1xuICAgICAgPHl1di1mb3JtLWlucHV0XG4gICAgICAgIFtuZ0NsYXNzXT1cInsgY2hlY2tib3g6IGZpZWxkLl9pbnRlcm5hbFR5cGUgPT09ICdib29sZWFuJyB9XCJcbiAgICAgICAgW3RhZ109XCJ0YWdcIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbaW52YWxpZF09XCIhIWVycm9yc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJldDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgc2l0dWF0aW9uOiBzaXR1YXRpb24oKSwgbmdDb250cm9sOiBuZ0NvbnRyb2wuY29udHJvbCwgZmllbGQgfSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3l1di1mb3JtLWlucHV0PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGVtPlxuICAgICAgICA8c3Ryb25nPnt7IGZpZWxkLl9pbnRlcm5hbFR5cGUgfX08L3N0cm9uZz5cbiAgICAgIDwvZW0+XG4gICAgfVxuXG4gICAgPCEtLSB0aGUgZmllbGRzIGRlc2NyaXB0aW9uIC0tPlxuICAgIEBpZiAoZmllbGQuZGVzY3JpcHRpb24pIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyBmaWVsZC5kZXNjcmlwdGlvbiB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICAgIEBpZiAoZXJyb3JzKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiPlxuICAgICAgICA8ZGl2Pnt7IGVycm9yc1tlcnJvcnNbJ2xlbmd0aCddIC0gMV0gfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
@@ -186,10 +186,10 @@ export class ObjectAuditComponent {
186
186
  this.error = true;
187
187
  }
188
188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectAuditComponent, deps: [{ token: i1.AuditService }, { token: i1.BackendService }, { token: i1.AppCacheService }, { token: i1.EventService }, { token: i1.SystemService }, { token: i2.UntypedFormBuilder }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "versionsLink", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-all;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i4.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }] }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "versionsLink", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-word;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i4.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }] }); }
190
190
  }
191
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectAuditComponent, decorators: [{
192
192
  type: Component,
193
- args: [{ selector: 'yuv-object-audit', standalone: true, imports: [CommonModule, RouterLink, ReactiveFormsModule, BusyOverlayDirective, LocaleDatePipe, TranslateModule, YvcIconModule], template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-all;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"] }]
193
+ args: [{ selector: 'yuv-object-audit', standalone: true, imports: [CommonModule, RouterLink, ReactiveFormsModule, BusyOverlayDirective, LocaleDatePipe, TranslateModule, YvcIconModule], template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-word;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"] }]
194
194
  }], ctorParameters: () => [{ type: i1.AuditService }, { type: i1.BackendService }, { type: i1.AppCacheService }, { type: i1.EventService }, { type: i1.SystemService }, { type: i2.UntypedFormBuilder }, { type: i1.TranslateService }] });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGVBQWUsRUFHZixZQUFZLEVBQ1osY0FBYyxFQUVkLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixnQkFBZ0IsRUFFaEIsWUFBWSxFQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFD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QWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcHBDYWNoZVNlcnZpY2UsXG4gIEF1ZGl0RW50cnksXG4gIEF1ZGl0UXVlcnlSZXN1bHQsXG4gIEF1ZGl0U2VydmljZSxcbiAgQmFja2VuZFNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgRXZlbnRTZXJ2aWNlLFxuICBMb2NhbGVEYXRlUGlwZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBZdXZFdmVudCxcbiAgWXV2RXZlbnRUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW9iamVjdC1hdWRpdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEJ1c3lPdmVybGF5RGlyZWN0aXZlLCBMb2NhbGVEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBZdmNJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1hdWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtYXVkaXQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdEF1ZGl0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBGSUxURVJfQ0FDSEVfS0VZID0gJ3l1di5hdWRpdC5maWx0ZXJzJztcblxuICBwcml2YXRlIF9vYmplY3RJRD86IHN0cmluZztcbiAgcHJpdmF0ZSBfb2JqZWN0VHlwZUlEPzogc3RyaW5nO1xuXG4gIGljb25zID0ge1xuICAgIGZpbHRlcjogWVVWX0lDT05TLmZpbHRlcixcbiAgICBhcnJvd05leHQ6IFlVVl9JQ09OUy5hcnJvd05leHRcbiAgfTtcblxuICBhdWRpdHNSZXM/OiBBdWRpdFF1ZXJ5UmVzdWx0O1xuICByZXNvbHZlZEl0ZW1zID0gc2lnbmFsPFJlc2xvdmVkQXVkaXRFbnRyeVtdPihbXSk7XG4gIHNlYXJjaFBhbmVsU2hvdyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuICBidXN5ID0gZmFsc2U7XG4gIHNlYXJjaEFjdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgYWN0aW9uczogc3RyaW5nW10gfVtdID0gW107XG4gIGF1ZGl0TGFiZWxzOiBhbnkgPSB7fTtcblxuICBkbXNPYmplY3QgPSBpbnB1dDxEbXNPYmplY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKCFvKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX29iamVjdFR5cGVJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuYXVkaXRzUmVzID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX29iamVjdElEIHx8IHRoaXMuX29iamVjdElEICE9PSBvLmlkKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IG8uaWQ7XG4gICAgICB0aGlzLl9vYmplY3RUeXBlSUQgPSBvLm9iamVjdFR5cGVJZDtcbiAgICAgIHRoaXMucXVlcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhdWRpdHMgdGhhdCBzaG91bGQgbm90IGJlIHNob3duLiBVc2UgdGhlIGF1ZGl0IGNvZGVzIChsaWtlIDEwMCwgMzAxLCBldGMuKS5cbiAgICogVGhpcyB3aWxsIGFsc28gZGlzYWJsZSB0aGUgY29ycmVzcG9uZGluZyBmaWx0ZXJzLlxuICAgKi9cbiAgc2tpcEFjdGlvbnMgPSBpbnB1dDxudW1iZXJbXT4oW10pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpZ25vcmUgYWRtaW4gYW5kIHVzZXIgc2VwYXJhdGlvbiBvZiBhdWRpdCBlbnRyaWVzXG4gICAqL1xuICBhbGxBY3Rpb25zID0gaW5wdXQoZmFsc2UpO1xuXG4gIGdldCBvYmplY3RJRCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0SUQ7XG4gIH1cblxuICBsaW5rID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICd2ZXJzaW9uc0xpbmsnIH0pO1xuXG4gIHZlcnNpb25zTGluayA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaW5rID0gdGhpcy5saW5rKCk7XG5cbiAgICByZXR1cm4gbGluayA/IGAke2xpbmt9YCA6IHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdWRpdFNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgIC8vIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnlTZXJ2aWNlLFxuICAgIC8vIEBJbmplY3QoUk9VVEVTKSBwcml2YXRlIHJvdXRlczogWXV2Um91dGVzXG4gICkge1xuICAgIC8vIHRoaXMudmVyc2lvblN0YXRlUGF0aCA9IHRoaXMucm91dGVzICYmIHRoaXMucm91dGVzLnZlcnNpb25zID8gdGhpcy5yb3V0ZXMudmVyc2lvbnMucGF0aCA6IG51bGw7XG4gICAgLy8gdGhpcy52ZXJzaW9uU3RhdGVRdWVyeVBhcmFtID0gdGhpcy5yb3V0ZXMgJiYgdGhpcy5yb3V0ZXMudmVyc2lvbnMgPyB0aGlzLnJvdXRlcy52ZXJzaW9ucy5xdWVyeVBhcmFtcy52ZXJzaW9uIDogbnVsbDtcbiAgICAvLyB0aGlzLmljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtmaWx0ZXIsIGFycm93TmV4dCwgYXJyb3dOZXh0XSk7XG4gICAgdGhpcy5hdWRpdExhYmVscyA9IHtcbiAgICAgIGExMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEnKSxcbiAgICAgIGExMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEud2l0aGNvbnRlbnQnKSxcbiAgICAgIGExMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUudGFnJyksXG5cbiAgICAgIGEyMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUnKSxcbiAgICAgIGEyMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUuY29udGVudCcpLCAvLyAjdlxuICAgICAgYTIwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmRlbGV0ZS5tYXJrZWQnKSxcbiAgICAgIGEyMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUudGFnJyksIC8vICN2XG4gICAgICBhMjIwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZGVsZXRlLnZlcnNpb24nKSwgLy8gI3ZcblxuICAgICAgYTMwMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tZXRhZGF0YScpLFxuICAgICAgYTMwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5jb250ZW50JyksXG4gICAgICBhMzAyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1ldGFkYXRhLndpdGhjb250ZW50JyksXG4gICAgICBhMzAzOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1vdmUuY29udGVudCcpLFxuICAgICAgYTMxMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS50YWcnKSxcbiAgICAgIGEzMjU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC51cGRhdGUucmVzdG9yZScpLFxuICAgICAgYTM0MDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tb3ZlJyksXG5cbiAgICAgIGE0MDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5nZXQuY29udGVudCcpLFxuICAgICAgYTQwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5tZXRhZGF0YScpLFxuICAgICAgYTQwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24udGV4dCcpLFxuICAgICAgYTQwMzogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24ucGRmJyksXG4gICAgICBhNDA0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LnJlbmRpdGlvbi50aHVtYm5haWwnKSxcblxuICAgICAgYTEwMDAwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LmN1c3RvbScpXG4gICAgfTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oWXV2RXZlbnRUeXBlLkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoZTogWXV2RXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZG1zT2JqZWN0ID0gZS5kYXRhIGFzIERtc09iamVjdDtcbiAgICAgICAgLy8gcmVsb2FkIGF1ZGl0IGVudHJpZXMgd2hlbiB1cGRhdGUgYmVsb25ncyB0byB0aGUgY3VycmVudCBkbXMgb2JqZWN0XG4gICAgICAgIGlmIChkbXNPYmplY3QuaWQgPT09IHRoaXMub2JqZWN0SUQpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEF1ZGl0RW50cmllcygpIHtcbiAgICBpZiAoIXRoaXMuX29iamVjdElEIHx8ICF0aGlzLl9vYmplY3RUeXBlSUQpIHJldHVybjtcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuYXVkaXRTZXJ2aWNlXG4gICAgICAuZ2V0QXVkaXRFbnRyaWVzKHRoaXMuX29iamVjdElELCB7IHNraXBBY3Rpb25zOiB0aGlzLnNraXBBY3Rpb25zKCkgfSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IEF1ZGl0UXVlcnlSZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICB0aGlzLnJlc29sdmVkSXRlbXMuc2V0KHRoaXMubWFwUmVzdWx0KHJlcykpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25FcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwUmVzdWx0KHJlczogQXVkaXRRdWVyeVJlc3VsdCk6IFJlc2xvdmVkQXVkaXRFbnRyeVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVzLml0ZW1zXG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzIGZpbHRlciBvbmNlIHRoZSBzeXN0ZW06cmVuOnRleHQgYXVkaXQgbGlmZWN5Y2xlIHBsYW5uaW5nIGlzIGNvbXBsZXRlIGFuZCB0aGUgdGFnJ3MgcHVycG9zZSBpcyBmdWxseSBkZWZpbmVkLlxuICAgICAgICAvLyBodHRwczovL2hlbHAub3B0aW1hbC1zeXN0ZW1zLmNvbS95dXV2aXMvTW9tZW50dW0vbGF0ZXN0L2luZGV4Lmh0bWwjX2NvbnRlbnRfcmVuZGl0aW9uc19hc3luY2hyb25vdXNfZnVsbF90ZXh0X2luZGV4aW5nLmh0bWxcbiAgICAgICAgLmZpbHRlcigoaSkgPT4gIWkuZGV0YWlsLmluY2x1ZGVzKCdbc3lzdGVtOnJlbjp0ZXh0LCAxXScpKVxuICAgICAgICAubWFwKChpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcjogUmVzbG92ZWRBdWRpdEVudHJ5ID0geyAuLi5pLCBsYWJlbDogdGhpcy5hdWRpdExhYmVsc1snYScgKyBpLmFjdGlvbl0gfTtcbiAgICAgICAgICAvLyB0YWcgcmVsYXRlZCBhdWRpdHNcbiAgICAgICAgICBpZiAoWzExMCwgMjEwLCAzMTBdLmluY2x1ZGVzKGkuYWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRBdWRpdEVudHJ5UGFyYW1zKGkpO1xuICAgICAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgICByLm1vcmUgPSBgXG4gICAgICAgICAgJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChwYXJhbXNbMF0pfTogJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChgJHtwYXJhbXNbMF19OiR7cGFyYW1zWzFdfWApfVxuICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHJlc3RvcmUgYXVkaXRcbiAgICAgICAgICBlbHNlIGlmIChpLmFjdGlvbiA9PT0gMzI1KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEF1ZGl0RW50cnlQYXJhbXMoaSk7XG4gICAgICAgICAgICByLm1vcmUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLnJlc3RvcmUubW9yZScsIHsgdmVyc2lvbjogcGFyYW1zWzBdIHx8ICdbP10nIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBjdXN0b20gYXVkaXRzXG4gICAgICAgICAgZWxzZSBpZiAoaS5hY3Rpb24gPT09IDEwMDAwKSB7XG4gICAgICAgICAgICByLmxhYmVsID0gdGhpcy5zeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoYGF1ZGl0OmN1c3RvbToke2kuc3ViYWN0aW9ufWApIHx8IGAke2kuc3ViYWN0aW9ufWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEF1ZGl0RW50cnlQYXJhbXMoYXVkaXRJdGVtOiBBdWRpdEVudHJ5KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG0gPSBhdWRpdEl0ZW0uZGV0YWlsLm1hdGNoKC9cXFsoLio/KVxcXS8pO1xuICAgIHJldHVybiBtICYmIG1bMV0gPyBtWzFdLnNwbGl0KCcsJykubWFwKChpKSA9PiBpLnRyaW0oKSkgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgcXVlcnkgZnJvbSB0aGUgc2VhcmNoIHBhbmVsLlxuICAgKi9cbiAgcXVlcnkoKSB7XG4gICAgdGhpcy5mZXRjaEF1ZGl0RW50cmllcygpO1xuICB9XG5cbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuYXVkaXRzUmVzKSB7XG4gICAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgICAgdGhpcy5hdWRpdFNlcnZpY2VcbiAgICAgICAgLmdldFBhZ2UodGhpcy5hdWRpdHNSZXMsIHBhZ2UpXG4gICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzOiBBdWRpdFF1ZXJ5UmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRJdGVtcy5zZXQodGhpcy5tYXBSZXN1bHQocmVzKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRXJyb3IoKSB7XG4gICAgdGhpcy5hdWRpdHNSZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5lcnJvciA9IHRydWU7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFJlc2xvdmVkQXVkaXRFbnRyeSBleHRlbmRzIEF1ZGl0RW50cnkge1xuICBsYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cInl1di1hdWRpdFwiIFtuZ0NsYXNzXT1cInsgc2luZ2xlRW50cnk6IGF1ZGl0c1Jlcz8uaXRlbXM/Lmxlbmd0aCA9PT0gMSwgb25QYWdlOiBhdWRpdHNSZXMgJiYgYXVkaXRzUmVzLnBhZ2UgPiAxIH1cIiBbeXV2QnVzeU92ZXJsYXldPVwiYnVzeVwiPlxuICBAaWYgKGVycm9yKSB7XG4gICAgPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT55dXYuYXVkaXQuZmV0Y2guZXJyb3I8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoYXVkaXRzUmVzKSB7XG4gICAgPCEtLSBsaXN0IG9mIGF1ZGl0cyAtLT5cbiAgICBAbGV0IHJlc0l0ZW1zID0gcmVzb2x2ZWRJdGVtcygpO1xuICAgIEBpZiAocmVzSXRlbXMubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiByZXNJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGl0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgbG9jYWxlRGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmRldGFpbCA9PT0gJ09CSkVDVF9ET0NVTUVOVF9DSEFOR0VEJykge1xuICAgICAgICAgICAgICAgICAgQGlmIChsaW5rKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ2ZXJzaW9uXCIgW3JvdXRlckxpbmtdPVwibGluaygpXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdmVyc2lvbjogaXRlbS52ZXJzaW9uIH1cIj57eyBpdGVtLnZlcnNpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJzaW9uXCI+e3sgaXRlbS52ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlIG1ldGFcIj57eyBpdGVtLm1vcmUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0b3IgbWV0YVwiPnt7IGl0ZW0uY3JlYXRlZEJ5LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiB0cmFuc2xhdGU+eXV2LmF1ZGl0LnJlc3VsdC5lbXB0eTwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gY29udHJvbHMgLS0+XG4gICAgQGlmIChhdWRpdHNSZXMuaGFzTW9yZUl0ZW1zIHx8IGF1ZGl0c1Jlcy5wYWdlID4gMSkge1xuICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiIHl1dk9mZmxpbmVEaXNhYmxlZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2luZ1wiPlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5wcmV2JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJhdWRpdHNSZXMucGFnZSA9PT0gMVwiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSAtIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJwcmV2XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICAgICAgICB7eyBhdWRpdHNSZXMucGFnZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5uZXh0JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYXVkaXRzUmVzLmhhc01vcmVJdGVtc1wiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSArIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJuZXh0XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGVBQWUsRUFHZixZQUFZLEVBQ1osY0FBYyxFQUVkLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixnQkFBZ0IsRUFFaEIsWUFBWSxFQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFD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QWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcHBDYWNoZVNlcnZpY2UsXG4gIEF1ZGl0RW50cnksXG4gIEF1ZGl0UXVlcnlSZXN1bHQsXG4gIEF1ZGl0U2VydmljZSxcbiAgQmFja2VuZFNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgRXZlbnRTZXJ2aWNlLFxuICBMb2NhbGVEYXRlUGlwZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBZdXZFdmVudCxcbiAgWXV2RXZlbnRUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW9iamVjdC1hdWRpdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEJ1c3lPdmVybGF5RGlyZWN0aXZlLCBMb2NhbGVEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBZdmNJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1hdWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtYXVkaXQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdEF1ZGl0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBGSUxURVJfQ0FDSEVfS0VZID0gJ3l1di5hdWRpdC5maWx0ZXJzJztcblxuICBwcml2YXRlIF9vYmplY3RJRD86IHN0cmluZztcbiAgcHJpdmF0ZSBfb2JqZWN0VHlwZUlEPzogc3RyaW5nO1xuXG4gIGljb25zID0ge1xuICAgIGZpbHRlcjogWVVWX0lDT05TLmZpbHRlcixcbiAgICBhcnJvd05leHQ6IFlVVl9JQ09OUy5hcnJvd05leHRcbiAgfTtcblxuICBhdWRpdHNSZXM/OiBBdWRpdFF1ZXJ5UmVzdWx0O1xuICByZXNvbHZlZEl0ZW1zID0gc2lnbmFsPFJlc2xvdmVkQXVkaXRFbnRyeVtdPihbXSk7XG4gIHNlYXJjaFBhbmVsU2hvdyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuICBidXN5ID0gZmFsc2U7XG4gIHNlYXJjaEFjdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgYWN0aW9uczogc3RyaW5nW10gfVtdID0gW107XG4gIGF1ZGl0TGFiZWxzOiBhbnkgPSB7fTtcblxuICBkbXNPYmplY3QgPSBpbnB1dDxEbXNPYmplY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKCFvKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX29iamVjdFR5cGVJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuYXVkaXRzUmVzID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX29iamVjdElEIHx8IHRoaXMuX29iamVjdElEICE9PSBvLmlkKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IG8uaWQ7XG4gICAgICB0aGlzLl9vYmplY3RUeXBlSUQgPSBvLm9iamVjdFR5cGVJZDtcbiAgICAgIHRoaXMucXVlcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhdWRpdHMgdGhhdCBzaG91bGQgbm90IGJlIHNob3duLiBVc2UgdGhlIGF1ZGl0IGNvZGVzIChsaWtlIDEwMCwgMzAxLCBldGMuKS5cbiAgICogVGhpcyB3aWxsIGFsc28gZGlzYWJsZSB0aGUgY29ycmVzcG9uZGluZyBmaWx0ZXJzLlxuICAgKi9cbiAgc2tpcEFjdGlvbnMgPSBpbnB1dDxudW1iZXJbXT4oW10pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpZ25vcmUgYWRtaW4gYW5kIHVzZXIgc2VwYXJhdGlvbiBvZiBhdWRpdCBlbnRyaWVzXG4gICAqL1xuICBhbGxBY3Rpb25zID0gaW5wdXQoZmFsc2UpO1xuXG4gIGdldCBvYmplY3RJRCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0SUQ7XG4gIH1cblxuICBsaW5rID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICd2ZXJzaW9uc0xpbmsnIH0pO1xuXG4gIHZlcnNpb25zTGluayA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaW5rID0gdGhpcy5saW5rKCk7XG5cbiAgICByZXR1cm4gbGluayA/IGAke2xpbmt9YCA6IHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdWRpdFNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgIC8vIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnlTZXJ2aWNlLFxuICAgIC8vIEBJbmplY3QoUk9VVEVTKSBwcml2YXRlIHJvdXRlczogWXV2Um91dGVzXG4gICkge1xuICAgIC8vIHRoaXMudmVyc2lvblN0YXRlUGF0aCA9IHRoaXMucm91dGVzICYmIHRoaXMucm91dGVzLnZlcnNpb25zID8gdGhpcy5yb3V0ZXMudmVyc2lvbnMucGF0aCA6IG51bGw7XG4gICAgLy8gdGhpcy52ZXJzaW9uU3RhdGVRdWVyeVBhcmFtID0gdGhpcy5yb3V0ZXMgJiYgdGhpcy5yb3V0ZXMudmVyc2lvbnMgPyB0aGlzLnJvdXRlcy52ZXJzaW9ucy5xdWVyeVBhcmFtcy52ZXJzaW9uIDogbnVsbDtcbiAgICAvLyB0aGlzLmljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtmaWx0ZXIsIGFycm93TmV4dCwgYXJyb3dOZXh0XSk7XG4gICAgdGhpcy5hdWRpdExhYmVscyA9IHtcbiAgICAgIGExMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEnKSxcbiAgICAgIGExMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEud2l0aGNvbnRlbnQnKSxcbiAgICAgIGExMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUudGFnJyksXG5cbiAgICAgIGEyMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUnKSxcbiAgICAgIGEyMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUuY29udGVudCcpLCAvLyAjdlxuICAgICAgYTIwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmRlbGV0ZS5tYXJrZWQnKSxcbiAgICAgIGEyMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUudGFnJyksIC8vICN2XG4gICAgICBhMjIwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZGVsZXRlLnZlcnNpb24nKSwgLy8gI3ZcblxuICAgICAgYTMwMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tZXRhZGF0YScpLFxuICAgICAgYTMwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5jb250ZW50JyksXG4gICAgICBhMzAyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1ldGFkYXRhLndpdGhjb250ZW50JyksXG4gICAgICBhMzAzOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1vdmUuY29udGVudCcpLFxuICAgICAgYTMxMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS50YWcnKSxcbiAgICAgIGEzMjU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC51cGRhdGUucmVzdG9yZScpLFxuICAgICAgYTM0MDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tb3ZlJyksXG5cbiAgICAgIGE0MDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5nZXQuY29udGVudCcpLFxuICAgICAgYTQwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5tZXRhZGF0YScpLFxuICAgICAgYTQwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24udGV4dCcpLFxuICAgICAgYTQwMzogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24ucGRmJyksXG4gICAgICBhNDA0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LnJlbmRpdGlvbi50aHVtYm5haWwnKSxcblxuICAgICAgYTEwMDAwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LmN1c3RvbScpXG4gICAgfTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oWXV2RXZlbnRUeXBlLkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoZTogWXV2RXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZG1zT2JqZWN0ID0gZS5kYXRhIGFzIERtc09iamVjdDtcbiAgICAgICAgLy8gcmVsb2FkIGF1ZGl0IGVudHJpZXMgd2hlbiB1cGRhdGUgYmVsb25ncyB0byB0aGUgY3VycmVudCBkbXMgb2JqZWN0XG4gICAgICAgIGlmIChkbXNPYmplY3QuaWQgPT09IHRoaXMub2JqZWN0SUQpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEF1ZGl0RW50cmllcygpIHtcbiAgICBpZiAoIXRoaXMuX29iamVjdElEIHx8ICF0aGlzLl9vYmplY3RUeXBlSUQpIHJldHVybjtcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuYXVkaXRTZXJ2aWNlXG4gICAgICAuZ2V0QXVkaXRFbnRyaWVzKHRoaXMuX29iamVjdElELCB7IHNraXBBY3Rpb25zOiB0aGlzLnNraXBBY3Rpb25zKCkgfSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IEF1ZGl0UXVlcnlSZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICB0aGlzLnJlc29sdmVkSXRlbXMuc2V0KHRoaXMubWFwUmVzdWx0KHJlcykpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25FcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwUmVzdWx0KHJlczogQXVkaXRRdWVyeVJlc3VsdCk6IFJlc2xvdmVkQXVkaXRFbnRyeVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVzLml0ZW1zXG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzIGZpbHRlciBvbmNlIHRoZSBzeXN0ZW06cmVuOnRleHQgYXVkaXQgbGlmZWN5Y2xlIHBsYW5uaW5nIGlzIGNvbXBsZXRlIGFuZCB0aGUgdGFnJ3MgcHVycG9zZSBpcyBmdWxseSBkZWZpbmVkLlxuICAgICAgICAvLyBodHRwczovL2hlbHAub3B0aW1hbC1zeXN0ZW1zLmNvbS95dXV2aXMvTW9tZW50dW0vbGF0ZXN0L2luZGV4Lmh0bWwjX2NvbnRlbnRfcmVuZGl0aW9uc19hc3luY2hyb25vdXNfZnVsbF90ZXh0X2luZGV4aW5nLmh0bWxcbiAgICAgICAgLmZpbHRlcigoaSkgPT4gIWkuZGV0YWlsLmluY2x1ZGVzKCdbc3lzdGVtOnJlbjp0ZXh0LCAxXScpKVxuICAgICAgICAubWFwKChpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcjogUmVzbG92ZWRBdWRpdEVudHJ5ID0geyAuLi5pLCBsYWJlbDogdGhpcy5hdWRpdExhYmVsc1snYScgKyBpLmFjdGlvbl0gfTtcbiAgICAgICAgICAvLyB0YWcgcmVsYXRlZCBhdWRpdHNcbiAgICAgICAgICBpZiAoWzExMCwgMjEwLCAzMTBdLmluY2x1ZGVzKGkuYWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRBdWRpdEVudHJ5UGFyYW1zKGkpO1xuICAgICAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgICByLm1vcmUgPSBgXG4gICAgICAgICAgJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChwYXJhbXNbMF0pfTogJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChgJHtwYXJhbXNbMF19OiR7cGFyYW1zWzFdfWApfVxuICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHJlc3RvcmUgYXVkaXRcbiAgICAgICAgICBlbHNlIGlmIChpLmFjdGlvbiA9PT0gMzI1KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEF1ZGl0RW50cnlQYXJhbXMoaSk7XG4gICAgICAgICAgICByLm1vcmUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLnJlc3RvcmUubW9yZScsIHsgdmVyc2lvbjogcGFyYW1zWzBdIHx8ICdbP10nIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBjdXN0b20gYXVkaXRzXG4gICAgICAgICAgZWxzZSBpZiAoaS5hY3Rpb24gPT09IDEwMDAwKSB7XG4gICAgICAgICAgICByLmxhYmVsID0gdGhpcy5zeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoYGF1ZGl0OmN1c3RvbToke2kuc3ViYWN0aW9ufWApIHx8IGAke2kuc3ViYWN0aW9ufWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEF1ZGl0RW50cnlQYXJhbXMoYXVkaXRJdGVtOiBBdWRpdEVudHJ5KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG0gPSBhdWRpdEl0ZW0uZGV0YWlsLm1hdGNoKC9cXFsoLio/KVxcXS8pO1xuICAgIHJldHVybiBtICYmIG1bMV0gPyBtWzFdLnNwbGl0KCcsJykubWFwKChpKSA9PiBpLnRyaW0oKSkgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgcXVlcnkgZnJvbSB0aGUgc2VhcmNoIHBhbmVsLlxuICAgKi9cbiAgcXVlcnkoKSB7XG4gICAgdGhpcy5mZXRjaEF1ZGl0RW50cmllcygpO1xuICB9XG5cbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuYXVkaXRzUmVzKSB7XG4gICAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgICAgdGhpcy5hdWRpdFNlcnZpY2VcbiAgICAgICAgLmdldFBhZ2UodGhpcy5hdWRpdHNSZXMsIHBhZ2UpXG4gICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzOiBBdWRpdFF1ZXJ5UmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRJdGVtcy5zZXQodGhpcy5tYXBSZXN1bHQocmVzKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRXJyb3IoKSB7XG4gICAgdGhpcy5hdWRpdHNSZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5lcnJvciA9IHRydWU7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFJlc2xvdmVkQXVkaXRFbnRyeSBleHRlbmRzIEF1ZGl0RW50cnkge1xuICBsYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cInl1di1hdWRpdFwiIFtuZ0NsYXNzXT1cInsgc2luZ2xlRW50cnk6IGF1ZGl0c1Jlcz8uaXRlbXM/Lmxlbmd0aCA9PT0gMSwgb25QYWdlOiBhdWRpdHNSZXMgJiYgYXVkaXRzUmVzLnBhZ2UgPiAxIH1cIiBbeXV2QnVzeU92ZXJsYXldPVwiYnVzeVwiPlxuICBAaWYgKGVycm9yKSB7XG4gICAgPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT55dXYuYXVkaXQuZmV0Y2guZXJyb3I8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoYXVkaXRzUmVzKSB7XG4gICAgPCEtLSBsaXN0IG9mIGF1ZGl0cyAtLT5cbiAgICBAbGV0IHJlc0l0ZW1zID0gcmVzb2x2ZWRJdGVtcygpO1xuICAgIEBpZiAocmVzSXRlbXMubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiByZXNJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGl0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgbG9jYWxlRGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmRldGFpbCA9PT0gJ09CSkVDVF9ET0NVTUVOVF9DSEFOR0VEJykge1xuICAgICAgICAgICAgICAgICAgQGlmIChsaW5rKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ2ZXJzaW9uXCIgW3JvdXRlckxpbmtdPVwibGluaygpXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdmVyc2lvbjogaXRlbS52ZXJzaW9uIH1cIj57eyBpdGVtLnZlcnNpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJzaW9uXCI+e3sgaXRlbS52ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlIG1ldGFcIj57eyBpdGVtLm1vcmUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0b3IgbWV0YVwiPnt7IGl0ZW0uY3JlYXRlZEJ5LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiB0cmFuc2xhdGU+eXV2LmF1ZGl0LnJlc3VsdC5lbXB0eTwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gY29udHJvbHMgLS0+XG4gICAgQGlmIChhdWRpdHNSZXMuaGFzTW9yZUl0ZW1zIHx8IGF1ZGl0c1Jlcy5wYWdlID4gMSkge1xuICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiIHl1dk9mZmxpbmVEaXNhYmxlZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2luZ1wiPlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5wcmV2JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJhdWRpdHNSZXMucGFnZSA9PT0gMVwiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSAtIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJwcmV2XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICAgICAgICB7eyBhdWRpdHNSZXMucGFnZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5uZXh0JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYXVkaXRzUmVzLmhhc01vcmVJdGVtc1wiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSArIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJuZXh0XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=