@eqproject/eqp-dynamic-module 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { Context } from '../../../models/context.model';
4
4
  import { Form, FormTypeEnum } from '../../../models/form.model';
5
5
  import { UtilityHelperService } from '../../../services/utilityHelper.services';
@@ -8,7 +8,11 @@ let EqpDynamicModuleComponent = class EqpDynamicModuleComponent {
8
8
  this.context = new Context();
9
9
  this.form = new Form();
10
10
  this.showButtons = true;
11
+ this.showTitle = true;
11
12
  this.viewMode = FormTypeEnum.LIST;
13
+ this.saveRecord = new EventEmitter();
14
+ this.deleteRecord = new EventEmitter();
15
+ this.duplicateRecord = new EventEmitter();
12
16
  this.FormTypeEnum = FormTypeEnum;
13
17
  }
14
18
  ngOnInit() {
@@ -27,16 +31,21 @@ let EqpDynamicModuleComponent = class EqpDynamicModuleComponent {
27
31
  }
28
32
  onSaveForm(event) {
29
33
  //TODO: Salvare il record!
30
- if (event != null) {
31
- if (event.ID && this.values.find(v => v.ID == event.ID)) {
32
- this.values[this.values.findIndex(v => v.ID == event.ID)] = event;
33
- }
34
- else {
35
- this.values.push(event);
36
- }
37
- }
34
+ // if (event != null) {
35
+ // if (event.ID && this.values.find(v => v.ID == event.ID)) {
36
+ // this.values[this.values.findIndex(v => v.ID == event.ID)] = event;
37
+ // } else {
38
+ // this.values.push(event);
39
+ // }
40
+ // }
41
+ this.saveRecord.emit(event);
38
42
  this.viewMode = FormTypeEnum.LIST;
39
- console.log(event);
43
+ }
44
+ onDuplicateRecord(record) {
45
+ this.duplicateRecord.emit(record);
46
+ }
47
+ onDeleteRecord(record) {
48
+ this.deleteRecord.emit(record);
40
49
  }
41
50
  };
42
51
  __decorate([
@@ -51,15 +60,27 @@ __decorate([
51
60
  __decorate([
52
61
  Input()
53
62
  ], EqpDynamicModuleComponent.prototype, "showButtons", void 0);
63
+ __decorate([
64
+ Input()
65
+ ], EqpDynamicModuleComponent.prototype, "showTitle", void 0);
54
66
  __decorate([
55
67
  Input()
56
68
  ], EqpDynamicModuleComponent.prototype, "viewMode", void 0);
69
+ __decorate([
70
+ Output()
71
+ ], EqpDynamicModuleComponent.prototype, "saveRecord", void 0);
72
+ __decorate([
73
+ Output()
74
+ ], EqpDynamicModuleComponent.prototype, "deleteRecord", void 0);
75
+ __decorate([
76
+ Output()
77
+ ], EqpDynamicModuleComponent.prototype, "duplicateRecord", void 0);
57
78
  EqpDynamicModuleComponent = __decorate([
58
79
  Component({
59
80
  selector: 'eqp-dynamic-module',
60
- template: "<add-form-record *ngIf=\"viewMode == FormTypeEnum.SCALAR\" [form]=\"form\" [record]=\"selectedRecord\"\r\n [showButtons]=\"showButtons\" [onlyView]=\"onlyView\" (saveRecordEvent)=\"onSaveForm($event)\">\r\n</add-form-record>\r\n\r\n<list-form-record *ngIf=\"viewMode == FormTypeEnum.LIST\" [form]=\"form\" [values]=\"values\"\r\n (onAddViewEditRecord)=\"onAddViewEditRecord($event)\">\r\n</list-form-record>",
81
+ template: "<add-form-record *ngIf=\"viewMode == FormTypeEnum.SCALAR\" [form]=\"form\" [record]=\"selectedRecord\"\r\n [showButtons]=\"showButtons\" [onlyView]=\"onlyView\" (saveRecordEvent)=\"onSaveForm($event)\" [showTitle]=\"showTitle\">\r\n</add-form-record>\r\n\r\n<list-form-record *ngIf=\"viewMode == FormTypeEnum.LIST\" [form]=\"form\" [values]=\"values\"\r\n (onAddViewEditRecord)=\"onAddViewEditRecord($event)\" [showTitle]=\"showTitle\"\r\n (onDeleteRecord)=\"onDeleteRecord($event)\" (onDuplicateRecord)=\"onDuplicateRecord($event)\">\r\n</list-form-record>",
61
82
  styles: ["::ng-deep mat-form-field{width:100%}"]
62
83
  })
63
84
  ], EqpDynamicModuleComponent);
64
85
  export { EqpDynamicModuleComponent };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXhwb3J0ZWQvZXFwLWR5bmFtaWMtbW9kdWxlL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPaEYsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFZcEM7UUFWUyxZQUFPLEdBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxTQUFJLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUV4QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixhQUFRLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFFcEQsaUJBQVksR0FBRyxZQUFZLENBQUM7SUFLeEIsQ0FBQztJQUVMLFFBQVE7UUFDTixvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUE0QztRQUM5RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsMEJBQTBCO1FBRTFCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixJQUFJLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0NBQ0YsQ0FBQTtBQXpDVTtJQUFSLEtBQUssRUFBRTswREFBa0M7QUFDakM7SUFBUixLQUFLLEVBQUU7dURBQXlCO0FBQ3hCO0lBQVIsS0FBSyxFQUFFO3lEQUF1QjtBQUN0QjtJQUFSLEtBQUssRUFBRTs4REFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7MkRBQTRDO0FBTnpDLHlCQUF5QjtJQUxyQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLHlhQUFrRDs7S0FFbkQsQ0FBQztHQUNXLHlCQUF5QixDQTJDckM7U0EzQ1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbnRleHQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlcXAtZHluYW1pYy1tb2R1bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lcXAtZHluYW1pYy1tb2R1bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcXBEeW5hbWljTW9kdWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgY29udGV4dDogQ29udGV4dCA9IG5ldyBDb250ZXh0KCk7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybSA9IG5ldyBGb3JtKCk7XHJcbiAgQElucHV0KCkgdmFsdWVzOiBBcnJheTxSZWNvcmQ+O1xyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSB2aWV3TW9kZTogRm9ybVR5cGVFbnVtID0gRm9ybVR5cGVFbnVtLkxJU1Q7XHJcblxyXG4gIEZvcm1UeXBlRW51bSA9IEZvcm1UeXBlRW51bTtcclxuICBzZWxlY3RlZFJlY29yZDogUmVjb3JkO1xyXG4gIG9ubHlWaWV3OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFV0aWxpdHlIZWxwZXJTZXJ2aWNlLlNldENvbnRleHQodGhpcy5jb250ZXh0KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVmlld0VkaXRSZWNvcmQoZXZlbnQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0pIHtcclxuICAgIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGV2ZW50LnJlY29yZCkpO1xyXG4gICAgICB0aGlzLm9ubHlWaWV3ID0gZXZlbnQub25seVZpZXc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkID0gbnVsbDtcclxuICAgICAgdGhpcy5vbmx5VmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5TQ0FMQVI7XHJcbiAgfVxyXG5cclxuICBvblNhdmVGb3JtKGV2ZW50OiBSZWNvcmQpIHtcclxuICAgIC8vVE9ETzogU2FsdmFyZSBpbCByZWNvcmQhXHJcbiAgICBcclxuICAgIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChldmVudC5JRCAmJiB0aGlzLnZhbHVlcy5maW5kKHYgPT4gdi5JRCA9PSBldmVudC5JRCkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlc1t0aGlzLnZhbHVlcy5maW5kSW5kZXgodiA9PiB2LklEID09IGV2ZW50LklEKV0gPSBldmVudDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlcy5wdXNoKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5MSVNUO1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXhwb3J0ZWQvZXFwLWR5bmFtaWMtbW9kdWxlL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPaEYsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFrQnBDO1FBaEJTLFlBQU8sR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLFNBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsYUFBUSxHQUFpQixZQUFZLENBQUMsSUFBSSxDQUFDO1FBRzFDLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hFLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFN0UsaUJBQVksR0FBRyxZQUFZLENBQUM7SUFLeEIsQ0FBQztJQUVMLFFBQVE7UUFDTixvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUE0QztRQUM5RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsMEJBQTBCO1FBRTFCLHVCQUF1QjtRQUN2QiwrREFBK0Q7UUFDL0QseUVBQXlFO1FBQ3pFLGFBQWE7UUFDYiwrQkFBK0I7UUFDL0IsTUFBTTtRQUNOLElBQUk7UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRixDQUFBO0FBdkRVO0lBQVIsS0FBSyxFQUFFOzBEQUFrQztBQUNqQztJQUFSLEtBQUssRUFBRTt1REFBeUI7QUFDeEI7SUFBUixLQUFLLEVBQUU7eURBQXVCO0FBQ3RCO0lBQVIsS0FBSyxFQUFFOzhEQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTs0REFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7MkRBQTRDO0FBRzFDO0lBQVQsTUFBTSxFQUFFOzZEQUErRDtBQUM5RDtJQUFULE1BQU0sRUFBRTsrREFBaUU7QUFDaEU7SUFBVCxNQUFNLEVBQUU7a0VBQW9FO0FBWmxFLHlCQUF5QjtJQUxyQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLGtrQkFBa0Q7O0tBRW5ELENBQUM7R0FDVyx5QkFBeUIsQ0F5RHJDO1NBekRZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSwgRm9ybVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXFwLWR5bmFtaWMtbW9kdWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lcXAtZHluYW1pYy1tb2R1bGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXFwRHluYW1pY01vZHVsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbnRleHQ6IENvbnRleHQgPSBuZXcgQ29udGV4dCgpO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm0gPSBuZXcgRm9ybSgpO1xyXG4gIEBJbnB1dCgpIHZhbHVlczogQXJyYXk8UmVjb3JkPjtcclxuICBASW5wdXQoKSBzaG93QnV0dG9ucyA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSB2aWV3TW9kZTogRm9ybVR5cGVFbnVtID0gRm9ybVR5cGVFbnVtLkxJU1Q7XHJcblxyXG5cclxuICBAT3V0cHV0KCkgc2F2ZVJlY29yZDogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlUmVjb3JkOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gIEBPdXRwdXQoKSBkdXBsaWNhdGVSZWNvcmQ6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG4gIEZvcm1UeXBlRW51bSA9IEZvcm1UeXBlRW51bTtcclxuICBzZWxlY3RlZFJlY29yZDogUmVjb3JkO1xyXG4gIG9ubHlWaWV3OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFV0aWxpdHlIZWxwZXJTZXJ2aWNlLlNldENvbnRleHQodGhpcy5jb250ZXh0KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVmlld0VkaXRSZWNvcmQoZXZlbnQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0pIHtcclxuICAgIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGV2ZW50LnJlY29yZCkpO1xyXG4gICAgICB0aGlzLm9ubHlWaWV3ID0gZXZlbnQub25seVZpZXc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkID0gbnVsbDtcclxuICAgICAgdGhpcy5vbmx5VmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5TQ0FMQVI7XHJcbiAgfVxyXG5cclxuICBvblNhdmVGb3JtKGV2ZW50OiBSZWNvcmQpIHtcclxuICAgIC8vVE9ETzogU2FsdmFyZSBpbCByZWNvcmQhXHJcblxyXG4gICAgLy8gaWYgKGV2ZW50ICE9IG51bGwpIHtcclxuICAgIC8vICAgaWYgKGV2ZW50LklEICYmIHRoaXMudmFsdWVzLmZpbmQodiA9PiB2LklEID09IGV2ZW50LklEKSkge1xyXG4gICAgLy8gICAgIHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmZpbmRJbmRleCh2ID0+IHYuSUQgPT0gZXZlbnQuSUQpXSA9IGV2ZW50O1xyXG4gICAgLy8gICB9IGVsc2Uge1xyXG4gICAgLy8gICAgIHRoaXMudmFsdWVzLnB1c2goZXZlbnQpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLnNhdmVSZWNvcmQuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnZpZXdNb2RlID0gRm9ybVR5cGVFbnVtLkxJU1Q7XHJcbiAgfVxyXG5cclxuICBvbkR1cGxpY2F0ZVJlY29yZChyZWNvcmQ6IFJlY29yZCkge1xyXG4gICAgdGhpcy5kdXBsaWNhdGVSZWNvcmQuZW1pdChyZWNvcmQpO1xyXG4gIH1cclxuXHJcbiAgb25EZWxldGVSZWNvcmQocmVjb3JkOiBSZWNvcmQpIHtcclxuICAgIHRoaXMuZGVsZXRlUmVjb3JkLmVtaXQocmVjb3JkKTtcclxuICB9XHJcbn1cclxuIl19
@@ -8,6 +8,7 @@ let AddFormRecordComponent = class AddFormRecordComponent {
8
8
  constructor(cdr, utilityService) {
9
9
  this.cdr = cdr;
10
10
  this.utilityService = utilityService;
11
+ this.showTitle = true;
11
12
  this.showButtons = true;
12
13
  this.form = new Form();
13
14
  this.fieldGroups = {};
@@ -97,6 +98,9 @@ AddFormRecordComponent.ctorParameters = () => [
97
98
  { type: ChangeDetectorRef },
98
99
  { type: UtilityHelperService }
99
100
  ];
101
+ __decorate([
102
+ Input()
103
+ ], AddFormRecordComponent.prototype, "showTitle", void 0);
100
104
  __decorate([
101
105
  Input()
102
106
  ], AddFormRecordComponent.prototype, "showButtons", void 0);
@@ -118,9 +122,9 @@ __decorate([
118
122
  AddFormRecordComponent = __decorate([
119
123
  Component({
120
124
  selector: 'add-form-record',
121
- template: "<div class=\"row eqp-dynamic-module-title\">\n <div class=\"col-md-12 text-center\">\n <h4><b>{{form.Name}}</b></h4>\n </div>\n</div>\n\n<form [formGroup]=\"formForm\">\n\n <!-- VISUALIZZAZIONE SEMPLICE -->\n <ng-container *ngIf=\"form.FormScalarType == FormScalarTypeEnum.Semplice\" [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: form.Fields }\">\n </ng-container>\n\n <!-- VISUALIZZAZIONE A STEPPER -->\n <mat-horizontal-stepper linear *ngIf=\"form.FormScalarType == FormScalarTypeEnum['A step']\">\n <mat-step *ngFor=\"let group of form.FormFieldsGroups\">\n <ng-template matStepLabel>\n {{group.Name}}\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-step>\n </mat-horizontal-stepper>\n\n <!-- VISUALIZZAZIONE A TAB -->\n <mat-tab-group *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In tab']\">\n <mat-tab *ngFor=\"let group of form.FormFieldsGroups\" [label]=\"group.Name\">\n <div class=\"mt-3\">\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <!-- VISUALIZZAZIONE AD ACCORDION -->\n <mat-accordion multi *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In accordion']\">\n <mat-expansion-panel *ngFor=\"let group of form.FormFieldsGroups\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{group.Name}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-expansion-panel>\n </mat-accordion>\n</form>\n\n<div class=\"row mt-2\" *ngIf=\"showButtons\">\n <div class=\"col-sm-12 text-right\">\n <button class=\"mr-2\" mat-raised-button (click)=\"saveOrExitForm(true)\" type=\"button\">\n Annulla\n </button>\n <button class=\"mr-2\" mat-raised-button color=\"primary\" (click)=\"saveOrExitForm(false)\"\n [disabled]=\"formForm.invalid || formForm.disabled\" type=\"button\">\n Salva\n </button>\n </div>\n</div>\n\n<!-- TEMPLATE PER LA VISUALIZZAZIONE DEI CAMPI DELLA FORM -->\n<ng-template #fieldTemplates let-fields='fields'>\n <div class=\"row\">\n <div class=\"mt-2\" *ngFor=\"let field of fields\" [ngClass]=\"utilityService.getFieldSyleClass(field)\">\n <dynamic-module-field #fieldTemplate [field]=\"field\" [form]=\"form\" [record]=\"record\" (recordChange)=\"onRecordChange()\"></dynamic-module-field>\n </div>\n </div>\n</ng-template>",
125
+ template: "<div class=\"row eqp-dynamic-module-title\" *ngIf=\"showTitle\">\n <div class=\"col-md-12\">\n <h4><b>{{form.Name}}</b></h4>\n </div>\n</div>\n\n<form [formGroup]=\"formForm\">\n\n <!-- VISUALIZZAZIONE SEMPLICE -->\n <ng-container *ngIf=\"form.FormScalarType == FormScalarTypeEnum.Semplice\" [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: form.Fields }\">\n </ng-container>\n\n <!-- VISUALIZZAZIONE A STEPPER -->\n <mat-horizontal-stepper linear *ngIf=\"form.FormScalarType == FormScalarTypeEnum['A step']\">\n <mat-step *ngFor=\"let group of form.FormFieldsGroups\">\n <ng-template matStepLabel>\n {{group.Name}}\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-step>\n </mat-horizontal-stepper>\n\n <!-- VISUALIZZAZIONE A TAB -->\n <mat-tab-group *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In tab']\">\n <mat-tab *ngFor=\"let group of form.FormFieldsGroups\" [label]=\"group.Name\">\n <div class=\"mt-3\">\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <!-- VISUALIZZAZIONE AD ACCORDION -->\n <mat-accordion multi *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In accordion']\">\n <mat-expansion-panel *ngFor=\"let group of form.FormFieldsGroups\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{group.Name}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-expansion-panel>\n </mat-accordion>\n</form>\n\n<div class=\"row mt-2\" *ngIf=\"showButtons\">\n <div class=\"col-sm-12 text-right\">\n <button class=\"mr-2\" mat-raised-button (click)=\"saveOrExitForm(true)\" type=\"button\">\n Annulla\n </button>\n <button class=\"mr-2\" mat-raised-button color=\"primary\" (click)=\"saveOrExitForm(false)\"\n [disabled]=\"formForm.invalid || formForm.disabled\" type=\"button\">\n Salva\n </button>\n </div>\n</div>\n\n<!-- TEMPLATE PER LA VISUALIZZAZIONE DEI CAMPI DELLA FORM -->\n<ng-template #fieldTemplates let-fields='fields'>\n <div class=\"row\">\n <div class=\"mt-2\" *ngFor=\"let field of fields\" [ngClass]=\"utilityService.getFieldSyleClass(field)\">\n <dynamic-module-field #fieldTemplate [field]=\"field\" [form]=\"form\" [record]=\"record\"\n (recordChange)=\"onRecordChange()\"></dynamic-module-field>\n </div>\n </div>\n</ng-template>",
122
126
  styles: [""]
123
127
  })
124
128
  ], AddFormRecordComponent);
125
129
  export { AddFormRecordComponent };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXJlY29yZHMvYWRkLWZvcm0tcmVjb3JkL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0gsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFRbkYsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFlakMsWUFDVSxHQUFzQixFQUN2QixjQUFvQztRQURuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN2QixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFmcEMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFJakMsZ0JBQVcsR0FBd0MsRUFBRSxDQUFDO1FBQ3RELHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBRXBCLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFPekUsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBYTtRQUMxQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0I7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBa0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sU0FBUyxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQzdCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25JO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQjthQUN2QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDaEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRixDQUFBOztZQXRGZ0IsaUJBQWlCO1lBQ1Asb0JBQW9COztBQWZwQztJQUFSLEtBQUssRUFBRTsyREFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7b0RBQXlCO0FBQ3hCO0lBQVIsS0FBSyxFQUFFO3NEQUFnQjtBQUNmO0lBQVIsS0FBSyxFQUFFO3dEQUFtQjtBQU1qQjtJQUFULE1BQU0sRUFBRTsrREFBb0U7QUFFOUM7SUFBOUIsWUFBWSxDQUFDLGVBQWUsQ0FBQzs2REFBdUQ7QUFiMUUsc0JBQXNCO0lBTGxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7UUFDM0Iscy9GQUErQzs7S0FFaEQsQ0FBQztHQUNXLHNCQUFzQixDQXNHbEM7U0F0R1ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkLCBGaWVsZFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1TY2FsYXJUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FkZC1mb3JtLXJlY29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEZvcm1SZWNvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBzaG93QnV0dG9ucyA9IHRydWU7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybSA9IG5ldyBGb3JtKCk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQElucHV0KCkgb25seVZpZXc6IGJvb2xlYW47XHJcbiAgZm9ybUZvcm06IEZvcm1Hcm91cDtcclxuICBmaWVsZEdyb3VwczogeyBba2V5OiBzdHJpbmddOiBBcnJheTxCYXNlRmllbGQ+IH0gPSB7fTtcclxuICBGb3JtU2NhbGFyVHlwZUVudW0gPSBGb3JtU2NhbGFyVHlwZUVudW07XHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcblxyXG4gIEBPdXRwdXQoKSBzYXZlUmVjb3JkRXZlbnQ6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJmaWVsZFRlbXBsYXRlXCIpIGZpZWxkVGVtcGxhdGU6IFF1ZXJ5TGlzdDxEeW5hbWljTW9kdWxlRmllbGRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eUhlbHBlclNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlY29yZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkID0gbmV3IFJlY29yZCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jcmVhdGVSZWNvcmRQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnJlb3JkZXJGb3JtRmllbGRzKCk7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Gb3JtU2NhbGFyVHlwZSAhPSBGb3JtU2NhbGFyVHlwZUVudW0uU2VtcGxpY2UpIHtcclxuICAgICAgdGhpcy5jcmVhdGVGaWVsZEdyb3VwcygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRpIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gcmVjb3JkLlxyXG4gICAqIFNlcnZlIGFkIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRpIHR1dHRpIGkgY2FtcGkgY2hlIGhhbm5vIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkQ2hhbmdlKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGRUZW1wbGF0ZSAmJiB0aGlzLmZpZWxkVGVtcGxhdGUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkVGVtcGxhdGUuZm9yRWFjaChmID0+IGYudXBkYXRlRmllbGQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHNhbHZhcmUgaSBkYXRpIGluc2VyaXRpIGRhbGwndXRlbnRlIHVuYSB2b2x0YSBjb25jbHVzYSBsYSBjb21waWxhemlvbmUgZGVsbGEgZm9ybS5cclxuICAgKi9cclxuICBzYXZlT3JFeGl0Rm9ybShleGl0OiBib29sZWFuKSB7XHJcbiAgICBpZiAoZXhpdCkge1xyXG4gICAgICB0aGlzLnNhdmVSZWNvcmRFdmVudC5lbWl0KG51bGwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlUmVjb3JkRXZlbnQuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBuZWxsJ29nZ2V0dG8gUmVjb3JkIGxlIHByb3ByaWV0w6AgbWFuY2FudGkgcmlzcGV0dG8gYWkgY2FtcGkgY2hlIGNvbXBvbmdvbm8gbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVJlY29yZFByb3BlcnRpZXMoKSB7XHJcbiAgICBjb25zdCByZWNvcmRQcm9wZXJ0aWVzOiBBcnJheTxzdHJpbmc+ID0gT2JqZWN0LmtleXModGhpcy5yZWNvcmQpO1xyXG4gICAgdGhpcy5mb3JtLkZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgaWYgKCFyZWNvcmRQcm9wZXJ0aWVzLmZpbmQocCA9PiBwID09PSBmaWVsZC5OYW1lKSkge1xyXG4gICAgICAgIHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5mb3JtLklubmVyRm9ybXMgJiYgdGhpcy5mb3JtLklubmVyRm9ybXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5mb3JFYWNoKGZvcm0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGFycmF5TmFtZTogc3RyaW5nID0gZm9ybS5OYW1lLnNwbGl0KFwiIFwiKS5qb2luKFwiX1wiKTtcclxuICAgICAgICBpZiAoIXJlY29yZFByb3BlcnRpZXMuZmluZChwID0+IHAgPT09IGFycmF5TmFtZSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaW9yZGluYXJlIGkgY2FtcGkgY2hlIGNvbXBvbmdvbm8gbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIHJlb3JkZXJGb3JtRmllbGRzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5GaWVsZHMgJiYgdGhpcy5mb3JtLkZpZWxkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5GaWVsZHMuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGlsIEZvcm1Hcm91cCBjaGUgcmFwcHJlc2VudGEgbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUZvcm0gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLkNyZWF0ZUZvcm1Gb3JtR3JvdXAodGhpcy5mb3JtLkZpZWxkcywgdGhpcy5yZWNvcmQsIHRoaXMub25seVZpZXcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgaSBncnVwcGkgaW4gY3VpIHJhZ2dydXBwYXJlIGkgY2FtcGkgZGVsbGEgZm9ybSBpbiBiYXNlIFxyXG4gICAqIGEgY29tZSDDqCBzdGF0YSBjb25maWd1cmF0YSBkYWxsJ3V0ZW50ZS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUZpZWxkR3JvdXBzKCkge1xyXG4gICAgdGhpcy5mb3JtLkZvcm1GaWVsZHNHcm91cHNcclxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLk9yZGluYWxQb3NpdGlvbiA+IGIuT3JkaW5hbFBvc2l0aW9uKSA/IDEgOiAoKGIuT3JkaW5hbFBvc2l0aW9uID4gYS5PcmRpbmFsUG9zaXRpb24pID8gLTEgOiAwKSlcclxuICAgICAgLm1hcChnID0+IGcuTmFtZSlcclxuICAgICAgLmZvckVhY2goZ3JvdXBOYW1lID0+IHtcclxuICAgICAgICB0aGlzLmZpZWxkR3JvdXBzW2dyb3VwTmFtZV0gPSB0aGlzLmZvcm0uRmllbGRzLmZpbHRlcihmID0+IGYuRmllbGRHcm91cCA9PSBncm91cE5hbWUpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXJlY29yZHMvYWRkLWZvcm0tcmVjb3JkL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0gsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFRbkYsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFnQmpDLFlBQ1UsR0FBc0IsRUFDdkIsY0FBb0M7UUFEbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBaEJwQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFNBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBSWpDLGdCQUFXLEdBQXdDLEVBQUUsQ0FBQztRQUN0RCx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUVwQixvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBT3pFLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxJ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S0FBSyxFQUFFO3NEQUFnQjtBQUNmO0lBQVIsS0FBSyxFQUFFO3dEQUFtQjtBQU1qQjtJQUFULE1BQU0sRUFBRTsrREFBb0U7QUFFOUM7SUFBOUIsWUFBWSxDQUFDLGVBQWUsQ0FBQzs2REFBdUQ7QUFkMUUsc0JBQXNCO0lBTGxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsK2dHQUErQzs7S0FFaEQsQ0FBQztHQUNXLHNCQUFzQixDQXVHbEM7U0F2R1ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkLCBGaWVsZFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1TY2FsYXJUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FkZC1mb3JtLXJlY29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEZvcm1SZWNvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtID0gbmV3IEZvcm0oKTtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBASW5wdXQoKSBvbmx5VmlldzogYm9vbGVhbjtcclxuICBmb3JtRm9ybTogRm9ybUdyb3VwO1xyXG4gIGZpZWxkR3JvdXBzOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PEJhc2VGaWVsZD4gfSA9IHt9O1xyXG4gIEZvcm1TY2FsYXJUeXBlRW51bSA9IEZvcm1TY2FsYXJUeXBlRW51bTtcclxuICBGaWVsZFR5cGVFbnVtID0gRmllbGRUeXBlRW51bTtcclxuXHJcbiAgQE91dHB1dCgpIHNhdmVSZWNvcmRFdmVudDogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihcImZpZWxkVGVtcGxhdGVcIikgZmllbGRUZW1wbGF0ZTogUXVlcnlMaXN0PER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5SGVscGVyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVjb3JkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5yZWNvcmQgPSBuZXcgUmVjb3JkKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNyZWF0ZVJlY29yZFByb3BlcnRpZXMoKTtcclxuICAgIHRoaXMucmVvcmRlckZvcm1GaWVsZHMoKTtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiAgICBpZiAodGhpcy5mb3JtLkZvcm1TY2FsYXJUeXBlICE9IEZvcm1TY2FsYXJUeXBlRW51bS5TZW1wbGljZSkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUZpZWxkR3JvdXBzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gaW52b2NhdG8gYWwgY2FtYmlvIGRlbCB2YWxvcmUgZGkgb2duaSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byByZWNvcmQuXHJcbiAgICogU2VydmUgYWQgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGkgdHV0dGkgaSBjYW1waSBjaGUgaGFubm8gdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgb25SZWNvcmRDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZFRlbXBsYXRlICYmIHRoaXMuZmllbGRUZW1wbGF0ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmllbGRUZW1wbGF0ZS5mb3JFYWNoKGYgPT4gZi51cGRhdGVGaWVsZCgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgc2FsdmFyZSBpIGRhdGkgaW5zZXJpdGkgZGFsbCd1dGVudGUgdW5hIHZvbHRhIGNvbmNsdXNhIGxhIGNvbXBpbGF6aW9uZSBkZWxsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHNhdmVPckV4aXRGb3JtKGV4aXQ6IGJvb2xlYW4pIHtcclxuICAgIGlmIChleGl0KSB7XHJcbiAgICAgIHRoaXMuc2F2ZVJlY29yZEV2ZW50LmVtaXQobnVsbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNhdmVSZWNvcmRFdmVudC5lbWl0KHRoaXMucmVjb3JkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIG5lbGwnb2dnZXR0byBSZWNvcmQgbGUgcHJvcHJpZXTDoCBtYW5jYW50aSByaXNwZXR0byBhaSBjYW1waSBjaGUgY29tcG9uZ29ubyBsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlUmVjb3JkUHJvcGVydGllcygpIHtcclxuICAgIGNvbnN0IHJlY29yZFByb3BlcnRpZXM6IEFycmF5PHN0cmluZz4gPSBPYmplY3Qua2V5cyh0aGlzLnJlY29yZCk7XHJcbiAgICB0aGlzLmZvcm0uRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBpZiAoIXJlY29yZFByb3BlcnRpZXMuZmluZChwID0+IHAgPT09IGZpZWxkLk5hbWUpKSB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbZmllbGQuTmFtZV0gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmZvcm0uSW5uZXJGb3JtcyAmJiB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5Jbm5lckZvcm1zLmZvckVhY2goZm9ybSA9PiB7XHJcbiAgICAgICAgY29uc3QgYXJyYXlOYW1lOiBzdHJpbmcgPSBmb3JtLk5hbWUuc3BsaXQoXCIgXCIpLmpvaW4oXCJfXCIpO1xyXG4gICAgICAgIGlmICghcmVjb3JkUHJvcGVydGllcy5maW5kKHAgPT4gcCA9PT0gYXJyYXlOYW1lKSkge1xyXG4gICAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJpb3JkaW5hcmUgaSBjYW1waSBjaGUgY29tcG9uZ29ubyBsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVvcmRlckZvcm1GaWVsZHMoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLkZpZWxkcyAmJiB0aGlzLmZvcm0uRmllbGRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5mb3JtLkZpZWxkcy5zb3J0KChhLCBiKSA9PiAoYS5PcmRpbmFsUG9zaXRpb24gPiBiLk9yZGluYWxQb3NpdGlvbikgPyAxIDogKChiLk9yZGluYWxQb3NpdGlvbiA+IGEuT3JkaW5hbFBvc2l0aW9uKSA/IC0xIDogMCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgaWwgRm9ybUdyb3VwIGNoZSByYXBwcmVzZW50YSBsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCkge1xyXG4gICAgdGhpcy5mb3JtRm9ybSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuQ3JlYXRlRm9ybUZvcm1Hcm91cCh0aGlzLmZvcm0uRmllbGRzLCB0aGlzLnJlY29yZCwgdGhpcy5vbmx5Vmlldyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBpIGdydXBwaSBpbiBjdWkgcmFnZ3J1cHBhcmUgaSBjYW1waSBkZWxsYSBmb3JtIGluIGJhc2UgXHJcbiAgICogYSBjb21lIMOoIHN0YXRhIGNvbmZpZ3VyYXRhIGRhbGwndXRlbnRlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlRmllbGRHcm91cHMoKSB7XHJcbiAgICB0aGlzLmZvcm0uRm9ybUZpZWxkc0dyb3Vwc1xyXG4gICAgICAuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKVxyXG4gICAgICAubWFwKGcgPT4gZy5OYW1lKVxyXG4gICAgICAuZm9yRWFjaChncm91cE5hbWUgPT4ge1xyXG4gICAgICAgIHRoaXMuZmllbGRHcm91cHNbZ3JvdXBOYW1lXSA9IHRoaXMuZm9ybS5GaWVsZHMuZmlsdGVyKGYgPT4gZi5GaWVsZEdyb3VwID09IGdyb3VwTmFtZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,15 +4,24 @@ import { CellAlignmentEnum, NumberColumnPipe, TypeColumn } from '@eqproject/eqp-
4
4
  import { FieldTypeEnum } from '../../../../models/baseField.model';
5
5
  import { DateTimeTypeEnum } from '../../../../models/fields/dateField.model';
6
6
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
7
- import { EqpDynamicModuleDialogService } from '../../../../services/eqp-dynamic-module-dialog.service';
8
7
  let ListFormRecordComponent = class ListFormRecordComponent {
9
8
  constructor() {
9
+ this.showTitle = true;
10
10
  this.columns = new Array();
11
11
  this.onAddViewEditRecord = new EventEmitter();
12
+ this.onDeleteRecord = new EventEmitter();
13
+ this.onDuplicateRecord = new EventEmitter();
12
14
  }
13
15
  ngOnInit() {
14
16
  this.configureColumns();
15
17
  }
18
+ ngOnChanges(changes) {
19
+ // Se viene modificato il valore di "ngModelInput" allora aggiorna l'input
20
+ if (changes['values'] != undefined && changes['values'].firstChange == false) {
21
+ this.values = changes['values'].currentValue;
22
+ this.reloadTables();
23
+ }
24
+ }
16
25
  /**
17
26
  * Metodo per configurare le colonne della eqp-table.
18
27
  */
@@ -68,17 +77,17 @@ let ListFormRecordComponent = class ListFormRecordComponent {
68
77
  * @param record Record da duplicare.
69
78
  */
70
79
  duplicateRecord(record) {
71
- EqpDynamicModuleDialogService.Confirm('Duplicare il record selezionato?', () => {
72
- var copiedRecord = JSON.parse(JSON.stringify(record));
73
- if (!isNaN(parseInt(copiedRecord.ID))) {
74
- copiedRecord.ID = (parseInt(copiedRecord.ID) + 1).toString();
75
- }
76
- else {
77
- copiedRecord.ID = "xxxxxxxxx".replace("x", (c) => { return (Math.random() + 16 | 0).toString(16); });
78
- }
79
- this.values.push(copiedRecord);
80
- this.reloadTables();
81
- }, false, 'Richiesta conferma');
80
+ // EqpDynamicModuleDialogService.Confirm('Duplicare il record selezionato?', () => {
81
+ // var copiedRecord: Record = JSON.parse(JSON.stringify(record));
82
+ // if (!isNaN(parseInt(copiedRecord.ID))) {
83
+ // copiedRecord.ID = (parseInt(copiedRecord.ID) + 1).toString();
84
+ // } else {
85
+ // copiedRecord.ID = "xxxxxxxxx".replace("x", (c) => { return (Math.random() + 16 | 0).toString(16); });
86
+ // }
87
+ // this.values.push(copiedRecord);
88
+ // this.reloadTables();
89
+ // }, false, 'Richiesta conferma');
90
+ this.onDuplicateRecord.emit(record);
82
91
  //TODO
83
92
  }
84
93
  /**
@@ -86,10 +95,11 @@ let ListFormRecordComponent = class ListFormRecordComponent {
86
95
  * @param record Record da eliminare selezionato sulla eqp-table.
87
96
  */
88
97
  deleteRecord(record) {
89
- EqpDynamicModuleDialogService.Confirm('Eliminare il record selezionato?', () => {
90
- this.values.splice(this.values.indexOf(record), 1);
91
- this.reloadTables();
92
- }, false, 'Richiesta conferma');
98
+ // EqpDynamicModuleDialogService.Confirm('Eliminare il record selezionato?', () => {
99
+ // this.values.splice(this.values.indexOf(record), 1);
100
+ // this.reloadTables();
101
+ // }, false, 'Richiesta conferma');
102
+ this.onDeleteRecord.emit(record);
93
103
  // TODO
94
104
  }
95
105
  /**
@@ -190,6 +200,9 @@ let ListFormRecordComponent = class ListFormRecordComponent {
190
200
  }
191
201
  }
192
202
  };
203
+ __decorate([
204
+ Input()
205
+ ], ListFormRecordComponent.prototype, "showTitle", void 0);
193
206
  __decorate([
194
207
  Input()
195
208
  ], ListFormRecordComponent.prototype, "form", void 0);
@@ -202,12 +215,18 @@ __decorate([
202
215
  __decorate([
203
216
  Output()
204
217
  ], ListFormRecordComponent.prototype, "onAddViewEditRecord", void 0);
218
+ __decorate([
219
+ Output()
220
+ ], ListFormRecordComponent.prototype, "onDeleteRecord", void 0);
221
+ __decorate([
222
+ Output()
223
+ ], ListFormRecordComponent.prototype, "onDuplicateRecord", void 0);
205
224
  ListFormRecordComponent = __decorate([
206
225
  Component({
207
226
  selector: 'list-form-record',
208
- template: "<div class=\"row eqp-dynamic-module-title\">\r\n <div class=\"col-md-6\">\r\n <h4><b>Elenco {{form.Name}}</b></h4>\r\n </div>\r\n <div class=\"col-md-6 text-right\">\r\n <button class=\"btn btn-primary\" mat-raised-button color=\"primary\" type=\"button\" (click)=\"onAddViewEditRecord.emit(null)\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n\r\n<eqp-table #tableRecords [data]=\"values\" [columns]=\"columns\"></eqp-table>",
227
+ template: "<div class=\"row eqp-dynamic-module-title\">\r\n <div class=\"col-md-6\">\r\n <h4 *ngIf=\"showTitle\"><b>Elenco {{form.Name}}</b></h4>\r\n </div>\r\n <div class=\"col-md-6 text-right\">\r\n <button class=\"btn btn-primary\" mat-raised-button color=\"primary\" type=\"button\" (click)=\"onAddViewEditRecord.emit(null)\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n\r\n<eqp-table #tableRecords [data]=\"values\" [columns]=\"columns\"></eqp-table>",
209
228
  styles: ["::ng-deep .error-color{color:var(--danger)}::ng-deep .success-color{color:var(--success)}"]
210
229
  })
211
230
  ], ListFormRecordComponent);
212
231
  export { ListFormRecordComponent };
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZm9ybS1yZWNvcmRzL2xpc3QtZm9ybS1yZWNvcmQvbGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBbUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEgsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRzlFLE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSXhGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBT3ZHLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXVCO0lBVWxDO1FBSkEsWUFBTyxHQUFHLElBQUksS0FBSyxFQUFnQixDQUFDO1FBRTFCLHdCQUFtQixHQUF3RCxJQUFJLFlBQVksRUFBeUMsQ0FBQztJQUUvSCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiO2dCQUNFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEVBQUUs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QUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs2REFBaUM7QUFJbkU7SUFBVCxNQUFNLEVBQUU7b0VBQXNJO0FBUnBJLHVCQUF1QjtJQUxuQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLDhqQkFBOEM7O0tBRS9DLENBQUM7R0FDVyx1QkFBdUIsQ0FpTW5DO1NBak1ZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQXR0YWNobWVudERUTyB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWF0dGFjaG1lbnRzJztcclxuaW1wb3J0IHsgQ2VsbEFsaWdubWVudEVudW0sIENvbmZpZ0NvbHVtbiwgRXFwVGFibGVDb21wb25lbnQsIE51bWJlckNvbHVtblBpcGUsIFR5cGVDb2x1bW4gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC10YWJsZSc7XHJcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgQXR0YWNobWVudEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9hdHRhY2htZW50RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRlRmllbGQsIERhdGVUaW1lVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2RhdGVGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEltYWdlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2ltYWdlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMaXN0VmFsdWVGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvbGlzdFZhbHVlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL251bWVyaWNGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGlzdC1mb3JtLXJlY29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdsaXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RGb3JtUmVjb3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSB2YWx1ZXM6IEFycmF5PFJlY29yZD47XHJcbiAgQFZpZXdDaGlsZCgndGFibGVSZWNvcmRzJywgeyBzdGF0aWM6IHRydWUgfSkgdGFibGVSZWNvcmRzOiBFcXBUYWJsZUNvbXBvbmVudDtcclxuXHJcbiAgY29sdW1ucyA9IG5ldyBBcnJheTxDb25maWdDb2x1bW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkFkZFZpZXdFZGl0UmVjb3JkOiBFdmVudEVtaXR0ZXI8eyByZWNvcmQ6IFJlY29yZCwgb25seVZpZXc6IGJvb2xlYW4gfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNvbmZpZ3VyYXJlIGxlIGNvbG9ubmUgZGVsbGEgZXFwLXRhYmxlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY29uZmlndXJlQ29sdW1ucygpIHtcclxuICAgIHRoaXMuY29sdW1ucyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGtleTogXCJhY3Rpb25cIiwgZGlzcGxheTogXCJcIixcclxuICAgICAgICB0eXBlOiBUeXBlQ29sdW1uLk1lbnVBY3Rpb24sIGJ1dHRvbk1lbnVJY29uOiBcIm1vcmVfdmVydFwiLCBzdHlsZXM6IHsgZmxleDogXCIwIDAgNiVcIiB9LFxyXG4gICAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICAgIHsgbmFtZTogXCJWaXN1YWxpenphXCIsIGljb246IFwiaW5mb1wiLCBmbjogKGVsZW1lbnQsIGluZGV4LCBjb2wpID0+IHRoaXMudmlld09yRWRpdFJlY29yZChlbGVtZW50LCB0cnVlKSB9LFxyXG4gICAgICAgICAgeyBuYW1lOiBcIk1vZGlmaWNhXCIsIGljb246IFwiZWRpdFwiLCBmbjogKGVsZW1lbnQsIGluZGV4LCBjb2wpID0+IHRoaXMudmlld09yRWRpdFJlY29yZChlbGVtZW50LCBmYWxzZSkgfSxcclxuICAgICAgICAgIHsgbmFtZTogXCJEdXBsaWNhXCIsIGljb246IFwiZmlsZV9jb3B5XCIsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy5kdXBsaWNhdGVSZWNvcmQoZWxlbWVudCkgfSxcclxuICAgICAgICAgIHsgbmFtZTogXCJFbGltaW5hXCIsIGljb246IFwiZGVsZXRlXCIsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy5kZWxldGVSZWNvcmQoZWxlbWVudCkgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICAgIHRoaXMuY3JlYXRlQWRkaXRpb25hbEFjdGlvbnMoKTtcclxuICAgIHRoaXMuY3JlYXRlQ29sdW1uc0Zyb21Gb3JtRmllbGRzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBhZ2dpdW5nZXJlIG5lbGxhIGNvbG9ubmEgXCJhY3Rpb25cIiBkZWxsYSBlcXAtdGFibGUgbGUgYXppb25pIHN1aSByZWNvcmQgXHJcbiAgICogZGVmaW5pdGUgZGFsbCd1dGVudGUgYWxsJ2ludGVybm8gZGVsbGEgRm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUFkZGl0aW9uYWxBY3Rpb25zKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5BY3Rpb25zT25SZWNvcmQgJiYgdGhpcy5mb3JtLkFjdGlvbnNPblJlY29yZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5BY3Rpb25zT25SZWNvcmRcclxuICAgICAgICAuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKVxyXG4gICAgICAgIC5mb3JFYWNoKGFjdGlvbiA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbHVtbnMuZmluZChjID0+IGMua2V5ID09PSAnYWN0aW9uJylcclxuICAgICAgICAgICAgLmFjdGlvbnNcclxuICAgICAgICAgICAgLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IGFjdGlvbi5OYW1lLCBpY29uOiBhY3Rpb24uSWNvbiwgZm46IChlbGVtZW50LCBpbmRleCwgY29sKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWMgPSBlbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3R4ID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuY29udGV4dDtcclxuICAgICAgICAgICAgICAgIGV2YWwoYWN0aW9uLkFjdGlvbik7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBzYWx2YXJlIGxlIG1vZGlmaWNoZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoZSBzY2F0ZW5hIGwnZXZlbnRvIGRpIE91dHB1dCBwZXIgbW9zdHJhcmUgbyBtb2RpZmljYXJlIGlsIHJlY29yZFxyXG4gICAqIHNlbGV6aW9uYXRvIHN1bGxhIGVxcC10YWJsZS5cclxuICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBkYSB2aXN1YWxpenphcmUgbyBtb2RpZmljYXJlIHNlbGV6aW9uYXRvIHN1bGxhIGVxcC10YWJsZS5cclxuICAgKiBAcGFyYW0gb25seVZpZXcgU2UgVFJVRSB2aWVuZSBtb3N0cmF0byBpbCBjb21wb25lbnRlIGFkZC1mb3JtLXJlY29yZCBpbiBzb2xhIGxldHR1cmEuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB2aWV3T3JFZGl0UmVjb3JkKHJlY29yZDogUmVjb3JkLCBvbmx5VmlldzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5vbkFkZFZpZXdFZGl0UmVjb3JkLmVtaXQoeyByZWNvcmQsIG9ubHlWaWV3IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBkdXBsaWNhcmUgdW4gcmVjb3JkIGRlbGxhIGZvcm0uXHJcbiAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZGEgZHVwbGljYXJlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZHVwbGljYXRlUmVjb3JkKHJlY29yZDogUmVjb3JkKSB7XHJcbiAgICBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZS5Db25maXJtKCdEdXBsaWNhcmUgaWwgcmVjb3JkIHNlbGV6aW9uYXRvPycsICgpID0+IHtcclxuICAgICAgdmFyIGNvcGllZFJlY29yZDogUmVjb3JkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZWNvcmQpKTtcclxuICAgICAgaWYgKCFpc05hTihwYXJzZUludChjb3BpZWRSZWNvcmQuSUQpKSkge1xyXG4gICAgICAgIGNvcGllZFJlY29yZC5JRCA9IChwYXJzZUludChjb3BpZWRSZWNvcmQuSUQpICsgMSkudG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb3BpZWRSZWNvcmQuSUQgPSBcInh4eHh4eHh4eFwiLnJlcGxhY2UoXCJ4XCIsIChjKSA9PiB7IHJldHVybiAoTWF0aC5yYW5kb20oKSArIDE2IHwgMCkudG9TdHJpbmcoMTYpOyB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZhbHVlcy5wdXNoKGNvcGllZFJlY29yZCk7XHJcbiAgICAgIHRoaXMucmVsb2FkVGFibGVzKCk7XHJcbiAgICB9LCBmYWxzZSwgJ1JpY2hpZXN0YSBjb25mZXJtYScpO1xyXG4gICAgLy9UT0RPXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVsaW1pbmFyZSB1biByZWNvcmQgZGFsbGEgbGlzdGEuXHJcbiAgICogQHBhcmFtIHJlY29yZCBSZWNvcmQgZGEgZWxpbWluYXJlIHNlbGV6aW9uYXRvIHN1bGxhIGVxcC10YWJsZS5cclxuICAgKi9cclxuICBwcml2YXRlIGRlbGV0ZVJlY29yZChyZWNvcmQ6IFJlY29yZCkge1xyXG4gICAgRXFwRHluYW1pY01vZHVsZURpYWxvZ1NlcnZpY2UuQ29uZmlybSgnRWxpbWluYXJlIGlsIHJlY29yZCBzZWxlemlvbmF0bz8nLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMudmFsdWVzLnNwbGljZSh0aGlzLnZhbHVlcy5pbmRleE9mKHJlY29yZCksIDEpO1xyXG4gICAgICB0aGlzLnJlbG9hZFRhYmxlcygpO1xyXG4gICAgfSwgZmFsc2UsICdSaWNoaWVzdGEgY29uZmVybWEnKTtcclxuICAgIC8vIFRPRE9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGxhIGNvbmZpZ3VyYXppb25lIGRlbGxlIGNvbG9ubmUgcGVyIGxhIGVxcC10YWJsZS5cclxuICAgKiBJbmRpdmlkdWEgaSBCYXNlRmllbGQgZGEgbW9zdHJhcmUgZSBsaSB1c2EgcGVyIGNyZWFyZSBsZSBDb25maWdDb2x1bW4uXHJcbiAgICogTGUgY29sb25uZSB2ZW5nb25vIGNyZWF0ZSBwZXIgaSBCYXNlRmllbGQgY29uIGlsIGZsYWcgSW5MaXN0VmlldyBhIFRSVUVcclxuICAgKiBvcHB1cmUsIG5lbCBjYXNvIG5vbiBzaWFubyBzdGF0aSBzcGVjaWZpY2F0aSBpIGNhbXBpIGRhIHZpc3VhbGl6emFyZSwgXHJcbiAgICogc2VsZXppb25hIGkgcHJpbWkgNi5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUNvbHVtbnNGcm9tRm9ybUZpZWxkcygpIHtcclxuICAgIHZhciBmaWVsZHNGb3JDb2x1bW5zOiBBcnJheTxCYXNlRmllbGQ+O1xyXG4gICAgaWYgKHRoaXMuZm9ybS5GaWVsZHMuZmluZChmID0+IGYuSW5MaXN0VmlldykpIHtcclxuICAgICAgZmllbGRzRm9yQ29sdW1ucyA9IHRoaXMuZm9ybS5GaWVsZHMuZmlsdGVyKGYgPT4gZi5Jbkxpc3RWaWV3KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpZWxkc0ZvckNvbHVtbnMgPSB0aGlzLmZvcm0uRmllbGRzLmZpbHRlcihmID0+IGYuT3JkaW5hbFBvc2l0aW9uIDwgNik7XHJcbiAgICB9XHJcbiAgICBmaWVsZHNGb3JDb2x1bW5zLnNvcnQoKGEsIGIpID0+IChhLk9yZGluYWxQb3NpdGlvbiA+IGIuT3JkaW5hbFBvc2l0aW9uKSA/IDEgOiAoKGIuT3JkaW5hbFBvc2l0aW9uID4gYS5PcmRpbmFsUG9zaXRpb24pID8gLTEgOiAwKSlcclxuICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHRoaXMuY3JlYXRlRmllbGRDb2x1bW4oZmllbGQpKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBsJ29nZ2V0dG8gQ29uZmlndXJlQ29sdW1uIGNoZSByYXBwcmVzZW50YSBpbCBCYXNlRmllbGQgcGFzc2F0byBpbiBpbnB1dC5cclxuICAgKiBAcGFyYW0gZmllbGQgQmFzZUZpZWxkIHBlciBjdWkgY3JlYXJlIGxhIGNvbG9ubmEgbmVsbGEgZXFwLXRhYmxlXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW5hIENvbmZpZ0NvbHVtbiBwZXIgbGEgZXFwLXRhYmxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVGaWVsZENvbHVtbihmaWVsZDogQmFzZUZpZWxkKTogQ29uZmlnQ29sdW1uIHtcclxuICAgIHZhciBjb2x1bW46IENvbmZpZ0NvbHVtbiA9IHsga2V5OiBmaWVsZC5OYW1lLCBkaXNwbGF5OiBmaWVsZC5MYWJlbCB9O1xyXG4gICAgc3dpdGNoIChmaWVsZC5GaWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydCb29sZWFubyddOlxyXG4gICAgICAgIGNvbHVtbi50eXBlID0gVHlwZUNvbHVtbi5Cb29sZWFuO1xyXG4gICAgICAgIGNvbHVtbi5ib29sZWFuVmFsdWVzID0geyBmYWxzZTogJzxpIGNsYXNzPVwiZmEgZmEtdGltZXMgZXJyb3ItY29sb3JcIj48L2k+JywgdHJ1ZTogJzxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgc3VjY2Vzcy1jb2xvclwiPjwvaT4nIH07XHJcbiAgICAgICAgY29sdW1uLnN0eWxlcyA9IHsgZmxleDogXCIwIDAgNyVcIiwgY2VsbEFsaWdubWVudDogQ2VsbEFsaWdubWVudEVudW0uQ0VOVEVSIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRGF0YSBlL28gb3JhJ106XHJcbiAgICAgICAgaWYgKChmaWVsZCBhcyBEYXRlRmllbGQpLklzT25seURhdGUgIT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBvcmFyaW8nXSkge1xyXG4gICAgICAgICAgY29sdW1uLnR5cGUgPSBUeXBlQ29sdW1uLkRhdGU7XHJcbiAgICAgICAgICBpZiAoKGZpZWxkIGFzIERhdGVGaWVsZCkuSXNPbmx5RGF0ZSA9PSBEYXRlVGltZVR5cGVFbnVtWydEYXRhIGUgb3JhJ10pIHtcclxuICAgICAgICAgICAgY29sdW1uLmZvcm1hdCA9IFwiZGQvTU0veXl5eSBISDptbVwiO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICgoZmllbGQgYXMgRGF0ZUZpZWxkKS5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ1NvbG8gZGF0YSddKSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi5mb3JtYXQgPSBcImRkL01NL3l5eXlcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnQ2FtcG8gbnVtZXJpY28nXTpcclxuICAgICAgICBpZiAoKGZpZWxkIGFzIE51bWVyaWNGaWVsZCkuQ3VycmVuY3lTeW1ib2wpIHtcclxuICAgICAgICAgIGNvbHVtbi5udW1iZXJQaXBlID0gTnVtYmVyQ29sdW1uUGlwZS5DVVJSRU5DWTtcclxuICAgICAgICAgIGNvbHVtbi5jdXJyZW5jeVBpcGVDb2RlID0gKGZpZWxkIGFzIE51bWVyaWNGaWVsZCkuQ3VycmVuY3lTeW1ib2w7XHJcbiAgICAgICAgfSBlbHNlIGlmICghKGZpZWxkIGFzIE51bWVyaWNGaWVsZCkuSXNJbnRlZ2VyKSB7XHJcbiAgICAgICAgICBjb2x1bW4ubnVtYmVyUGlwZSA9IE51bWJlckNvbHVtblBpcGUuREVDSU1BTDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnQWxsZWdhdG8nXTpcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydJbW1hZ2luZSddOlxyXG4gICAgICAgIGNvbHVtbi52YWx1ZSA9IChlbGVtZW50OiBSZWNvcmQpID0+IHtcclxuICAgICAgICAgIGlmICgoZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5Jc011bHRpQXR0YWNoIHx8ICgoZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbiAmJiAoZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5Jc011bHRpQXR0YWNoKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudFtmaWVsZC5OYW1lXSAhPSBudWxsICYmIGVsZW1lbnRbZmllbGQuTmFtZV0ubGVuZ3RoID4gMCA/IChlbGVtZW50W2ZpZWxkLk5hbWVdIGFzIEFycmF5PElBdHRhY2htZW50RFRPPikubWFwKGEgPT4gYS5GaWxlTmFtZSkuam9pbihcIiwgXCIpIDogbnVsbDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50W2ZpZWxkLk5hbWVdICE9IG51bGwgJiYgZWxlbWVudFtmaWVsZC5OYW1lXS5sZW5ndGggPiAwID8gKGVsZW1lbnRbZmllbGQuTmFtZV0gYXMgQXJyYXk8SUF0dGFjaG1lbnREVE8+KVswXS5GaWxlTmFtZSA6IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2x1bW4uaXNTb3J0YWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGNvbHVtbi5pc1NlYXJjaGFibGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydFbGVuY28gZ2VuZXJpY28nXTpcclxuICAgICAgICBjb2x1bW4udmFsdWUgPSAoZWxlbWVudDogUmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICBpZiAoKGZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5Jc011bHRpQ2hvaWNoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWVsZW1lbnRbZmllbGQuTmFtZV0gfHwgZWxlbWVudFtmaWVsZC5OYW1lXS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cygoZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMpLmZpbHRlcihrID0+IGVsZW1lbnRbZmllbGQuTmFtZV0uaW5jbHVkZXMoKGZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzW2tdKSkuam9pbihcIiwgXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoKGZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKS5maW5kKGsgPT4gKGZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzW2tdID09IGVsZW1lbnRbZmllbGQuTmFtZV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29sdW1uLmlzU29ydGFibGUgPSBmYWxzZTtcclxuICAgICAgICBjb2x1bW4uaXNTZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnTG9va3VwJ106XHJcbiAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbHVtbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgcmljYXJpY2FyZSBpIGRhdGkgZGVsbGEgZXFwLXRhYmxlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVsb2FkVGFibGVzKCkge1xyXG4gICAgaWYgKHRoaXMudGFibGVSZWNvcmRzKSB7XHJcbiAgICAgIHRoaXMudGFibGVSZWNvcmRzLnJlbG9hZERhdGF0YWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXFwcm9qZWN0L2VxcC1keW5hbWljLW1vZHVsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvZm9ybS1yZWNvcmRzL2xpc3QtZm9ybS1yZWNvcmQvbGlzdC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQW1DLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhILE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUc5RSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUl4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQVFuRixJQUFhLHVCQUF1QixHQUFwQyxNQUFhLHVCQUF1QjtJQWdCbEM7UUFkUyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSzFCLFlBQU8sR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztRQUUxQix3QkFBbUIsR0FBd0QsSUFBSSxZQUFZLEVBQXlDLENBQUM7UUFFckksbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNsRSxzQkFBaUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUkvRCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdB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dGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQXR0YWNobWVudERUTyB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWF0dGFjaG1lbnRzJztcclxuaW1wb3J0IHsgQ2VsbEFsaWdubWVudEVudW0sIENvbmZpZ0NvbHVtbiwgRXFwVGFibGVDb21wb25lbnQsIE51bWJlckNvbHVtblBpcGUsIFR5cGVDb2x1bW4gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC10YWJsZSc7XHJcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgQXR0YWNobWVudEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9hdHRhY2htZW50RmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRlRmllbGQsIERhdGVUaW1lVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2RhdGVGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEltYWdlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL2ltYWdlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMaXN0VmFsdWVGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvbGlzdFZhbHVlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL251bWVyaWNGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZXFwLWR5bmFtaWMtbW9kdWxlLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGlzdC1mb3JtLXJlY29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdsaXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RGb3JtUmVjb3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgdmFsdWVzOiBBcnJheTxSZWNvcmQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlUmVjb3JkcycsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlUmVjb3JkczogRXFwVGFibGVDb21wb25lbnQ7XHJcblxyXG4gIGNvbHVtbnMgPSBuZXcgQXJyYXk8Q29uZmlnQ29sdW1uPigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25BZGRWaWV3RWRpdFJlY29yZDogRXZlbnRFbWl0dGVyPHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHJlY29yZDogUmVjb3JkLCBvbmx5VmlldzogYm9vbGVhbiB9PigpO1xyXG4gIFxyXG4gIEBPdXRwdXQoKSBvbkRlbGV0ZVJlY29yZDogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBAT3V0cHV0KCkgb25EdXBsaWNhdGVSZWNvcmQ6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUNvbHVtbnMoKTtcclxuICB9XHJcbiAgXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gU2UgdmllbmUgbW9kaWZpY2F0byBpbCB2YWxvcmUgZGkgXCJuZ01vZGVsSW5wdXRcIiBhbGxvcmEgYWdnaW9ybmEgbCdpbnB1dFxyXG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlcyddICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VzWyd2YWx1ZXMnXS5maXJzdENoYW5nZSA9PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnZhbHVlcyA9IGNoYW5nZXNbJ3ZhbHVlcyddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy5yZWxvYWRUYWJsZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgbGUgY29sb25uZSBkZWxsYSBlcXAtdGFibGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb25maWd1cmVDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAga2V5OiBcImFjdGlvblwiLCBkaXNwbGF5OiBcIlwiLFxyXG4gICAgICAgIHR5cGU6IFR5cGVDb2x1bW4uTWVudUFjdGlvbiwgYnV0dG9uTWVudUljb246IFwibW9yZV92ZXJ0XCIsIHN0eWxlczogeyBmbGV4OiBcIjAgMCA2JVwiIH0sXHJcbiAgICAgICAgYWN0aW9uczogW1xyXG4gICAgICAgICAgeyBuYW1lOiBcIlZpc3VhbGl6emFcIiwgaWNvbjogXCJpbmZvXCIsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy52aWV3T3JFZGl0UmVjb3JkKGVsZW1lbnQsIHRydWUpIH0sXHJcbiAgICAgICAgICB7IG5hbWU6IFwiTW9kaWZpY2FcIiwgaWNvbjogXCJlZGl0XCIsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy52aWV3T3JFZGl0UmVjb3JkKGVsZW1lbnQsIGZhbHNlKSB9LFxyXG4gICAgICAgICAgeyBuYW1lOiBcIkR1cGxpY2FcIiwgaWNvbjogXCJmaWxlX2NvcHlcIiwgZm46IChlbGVtZW50LCBpbmRleCwgY29sKSA9PiB0aGlzLmR1cGxpY2F0ZVJlY29yZChlbGVtZW50KSB9LFxyXG4gICAgICAgICAgeyBuYW1lOiBcIkVsaW1pbmFcIiwgaWNvbjogXCJkZWxldGVcIiwgZm46IChlbGVtZW50LCBpbmRleCwgY29sKSA9PiB0aGlzLmRlbGV0ZVJlY29yZChlbGVtZW50KSB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gICAgdGhpcy5jcmVhdGVBZGRpdGlvbmFsQWN0aW9ucygpO1xyXG4gICAgdGhpcy5jcmVhdGVDb2x1bW5zRnJvbUZvcm1GaWVsZHMoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2l1bmdlcmUgbmVsbGEgY29sb25uYSBcImFjdGlvblwiIGRlbGxhIGVxcC10YWJsZSBsZSBhemlvbmkgc3VpIHJlY29yZCBcclxuICAgKiBkZWZpbml0ZSBkYWxsJ3V0ZW50ZSBhbGwnaW50ZXJubyBkZWxsYSBGb3JtLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlQWRkaXRpb25hbEFjdGlvbnMoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLkFjdGlvbnNPblJlY29yZCAmJiB0aGlzLmZvcm0uQWN0aW9uc09uUmVjb3JkLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5mb3JtLkFjdGlvbnNPblJlY29yZFxyXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5PcmRpbmFsUG9zaXRpb24gPiBiLk9yZGluYWxQb3NpdGlvbikgPyAxIDogKChiLk9yZGluYWxQb3NpdGlvbiA+IGEuT3JkaW5hbFBvc2l0aW9uKSA/IC0xIDogMCkpXHJcbiAgICAgICAgLmZvckVhY2goYWN0aW9uID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sdW1ucy5maW5kKGMgPT4gYy5rZXkgPT09ICdhY3Rpb24nKVxyXG4gICAgICAgICAgICAuYWN0aW9uc1xyXG4gICAgICAgICAgICAucHVzaCh7XHJcbiAgICAgICAgICAgICAgbmFtZTogYWN0aW9uLk5hbWUsIGljb246IGFjdGlvbi5JY29uLCBmbjogKGVsZW1lbnQsIGluZGV4LCBjb2wpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlYyA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdHggPSBVdGlsaXR5SGVscGVyU2VydmljZS5jb250ZXh0O1xyXG4gICAgICAgICAgICAgICAgZXZhbChhY3Rpb24uQWN0aW9uKTtcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHNhbHZhcmUgbGUgbW9kaWZpY2hlXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hlIHNjYXRlbmEgbCdldmVudG8gZGkgT3V0cHV0IHBlciBtb3N0cmFyZSBvIG1vZGlmaWNhcmUgaWwgcmVjb3JkXHJcbiAgICogc2VsZXppb25hdG8gc3VsbGEgZXFwLXRhYmxlLlxyXG4gICAqIEBwYXJhbSByZWNvcmQgUmVjb3JkIGRhIHZpc3VhbGl6emFyZSBvIG1vZGlmaWNhcmUgc2VsZXppb25hdG8gc3VsbGEgZXFwLXRhYmxlLlxyXG4gICAqIEBwYXJhbSBvbmx5VmlldyBTZSBUUlVFIHZpZW5lIG1vc3RyYXRvIGlsIGNvbXBvbmVudGUgYWRkLWZvcm0tcmVjb3JkIGluIHNvbGEgbGV0dHVyYS5cclxuICAgKi9cclxuICBwcml2YXRlIHZpZXdPckVkaXRSZWNvcmQocmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm9uQWRkVmlld0VkaXRSZWNvcmQuZW1pdCh7IHJlY29yZCwgb25seVZpZXcgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGR1cGxpY2FyZSB1biByZWNvcmQgZGVsbGEgZm9ybS5cclxuICAgKiBAcGFyYW0gcmVjb3JkIFJlY29yZCBkYSBkdXBsaWNhcmUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkdXBsaWNhdGVSZWNvcmQocmVjb3JkOiBSZWNvcmQpIHtcclxuICAgIC8vIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlLkNvbmZpcm0oJ0R1cGxpY2FyZSBpbCByZWNvcmQgc2VsZXppb25hdG8/JywgKCkgPT4ge1xyXG4gICAgLy8gICB2YXIgY29waWVkUmVjb3JkOiBSZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlY29yZCkpO1xyXG4gICAgLy8gICBpZiAoIWlzTmFOKHBhcnNlSW50KGNvcGllZFJlY29yZC5JRCkpKSB7XHJcbiAgICAvLyAgICAgY29waWVkUmVjb3JkLklEID0gKHBhcnNlSW50KGNvcGllZFJlY29yZC5JRCkgKyAxKS50b1N0cmluZygpO1xyXG4gICAgLy8gICB9IGVsc2Uge1xyXG4gICAgLy8gICAgIGNvcGllZFJlY29yZC5JRCA9IFwieHh4eHh4eHh4XCIucmVwbGFjZShcInhcIiwgKGMpID0+IHsgcmV0dXJuIChNYXRoLnJhbmRvbSgpICsgMTYgfCAwKS50b1N0cmluZygxNik7IH0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIHRoaXMudmFsdWVzLnB1c2goY29waWVkUmVjb3JkKTtcclxuICAgIC8vICAgdGhpcy5yZWxvYWRUYWJsZXMoKTtcclxuICAgIC8vIH0sIGZhbHNlLCAnUmljaGllc3RhIGNvbmZlcm1hJyk7XHJcbiAgICB0aGlzLm9uRHVwbGljYXRlUmVjb3JkLmVtaXQocmVjb3JkKTtcclxuICAgIC8vVE9ET1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbGltaW5hcmUgdW4gcmVjb3JkIGRhbGxhIGxpc3RhLlxyXG4gICAqIEBwYXJhbSByZWNvcmQgUmVjb3JkIGRhIGVsaW1pbmFyZSBzZWxlemlvbmF0byBzdWxsYSBlcXAtdGFibGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZWxldGVSZWNvcmQocmVjb3JkOiBSZWNvcmQpIHtcclxuICAgIC8vIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlLkNvbmZpcm0oJ0VsaW1pbmFyZSBpbCByZWNvcmQgc2VsZXppb25hdG8/JywgKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLnZhbHVlcy5zcGxpY2UodGhpcy52YWx1ZXMuaW5kZXhPZihyZWNvcmQpLCAxKTtcclxuICAgIC8vICAgdGhpcy5yZWxvYWRUYWJsZXMoKTtcclxuICAgIC8vIH0sIGZhbHNlLCAnUmljaGllc3RhIGNvbmZlcm1hJyk7XHJcbiAgICB0aGlzLm9uRGVsZXRlUmVjb3JkLmVtaXQocmVjb3JkKTsgIFxyXG4gICAgLy8gVE9ET1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgbGEgY29uZmlndXJhemlvbmUgZGVsbGUgY29sb25uZSBwZXIgbGEgZXFwLXRhYmxlLlxyXG4gICAqIEluZGl2aWR1YSBpIEJhc2VGaWVsZCBkYSBtb3N0cmFyZSBlIGxpIHVzYSBwZXIgY3JlYXJlIGxlIENvbmZpZ0NvbHVtbi5cclxuICAgKiBMZSBjb2xvbm5lIHZlbmdvbm8gY3JlYXRlIHBlciBpIEJhc2VGaWVsZCBjb24gaWwgZmxhZyBJbkxpc3RWaWV3IGEgVFJVRVxyXG4gICAqIG9wcHVyZSwgbmVsIGNhc28gbm9uIHNpYW5vIHN0YXRpIHNwZWNpZmljYXRpIGkgY2FtcGkgZGEgdmlzdWFsaXp6YXJlLCBcclxuICAgKiBzZWxlemlvbmEgaSBwcmltaSA2LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlQ29sdW1uc0Zyb21Gb3JtRmllbGRzKCkge1xyXG4gICAgdmFyIGZpZWxkc0ZvckNvbHVtbnM6IEFycmF5PEJhc2VGaWVsZD47XHJcbiAgICBpZiAodGhpcy5mb3JtLkZpZWxkcy5maW5kKGYgPT4gZi5Jbkxpc3RWaWV3KSkge1xyXG4gICAgICBmaWVsZHNGb3JDb2x1bW5zID0gdGhpcy5mb3JtLkZpZWxkcy5maWx0ZXIoZiA9PiBmLkluTGlzdFZpZXcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmllbGRzRm9yQ29sdW1ucyA9IHRoaXMuZm9ybS5GaWVsZHMuZmlsdGVyKGYgPT4gZi5PcmRpbmFsUG9zaXRpb24gPCA2KTtcclxuICAgIH1cclxuICAgIGZpZWxkc0ZvckNvbHVtbnMuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKVxyXG4gICAgICAuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zLnB1c2godGhpcy5jcmVhdGVGaWVsZENvbHVtbihmaWVsZCkpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGwnb2dnZXR0byBDb25maWd1cmVDb2x1bW4gY2hlIHJhcHByZXNlbnRhIGlsIEJhc2VGaWVsZCBwYXNzYXRvIGluIGlucHV0LlxyXG4gICAqIEBwYXJhbSBmaWVsZCBCYXNlRmllbGQgcGVyIGN1aSBjcmVhcmUgbGEgY29sb25uYSBuZWxsYSBlcXAtdGFibGVcclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1bmEgQ29uZmlnQ29sdW1uIHBlciBsYSBlcXAtdGFibGVcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUZpZWxkQ29sdW1uKGZpZWxkOiBCYXNlRmllbGQpOiBDb25maWdDb2x1bW4ge1xyXG4gICAgdmFyIGNvbHVtbjogQ29uZmlnQ29sdW1uID0geyBrZXk6IGZpZWxkLk5hbWUsIGRpc3BsYXk6IGZpZWxkLkxhYmVsIH07XHJcbiAgICBzd2l0Y2ggKGZpZWxkLkZpZWxkVHlwZSkge1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0Jvb2xlYW5vJ106XHJcbiAgICAgICAgY29sdW1uLnR5cGUgPSBUeXBlQ29sdW1uLkJvb2xlYW47XHJcbiAgICAgICAgY29sdW1uLmJvb2xlYW5WYWx1ZXMgPSB7IGZhbHNlOiAnPGkgY2xhc3M9XCJmYSBmYS10aW1lcyBlcnJvci1jb2xvclwiPjwvaT4nLCB0cnVlOiAnPGkgY2xhc3M9XCJmYSBmYS1jaGVjayBzdWNjZXNzLWNvbG9yXCI+PC9pPicgfTtcclxuICAgICAgICBjb2x1bW4uc3R5bGVzID0geyBmbGV4OiBcIjAgMCA3JVwiLCBjZWxsQWxpZ25tZW50OiBDZWxsQWxpZ25tZW50RW51bS5DRU5URVIgfTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydEYXRhIGUvbyBvcmEnXTpcclxuICAgICAgICBpZiAoKGZpZWxkIGFzIERhdGVGaWVsZCkuSXNPbmx5RGF0ZSAhPSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIG9yYXJpbyddKSB7XHJcbiAgICAgICAgICBjb2x1bW4udHlwZSA9IFR5cGVDb2x1bW4uRGF0ZTtcclxuICAgICAgICAgIGlmICgoZmllbGQgYXMgRGF0ZUZpZWxkKS5Jc09ubHlEYXRlID09IERhdGVUaW1lVHlwZUVudW1bJ0RhdGEgZSBvcmEnXSkge1xyXG4gICAgICAgICAgICBjb2x1bW4uZm9ybWF0ID0gXCJkZC9NTS95eXl5IEhIOm1tXCI7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKChmaWVsZCBhcyBEYXRlRmllbGQpLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBkYXRhJ10pIHtcclxuICAgICAgICAgICAgY29sdW1uLmZvcm1hdCA9IFwiZGQvTU0veXl5eVwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydDYW1wbyBudW1lcmljbyddOlxyXG4gICAgICAgIGlmICgoZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5DdXJyZW5jeVN5bWJvbCkge1xyXG4gICAgICAgICAgY29sdW1uLm51bWJlclBpcGUgPSBOdW1iZXJDb2x1bW5QaXBlLkNVUlJFTkNZO1xyXG4gICAgICAgICAgY29sdW1uLmN1cnJlbmN5UGlwZUNvZGUgPSAoZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5DdXJyZW5jeVN5bWJvbDtcclxuICAgICAgICB9IGVsc2UgaWYgKCEoZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5Jc0ludGVnZXIpIHtcclxuICAgICAgICAgIGNvbHVtbi5udW1iZXJQaXBlID0gTnVtYmVyQ29sdW1uUGlwZS5ERUNJTUFMO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydBbGxlZ2F0byddOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0ltbWFnaW5lJ106XHJcbiAgICAgICAgY29sdW1uLnZhbHVlID0gKGVsZW1lbnQ6IFJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgaWYgKChmaWVsZCBhcyBBdHRhY2htZW50RmllbGQpLklzTXVsdGlBdHRhY2ggfHwgKChmaWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uICYmIChmaWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLklzTXVsdGlBdHRhY2gpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50W2ZpZWxkLk5hbWVdICE9IG51bGwgJiYgZWxlbWVudFtmaWVsZC5OYW1lXS5sZW5ndGggPiAwID8gKGVsZW1lbnRbZmllbGQuTmFtZV0gYXMgQXJyYXk8SUF0dGFjaG1lbnREVE8+KS5tYXAoYSA9PiBhLkZpbGVOYW1lKS5qb2luKFwiLCBcIikgOiBudWxsO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRbZmllbGQuTmFtZV0gIT0gbnVsbCAmJiBlbGVtZW50W2ZpZWxkLk5hbWVdLmxlbmd0aCA+IDAgPyAoZWxlbWVudFtmaWVsZC5OYW1lXSBhcyBBcnJheTxJQXR0YWNobWVudERUTz4pWzBdLkZpbGVOYW1lIDogbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbHVtbi5pc1NvcnRhYmxlID0gZmFsc2U7XHJcbiAgICAgICAgY29sdW1uLmlzU2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0VsZW5jbyBnZW5lcmljbyddOlxyXG4gICAgICAgIGNvbHVtbi52YWx1ZSA9IChlbGVtZW50OiBSZWNvcmQpID0+IHtcclxuICAgICAgICAgIGlmICgoZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLklzTXVsdGlDaG9pY2hlKSB7XHJcbiAgICAgICAgICAgIGlmICghZWxlbWVudFtmaWVsZC5OYW1lXSB8fCBlbGVtZW50W2ZpZWxkLk5hbWVdLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKChmaWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycykuZmlsdGVyKGsgPT4gZWxlbWVudFtmaWVsZC5OYW1lXS5pbmNsdWRlcygoZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnNba10pKS5qb2luKFwiLCBcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cygoZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMpLmZpbmQoayA9PiAoZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnNba10gPT0gZWxlbWVudFtmaWVsZC5OYW1lXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2x1bW4uaXNTb3J0YWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGNvbHVtbi5pc1NlYXJjaGFibGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydMb29rdXAnXTpcclxuICAgICAgICAvLyBUT0RPXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaWNhcmljYXJlIGkgZGF0aSBkZWxsYSBlcXAtdGFibGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWxvYWRUYWJsZXMoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZVJlY29yZHMpIHtcclxuICAgICAgdGhpcy50YWJsZVJlY29yZHMucmVsb2FkRGF0YXRhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { Context } from '../../../models/context.model';
4
4
  import { Form, FormTypeEnum } from '../../../models/form.model';
5
5
  import { UtilityHelperService } from '../../../services/utilityHelper.services';
@@ -8,7 +8,11 @@ var EqpDynamicModuleComponent = /** @class */ (function () {
8
8
  this.context = new Context();
9
9
  this.form = new Form();
10
10
  this.showButtons = true;
11
+ this.showTitle = true;
11
12
  this.viewMode = FormTypeEnum.LIST;
13
+ this.saveRecord = new EventEmitter();
14
+ this.deleteRecord = new EventEmitter();
15
+ this.duplicateRecord = new EventEmitter();
12
16
  this.FormTypeEnum = FormTypeEnum;
13
17
  }
14
18
  EqpDynamicModuleComponent.prototype.ngOnInit = function () {
@@ -27,16 +31,21 @@ var EqpDynamicModuleComponent = /** @class */ (function () {
27
31
  };
28
32
  EqpDynamicModuleComponent.prototype.onSaveForm = function (event) {
29
33
  //TODO: Salvare il record!
30
- if (event != null) {
31
- if (event.ID && this.values.find(function (v) { return v.ID == event.ID; })) {
32
- this.values[this.values.findIndex(function (v) { return v.ID == event.ID; })] = event;
33
- }
34
- else {
35
- this.values.push(event);
36
- }
37
- }
34
+ // if (event != null) {
35
+ // if (event.ID && this.values.find(v => v.ID == event.ID)) {
36
+ // this.values[this.values.findIndex(v => v.ID == event.ID)] = event;
37
+ // } else {
38
+ // this.values.push(event);
39
+ // }
40
+ // }
41
+ this.saveRecord.emit(event);
38
42
  this.viewMode = FormTypeEnum.LIST;
39
- console.log(event);
43
+ };
44
+ EqpDynamicModuleComponent.prototype.onDuplicateRecord = function (record) {
45
+ this.duplicateRecord.emit(record);
46
+ };
47
+ EqpDynamicModuleComponent.prototype.onDeleteRecord = function (record) {
48
+ this.deleteRecord.emit(record);
40
49
  };
41
50
  __decorate([
42
51
  Input()
@@ -50,17 +59,29 @@ var EqpDynamicModuleComponent = /** @class */ (function () {
50
59
  __decorate([
51
60
  Input()
52
61
  ], EqpDynamicModuleComponent.prototype, "showButtons", void 0);
62
+ __decorate([
63
+ Input()
64
+ ], EqpDynamicModuleComponent.prototype, "showTitle", void 0);
53
65
  __decorate([
54
66
  Input()
55
67
  ], EqpDynamicModuleComponent.prototype, "viewMode", void 0);
68
+ __decorate([
69
+ Output()
70
+ ], EqpDynamicModuleComponent.prototype, "saveRecord", void 0);
71
+ __decorate([
72
+ Output()
73
+ ], EqpDynamicModuleComponent.prototype, "deleteRecord", void 0);
74
+ __decorate([
75
+ Output()
76
+ ], EqpDynamicModuleComponent.prototype, "duplicateRecord", void 0);
56
77
  EqpDynamicModuleComponent = __decorate([
57
78
  Component({
58
79
  selector: 'eqp-dynamic-module',
59
- template: "<add-form-record *ngIf=\"viewMode == FormTypeEnum.SCALAR\" [form]=\"form\" [record]=\"selectedRecord\"\r\n [showButtons]=\"showButtons\" [onlyView]=\"onlyView\" (saveRecordEvent)=\"onSaveForm($event)\">\r\n</add-form-record>\r\n\r\n<list-form-record *ngIf=\"viewMode == FormTypeEnum.LIST\" [form]=\"form\" [values]=\"values\"\r\n (onAddViewEditRecord)=\"onAddViewEditRecord($event)\">\r\n</list-form-record>",
80
+ template: "<add-form-record *ngIf=\"viewMode == FormTypeEnum.SCALAR\" [form]=\"form\" [record]=\"selectedRecord\"\r\n [showButtons]=\"showButtons\" [onlyView]=\"onlyView\" (saveRecordEvent)=\"onSaveForm($event)\" [showTitle]=\"showTitle\">\r\n</add-form-record>\r\n\r\n<list-form-record *ngIf=\"viewMode == FormTypeEnum.LIST\" [form]=\"form\" [values]=\"values\"\r\n (onAddViewEditRecord)=\"onAddViewEditRecord($event)\" [showTitle]=\"showTitle\"\r\n (onDeleteRecord)=\"onDeleteRecord($event)\" (onDuplicateRecord)=\"onDuplicateRecord($event)\">\r\n</list-form-record>",
60
81
  styles: ["::ng-deep mat-form-field{width:100%}"]
61
82
  })
62
83
  ], EqpDynamicModuleComponent);
63
84
  return EqpDynamicModuleComponent;
64
85
  }());
65
86
  export { EqpDynamicModuleComponent };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXhwb3J0ZWQvZXFwLWR5bmFtaWMtbW9kdWxlL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPaEY7SUFZRTtRQVZTLFlBQU8sR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLFNBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGFBQVEsR0FBaUIsWUFBWSxDQUFDLElBQUksQ0FBQztRQUVwRCxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUt4QixDQUFDO0lBRUwsNENBQVEsR0FBUjtRQUNFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHVEQUFtQixHQUFuQixVQUFvQixLQUE0QztRQUM5RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsOENBQVUsR0FBVixVQUFXLEtBQWE7UUFDdEIsMEJBQTBCO1FBRTFCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixJQUFJLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQWhCLENBQWdCLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBaEIsQ0FBZ0IsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBeENRO1FBQVIsS0FBSyxFQUFFOzhEQUFrQztJQUNqQztRQUFSLEtBQUssRUFBRTsyREFBeUI7SUFDeEI7UUFBUixLQUFLLEVBQUU7NkRBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFO2tFQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTsrREFBNEM7SUFOekMseUJBQXlCO1FBTHJDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIseWFBQWtEOztTQUVuRCxDQUFDO09BQ1cseUJBQXlCLENBMkNyQztJQUFELGdDQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0EzQ1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbnRleHQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlcXAtZHluYW1pYy1tb2R1bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lcXAtZHluYW1pYy1tb2R1bGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcXBEeW5hbWljTW9kdWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgY29udGV4dDogQ29udGV4dCA9IG5ldyBDb250ZXh0KCk7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybSA9IG5ldyBGb3JtKCk7XHJcbiAgQElucHV0KCkgdmFsdWVzOiBBcnJheTxSZWNvcmQ+O1xyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25zID0gdHJ1ZTtcclxuICBASW5wdXQoKSB2aWV3TW9kZTogRm9ybVR5cGVFbnVtID0gRm9ybVR5cGVFbnVtLkxJU1Q7XHJcblxyXG4gIEZvcm1UeXBlRW51bSA9IEZvcm1UeXBlRW51bTtcclxuICBzZWxlY3RlZFJlY29yZDogUmVjb3JkO1xyXG4gIG9ubHlWaWV3OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFV0aWxpdHlIZWxwZXJTZXJ2aWNlLlNldENvbnRleHQodGhpcy5jb250ZXh0KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVmlld0VkaXRSZWNvcmQoZXZlbnQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0pIHtcclxuICAgIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGV2ZW50LnJlY29yZCkpO1xyXG4gICAgICB0aGlzLm9ubHlWaWV3ID0gZXZlbnQub25seVZpZXc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkID0gbnVsbDtcclxuICAgICAgdGhpcy5vbmx5VmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5TQ0FMQVI7XHJcbiAgfVxyXG5cclxuICBvblNhdmVGb3JtKGV2ZW50OiBSZWNvcmQpIHtcclxuICAgIC8vVE9ETzogU2FsdmFyZSBpbCByZWNvcmQhXHJcbiAgICBcclxuICAgIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChldmVudC5JRCAmJiB0aGlzLnZhbHVlcy5maW5kKHYgPT4gdi5JRCA9PSBldmVudC5JRCkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlc1t0aGlzLnZhbHVlcy5maW5kSW5kZXgodiA9PiB2LklEID09IGV2ZW50LklEKV0gPSBldmVudDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlcy5wdXNoKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5MSVNUO1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXhwb3J0ZWQvZXFwLWR5bmFtaWMtbW9kdWxlL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPaEY7SUFrQkU7UUFoQlMsWUFBTyxHQUFZLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakMsU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFeEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixhQUFRLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFHMUMsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEUsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU3RSxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUt4QixDQUFDO0lBRUwsNENBQVEsR0FBUjtRQUNFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHVEQUFtQixHQUFuQixVQUFvQixLQUE0QztRQUM5RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsOENBQVUsR0FBVixVQUFXLEtBQWE7UUFDdEIsMEJBQTBCO1FBRTFCLHVCQUF1QjtRQUN2QiwrREFBK0Q7UUFDL0QseUVBQXlFO1FBQ3pFLGFBQWE7UUFDYiwrQkFBK0I7UUFDL0IsTUFBTTtRQUNOLElBQUk7UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELHFEQUFpQixHQUFqQixVQUFrQixNQUFjO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrREFBYyxHQUFkLFVBQWUsTUFBYztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBdERRO1FBQVIsS0FBSyxFQUFFOzhEQUFrQztJQUNqQztRQUFSLEtBQUssRUFBRTsyREFBeUI7SUFDeEI7UUFBUixLQUFLLEVBQUU7NkRBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFO2tFQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTtnRUFBa0I7SUFDakI7UUFBUixLQUFLLEVBQUU7K0RBQTRDO0lBRzFDO1FBQVQsTUFBTSxFQUFFO2lFQUErRDtJQUM5RDtRQUFULE1BQU0sRUFBRTttRUFBaUU7SUFDaEU7UUFBVCxNQUFNLEVBQUU7c0VBQW9FO0lBWmxFLHlCQUF5QjtRQUxyQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLGtrQkFBa0Q7O1NBRW5ELENBQUM7T0FDVyx5QkFBeUIsQ0F5RHJDO0lBQUQsZ0NBQUM7Q0FBQSxBQXpERCxJQXlEQztTQXpEWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29udGV4dC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlY29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VxcC1keW5hbWljLW1vZHVsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VxcC1keW5hbWljLW1vZHVsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXFwLWR5bmFtaWMtbW9kdWxlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVxcER5bmFtaWNNb2R1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb250ZXh0OiBDb250ZXh0ID0gbmV3IENvbnRleHQoKTtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtID0gbmV3IEZvcm0oKTtcclxuICBASW5wdXQoKSB2YWx1ZXM6IEFycmF5PFJlY29yZD47XHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgdmlld01vZGU6IEZvcm1UeXBlRW51bSA9IEZvcm1UeXBlRW51bS5MSVNUO1xyXG5cclxuXHJcbiAgQE91dHB1dCgpIHNhdmVSZWNvcmQ6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZVJlY29yZDogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBAT3V0cHV0KCkgZHVwbGljYXRlUmVjb3JkOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBGb3JtVHlwZUVudW0gPSBGb3JtVHlwZUVudW07XHJcbiAgc2VsZWN0ZWRSZWNvcmQ6IFJlY29yZDtcclxuICBvbmx5VmlldzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBVdGlsaXR5SGVscGVyU2VydmljZS5TZXRDb250ZXh0KHRoaXMuY29udGV4dCk7XHJcbiAgfVxyXG5cclxuICBvbkFkZFZpZXdFZGl0UmVjb3JkKGV2ZW50OiB7IHJlY29yZDogUmVjb3JkLCBvbmx5VmlldzogYm9vbGVhbiB9KSB7XHJcbiAgICBpZiAoZXZlbnQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShldmVudC5yZWNvcmQpKTtcclxuICAgICAgdGhpcy5vbmx5VmlldyA9IGV2ZW50Lm9ubHlWaWV3O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZCA9IG51bGw7XHJcbiAgICAgIHRoaXMub25seVZpZXcgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMudmlld01vZGUgPSBGb3JtVHlwZUVudW0uU0NBTEFSO1xyXG4gIH1cclxuXHJcbiAgb25TYXZlRm9ybShldmVudDogUmVjb3JkKSB7XHJcbiAgICAvL1RPRE86IFNhbHZhcmUgaWwgcmVjb3JkIVxyXG5cclxuICAgIC8vIGlmIChldmVudCAhPSBudWxsKSB7XHJcbiAgICAvLyAgIGlmIChldmVudC5JRCAmJiB0aGlzLnZhbHVlcy5maW5kKHYgPT4gdi5JRCA9PSBldmVudC5JRCkpIHtcclxuICAgIC8vICAgICB0aGlzLnZhbHVlc1t0aGlzLnZhbHVlcy5maW5kSW5kZXgodiA9PiB2LklEID09IGV2ZW50LklEKV0gPSBldmVudDtcclxuICAgIC8vICAgfSBlbHNlIHtcclxuICAgIC8vICAgICB0aGlzLnZhbHVlcy5wdXNoKGV2ZW50KTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5zYXZlUmVjb3JkLmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy52aWV3TW9kZSA9IEZvcm1UeXBlRW51bS5MSVNUO1xyXG4gIH1cclxuXHJcbiAgb25EdXBsaWNhdGVSZWNvcmQocmVjb3JkOiBSZWNvcmQpIHtcclxuICAgIHRoaXMuZHVwbGljYXRlUmVjb3JkLmVtaXQocmVjb3JkKTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlUmVjb3JkKHJlY29yZDogUmVjb3JkKSB7XHJcbiAgICB0aGlzLmRlbGV0ZVJlY29yZC5lbWl0KHJlY29yZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -8,6 +8,7 @@ var AddFormRecordComponent = /** @class */ (function () {
8
8
  function AddFormRecordComponent(cdr, utilityService) {
9
9
  this.cdr = cdr;
10
10
  this.utilityService = utilityService;
11
+ this.showTitle = true;
11
12
  this.showButtons = true;
12
13
  this.form = new Form();
13
14
  this.fieldGroups = {};
@@ -98,6 +99,9 @@ var AddFormRecordComponent = /** @class */ (function () {
98
99
  { type: ChangeDetectorRef },
99
100
  { type: UtilityHelperService }
100
101
  ]; };
102
+ __decorate([
103
+ Input()
104
+ ], AddFormRecordComponent.prototype, "showTitle", void 0);
101
105
  __decorate([
102
106
  Input()
103
107
  ], AddFormRecordComponent.prototype, "showButtons", void 0);
@@ -119,11 +123,11 @@ var AddFormRecordComponent = /** @class */ (function () {
119
123
  AddFormRecordComponent = __decorate([
120
124
  Component({
121
125
  selector: 'add-form-record',
122
- template: "<div class=\"row eqp-dynamic-module-title\">\n <div class=\"col-md-12 text-center\">\n <h4><b>{{form.Name}}</b></h4>\n </div>\n</div>\n\n<form [formGroup]=\"formForm\">\n\n <!-- VISUALIZZAZIONE SEMPLICE -->\n <ng-container *ngIf=\"form.FormScalarType == FormScalarTypeEnum.Semplice\" [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: form.Fields }\">\n </ng-container>\n\n <!-- VISUALIZZAZIONE A STEPPER -->\n <mat-horizontal-stepper linear *ngIf=\"form.FormScalarType == FormScalarTypeEnum['A step']\">\n <mat-step *ngFor=\"let group of form.FormFieldsGroups\">\n <ng-template matStepLabel>\n {{group.Name}}\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-step>\n </mat-horizontal-stepper>\n\n <!-- VISUALIZZAZIONE A TAB -->\n <mat-tab-group *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In tab']\">\n <mat-tab *ngFor=\"let group of form.FormFieldsGroups\" [label]=\"group.Name\">\n <div class=\"mt-3\">\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <!-- VISUALIZZAZIONE AD ACCORDION -->\n <mat-accordion multi *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In accordion']\">\n <mat-expansion-panel *ngFor=\"let group of form.FormFieldsGroups\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{group.Name}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-expansion-panel>\n </mat-accordion>\n</form>\n\n<div class=\"row mt-2\" *ngIf=\"showButtons\">\n <div class=\"col-sm-12 text-right\">\n <button class=\"mr-2\" mat-raised-button (click)=\"saveOrExitForm(true)\" type=\"button\">\n Annulla\n </button>\n <button class=\"mr-2\" mat-raised-button color=\"primary\" (click)=\"saveOrExitForm(false)\"\n [disabled]=\"formForm.invalid || formForm.disabled\" type=\"button\">\n Salva\n </button>\n </div>\n</div>\n\n<!-- TEMPLATE PER LA VISUALIZZAZIONE DEI CAMPI DELLA FORM -->\n<ng-template #fieldTemplates let-fields='fields'>\n <div class=\"row\">\n <div class=\"mt-2\" *ngFor=\"let field of fields\" [ngClass]=\"utilityService.getFieldSyleClass(field)\">\n <dynamic-module-field #fieldTemplate [field]=\"field\" [form]=\"form\" [record]=\"record\" (recordChange)=\"onRecordChange()\"></dynamic-module-field>\n </div>\n </div>\n</ng-template>",
126
+ template: "<div class=\"row eqp-dynamic-module-title\" *ngIf=\"showTitle\">\n <div class=\"col-md-12\">\n <h4><b>{{form.Name}}</b></h4>\n </div>\n</div>\n\n<form [formGroup]=\"formForm\">\n\n <!-- VISUALIZZAZIONE SEMPLICE -->\n <ng-container *ngIf=\"form.FormScalarType == FormScalarTypeEnum.Semplice\" [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: form.Fields }\">\n </ng-container>\n\n <!-- VISUALIZZAZIONE A STEPPER -->\n <mat-horizontal-stepper linear *ngIf=\"form.FormScalarType == FormScalarTypeEnum['A step']\">\n <mat-step *ngFor=\"let group of form.FormFieldsGroups\">\n <ng-template matStepLabel>\n {{group.Name}}\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-step>\n </mat-horizontal-stepper>\n\n <!-- VISUALIZZAZIONE A TAB -->\n <mat-tab-group *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In tab']\">\n <mat-tab *ngFor=\"let group of form.FormFieldsGroups\" [label]=\"group.Name\">\n <div class=\"mt-3\">\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n\n <!-- VISUALIZZAZIONE AD ACCORDION -->\n <mat-accordion multi *ngIf=\"form.FormScalarType == FormScalarTypeEnum['In accordion']\">\n <mat-expansion-panel *ngFor=\"let group of form.FormFieldsGroups\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{group.Name}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <ng-container [ngTemplateOutlet]=\"fieldTemplates\"\n [ngTemplateOutletContext]=\"{ fields: fieldGroups[group.Name] }\">\n </ng-container>\n </mat-expansion-panel>\n </mat-accordion>\n</form>\n\n<div class=\"row mt-2\" *ngIf=\"showButtons\">\n <div class=\"col-sm-12 text-right\">\n <button class=\"mr-2\" mat-raised-button (click)=\"saveOrExitForm(true)\" type=\"button\">\n Annulla\n </button>\n <button class=\"mr-2\" mat-raised-button color=\"primary\" (click)=\"saveOrExitForm(false)\"\n [disabled]=\"formForm.invalid || formForm.disabled\" type=\"button\">\n Salva\n </button>\n </div>\n</div>\n\n<!-- TEMPLATE PER LA VISUALIZZAZIONE DEI CAMPI DELLA FORM -->\n<ng-template #fieldTemplates let-fields='fields'>\n <div class=\"row\">\n <div class=\"mt-2\" *ngFor=\"let field of fields\" [ngClass]=\"utilityService.getFieldSyleClass(field)\">\n <dynamic-module-field #fieldTemplate [field]=\"field\" [form]=\"form\" [record]=\"record\"\n (recordChange)=\"onRecordChange()\"></dynamic-module-field>\n </div>\n </div>\n</ng-template>",
123
127
  styles: [""]
124
128
  })
125
129
  ], AddFormRecordComponent);
126
130
  return AddFormRecordComponent;
127
131
  }());
128
132
  export { AddFormRecordComponent };
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXJlY29yZHMvYWRkLWZvcm0tcmVjb3JkL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0gsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFRbkY7SUFlRSxnQ0FDVSxHQUFzQixFQUN2QixjQUFvQztRQURuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN2QixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFmcEMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFJakMsZ0JBQVcsR0FBd0MsRUFBRSxDQUFDO1FBQ3RELHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBRXBCLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFPekUsQ0FBQztJQUVMLHlDQUFRLEdBQVI7UUFDRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILCtDQUFjLEdBQWQ7UUFDRSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFmLENBQWUsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsK0NBQWMsR0FBZCxVQUFlLElBQWE7UUFDMUIsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssdURBQXNCLEdBQTlCO1FBQUEsaUJBZUM7UUFkQyxJQUFNLGdCQUFnQixHQUFrQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksRUFBaEIsQ0FBZ0IsQ0FBQyxFQUFFO2dCQUNqRCxLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQSxJQUFJO2dCQUMvQixJQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssU0FBUyxFQUFmLENBQWUsQ0FBQyxFQUFFO29CQUNoRCxLQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDN0I7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0RBQWlCLEdBQXpCO1FBQ0UsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFoRyxDQUFnRyxDQUFDLENBQUM7U0FDbkk7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnREFBZSxHQUF2QjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssa0RBQWlCLEdBQXpCO1FBQUEsaUJBT0M7UUFOQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQjthQUN2QixJQUFJLENBQUMsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBaEcsQ0FBZ0csQ0FBQzthQUNoSCxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxFQUFOLENBQU0sQ0FBQzthQUNoQixPQUFPLENBQUMsVUFBQSxTQUFTO1lBQ2hCLEtBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQXpCLENBQXlCLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dCQXJGYyxpQkFBaUI7Z0JBQ1Asb0JBQW9COztJQWZwQztRQUFSLEtBQUssRUFBRTsrREFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7d0RBQXlCO0lBQ3hCO1FBQVIsS0FBSyxFQUFFOzBEQUFnQjtJQUNmO1FBQVIsS0FBSyxFQUFFOzREQUFtQjtJQU1qQjtRQUFULE1BQU0sRUFBRTttRUFBb0U7SUFFOUM7UUFBOUIsWUFBWSxDQUFDLGVBQWUsQ0FBQztpRUFBdUQ7SUFiMUUsc0JBQXNCO1FBTGxDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQkFBaUI7WUFDM0Iscy9GQUErQzs7U0FFaEQsQ0FBQztPQUNXLHNCQUFzQixDQXNHbEM7SUFBRCw2QkFBQztDQUFBLEFBdEdELElBc0dDO1NBdEdZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtU2NhbGFyVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9keW5hbWljLW1vZHVsZS1maWVsZC9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGQtZm9ybS1yZWNvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZm9ybS1yZWNvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRGb3JtUmVjb3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm0gPSBuZXcgRm9ybSgpO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBJbnB1dCgpIG9ubHlWaWV3OiBib29sZWFuO1xyXG4gIGZvcm1Gb3JtOiBGb3JtR3JvdXA7XHJcbiAgZmllbGRHcm91cHM6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8QmFzZUZpZWxkPiB9ID0ge307XHJcbiAgRm9ybVNjYWxhclR5cGVFbnVtID0gRm9ybVNjYWxhclR5cGVFbnVtO1xyXG4gIEZpZWxkVHlwZUVudW0gPSBGaWVsZFR5cGVFbnVtO1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZVJlY29yZEV2ZW50OiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFwiZmllbGRUZW1wbGF0ZVwiKSBmaWVsZFRlbXBsYXRlOiBRdWVyeUxpc3Q8RHluYW1pY01vZHVsZUZpZWxkQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlIZWxwZXJTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWNvcmQgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IG5ldyBSZWNvcmQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY3JlYXRlUmVjb3JkUHJvcGVydGllcygpO1xyXG4gICAgdGhpcy5yZW9yZGVyRm9ybUZpZWxkcygpO1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICAgIGlmICh0aGlzLmZvcm0uRm9ybVNjYWxhclR5cGUgIT0gRm9ybVNjYWxhclR5cGVFbnVtLlNlbXBsaWNlKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlRmllbGRHcm91cHMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBjYW1iaW8gZGVsIHZhbG9yZSBkaSBvZ25pIHByb3ByaWV0w6AgZGVsbCdvZ2dldHRvIHJlY29yZC5cclxuICAgKiBTZXJ2ZSBhZCBhZ2dpb3JuYXJlIGlsIHZhbG9yZSBkaSB0dXR0aSBpIGNhbXBpIGNoZSBoYW5ubyB1bmEgZm9ybXVsYS5cclxuICAgKi9cclxuICBvblJlY29yZENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkVGVtcGxhdGUgJiYgdGhpcy5maWVsZFRlbXBsYXRlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5maWVsZFRlbXBsYXRlLmZvckVhY2goZiA9PiBmLnVwZGF0ZUZpZWxkKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBzYWx2YXJlIGkgZGF0aSBpbnNlcml0aSBkYWxsJ3V0ZW50ZSB1bmEgdm9sdGEgY29uY2x1c2EgbGEgY29tcGlsYXppb25lIGRlbGxhIGZvcm0uXHJcbiAgICovXHJcbiAgc2F2ZU9yRXhpdEZvcm0oZXhpdDogYm9vbGVhbikge1xyXG4gICAgaWYgKGV4aXQpIHtcclxuICAgICAgdGhpcy5zYXZlUmVjb3JkRXZlbnQuZW1pdChudWxsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2ZVJlY29yZEV2ZW50LmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgbmVsbCdvZ2dldHRvIFJlY29yZCBsZSBwcm9wcmlldMOgIG1hbmNhbnRpIHJpc3BldHRvIGFpIGNhbXBpIGNoZSBjb21wb25nb25vIGxhIGZvcm0uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVSZWNvcmRQcm9wZXJ0aWVzKCkge1xyXG4gICAgY29uc3QgcmVjb3JkUHJvcGVydGllczogQXJyYXk8c3RyaW5nPiA9IE9iamVjdC5rZXlzKHRoaXMucmVjb3JkKTtcclxuICAgIHRoaXMuZm9ybS5GaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIGlmICghcmVjb3JkUHJvcGVydGllcy5maW5kKHAgPT4gcCA9PT0gZmllbGQuTmFtZSkpIHtcclxuICAgICAgICB0aGlzLnJlY29yZFtmaWVsZC5OYW1lXSA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Jbm5lckZvcm1zICYmIHRoaXMuZm9ybS5Jbm5lckZvcm1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5mb3JtLklubmVyRm9ybXMuZm9yRWFjaChmb3JtID0+IHtcclxuICAgICAgICBjb25zdCBhcnJheU5hbWU6IHN0cmluZyA9IGZvcm0uTmFtZS5zcGxpdChcIiBcIikuam9pbihcIl9cIik7XHJcbiAgICAgICAgaWYgKCFyZWNvcmRQcm9wZXJ0aWVzLmZpbmQocCA9PiBwID09PSBhcnJheU5hbWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlY29yZFthcnJheU5hbWVdID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgcmlvcmRpbmFyZSBpIGNhbXBpIGNoZSBjb21wb25nb25vIGxhIGZvcm0uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW9yZGVyRm9ybUZpZWxkcygpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uRmllbGRzICYmIHRoaXMuZm9ybS5GaWVsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZvcm0uRmllbGRzLnNvcnQoKGEsIGIpID0+IChhLk9yZGluYWxQb3NpdGlvbiA+IGIuT3JkaW5hbFBvc2l0aW9uKSA/IDEgOiAoKGIuT3JkaW5hbFBvc2l0aW9uID4gYS5PcmRpbmFsUG9zaXRpb24pID8gLTEgOiAwKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBpbCBGb3JtR3JvdXAgY2hlIHJhcHByZXNlbnRhIGxhIGZvcm0uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKSB7XHJcbiAgICB0aGlzLmZvcm1Gb3JtID0gdGhpcy51dGlsaXR5U2VydmljZS5DcmVhdGVGb3JtRm9ybUdyb3VwKHRoaXMuZm9ybS5GaWVsZHMsIHRoaXMucmVjb3JkLCB0aGlzLm9ubHlWaWV3KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGkgZ3J1cHBpIGluIGN1aSByYWdncnVwcGFyZSBpIGNhbXBpIGRlbGxhIGZvcm0gaW4gYmFzZSBcclxuICAgKiBhIGNvbWUgw6ggc3RhdGEgY29uZmlndXJhdGEgZGFsbCd1dGVudGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVGaWVsZEdyb3VwcygpIHtcclxuICAgIHRoaXMuZm9ybS5Gb3JtRmllbGRzR3JvdXBzXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5PcmRpbmFsUG9zaXRpb24gPiBiLk9yZGluYWxQb3NpdGlvbikgPyAxIDogKChiLk9yZGluYWxQb3NpdGlvbiA+IGEuT3JkaW5hbFBvc2l0aW9uKSA/IC0xIDogMCkpXHJcbiAgICAgIC5tYXAoZyA9PiBnLk5hbWUpXHJcbiAgICAgIC5mb3JFYWNoKGdyb3VwTmFtZSA9PiB7XHJcbiAgICAgICAgdGhpcy5maWVsZEdyb3Vwc1tncm91cE5hbWVdID0gdGhpcy5mb3JtLkZpZWxkcy5maWx0ZXIoZiA9PiBmLkZpZWxkR3JvdXAgPT0gZ3JvdXBOYW1lKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tcmVjb3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlcXByb2plY3QvZXFwLWR5bmFtaWMtbW9kdWxlLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXJlY29yZHMvYWRkLWZvcm0tcmVjb3JkL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0gsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFRbkY7SUFnQkUsZ0NBQ1UsR0FBc0IsRUFDdkIsY0FBb0M7UUFEbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBaEJwQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFNBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBSWpDLGdCQUFXLEdBQXdDLEVBQUUsQ0FBQztRQUN0RCx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUVwQixvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBT3pFLENBQUM7SUFFTCx5Q0FBUSxHQUFSO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUN2QixJQUFJ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OzZEQUFrQjtJQUNqQjtRQUFSLEtBQUssRUFBRTsrREFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7d0RBQXlCO0lBQ3hCO1FBQVIsS0FBSyxFQUFFOzBEQUFnQjtJQUNmO1FBQVIsS0FBSyxFQUFFOzREQUFtQjtJQU1qQjtRQUFULE1BQU0sRUFBRTttRUFBb0U7SUFFOUM7UUFBOUIsWUFBWSxDQUFDLGVBQWUsQ0FBQztpRUFBdUQ7SUFkMUUsc0JBQXNCO1FBTGxDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsK2dHQUErQzs7U0FFaEQsQ0FBQztPQUNXLHNCQUFzQixDQXVHbEM7SUFBRCw2QkFBQztDQUFBLEFBdkdELElBdUdDO1NBdkdZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtLCBGb3JtU2NhbGFyVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9keW5hbWljLW1vZHVsZS1maWVsZC9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGQtZm9ybS1yZWNvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZm9ybS1yZWNvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1mb3JtLXJlY29yZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRGb3JtUmVjb3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QnV0dG9ucyA9IHRydWU7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybSA9IG5ldyBGb3JtKCk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQElucHV0KCkgb25seVZpZXc6IGJvb2xlYW47XHJcbiAgZm9ybUZvcm06IEZvcm1Hcm91cDtcclxuICBmaWVsZEdyb3VwczogeyBba2V5OiBzdHJpbmddOiBBcnJheTxCYXNlRmllbGQ+IH0gPSB7fTtcclxuICBGb3JtU2NhbGFyVHlwZUVudW0gPSBGb3JtU2NhbGFyVHlwZUVudW07XHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcblxyXG4gIEBPdXRwdXQoKSBzYXZlUmVjb3JkRXZlbnQ6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJmaWVsZFRlbXBsYXRlXCIpIGZpZWxkVGVtcGxhdGU6IFF1ZXJ5TGlzdDxEeW5hbWljTW9kdWxlRmllbGRDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eUhlbHBlclNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlY29yZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkID0gbmV3IFJlY29yZCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jcmVhdGVSZWNvcmRQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnJlb3JkZXJGb3JtRmllbGRzKCk7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Gb3JtU2NhbGFyVHlwZSAhPSBGb3JtU2NhbGFyVHlwZUVudW0uU2VtcGxpY2UpIHtcclxuICAgICAgdGhpcy5jcmVhdGVGaWVsZEdyb3VwcygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRpIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gcmVjb3JkLlxyXG4gICAqIFNlcnZlIGFkIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRpIHR1dHRpIGkgY2FtcGkgY2hlIGhhbm5vIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkQ2hhbmdlKCkge1xyXG4gICAgaWYgKHRoaXMuZmllbGRUZW1wbGF0ZSAmJiB0aGlzLmZpZWxkVGVtcGxhdGUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkVGVtcGxhdGUuZm9yRWFjaChmID0+IGYudXBkYXRlRmllbGQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHNhbHZhcmUgaSBkYXRpIGluc2VyaXRpIGRhbGwndXRlbnRlIHVuYSB2b2x0YSBjb25jbHVzYSBsYSBjb21waWxhemlvbmUgZGVsbGEgZm9ybS5cclxuICAgKi9cclxuICBzYXZlT3JFeGl0Rm9ybShleGl0OiBib29sZWFuKSB7XHJcbiAgICBpZiAoZXhpdCkge1xyXG4gICAgICB0aGlzLnNhdmVSZWNvcmRFdmVudC5lbWl0KG51bGwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlUmVjb3JkRXZlbnQuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGNyZWFyZSBuZWxsJ29nZ2V0dG8gUmVjb3JkIGxlIHByb3ByaWV0w6AgbWFuY2FudGkgcmlzcGV0dG8gYWkgY2FtcGkgY2hlIGNvbXBvbmdvbm8gbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVJlY29yZFByb3BlcnRpZXMoKSB7XHJcbiAgICBjb25zdCByZWNvcmRQcm9wZXJ0aWVzOiBBcnJheTxzdHJpbmc+ID0gT2JqZWN0LmtleXModGhpcy5yZWNvcmQpO1xyXG4gICAgdGhpcy5mb3JtLkZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgaWYgKCFyZWNvcmRQcm9wZXJ0aWVzLmZpbmQocCA9PiBwID09PSBmaWVsZC5OYW1lKSkge1xyXG4gICAgICAgIHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5mb3JtLklubmVyRm9ybXMgJiYgdGhpcy5mb3JtLklubmVyRm9ybXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5mb3JFYWNoKGZvcm0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGFycmF5TmFtZTogc3RyaW5nID0gZm9ybS5OYW1lLnNwbGl0KFwiIFwiKS5qb2luKFwiX1wiKTtcclxuICAgICAgICBpZiAoIXJlY29yZFByb3BlcnRpZXMuZmluZChwID0+IHAgPT09IGFycmF5TmFtZSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaW9yZGluYXJlIGkgY2FtcGkgY2hlIGNvbXBvbmdvbm8gbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIHJlb3JkZXJGb3JtRmllbGRzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5GaWVsZHMgJiYgdGhpcy5mb3JtLkZpZWxkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5GaWVsZHMuc29ydCgoYSwgYikgPT4gKGEuT3JkaW5hbFBvc2l0aW9uID4gYi5PcmRpbmFsUG9zaXRpb24pID8gMSA6ICgoYi5PcmRpbmFsUG9zaXRpb24gPiBhLk9yZGluYWxQb3NpdGlvbikgPyAtMSA6IDApKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY3JlYXJlIGlsIEZvcm1Hcm91cCBjaGUgcmFwcHJlc2VudGEgbGEgZm9ybS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUZvcm0gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLkNyZWF0ZUZvcm1Gb3JtR3JvdXAodGhpcy5mb3JtLkZpZWxkcywgdGhpcy5yZWNvcmQsIHRoaXMub25seVZpZXcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjcmVhcmUgaSBncnVwcGkgaW4gY3VpIHJhZ2dydXBwYXJlIGkgY2FtcGkgZGVsbGEgZm9ybSBpbiBiYXNlIFxyXG4gICAqIGEgY29tZSDDqCBzdGF0YSBjb25maWd1cmF0YSBkYWxsJ3V0ZW50ZS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUZpZWxkR3JvdXBzKCkge1xyXG4gICAgdGhpcy5mb3JtLkZvcm1GaWVsZHNHcm91cHNcclxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLk9yZGluYWxQb3NpdGlvbiA+IGIuT3JkaW5hbFBvc2l0aW9uKSA/IDEgOiAoKGIuT3JkaW5hbFBvc2l0aW9uID4gYS5PcmRpbmFsUG9zaXRpb24pID8gLTEgOiAwKSlcclxuICAgICAgLm1hcChnID0+IGcuTmFtZSlcclxuICAgICAgLmZvckVhY2goZ3JvdXBOYW1lID0+IHtcclxuICAgICAgICB0aGlzLmZpZWxkR3JvdXBzW2dyb3VwTmFtZV0gPSB0aGlzLmZvcm0uRmllbGRzLmZpbHRlcihmID0+IGYuRmllbGRHcm91cCA9PSBncm91cE5hbWUpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19