mmhglobal-dynamicform 2.0.0-beta.10 → 2.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2020/lib/components/datalistingfieldbase.component.mjs +15 -4
  2. package/esm2020/lib/input-error-message/input-error-message.component.mjs +19 -8
  3. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +6 -1
  4. package/esm2020/lib/services/component-error-handler.service.mjs +53 -29
  5. package/esm2020/lib/services/main.service.mjs +7 -5
  6. package/esm2020/lib/services/zcomponent.service.mjs +4 -2
  7. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +3 -3
  8. package/esm2020/lib/uicontainer/uicontainer.component.mjs +2 -2
  9. package/esm2020/lib/uiheader/uiheader.component.mjs +2 -2
  10. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +8 -3
  11. package/esm2020/lib/zdatetime/zdatetime.component.mjs +5 -1
  12. package/esm2020/lib/zform/zform.component.mjs +2 -2
  13. package/esm2020/lib/zgrid/zgrid.component.mjs +3 -3
  14. package/esm2020/lib/zinput-container/zinput-container.component.mjs +2 -2
  15. package/esm2020/lib/zmfb/zmfb.component.mjs +1 -5
  16. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +4 -15
  17. package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +29 -0
  18. package/esm2020/lib/ztree/ztree.component.mjs +11 -4
  19. package/esm2020/public-api.mjs +2 -1
  20. package/fesm2015/mmhglobal-dynamicform.mjs +232 -158
  21. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  22. package/fesm2020/mmhglobal-dynamicform.mjs +232 -158
  23. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  24. package/lib/components/datalistingfieldbase.component.d.ts +1 -0
  25. package/lib/input-error-message/input-error-message.component.d.ts +3 -2
  26. package/lib/mmhglobal-dynamicform.module.d.ts +38 -37
  27. package/lib/services/component-error-handler.service.d.ts +8 -3
  28. package/lib/zcheckbox/zcheckbox.component.d.ts +1 -0
  29. package/lib/zmfb/zmfb.component.d.ts +0 -1
  30. package/lib/zselectmultiple/zselectmultiple.component.d.ts +1 -4
  31. package/lib/zselectmultiple/zselectmultiple.pipe.d.ts +11 -0
  32. package/lib/ztree/ztree.component.d.ts +2 -0
  33. package/package.json +1 -1
  34. package/public-api.d.ts +1 -0
@@ -2,6 +2,7 @@
2
2
  import { Component, ViewChild } from "@angular/core";
3
3
  import { FieldBase } from "./fieldbase.component";
4
4
  import { ZComponentHelper } from "mmhglobal-zcore";
5
+ import { isObservable, map, of } from "rxjs";
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../services/zcomponent.service";
7
8
  // For: zgrid, ztree, ztreelist
@@ -91,9 +92,11 @@ export class DataListingFieldBase extends FieldBase {
91
92
  getPopOverContentByCol(columns, data) {
92
93
  const popOverContent = [];
93
94
  for (const col of columns) {
94
- popOverContent.push({
95
- columnName: col.field,
96
- content: this.getPopOverContent(col, data)
95
+ this.getPopOverContent(col, data).subscribe(content => {
96
+ popOverContent.push({
97
+ columnName: col.field,
98
+ content: content
99
+ });
97
100
  });
98
101
  }
99
102
  return popOverContent;
@@ -113,7 +116,15 @@ export class DataListingFieldBase extends FieldBase {
113
116
  if (typeof func === 'function') {
114
117
  const callFunc = func.bind(this.group.ctrlScope);
115
118
  result = callFunc(columnField, dataItem);
119
+ if (isObservable(result)) {
120
+ return result.pipe(map(data => this.parsePopoverObject(data)));
121
+ }
122
+ else {
123
+ return of(this.parsePopoverObject(result));
124
+ }
116
125
  }
126
+ }
127
+ parsePopoverObject(result) {
117
128
  if (typeof result === "object") {
118
129
  return JSON.stringify(result);
119
130
  }
@@ -135,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
135
146
  type: ViewChild,
136
147
  args: ["popovercontainer", { static: false }]
137
148
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTNELCtCQUErQjtBQUMvQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBUztJQVdqRCxZQUFZLFdBQThCO1FBQ3hDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVZYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUc7WUFDdkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDbEMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDaEQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtTQUNyRCxDQUFDO0lBSUYsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxD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QUMsQ0FBQztRQUVwRSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO2FBQ0k7WUFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQ25CO2dCQUNFLElBQUksRUFBRSxNQUFNLElBQUksRUFBRTthQUNuQixDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7O2tIQTlJVSxvQkFBb0I7c0dBQXBCLG9CQUFvQixpTUFKckIsRUFBRTs0RkFJRCxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSTJELGdCQUFnQjtzQkFBekUsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4vZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkZpZWxkIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpncmlkLCB6dHJlZSwgenRyZWVsaXN0XHJcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdGluZ0ZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQFZpZXdDaGlsZChcInBvcG92ZXJjb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcG9wb3ZlcmNvbnRhaW5lcjogUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZTtcclxuICBwcm90ZWN0ZWQgcG9wb3ZlckRhdGEgPSBbXTtcclxuICBwdWJsaWMgdG9vbGJhckl0ZW1MaXN0ID0gW1xyXG4gICAgeyBuYW1lOiBcIlNlYXJjaFwiLCB0ZXh0OiBcIlNlYXJjaFwiIH0sXHJcbiAgICB7IG5hbWU6IFwiU2F2ZSBTZXR0aW5nc1wiLCB0ZXh0OiBcIlNhdmUgU2V0dGluZ3NcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlJlc3RvcmUgU2V0dGluZ3NcIiwgdGV4dDogXCJSZXN0b3JlIFNldHRpbmdzXCIgfSxcclxuICAgIHsgbmFtZTogXCJBZGQgTmV3XCIsIHRleHQ6IFwiQWRkIE5ld1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiQWR2YW5jZWQgU2VhcmNoXCIsIHRleHQ6IFwiQWR2YW5jZWQgU2VhcmNoXCIgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRDb2x1bW5TdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzKSA6IHsgJ3doaXRlLXNwYWNlJzogJ2luaXRpYWwnIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkSGVhZGVyU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCkgOiB7ICd3aGl0ZS1zcGFjZSc6ICdpbml0aWFsJyB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZEZvb3RlclN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkpIDogeyAnd2hpdGUtc3BhY2UnOiAnaW5pdGlhbCcgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENlbGxTdHlsZShjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHN0eWxlID0gY29sdW1uRmllbGRbYFN0eWxlMTBgXTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgc3R5bGUpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmV0dXJuIGNhbGxGdW5jKGRhdGFJdGVtKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiBmdW5jID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZnVuYztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVUb29sQmFySXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZVRvb2xCYXJJdGVtcyh0aGlzLnRvb2xiYXJJdGVtTGlzdCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFySXRlbUxpc3QuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSk/LnRleHQgfHwgbmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb2x1bW5IZWFkZXIoY29sdW1uczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlR3JpZENvbHVtbkhlYWRlcihjb2x1bW5zLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQb3BvdmVyXHJcbiAgcHVibGljIHNldHVwUG9wb3ZlckZlYXR1cmUoY29sdW1uczogQXJyYXk8YW55PiwgZ3JpZERhdGE6IEFycmF5PGFueT4pIHtcclxuICAgIGNvbnN0IHBvcG92ZXJDb2xzID0gY29sdW1ucy5maWx0ZXIoYyA9PiBjLlBvcE92ZXJDb250ZW50KTtcclxuICAgIGlmIChwb3BvdmVyQ29scy5sZW5ndGggPiAwICYmIGdyaWREYXRhLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBncmlkRGF0YSkge1xyXG4gICAgICAgIHRoaXMucG9wb3ZlckRhdGEucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IGRhdGEuSWQsXHJcbiAgICAgICAgICAgIHBvcG92ZXJDb250ZW50OiB0aGlzLmdldFBvcE92ZXJDb250ZW50QnlDb2wocG9wb3ZlckNvbHMsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQb3BPdmVyKGNvbHVtbkZpZWxkOiBaRmllbGQsIGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghY29sdW1uRmllbGQuUG9wT3ZlckNvbnRlbnQgfHwgIXRoaXMucG9wb3ZlcmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0RJVicgfHwgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1NQQU4nKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5zaG93KGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wT3ZlcihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudG9FbGVtZW50ICYmIGV2ZW50LnRvRWxlbWVudC5ub2RlTmFtZSA9PSBcIkRJVlwiICYmIChldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSBcIlREXCIgfHwgKGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09IFwiRElWXCIgJiYgZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lLmluY2x1ZGVzKFwiay1wb3BvdmVyLWJvZHlcIikpKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbnRleHREYXRhKGFuY2hvcjogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmIChhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdLnZhbHVlICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXS52YWx1ZSkge1xyXG4gICAgICBjb25zdCByZWNvcmRJZCA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXS52YWx1ZTtcclxuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0udmFsdWU7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJBbGxDb2xEYXRhID0gdGhpcy5wb3BvdmVyRGF0YS5maW5kKGQgPT4gZC5pZCA9PSByZWNvcmRJZCk7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb2xEYXRhID0gcG9wb3ZlckFsbENvbERhdGEucG9wb3ZlckNvbnRlbnQuZmluZChkID0+IGQuY29sdW1uTmFtZSA9PSBjb2x1bW5OYW1lKTtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocG9wb3ZlckNvbERhdGEuY29udGVudClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UG9wT3ZlckNvbnRlbnRCeUNvbChjb2x1bW5zOiBBcnJheTxhbnk+LCBkYXRhOiBhbnkpOiBBcnJheTxhbnk+IHtcclxuICAgIGNvbnN0IHBvcE92ZXJDb250ZW50ID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIHBvcE92ZXJDb250ZW50LnB1c2goe1xyXG4gICAgICAgIGNvbHVtbk5hbWU6IGNvbC5maWVsZCxcclxuICAgICAgICBjb250ZW50OiB0aGlzLmdldFBvcE92ZXJDb250ZW50KGNvbCwgZGF0YSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvcE92ZXJDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3BPdmVyQ29udGVudChjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gY29sdW1uRmllbGQuUG9wT3ZlckNvbnRlbnQ7XHJcbiAgICBpZiAoIWNvbnRlbnQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4ge1xyXG4gICAgLy8gICBCb2R5OiBgPGI+MjwvYj4gbW9yZSBnb2FscyBhbmQgPGI+NTwvYj4gbW9yZSBjb21wZXRlbmNpZXMgdG8gZ3JhZGUuIDxici8+XHJcbiAgICAvLyAgIEdvYWwgMTogPGIgc3R5bGU9J2NvbG9yOnZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTsnPjE8L2I+IDxici8+YCxcclxuICAgIC8vICAgQm9keUNsYXNzOidhcHByYWlzYWwtcG9wb3ZlcidcclxuICAgIC8vIH07XHJcbiAgICBjb25zdCBmdW5jID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGNvbnRlbnQpO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSBmdW5jO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmVzdWx0ID0gY2FsbEZ1bmMoY29sdW1uRmllbGQsIGRhdGFJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgQm9keTogcmVzdWx0IHx8ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU16RCwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFXakQsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWWCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7U0FDckQsQ0FBQztJQUlGLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7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dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpncmlkLCB6dHJlZSwgenRyZWVsaXN0XHJcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdGluZ0ZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQFZpZXdDaGlsZChcInBvcG92ZXJjb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcG9wb3ZlcmNvbnRhaW5lcjogUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZTtcclxuICBwcm90ZWN0ZWQgcG9wb3ZlckRhdGEgPSBbXTtcclxuICBwdWJsaWMgdG9vbGJhckl0ZW1MaXN0ID0gW1xyXG4gICAgeyBuYW1lOiBcIlNlYXJjaFwiLCB0ZXh0OiBcIlNlYXJjaFwiIH0sXHJcbiAgICB7IG5hbWU6IFwiU2F2ZSBTZXR0aW5nc1wiLCB0ZXh0OiBcIlNhdmUgU2V0dGluZ3NcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlJlc3RvcmUgU2V0dGluZ3NcIiwgdGV4dDogXCJSZXN0b3JlIFNldHRpbmdzXCIgfSxcclxuICAgIHsgbmFtZTogXCJBZGQgTmV3XCIsIHRleHQ6IFwiQWRkIE5ld1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiQWR2YW5jZWQgU2VhcmNoXCIsIHRleHQ6IFwiQWR2YW5jZWQgU2VhcmNoXCIgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRDb2x1bW5TdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzKSA6IHsgJ3doaXRlLXNwYWNlJzogJ2luaXRpYWwnIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkSGVhZGVyU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCkgOiB7ICd3aGl0ZS1zcGFjZSc6ICdpbml0aWFsJyB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZEZvb3RlclN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkpIDogeyAnd2hpdGUtc3BhY2UnOiAnaW5pdGlhbCcgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENlbGxTdHlsZShjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHN0eWxlID0gY29sdW1uRmllbGRbYFN0eWxlMTBgXTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgc3R5bGUpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmV0dXJuIGNhbGxGdW5jKGRhdGFJdGVtKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiBmdW5jID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZnVuYztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVUb29sQmFySXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZVRvb2xCYXJJdGVtcyh0aGlzLnRvb2xiYXJJdGVtTGlzdCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFySXRlbUxpc3QuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSk/LnRleHQgfHwgbmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb2x1bW5IZWFkZXIoY29sdW1uczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlR3JpZENvbHVtbkhlYWRlcihjb2x1bW5zLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQb3BvdmVyXHJcbiAgcHVibGljIHNldHVwUG9wb3ZlckZlYXR1cmUoY29sdW1uczogQXJyYXk8YW55PiwgZ3JpZERhdGE6IEFycmF5PGFueT4pIHtcclxuICAgIGNvbnN0IHBvcG92ZXJDb2xzID0gY29sdW1ucy5maWx0ZXIoYyA9PiBjLlBvcE92ZXJDb250ZW50KTtcclxuICAgIGlmIChwb3BvdmVyQ29scy5sZW5ndGggPiAwICYmIGdyaWREYXRhLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBncmlkRGF0YSkge1xyXG4gICAgICAgIHRoaXMucG9wb3ZlckRhdGEucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IGRhdGEuSWQsXHJcbiAgICAgICAgICAgIHBvcG92ZXJDb250ZW50OiB0aGlzLmdldFBvcE92ZXJDb250ZW50QnlDb2wocG9wb3ZlckNvbHMsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQb3BPdmVyKGNvbHVtbkZpZWxkOiBaRmllbGQsIGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghY29sdW1uRmllbGQuUG9wT3ZlckNvbnRlbnQgfHwgIXRoaXMucG9wb3ZlcmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0RJVicgfHwgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1NQQU4nKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5zaG93KGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wT3ZlcihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudG9FbGVtZW50ICYmIGV2ZW50LnRvRWxlbWVudC5ub2RlTmFtZSA9PSBcIkRJVlwiICYmIChldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSBcIlREXCIgfHwgKGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09IFwiRElWXCIgJiYgZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lLmluY2x1ZGVzKFwiay1wb3BvdmVyLWJvZHlcIikpKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbnRleHREYXRhKGFuY2hvcjogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmIChhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdLnZhbHVlICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXS52YWx1ZSkge1xyXG4gICAgICBjb25zdCByZWNvcmRJZCA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXS52YWx1ZTtcclxuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0udmFsdWU7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJBbGxDb2xEYXRhID0gdGhpcy5wb3BvdmVyRGF0YS5maW5kKGQgPT4gZC5pZCA9PSByZWNvcmRJZCk7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb2xEYXRhID0gcG9wb3ZlckFsbENvbERhdGEucG9wb3ZlckNvbnRlbnQuZmluZChkID0+IGQuY29sdW1uTmFtZSA9PSBjb2x1bW5OYW1lKTtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocG9wb3ZlckNvbERhdGEuY29udGVudClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UG9wT3ZlckNvbnRlbnRCeUNvbChjb2x1bW5zOiBBcnJheTxhbnk+LCBkYXRhOiBhbnkpOiBBcnJheTxhbnk+IHtcclxuICAgIGNvbnN0IHBvcE92ZXJDb250ZW50ID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuZ2V0UG9wT3ZlckNvbnRlbnQoY29sLCBkYXRhKS5zdWJzY3JpYmUoY29udGVudCA9PiB7XHJcbiAgICAgICAgcG9wT3ZlckNvbnRlbnQucHVzaCh7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiBjb2wuZmllbGQsXHJcbiAgICAgICAgICBjb250ZW50OiBjb250ZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvcE92ZXJDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3BPdmVyQ29udGVudChjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5GaWVsZC5Qb3BPdmVyQ29udGVudDtcclxuICAgIGlmICghY29udGVudCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiB7XHJcbiAgICAvLyAgIEJvZHk6IGA8Yj4yPC9iPiBtb3JlIGdvYWxzIGFuZCA8Yj41PC9iPiBtb3JlIGNvbXBldGVuY2llcyB0byBncmFkZS4gPGJyLz5cclxuICAgIC8vICAgR29hbCAxOiA8YiBzdHlsZT0nY29sb3I6dmFyKC0taW9uLWNvbG9yLXByaW1hcnkpOyc+MTwvYj4gPGJyLz5gLFxyXG4gICAgLy8gICBCb2R5Q2xhc3M6J2FwcHJhaXNhbC1wb3BvdmVyJ1xyXG4gICAgLy8gfTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgY29udGVudCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGZ1bmM7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXN1bHQgPSBjYWxsRnVuYyhjb2x1bW5GaWVsZCwgZGF0YUl0ZW0pO1xyXG5cclxuICAgICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKG1hcChkYXRhID0+IHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KGRhdGEpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KHJlc3VsdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlUG9wb3Zlck9iamVjdChyZXN1bHQpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIEJvZHk6IHJlc3VsdCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
@@ -1,14 +1,17 @@
1
1
  import { Component } from "@angular/core";
2
+ import { forkJoin, of, switchMap, tap } from "rxjs";
2
3
  import { FieldBase } from "../components/fieldbase.component";
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../services/zcomponent.service";
5
6
  import * as i2 from "../services/component-error-handler.service";
6
- import * as i3 from "@ionic/angular";
7
- import * as i4 from "@angular/common";
7
+ import * as i3 from "mmhglobal-zcore";
8
+ import * as i4 from "@ionic/angular";
9
+ import * as i5 from "@angular/common";
8
10
  export class InputErrorMessageComponent extends FieldBase {
9
- constructor(compService, componentErrorHandler) {
11
+ constructor(compService, componentErrorHandler, translationService) {
10
12
  super(compService);
11
13
  this.componentErrorHandler = componentErrorHandler;
14
+ this.translationService = translationService;
12
15
  this.errMsgList = [];
13
16
  }
14
17
  ngOnInit() { }
@@ -19,15 +22,23 @@ export class InputErrorMessageComponent extends FieldBase {
19
22
  const control = this.form.controls[this.data.Value];
20
23
  const isShow = !control.valid && !control.untouched;
21
24
  if (isShow) {
22
- this.errMsgList = this.componentErrorHandler.getErrorMessageForInvalidInput(this.group, null, this.data.Value);
25
+ of(this.componentErrorHandler.getErrorMessageForInvalidInput(this.group, null, this.data.Value)).pipe(switchMap((errMessageTranslationInput) => {
26
+ const obs = new Array();
27
+ errMessageTranslationInput.forEach(data => {
28
+ obs.push(this.translationService.$translateText(data.errorMessage, { translationVariables: data.translationVariables }));
29
+ });
30
+ return forkJoin(obs);
31
+ }), tap(fieldErrorMessages => {
32
+ this.errMsgList = fieldErrorMessages;
33
+ })).subscribe();
23
34
  }
24
35
  return isShow;
25
36
  }
26
37
  }
27
- InputErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputErrorMessageComponent, deps: [{ token: i1.ZComponentService }, { token: i2.ComponentErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component });
28
- InputErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: InputErrorMessageComponent, selector: "app-error", usesInheritance: true, ngImport: i0, template: "<div class=\"inputfield-error-msg\" *ngIf=\"IsShow()\">\r\n <div *ngFor=\"let errMsg of errMsgList\">\r\n <span #warning class=\"k-icon k-i-warning validation_icon\"></span>\r\n <ion-label>{{errMsg}}</ion-label>\r\n </div>\r\n</div>\r\n", styles: [".inputfield-error-msg{margin-top:5px;font-size:calc(var(--content-font-size) - 1px);color:var(--ion-color-danger)}.inputfield-error-msg span{margin:0 4px 0 2px;font-size:calc(var(--content-font-size) + 1px);top:-1px}\n"], components: [{ type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
38
+ InputErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputErrorMessageComponent, deps: [{ token: i1.ZComponentService }, { token: i2.ComponentErrorHandlerService }, { token: i3.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
39
+ InputErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: InputErrorMessageComponent, selector: "app-error", usesInheritance: true, ngImport: i0, template: "<div class=\"inputfield-error-msg\" *ngIf=\"IsShow()\">\r\n <div *ngFor=\"let errMsg of errMsgList\">\r\n <span #warning class=\"k-icon k-i-warning validation_icon\"></span>\r\n <ion-label>{{errMsg}}</ion-label>\r\n </div>\r\n</div>\r\n", styles: [".inputfield-error-msg{margin-top:5px;font-size:calc(var(--content-font-size) - 1px);color:var(--ion-color-danger)}.inputfield-error-msg span{margin:0 4px 0 2px;font-size:calc(var(--content-font-size) + 1px);top:-1px}\n"], components: [{ type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
29
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputErrorMessageComponent, decorators: [{
30
41
  type: Component,
31
42
  args: [{ selector: "app-error", template: "<div class=\"inputfield-error-msg\" *ngIf=\"IsShow()\">\r\n <div *ngFor=\"let errMsg of errMsgList\">\r\n <span #warning class=\"k-icon k-i-warning validation_icon\"></span>\r\n <ion-label>{{errMsg}}</ion-label>\r\n </div>\r\n</div>\r\n", styles: [".inputfield-error-msg{margin-top:5px;font-size:calc(var(--content-font-size) - 1px);color:var(--ion-color-danger)}.inputfield-error-msg span{margin:0 4px 0 2px;font-size:calc(var(--content-font-size) + 1px);top:-1px}\n"] }]
32
- }], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.ComponentErrorHandlerService }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9pbnB1dC1lcnJvci1tZXNzYWdlL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFTOUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFNBQVM7SUFDdkQsWUFBWSxXQUE4QixFQUFVLHFCQUFtRDtRQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUF6RSwwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ2hHLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFEdUcsQ0FBQztJQUcvSCxRQUFRLEtBQUssQ0FBQztJQUVQLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQy9HO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7d0hBbEJVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLHdFQ1h2QyxzUEFNQTs0RkRLYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50RXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9jb21wb25lbnQtZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWVycm9yXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsIHByaXZhdGUgY29tcG9uZW50RXJyb3JIYW5kbGVyOiBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcbiAgcHVibGljIGVyck1zZ0xpc3QgPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgcHVibGljIElzU2hvdygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZvcm0udW50b3VjaGVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBjb25zdCBpc1Nob3cgPSAhY29udHJvbC52YWxpZCAmJiAhY29udHJvbC51bnRvdWNoZWQ7XHJcbiAgICBpZiAoaXNTaG93KSB7XHJcbiAgICAgIHRoaXMuZXJyTXNnTGlzdCA9IHRoaXMuY29tcG9uZW50RXJyb3JIYW5kbGVyLmdldEVycm9yTWVzc2FnZUZvckludmFsaWRJbnB1dCh0aGlzLmdyb3VwLCBudWxsLCB0aGlzLmRhdGEuVmFsdWUpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlzU2hvdztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0ZmllbGQtZXJyb3ItbXNnXCIgKm5nSWY9XCJJc1Nob3coKVwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGVyck1zZyBvZiBlcnJNc2dMaXN0XCI+XHJcbiAgICA8c3BhbiAjd2FybmluZyBjbGFzcz1cImstaWNvbiBrLWktd2FybmluZyB2YWxpZGF0aW9uX2ljb25cIj48L3NwYW4+XHJcbiAgICA8aW9uLWxhYmVsPnt7ZXJyTXNnfX08L2lvbi1sYWJlbD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
43
+ }], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.ComponentErrorHandlerService }, { type: i3.TranslationService }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9pbnB1dC1lcnJvci1tZXNzYWdlL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFTOUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFNBQVM7SUFDdkQsWUFBWSxXQUE4QixFQUNoQyxxQkFBbUQsRUFDbkQsa0JBQXNDO1FBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRDVELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN6QyxlQUFVLEdBQUcsRUFBRSxDQUFDO0lBRGdELENBQUM7SUFHeEUsUUFBUSxLQUFLLENBQUM7SUFFUCxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3BELElBQUksTUFBTSxFQUFFO1lBQ1YsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRyxTQUFTLENBQUMsQ0FBQywwQkFBMEIsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztnQkFDekMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN4QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0gsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7d0hBOUJVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLHdFQ1p2QyxzUEFNQTs0RkRNYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlLCBaQ29tcG9uZW50IH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50RXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9jb21wb25lbnQtZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWVycm9yXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEVycm9ySGFuZGxlcjogQ29tcG9uZW50RXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UpIHsgc3VwZXIoY29tcFNlcnZpY2UpIH1cclxuICBwdWJsaWMgZXJyTXNnTGlzdCA9IFtdO1xyXG5cclxuICBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICBwdWJsaWMgSXNTaG93KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS51bnRvdWNoZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGNvbnN0IGlzU2hvdyA9ICFjb250cm9sLnZhbGlkICYmICFjb250cm9sLnVudG91Y2hlZDtcclxuICAgIGlmIChpc1Nob3cpIHtcclxuICAgICAgb2YodGhpcy5jb21wb25lbnRFcnJvckhhbmRsZXIuZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KHRoaXMuZ3JvdXAsIG51bGwsIHRoaXMuZGF0YS5WYWx1ZSkpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChlcnJNZXNzYWdlVHJhbnNsYXRpb25JbnB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgb2JzID0gbmV3IEFycmF5PE9ic2VydmFibGU8YW55Pj4oKTtcclxuICAgICAgICAgIGVyck1lc3NhZ2VUcmFuc2xhdGlvbklucHV0LmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIG9icy5wdXNoKHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLiR0cmFuc2xhdGVUZXh0KGRhdGEuZXJyb3JNZXNzYWdlLCB7IHRyYW5zbGF0aW9uVmFyaWFibGVzOiBkYXRhLnRyYW5zbGF0aW9uVmFyaWFibGVzIH0pKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAoZmllbGRFcnJvck1lc3NhZ2VzID0+IHtcclxuICAgICAgICAgIHRoaXMuZXJyTXNnTGlzdCA9IGZpZWxkRXJyb3JNZXNzYWdlcztcclxuICAgICAgICB9KVxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzU2hvdztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0ZmllbGQtZXJyb3ItbXNnXCIgKm5nSWY9XCJJc1Nob3coKVwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGVyck1zZyBvZiBlcnJNc2dMaXN0XCI+XHJcbiAgICA8c3BhbiAjd2FybmluZyBjbGFzcz1cImstaWNvbiBrLWktd2FybmluZyB2YWxpZGF0aW9uX2ljb25cIj48L3NwYW4+XHJcbiAgICA8aW9uLWxhYmVsPnt7ZXJyTXNnfX08L2lvbi1sYWJlbD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -53,6 +53,7 @@ import { ZInputParser } from './zinput-container/zinput-container.pipe';
53
53
  import { HtmlSanitizePipe } from './pipe/htmlSanitize.pipe';
54
54
  import { DateRangeFilterCellComponent } from './zgrid/date-range-cell-filter.component';
55
55
  import { ZSchedulerToolBarComponent } from './zscheduler/zscheduler.toolbar.component';
56
+ import { ZSelectTranslationParser } from './zselectmultiple/zselectmultiple.pipe';
56
57
  /********** zComponent **********/
57
58
  import { UipageComponent } from './uipage/uipage.component';
58
59
  import { UiheaderComponent } from './uiheader/uiheader.component';
@@ -172,6 +173,7 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
172
173
  ZInputContainerComponent,
173
174
  ZprogressbarComponent,
174
175
  ZInputParser,
176
+ ZSelectTranslationParser,
175
177
  HtmlSanitizePipe,
176
178
  InputErrorMessageComponent,
177
179
  InputFieldAddOnsComponent,
@@ -276,6 +278,7 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
276
278
  ZInputContainerComponent,
277
279
  ZprogressbarComponent,
278
280
  ZInputParser,
281
+ ZSelectTranslationParser,
279
282
  HtmlSanitizePipe,
280
283
  InputErrorMessageComponent,
281
284
  InputFieldAddOnsComponent,
@@ -391,6 +394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
391
394
  ZInputContainerComponent,
392
395
  ZprogressbarComponent,
393
396
  ZInputParser,
397
+ ZSelectTranslationParser,
394
398
  HtmlSanitizePipe,
395
399
  InputErrorMessageComponent,
396
400
  InputFieldAddOnsComponent,
@@ -501,6 +505,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
501
505
  ZInputContainerComponent,
502
506
  ZprogressbarComponent,
503
507
  ZInputParser,
508
+ ZSelectTranslationParser,
504
509
  HtmlSanitizePipe,
505
510
  InputErrorMessageComponent,
506
511
  InputFieldAddOnsComponent,
@@ -512,4 +517,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
512
517
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
513
518
  }]
514
519
  }] });
515
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0Msa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztB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d0JBQ2xCLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IElvbmljU2VsZWN0YWJsZU1vZHVsZSB9IGZyb20gJ2lvbmljLXNlbGVjdGFibGUnO1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFjZUVkaXRvck1vZHVsZSB9IGZyb20gJ25nMi1hY2UtZWRpdG9yJztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IFF1ZXJ5QnVpbGRlck1vZHVsZSB9IGZyb20gXCJhbmd1bGFyMi1xdWVyeS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcclxuXHJcbi8qKioqKioqKioqIEtlbmRvICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFyY0dhdWdlTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ2F1Z2VzJztcclxuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBDaGFydHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSwgRGF0ZUlucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRhdGVpbnB1dHMnO1xyXG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xyXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBFeGNlbE1vZHVsZSwgR3JpZE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xyXG5pbXBvcnQgeyBJbmRpY2F0b3JzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWluZGljYXRvcnNcIjtcclxuaW1wb3J0IHsgSW50bE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWludGwnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUsIFVwbG9hZHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbmF2aWdhdGlvbic7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgWklucHV0UGFyc2VyIH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmltcG9ydCB7IEh0bWxTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuLyoqKioqKioqKiogekNvbXBvbmVudCAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBVaXBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWloZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpaGVhZGVyL3VpaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpY29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRhaW5lci91aWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFVpbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpbWVudWNvbnRlbnQvdWltZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaW1lbnVidXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aWFjdGlvbmJ1dHRvbi91aWFjdGlvbmJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaXZhbGlkYXRpb25tZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi91aXZhbGlkYXRpb25tZXNzYWdlL3VpdmFsaWRhdGlvbm1lc3NhZ2UuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFpCdWxsZXRDb21wb25lbnQgfSBmcm9tIFwiLi96YnVsbGV0L3pidWxsZXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpidXR0b25zQ29tcG9uZW50IH0gZnJvbSBcIi4vemJ1dHRvbnMvemJ1dHRvbnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vemNhcmQvemNhcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjaGFydENvbXBvbmVudCB9IGZyb20gJy4vemNoYXJ0L3pjaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaY2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3pjaGVja2JveC96Y2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNoaXBDb21wb25lbnQgfSBmcm9tIFwiLi96Y2hpcC96Y2hpcC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmNvZGVlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3pjb2RlZWRpdG9yL3pjb2RlZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkYXRlcmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3pkYXRlcmFuZ2UvemRhdGVyYW5nZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXRpbWVDb21wb25lbnQgfSBmcm9tICcuL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRpdkNvbXBvbmVudCB9IGZyb20gJy4vemRpdi96ZGl2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpmb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vemZvcm0vemZvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpmb3JtY29udHJvbENvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtY29udHJvbC96Zm9ybWNvbnRyb2wuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpnYXVnZUNvbXBvbmVudCB9IGZyb20gJy4vemdhdWdlL3pnYXVnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZ3JpZENvbXBvbmVudCB9IGZyb20gXCIuL3pncmlkL3pncmlkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaaW1nQ29tcG9uZW50IH0gZnJvbSAnLi96aW1nL3ppbWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmtjYXJkQ29tcG9uZW50IH0gZnJvbSAnLi96a2NhcmQvemtjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpsYWJlbENvbXBvbmVudCB9IGZyb20gJy4vemxhYmVsL3psYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabWZiQ29tcG9uZW50IH0gZnJvbSAnLi96bWZiL3ptZmIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWm1vZGFsQ29tcG9uZW50IH0gZnJvbSBcIi4vem1vZGFsL3ptb2RhbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm1vZGFsTW9iaWxlQ29tcG9uZW50IH0gZnJvbSBcIi4vem1vZGFsL3ptb2RhbC1tb2JpbGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpudW1lcmljQ29tcG9uZW50IH0gZnJvbSAnLi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi96cG9zdHNlbGVjdGlucHV0L3pwb3N0c2VsZWN0aW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4venF1ZXJ5YnVpbGRlci96cXVlcnlidWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpyZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL3pyZXBvcnQvenJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2NoZWR1bGVyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSBcIi4venNlbGVjdG11bHRpcGxlL3pzZWxlY3RtdWx0aXBsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRhYkNvbXBvbmVudCB9IGZyb20gXCIuL3p0YWIvenRhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRleHRDb21wb25lbnQgfSBmcm9tIFwiLi96dGV4dC96dGV4dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi96dGV4dGFyZWEvenRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0ZXh0ZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96dGV4dGVkaXRvci96dGV4dGVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZUNvbXBvbmVudCB9IGZyb20gJy4venRyZWUvenRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZWVsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi96dHJlZWxpc3QvenRyZWVsaXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVuZGNhcmRDb21wb25lbnQgfSBmcm9tICcuL3p0cmVuZGNhcmQvenRyZW5kY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadW5rbm93bkNvbXBvbmVudCB9IGZyb20gXCIuL3p1bmtub3duL3p1bmtub3duLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadWRmQ29tcG9uZW50IH0gZnJvbSAnLi96dWRmL3p1ZGYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4venVwbG9hZC96dXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQgfSBmcm9tIFwiLi96d29ya2Zsb3didXR0b25zL3p3b3JrZmxvd2J1dHRvbnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEtjYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9rY2FyZC9rY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaSW5wdXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3ppbnB1dC1jb250YWluZXIvemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacHJvZ3Jlc3NiYXJDb21wb25lbnQgfSBmcm9tICcuL3pwcm9ncmVzc2Jhci96cHJvZ3Jlc3NiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWVycm9yLW1lc3NhZ2UvaW5wdXQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9wYWdlLWxvYWRlci9wYWdlLWxvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgWkdyaWRCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSxcclxuICAgIERhdGVQYXJzZXJGaWx0ZXIsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBFZGl0b3JGaWx0ZXIsIC8vIHpjb2RlIGFkZG9uXHJcbiAgICBEaXZ6TGF5b3V0LCAvLyB6ZGl2IGFkZG9uXHJcbiAgICBUYWJGaWx0ZXIsIC8vIHp0YWIgYWRkb25cclxuICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCwgLy8genNjaGVkdWxlciBhZGRvblxyXG4gICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpY29udGVudENvbXBvbmVudCxcclxuICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWltZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpbWVudWJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXZhbGlkYXRpb25tZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgWkJ1bGxldENvbXBvbmVudCxcclxuICAgIFpidXR0b25zQ29tcG9uZW50LFxyXG4gICAgWmNhcmRDb21wb25lbnQsXHJcbiAgICBaY2hhcnRDb21wb25lbnQsXHJcbiAgICBaY2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBaQ2hpcENvbXBvbmVudCxcclxuICAgIFpjb2RlZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWmRhdGVyYW5nZUNvbXBvbmVudCxcclxuICAgIFpkYXRldGltZUNvbXBvbmVudCxcclxuICAgIFpkaXZDb21wb25lbnQsXHJcbiAgICBaZm9ybUNvbXBvbmVudCxcclxuICAgIFpmb3JtY29udHJvbENvbXBvbmVudCxcclxuICAgIFpnYXVnZUNvbXBvbmVudCxcclxuICAgIFpncmlkQ29tcG9uZW50LFxyXG4gICAgWmltZ0NvbXBvbmVudCxcclxuICAgIFprY2FyZENvbXBvbmVudCxcclxuICAgIFpsYWJlbENvbXBvbmVudCxcclxuICAgIFptZmJDb21wb25lbnQsXHJcbiAgICBabW9kYWxDb21wb25lbnQsXHJcbiAgICBabW9kYWxNb2JpbGVDb21wb25lbnQsXHJcbiAgICBabnVtZXJpY0NvbXBvbmVudCxcclxuICAgIFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQsXHJcbiAgICBacXVlcnlidWlsZGVyQ29tcG9uZW50LFxyXG4gICAgWnJlcG9ydENvbXBvbmVudCxcclxuICAgIFpzY2hlZHVsZXJDb21wb25lbnQsXHJcbiAgICBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICBadGFiQ29tcG9uZW50LFxyXG4gICAgWnRleHRDb21wb25lbnQsXHJcbiAgICBadGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBadGV4dGVkaXRvckNvbXBvbmVudCxcclxuICAgIFp0cmVlQ29tcG9uZW50LFxyXG4gICAgWnRyZWVsaXN0Q29tcG9uZW50LFxyXG4gICAgWnRyZW5kY2FyZENvbXBvbmVudCxcclxuICAgIFp1bmtub3duQ29tcG9uZW50LFxyXG4gICAgWnVkZkNvbXBvbmVudCxcclxuICAgIFp1cGxvYWRDb21wb25lbnQsXHJcbiAgICBad29ya2Zsb3didXR0b25zQ29tcG9uZW50LFxyXG4gICAgS2NhcmRDb21wb25lbnQsXHJcbiAgICBaSW5wdXRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBacHJvZ3Jlc3NiYXJDb21wb25lbnQsXHJcbiAgICBaSW5wdXRQYXJzZXIsXHJcbiAgICBIdG1sU2FuaXRpemVQaXBlLFxyXG4gICAgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW9uaWNNb2R1bGUsXHJcbiAgICBJb25pY1NlbGVjdGFibGVNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBBY2VFZGl0b3JNb2R1bGUsXHJcbiAgICBGb250QXdlc29tZU1vZHVsZSxcclxuICAgIFF1ZXJ5QnVpbGRlck1vZHVsZSxcclxuICAgIEFyY0dhdWdlTW9kdWxlLFxyXG4gICAgQnV0dG9uc01vZHVsZSxcclxuICAgIENoYXJ0c01vZHVsZSxcclxuICAgIENhbGVuZGFyTW9kdWxlLFxyXG4gICAgRGF0ZUlucHV0c01vZHVsZSxcclxuICAgIERyb3BEb3duc01vZHVsZSxcclxuICAgIEVkaXRvck1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBFeGNlbE1vZHVsZSxcclxuICAgIEluZGljYXRvcnNNb2R1bGUsXHJcbiAgICBJbnRsTW9kdWxlLFxyXG4gICAgSW5wdXRzTW9kdWxlLFxyXG4gICAgU3dpdGNoTW9kdWxlLFxyXG4gICAgVGV4dEJveE1vZHVsZSxcclxuICAgIExhYmVsTW9kdWxlLFxyXG4gICAgTGF5b3V0TW9kdWxlLFxyXG4gICAgUGFuZWxCYXJNb2R1bGUsXHJcbiAgICBUYWJTdHJpcE1vZHVsZSxcclxuICAgIFBvcHVwTW9kdWxlLFxyXG4gICAgUHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlLFxyXG4gICAgU2NoZWR1bGVyTW9kdWxlLFxyXG4gICAgVHJlZUxpc3RNb2R1bGUsXHJcbiAgICBUcmVlVmlld01vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgVXBsb2FkTW9kdWxlLFxyXG4gICAgVXBsb2Fkc01vZHVsZSxcclxuICAgIFpDb3JlTW9kdWxlLFxyXG4gICAgTW1oZ2xvYmFsWm1vZGFsTW9kdWxlLFxyXG4gICAgTmF2aWdhdGlvbk1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgWkdyaWRCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSxcclxuICAgIERhdGVQYXJzZXJGaWx0ZXIsIC8vIHpkYXRldGltZSBhZGRvblxyXG4gICAgRWRpdG9yRmlsdGVyLCAvLyB6Y29kZSBhZGRvblxyXG4gICAgRGl2ekxheW91dCwgLy8gemRpdiBhZGRvblxyXG4gICAgVGFiRmlsdGVyLCAvLyB6dGFiIGFkZG9uXHJcbiAgICBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50LCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsIC8vIHpzY2hlZHVsZXIgYWRkb25cclxuICAgIFVpaGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXBhZ2VDb21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCxcclxuICAgIFpCdWxsZXRDb21wb25lbnQsXHJcbiAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpjYXJkQ29tcG9uZW50LFxyXG4gICAgWmNoYXJ0Q29tcG9uZW50LFxyXG4gICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgWkNoaXBDb21wb25lbnQsXHJcbiAgICBaY29kZWVkaXRvckNvbXBvbmVudCxcclxuICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICBaZGF0ZXRpbWVDb21wb25lbnQsXHJcbiAgICBaZGl2Q29tcG9uZW50LFxyXG4gICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICBaZm9ybWNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBaZ2F1Z2VDb21wb25lbnQsXHJcbiAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgIFppbWdDb21wb25lbnQsXHJcbiAgICBaa2NhcmRDb21wb25lbnQsXHJcbiAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICBabWZiQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgWm51bWVyaWNDb21wb25lbnQsXHJcbiAgICBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50LFxyXG4gICAgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCxcclxuICAgIFpyZXBvcnRDb21wb25lbnQsXHJcbiAgICBac2NoZWR1bGVyQ29tcG9uZW50LFxyXG4gICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgWnRhYkNvbXBvbmVudCxcclxuICAgIFp0ZXh0Q29tcG9uZW50LFxyXG4gICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgWnRleHRlZGl0b3JDb21wb25lbnQsXHJcbiAgICBadHJlZUNvbXBvbmVudCxcclxuICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgIFp0cmVuZGNhcmRDb21wb25lbnQsXHJcbiAgICBadW5rbm93bkNvbXBvbmVudCxcclxuICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICBadXBsb2FkQ29tcG9uZW50LFxyXG4gICAgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBQYWdlTG9hZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE1vZGFsU2VydmljZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTW1oZ2xvYmFsRHluYW1pY2Zvcm1Nb2R1bGUgeyB9XHJcbiJdfQ==
520
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0Msa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztB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VUFBVTt3QkFDVixTQUFTO3dCQUNULDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IElvbmljU2VsZWN0YWJsZU1vZHVsZSB9IGZyb20gJ2lvbmljLXNlbGVjdGFibGUnO1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFjZUVkaXRvck1vZHVsZSB9IGZyb20gJ25nMi1hY2UtZWRpdG9yJztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IFF1ZXJ5QnVpbGRlck1vZHVsZSB9IGZyb20gXCJhbmd1bGFyMi1xdWVyeS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcclxuXHJcbi8qKioqKioqKioqIEtlbmRvICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFyY0dhdWdlTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ2F1Z2VzJztcclxuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBDaGFydHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSwgRGF0ZUlucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRhdGVpbnB1dHMnO1xyXG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xyXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBFeGNlbE1vZHVsZSwgR3JpZE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xyXG5pbXBvcnQgeyBJbmRpY2F0b3JzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWluZGljYXRvcnNcIjtcclxuaW1wb3J0IHsgSW50bE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWludGwnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUsIFVwbG9hZHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbmF2aWdhdGlvbic7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgWklucHV0UGFyc2VyIH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmltcG9ydCB7IEh0bWxTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUucGlwZSc7XHJcblxyXG4vKioqKioqKioqKiB6Q29tcG9uZW50ICoqKioqKioqKiovXHJcbmltcG9ydCB7IFVpcGFnZUNvbXBvbmVudCB9IGZyb20gJy4vdWlwYWdlL3VpcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWljb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpY29udGFpbmVyL3VpY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpY29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgVWltZW51Y29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWltZW51Y29udGVudC91aW1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpbWVudWJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWltZW51YnV0dG9uL3VpbWVudWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aWFwcG1lbnVjb250ZW50L3VpYXBwbWVudWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhY3Rpb25idXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpYWN0aW9uYnV0dG9uL3VpYWN0aW9uYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpdmFsaWRhdGlvbm1lc3NhZ2UvdWl2YWxpZGF0aW9ubWVzc2FnZS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgWkJ1bGxldENvbXBvbmVudCB9IGZyb20gXCIuL3pidWxsZXQvemJ1bGxldC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmJ1dHRvbnNDb21wb25lbnQgfSBmcm9tIFwiLi96YnV0dG9ucy96YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmNhcmRDb21wb25lbnQgfSBmcm9tIFwiLi96Y2FyZC96Y2FyZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hhcnQvemNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpjaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vemNoZWNrYm94L3pjaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaQ2hpcENvbXBvbmVudCB9IGZyb20gXCIuL3pjaGlwL3pjaGlwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY29kZWVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vemNvZGVlZGl0b3IvemNvZGVlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGVyYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vemRhdGVyYW5nZS96ZGF0ZXJhbmdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkYXRldGltZUNvbXBvbmVudCB9IGZyb20gJy4vemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGl2Q29tcG9uZW50IH0gZnJvbSAnLi96ZGl2L3pkaXYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybS96Zm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmZvcm1jb250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vemZvcm1jb250cm9sL3pmb3JtY29udHJvbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmdhdWdlQ29tcG9uZW50IH0gZnJvbSAnLi96Z2F1Z2UvemdhdWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpncmlkQ29tcG9uZW50IH0gZnJvbSBcIi4vemdyaWQvemdyaWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFppbWdDb21wb25lbnQgfSBmcm9tICcuL3ppbWcvemltZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaa2NhcmRDb21wb25lbnQgfSBmcm9tICcuL3prY2FyZC96a2NhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi96bGFiZWwvemxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptZmJDb21wb25lbnQgfSBmcm9tICcuL3ptZmIvem1mYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabW9kYWxNb2JpbGVDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLW1vYmlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3pwb3N0c2VsZWN0aW5wdXQvenBvc3RzZWxlY3RpbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacXVlcnlidWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi96cXVlcnlidWlsZGVyL3pxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4venJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQgfSBmcm9tIFwiLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGFiQ29tcG9uZW50IH0gZnJvbSBcIi4venRhYi96dGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3p0ZXh0L3p0ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRleHRlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZWxpc3RDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZW5kY2FyZENvbXBvbmVudCB9IGZyb20gJy4venRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1bmtub3duQ29tcG9uZW50IH0gZnJvbSBcIi4venVua25vd24venVua25vd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp1ZGZDb21wb25lbnQgfSBmcm9tICcuL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgS2NhcmRDb21wb25lbnQgfSBmcm9tICcuL2tjYXJkL2tjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwcm9ncmVzc2JhckNvbXBvbmVudCB9IGZyb20gJy4venByb2dyZXNzYmFyL3pwcm9ncmVzc2Jhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmllbGRBZGRPbnNDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL3BhZ2UtbG9hZGVyL3BhZ2UtbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemdyaWQgYWRkb25cclxuICAgIEVkaXRvckZpbHRlciwgLy8gemNvZGUgYWRkb25cclxuICAgIERpdnpMYXlvdXQsIC8vIHpkaXYgYWRkb25cclxuICAgIFRhYkZpbHRlciwgLy8genRhYiBhZGRvblxyXG4gICAgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCwgLy8gemdyaWQgYWRkb25cclxuICAgIFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50LCAvLyB6c2NoZWR1bGVyIGFkZG9uXHJcbiAgICBVaWhlYWRlckNvbXBvbmVudCxcclxuICAgIFVpY29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlwYWdlQ29tcG9uZW50LFxyXG4gICAgVWlhY3Rpb25idXR0b25Db21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmtjYXJkQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBLY2FyZENvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIFpTZWxlY3RUcmFuc2xhdGlvblBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBQYWdlTG9hZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBJb25pY01vZHVsZSxcclxuICAgIElvbmljU2VsZWN0YWJsZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEFjZUVkaXRvck1vZHVsZSxcclxuICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxyXG4gICAgUXVlcnlCdWlsZGVyTW9kdWxlLFxyXG4gICAgQXJjR2F1Z2VNb2R1bGUsXHJcbiAgICBCdXR0b25zTW9kdWxlLFxyXG4gICAgQ2hhcnRzTW9kdWxlLFxyXG4gICAgQ2FsZW5kYXJNb2R1bGUsXHJcbiAgICBEYXRlSW5wdXRzTW9kdWxlLFxyXG4gICAgRHJvcERvd25zTW9kdWxlLFxyXG4gICAgRWRpdG9yTW9kdWxlLFxyXG4gICAgR3JpZE1vZHVsZSxcclxuICAgIEV4Y2VsTW9kdWxlLFxyXG4gICAgSW5kaWNhdG9yc01vZHVsZSxcclxuICAgIEludGxNb2R1bGUsXHJcbiAgICBJbnB1dHNNb2R1bGUsXHJcbiAgICBTd2l0Y2hNb2R1bGUsXHJcbiAgICBUZXh0Qm94TW9kdWxlLFxyXG4gICAgTGFiZWxNb2R1bGUsXHJcbiAgICBMYXlvdXRNb2R1bGUsXHJcbiAgICBQYW5lbEJhck1vZHVsZSxcclxuICAgIFRhYlN0cmlwTW9kdWxlLFxyXG4gICAgUG9wdXBNb2R1bGUsXHJcbiAgICBQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIFRlbGVyaWtSZXBvcnRpbmdNb2R1bGUsXHJcbiAgICBTY2hlZHVsZXJNb2R1bGUsXHJcbiAgICBUcmVlTGlzdE1vZHVsZSxcclxuICAgIFRyZWVWaWV3TW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBVcGxvYWRNb2R1bGUsXHJcbiAgICBVcGxvYWRzTW9kdWxlLFxyXG4gICAgWkNvcmVNb2R1bGUsXHJcbiAgICBNbWhnbG9iYWxabW9kYWxNb2R1bGUsXHJcbiAgICBOYXZpZ2F0aW9uTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemRhdGV0aW1lIGFkZG9uXHJcbiAgICBFZGl0b3JGaWx0ZXIsIC8vIHpjb2RlIGFkZG9uXHJcbiAgICBEaXZ6TGF5b3V0LCAvLyB6ZGl2IGFkZG9uXHJcbiAgICBUYWJGaWx0ZXIsIC8vIHp0YWIgYWRkb25cclxuICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCwgLy8genNjaGVkdWxlciBhZGRvblxyXG4gICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpY29udGVudENvbXBvbmVudCxcclxuICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgIFVpbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaW1lbnVidXR0b25Db21wb25lbnQsXHJcbiAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlhY3Rpb25idXR0b25Db21wb25lbnQsXHJcbiAgICBVaXZhbGlkYXRpb25tZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgWkJ1bGxldENvbXBvbmVudCxcclxuICAgIFpidXR0b25zQ29tcG9uZW50LFxyXG4gICAgWmNhcmRDb21wb25lbnQsXHJcbiAgICBaY2hhcnRDb21wb25lbnQsXHJcbiAgICBaY2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBaQ2hpcENvbXBvbmVudCxcclxuICAgIFpjb2RlZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWmRhdGVyYW5nZUNvbXBvbmVudCxcclxuICAgIFpkYXRldGltZUNvbXBvbmVudCxcclxuICAgIFpkaXZDb21wb25lbnQsXHJcbiAgICBaZm9ybUNvbXBvbmVudCxcclxuICAgIFpmb3JtY29udHJvbENvbXBvbmVudCxcclxuICAgIFpnYXVnZUNvbXBvbmVudCxcclxuICAgIFpncmlkQ29tcG9uZW50LFxyXG4gICAgWmltZ0NvbXBvbmVudCxcclxuICAgIFprY2FyZENvbXBvbmVudCxcclxuICAgIFpsYWJlbENvbXBvbmVudCxcclxuICAgIFptZmJDb21wb25lbnQsXHJcbiAgICBabW9kYWxDb21wb25lbnQsXHJcbiAgICBabW9kYWxNb2JpbGVDb21wb25lbnQsXHJcbiAgICBabnVtZXJpY0NvbXBvbmVudCxcclxuICAgIFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQsXHJcbiAgICBacXVlcnlidWlsZGVyQ29tcG9uZW50LFxyXG4gICAgWnJlcG9ydENvbXBvbmVudCxcclxuICAgIFpzY2hlZHVsZXJDb21wb25lbnQsXHJcbiAgICBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICBadGFiQ29tcG9uZW50LFxyXG4gICAgWnRleHRDb21wb25lbnQsXHJcbiAgICBadGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBadGV4dGVkaXRvckNvbXBvbmVudCxcclxuICAgIFp0cmVlQ29tcG9uZW50LFxyXG4gICAgWnRyZWVsaXN0Q29tcG9uZW50LFxyXG4gICAgWnRyZW5kY2FyZENvbXBvbmVudCxcclxuICAgIFp1bmtub3duQ29tcG9uZW50LFxyXG4gICAgWnVkZkNvbXBvbmVudCxcclxuICAgIFp1cGxvYWRDb21wb25lbnQsXHJcbiAgICBad29ya2Zsb3didXR0b25zQ29tcG9uZW50LFxyXG4gICAgWklucHV0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgWnByb2dyZXNzYmFyQ29tcG9uZW50LFxyXG4gICAgWklucHV0UGFyc2VyLFxyXG4gICAgWlNlbGVjdFRyYW5zbGF0aW9uUGFyc2VyLFxyXG4gICAgSHRtbFNhbml0aXplUGlwZSxcclxuICAgIElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCxcclxuICAgIFBhZ2VMb2FkZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTW9kYWxTZXJ2aWNlXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNbWhnbG9iYWxEeW5hbWljZm9ybU1vZHVsZSB7IH1cclxuIl19
@@ -1,66 +1,90 @@
1
1
  /********** Angular **********/
2
2
  import { Injectable } from '@angular/core';
3
3
  import { ZComponentHelper } from 'mmhglobal-zcore';
4
+ import { forkJoin, of, tap, switchMap } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "mmhglobal-zcore";
6
7
  export class ComponentErrorHandlerService {
7
- constructor(alertService) {
8
+ constructor(alertService, translationService) {
8
9
  this.alertService = alertService;
10
+ this.translationService = translationService;
9
11
  }
10
12
  showFormGroupErrorMessage(group, formGroup) {
11
13
  formGroup = formGroup || group.form;
12
- const errorMessage = this.getErrorMessageForInvalidInput(group, formGroup);
13
- this.alertService.showOkay('Form validation failed', errorMessage.join("<br/>"), ['col-4']);
14
- console.warn("Form Validation got error(s):", errorMessage);
14
+ of(this.getErrorMessageForInvalidInput(group, formGroup)).pipe(switchMap((errMessageTranslationInput) => {
15
+ const obs = new Array();
16
+ errMessageTranslationInput.forEach(data => {
17
+ obs.push(this.translationService.$translateText(data.errorMessage, { translationVariables: data.translationVariables }));
18
+ });
19
+ return forkJoin(obs);
20
+ }), tap(fieldErrorMessages => {
21
+ const errorMessage = fieldErrorMessages.join("<br/>");
22
+ this.alertService.showOkay('Form validation failed', errorMessage, ['col-4']);
23
+ console.warn("Form Validation got error(s):", errorMessage);
24
+ })).subscribe();
15
25
  }
16
26
  getErrorMessageForInvalidInput(group, formGroup, controlName) {
17
27
  formGroup = formGroup || group.form;
18
28
  if (controlName) {
19
29
  return this.extractErrorMessageFromControl(formGroup, controlName, group);
20
30
  }
21
- const fildsErrorMsgArr = [];
22
- Object.keys(formGroup.controls).forEach(key => {
23
- const err = this.extractErrorMessageFromControl(formGroup, key, group);
24
- if (err && err.length > 0) {
25
- fildsErrorMsgArr.push(err);
26
- }
27
- });
28
- return fildsErrorMsgArr;
31
+ let allFormControlErrorMessages = new Array();
32
+ for (const key of Object.keys(formGroup.controls)) {
33
+ const formControlErrorMessages = this.extractErrorMessageFromControl(formGroup, key, group);
34
+ allFormControlErrorMessages = allFormControlErrorMessages.concat(formControlErrorMessages);
35
+ }
36
+ return allFormControlErrorMessages;
29
37
  }
30
38
  extractErrorMessageFromControl(formGroup, key, group) {
31
- const errorMsgArr = [];
39
+ const errorMsgArr = new Array();
32
40
  const control = formGroup.get(key);
33
41
  const controlErrors = control?.errors;
34
42
  if (control && controlErrors) {
35
43
  const errorTypes = Object.keys(controlErrors);
36
- errorTypes.forEach(errorType => {
37
- const err = this.getErrorMessageByErrorType(errorType, key, group.fields, controlErrors);
38
- if (err && err.length > 0) {
39
- errorMsgArr.push(err);
40
- }
41
- });
44
+ for (const errorType of errorTypes) {
45
+ const errMessage = this.getErrorMessageByErrorType(errorType, key, group.fields, controlErrors);
46
+ errorMsgArr.push(errMessage);
47
+ }
48
+ ;
42
49
  }
43
50
  return errorMsgArr;
44
51
  }
45
52
  getErrorMessageByErrorType(errorType, controlName, fields, errorDetail) {
46
53
  const field = ZComponentHelper.getFieldFromFieldsByValue(fields, controlName);
54
+ let errorMessage = "";
55
+ const translationVariables = { T_FieldName: ZComponentHelper.getFieldLabel(fields, controlName) };
47
56
  switch (errorType) {
48
57
  case 'required':
49
- return `${this.getErrorMsgAction_Required(field.Type)} the ${ZComponentHelper.getFieldLabel(fields, controlName)}`;
58
+ errorMessage = `${this.getErrorMsgAction_Required(field.Type)} the {{T_FieldName}}`;
59
+ break;
50
60
  case 'minlength':
51
- return `${ZComponentHelper.getFieldLabel(fields, controlName)} must be more than ${errorDetail[errorType].requiredLength} characters`;
61
+ errorMessage = `{{T_FieldName}} must be more than {{T_MinLength}} characters`;
62
+ Object.assign(translationVariables, { T_MinLength: errorDetail[errorType].requiredLength });
63
+ break;
52
64
  case 'maxlength':
53
- return `${ZComponentHelper.getFieldLabel(fields, controlName)} must be less than ${errorDetail[errorType].requiredLength} characters`;
65
+ errorMessage = `{{T_FieldName}} must be less than {{T_MaxLength}} characters`;
66
+ Object.assign(translationVariables, { T_MaxLength: errorDetail[errorType].requiredLength });
67
+ break;
54
68
  case 'email':
55
- return `Enter a valid email address for ${ZComponentHelper.getFieldLabel(fields, controlName)}`;
69
+ errorMessage = `Enter a valid email address for {{T_FieldName}}`;
70
+ break;
56
71
  case 'min':
57
- return `${ZComponentHelper.getFieldLabel(fields, controlName)} must be more than ${errorDetail[errorType].min}`;
72
+ errorMessage = `{{T_FieldName}} must be more than {{T_MinValue}}`;
73
+ Object.assign(translationVariables, { T_MinValue: errorDetail[errorType].min });
74
+ break;
58
75
  case 'max':
59
- return `${ZComponentHelper.getFieldLabel(fields, controlName)} must be less than ${errorDetail[errorType].max}`;
76
+ errorMessage = `{{T_FieldName}} must be less than {{T_MaxValue}}`;
77
+ Object.assign(translationVariables, { T_MaxValue: errorDetail[errorType].max });
78
+ break;
60
79
  default:
61
80
  console.error(`Field Error is not properly handled : ${ZComponentHelper.getFieldLabel(fields, controlName)}`);
62
- return `Invalid Field: ${ZComponentHelper.getFieldLabel(fields, controlName)}`;
81
+ errorMessage = `Invalid Field: {{T_FieldName}}`;
82
+ break;
63
83
  }
84
+ return {
85
+ errorMessage,
86
+ translationVariables
87
+ };
64
88
  }
65
89
  getErrorMsgAction_Required(type) {
66
90
  switch (type) {
@@ -73,12 +97,12 @@ export class ComponentErrorHandlerService {
73
97
  }
74
98
  }
75
99
  }
76
- ComponentErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComponentErrorHandlerService, deps: [{ token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
100
+ ComponentErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComponentErrorHandlerService, deps: [{ token: i1.AlertService }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
77
101
  ComponentErrorHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComponentErrorHandlerService, providedIn: 'root' });
78
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComponentErrorHandlerService, decorators: [{
79
103
  type: Injectable,
80
104
  args: [{
81
105
  providedIn: 'root',
82
106
  }]
83
- }], ctorParameters: function () { return [{ type: i1.AlertService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUtuRCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUksQ0FBQztJQUU1Qyx5QkFBeUIsQ0FBQyxLQUFhLEVBQUUsU0FBcUI7UUFDbkUsU0FBUyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3BDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUYsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sOEJBQThCLENBQUMsS0FBYSxFQUFFLFNBQXFCLEVBQUUsV0FBb0I7UUFDOUYsU0FBUyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBRXBDLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzRTtRQUVELE1BQU0s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QUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RyxPQUFPLGtCQUFrQixnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7U0FDbEY7SUFDSCxDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBWTtRQUM3QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssbUJBQW1CLENBQUM7WUFDekIsS0FBSywwQkFBMEIsQ0FBQztZQUNoQyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7U0FDbEI7SUFDSCxDQUFDOzswSEE1RVUsNEJBQTRCOzhIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBaRmllbGQsIFpHcm91cCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIHNob3dGb3JtR3JvdXBFcnJvck1lc3NhZ2UoZ3JvdXA6IFpHcm91cCwgZm9ybUdyb3VwPzogRm9ybUdyb3VwKSB7XHJcbiAgICBmb3JtR3JvdXAgPSBmb3JtR3JvdXAgfHwgZ3JvdXAuZm9ybTtcclxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KGdyb3VwLCBmb3JtR3JvdXApO1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoJ0Zvcm0gdmFsaWRhdGlvbiBmYWlsZWQnLCBlcnJvck1lc3NhZ2Uuam9pbihcIjxici8+XCIpLCBbJ2NvbC00J10pO1xyXG4gICAgY29uc29sZS53YXJuKFwiRm9ybSBWYWxpZGF0aW9uIGdvdCBlcnJvcihzKTpcIiwgZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VGb3JJbnZhbGlkSW5wdXQoZ3JvdXA6IFpHcm91cCwgZm9ybUdyb3VwPzogRm9ybUdyb3VwLCBjb250cm9sTmFtZT86IHN0cmluZyk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgZm9ybUdyb3VwID0gZm9ybUdyb3VwIHx8IGdyb3VwLmZvcm07XHJcblxyXG4gICAgaWYgKGNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXAsIGNvbnRyb2xOYW1lLCBncm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsZHNFcnJvck1zZ0FyciA9IFtdO1xyXG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgIGNvbnN0IGVyciA9IHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwga2V5LCBncm91cCk7XHJcbiAgICAgIGlmIChlcnIgJiYgZXJyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmaWxkc0Vycm9yTXNnQXJyLnB1c2goZXJyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZmlsZHNFcnJvck1zZ0FycjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBrZXk6IHN0cmluZywgZ3JvdXA6IFpHcm91cCk6IEFycmF5PGFueT4ge1xyXG4gICAgY29uc3QgZXJyb3JNc2dBcnIgPSBbXTtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGtleSk7XHJcbiAgICBjb25zdCBjb250cm9sRXJyb3JzID0gY29udHJvbD8uZXJyb3JzO1xyXG5cclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2xFcnJvcnMpIHtcclxuICAgICAgY29uc3QgZXJyb3JUeXBlcyA9IE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpO1xyXG4gICAgICBlcnJvclR5cGVzLmZvckVhY2goZXJyb3JUeXBlID0+IHtcclxuICAgICAgICBjb25zdCBlcnIgPSB0aGlzLmdldEVycm9yTWVzc2FnZUJ5RXJyb3JUeXBlKGVycm9yVHlwZSwga2V5LCBncm91cC5maWVsZHMsIGNvbnRyb2xFcnJvcnMpO1xyXG4gICAgICAgIGlmIChlcnIgJiYgZXJyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGVycm9yTXNnQXJyLnB1c2goZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yTXNnQXJyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGU6IGFueSwgY29udHJvbE5hbWU6IHN0cmluZywgZmllbGRzOiBaRmllbGRbXSwgZXJyb3JEZXRhaWw6IGFueSkge1xyXG4gICAgY29uc3QgZmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkRnJvbUZpZWxkc0J5VmFsdWUoZmllbGRzLCBjb250cm9sTmFtZSk7XHJcbiAgICBzd2l0Y2ggKGVycm9yVHlwZSkge1xyXG4gICAgICBjYXNlICdyZXF1aXJlZCc6XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0RXJyb3JNc2dBY3Rpb25fUmVxdWlyZWQoZmllbGQuVHlwZSl9IHRoZSAke1pDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKX1gO1xyXG4gICAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICAgIHJldHVybiBgJHtaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSl9IG11c3QgYmUgbW9yZSB0aGFuICR7ZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5yZXF1aXJlZExlbmd0aH0gY2hhcmFjdGVyc2A7XHJcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XHJcbiAgICAgICAgcmV0dXJuIGAke1pDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKX0gbXVzdCBiZSBsZXNzIHRoYW4gJHtlcnJvckRldGFpbFtlcnJvclR5cGVdLnJlcXVpcmVkTGVuZ3RofSBjaGFyYWN0ZXJzYDtcclxuICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgIHJldHVybiBgRW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIGZvciAke1pDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKX1gO1xyXG4gICAgICBjYXNlICdtaW4nOlxyXG4gICAgICAgIHJldHVybiBgJHtaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSl9IG11c3QgYmUgbW9yZSB0aGFuICR7ZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5taW59YDtcclxuICAgICAgY2FzZSAnbWF4JzpcclxuICAgICAgICByZXR1cm4gYCR7WkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZExhYmVsKGZpZWxkcywgY29udHJvbE5hbWUpfSBtdXN0IGJlIGxlc3MgdGhhbiAke2Vycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWF4fWA7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmllbGQgRXJyb3IgaXMgbm90IHByb3Blcmx5IGhhbmRsZWQgOiAke1pDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKX1gKTtcclxuICAgICAgICByZXR1cm4gYEludmFsaWQgRmllbGQ6ICR7WkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZExhYmVsKGZpZWxkcywgY29udHJvbE5hbWUpfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVycm9yTXNnQWN0aW9uX1JlcXVpcmVkKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnenVpc2VsZWN0bXVsdGlwbGUnOlxyXG4gICAgICBjYXNlICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nOlxyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBcIkNob29zZVwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcIkVudGVyXCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
107
+ }], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i1.TranslationService }]; } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFvRCxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCLEVBQVUsa0JBQXNDO1FBQTFFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFNUYseUJBQXlCLENBQUMsS0FBYSxFQUFFLFNBQXFCO1FBQ25FLFNBQVMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUVwQyxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztZQUN6QywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMs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QUNFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7MEhBdEdVLDRCQUE0Qjs4SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzaG93Rm9ybUdyb3VwRXJyb3JNZXNzYWdlKGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCkge1xyXG4gICAgZm9ybUdyb3VwID0gZm9ybUdyb3VwIHx8IGdyb3VwLmZvcm07XHJcblxyXG4gICAgb2YodGhpcy5nZXRFcnJvck1lc3NhZ2VGb3JJbnZhbGlkSW5wdXQoZ3JvdXAsIGZvcm1Hcm91cCkpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoZXJyTWVzc2FnZVRyYW5zbGF0aW9uSW5wdXQpID0+IHtcclxuICAgICAgICBjb25zdCBvYnMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgICAgIGVyck1lc3NhZ2VUcmFuc2xhdGlvbklucHV0LmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgICAgICBvYnMucHVzaCh0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlVGV4dChkYXRhLmVycm9yTWVzc2FnZSwgeyB0cmFuc2xhdGlvblZhcmlhYmxlczogZGF0YS50cmFuc2xhdGlvblZhcmlhYmxlcyB9KSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcChmaWVsZEVycm9yTWVzc2FnZXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGZpZWxkRXJyb3JNZXNzYWdlcy5qb2luKFwiPGJyLz5cIik7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoJ0Zvcm0gdmFsaWRhdGlvbiBmYWlsZWQnLCBlcnJvck1lc3NhZ2UsIFsnY29sLTQnXSk7XHJcbiAgICAgICAgY29uc29sZS53YXJuKFwiRm9ybSBWYWxpZGF0aW9uIGdvdCBlcnJvcihzKTpcIiwgZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBmb3JtR3JvdXAgPSBmb3JtR3JvdXAgfHwgZ3JvdXAuZm9ybTtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwgY29udHJvbE5hbWUsIGdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzID0gbmV3IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwga2V5LCBncm91cCk7XHJcbiAgICAgIGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcy5jb25jYXQoZm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXA6IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcsIGdyb3VwOiBaR3JvdXApOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBjb25zdCBlcnJvck1zZ0FyciA9IG5ldyBBcnJheTxUcmFuc2xhdGlvbklucHV0PigpO1xyXG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoa2V5KTtcclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSBjb250cm9sPy5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbEVycm9ycykge1xyXG4gICAgICBjb25zdCBlcnJvclR5cGVzID0gT2JqZWN0LmtleXMoY29udHJvbEVycm9ycyk7XHJcbiAgICAgIGZvciAoY29uc3QgZXJyb3JUeXBlIG9mIGVycm9yVHlwZXMpIHtcclxuICAgICAgICBjb25zdCBlcnJNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGUsIGtleSwgZ3JvdXAuZmllbGRzLCBjb250cm9sRXJyb3JzKTtcclxuICAgICAgICBlcnJvck1zZ0Fyci5wdXNoKGVyck1lc3NhZ2UpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlcnJvck1zZ0FycjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXJyb3JNZXNzYWdlQnlFcnJvclR5cGUoZXJyb3JUeXBlOiBhbnksIGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZpZWxkczogWkZpZWxkW10sIGVycm9yRGV0YWlsOiBhbnkpOiBUcmFuc2xhdGlvbklucHV0IHtcclxuICAgIGNvbnN0IGZpZWxkID0gWkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZEZyb21GaWVsZHNCeVZhbHVlKGZpZWxkcywgY29udHJvbE5hbWUpO1xyXG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IFwiXCI7XHJcbiAgICBjb25zdCB0cmFuc2xhdGlvblZhcmlhYmxlcyA9IHsgVF9GaWVsZE5hbWU6IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKSB9O1xyXG4gICAgc3dpdGNoIChlcnJvclR5cGUpIHtcclxuICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGAke3RoaXMuZ2V0RXJyb3JNc2dBY3Rpb25fUmVxdWlyZWQoZmllbGQuVHlwZSl9IHRoZSB7e1RfRmllbGROYW1lfX1gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBtb3JlIHRoYW4ge3tUX01pbkxlbmd0aH19IGNoYXJhY3RlcnNgO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NaW5MZW5ndGg6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ucmVxdWlyZWRMZW5ndGggfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIGxlc3MgdGhhbiB7e1RfTWF4TGVuZ3RofX0gY2hhcmFjdGVyc2A7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01heExlbmd0aDogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGBFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MgZm9yIHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21pbic6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIG1vcmUgdGhhbiB7e1RfTWluVmFsdWV9fWA7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01pblZhbHVlOiBlcnJvckRldGFpbFtlcnJvclR5cGVdLm1pbiB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWF4JzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgbGVzcyB0aGFuIHt7VF9NYXhWYWx1ZX19YDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWF4VmFsdWU6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWF4IH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEZpZWxkIEVycm9yIGlzIG5vdCBwcm9wZXJseSBoYW5kbGVkIDogJHtaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSl9YCk7XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYEludmFsaWQgRmllbGQ6IHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JNZXNzYWdlLFxyXG4gICAgICB0cmFuc2xhdGlvblZhcmlhYmxlc1xyXG4gICAgfSBhcyBUcmFuc2xhdGlvbklucHV0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvck1zZ0FjdGlvbl9SZXF1aXJlZCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3p1aXNlbGVjdG11bHRpcGxlJzpcclxuICAgICAgY2FzZSAnenVpc2VsZWN0bXVsdGlwbGVfYnV0dG9uJzpcclxuICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICByZXR1cm4gXCJDaG9vc2VcIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJFbnRlclwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbklucHV0IHtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICB0cmFuc2xhdGlvblZhcmlhYmxlcz86IGFueTtcclxufVxyXG4iXX0=