ontimize-web-ngx 15.2.0 → 15.2.2

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 (61) hide show
  1. package/assets/svg/ontimize-icon-set.svg +0 -1
  2. package/esm2020/lib/components/form/navigation/o-form.navigation.class.mjs +5 -4
  3. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +3 -3
  4. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +6 -6
  5. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +2 -2
  6. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +18 -8
  7. package/esm2020/lib/components/input/o-form-service-component.class.mjs +3 -3
  8. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +3 -3
  9. package/esm2020/lib/components/input/radio/o-radio.component.mjs +3 -3
  10. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +3 -3
  11. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +31 -22
  12. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +6 -6
  13. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +6 -6
  14. package/esm2020/lib/components/table/column/cell-renderer/cell-renderer.mjs +5 -3
  15. package/esm2020/lib/components/table/column/o-table-column.component.mjs +2 -2
  16. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +80 -19
  17. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +97 -40
  18. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +10 -11
  19. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +5 -3
  20. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +30 -4
  21. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-export-configuration.class.mjs +1 -1
  22. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +11 -2
  23. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +12 -7
  24. package/esm2020/lib/components/table/o-table.component.mjs +12 -13
  25. package/esm2020/lib/config/o-directives.mjs +4 -2
  26. package/esm2020/lib/directives/index.mjs +2 -1
  27. package/esm2020/lib/directives/input-regulate.directive.mjs +70 -0
  28. package/esm2020/lib/i18n/i18n.mjs +30 -3
  29. package/esm2020/lib/interfaces/export-service.interface.mjs +1 -1
  30. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +7 -5
  31. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +6 -3
  32. package/esm2020/lib/shared/shared.module.mjs +4 -3
  33. package/esm2020/lib/validators/o-validators.mjs +1 -1
  34. package/fesm2015/ontimize-web-ngx.mjs +2980 -2711
  35. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  36. package/fesm2020/ontimize-web-ngx.mjs +2967 -2699
  37. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  38. package/lib/components/input/listpicker/o-list-picker.component.d.ts +2 -2
  39. package/lib/components/input/o-form-service-component.class.d.ts +1 -1
  40. package/lib/components/input/text-input/o-text-input.component.d.ts +4 -2
  41. package/lib/components/table/column/o-table-column.component.d.ts +1 -1
  42. package/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.d.ts +24 -1
  43. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +18 -4
  44. package/lib/components/table/extensions/dialog/o-table-dialog-components.d.ts +1 -1
  45. package/lib/components/table/extensions/export-button/o-table-export-button.component.d.ts +2 -2
  46. package/lib/components/table/extensions/footer/o-table-footer-components.d.ts +1 -1
  47. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  48. package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +5 -1
  49. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +4 -1
  50. package/lib/components/table/extensions/header/table-menu/o-table-export-configuration.class.d.ts +1 -0
  51. package/lib/components/table/extensions/header/table-menu/o-table-menu.component.d.ts +1 -0
  52. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +6 -3
  53. package/lib/components/table/o-table.component.d.ts +12 -10
  54. package/lib/directives/index.d.ts +1 -0
  55. package/lib/directives/input-regulate.directive.d.ts +23 -0
  56. package/lib/i18n/i18n.d.ts +27 -0
  57. package/lib/interfaces/export-service.interface.d.ts +1 -1
  58. package/lib/services/ontimize/ontimize-export-3xx.service.d.ts +1 -1
  59. package/lib/shared/shared.module.d.ts +15 -14
  60. package/package.json +1 -1
  61. package/theming/styles/ontimize-v8/containers.scss +0 -5
@@ -15,7 +15,7 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
15
15
  let exportData = {
16
16
  type: param.format,
17
17
  queryParam: {
18
- columns: this.columns,
18
+ columns: param.columns,
19
19
  sqltypes: this.sqlTypes,
20
20
  offset: this.table.pageable ? currentPage * this.table.queryRows : -1,
21
21
  pageSize: this.table.queryRows,
@@ -27,7 +27,7 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
27
27
  dao: this.entity
28
28
  };
29
29
  if (param.format === 'xlsx' || 'pdf') {
30
- exportData.columns = this.parseColumns(this.columns);
30
+ exportData.columns = this.parseColumns(param.columns);
31
31
  exportData.columnTitles = this.columnNames;
32
32
  exportData.styles = {};
33
33
  exportData.rowStyles = {};
@@ -35,6 +35,9 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
35
35
  exportData.columnTypes = {};
36
36
  exportData.cellStyles = {};
37
37
  }
38
+ if (param.format === 'pdf') {
39
+ exportData.landscape = param.landscape;
40
+ }
38
41
  return exportData;
39
42
  }
40
43
  parseColumns(columns) {
@@ -50,4 +53,4 @@ OntimizeExportDataProviderService3X.ɵprov = i0.ɵɵngDeclareInjectable({ minVer
50
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportDataProviderService3X, decorators: [{
51
54
  type: Injectable
52
55
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXItM3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9vbnRpbWl6ZS1leHBvcnQtZGF0YS1wcm92aWRlci0zeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBR3JHLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxxQ0FBcUM7SUFFNUYsWUFBc0IsUUFBa0I7UUFDdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV4QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUcvQixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakUsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxVQUFVLEdBQVE7WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2FBRWpDO1lBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDakIsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksS0FBSyxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQzFCLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFHcEIsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFjO1FBQ2pDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNqQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDOztpSUFsRFUsbUNBQW1DO3FJQUFuQyxtQ0FBbUM7NEZBQW5DLG1DQUFtQztrQkFEL0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgSUV4cG9ydERhdGFQcm92aWRlciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2V4cG9ydC1kYXRhLXByb3ZpZGVyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gXCIuLi91dGlsL3V0aWxcIjtcbmltcG9ydCB7IE9udGltaXplRXhwb3J0RGF0YUJhc2VQcm92aWRlclNlcnZpY2UgfSBmcm9tIFwiLi9vbnRpbWl6ZS1leHBvcnQtZGF0YS1iYXNlLXByb3ZpZGVyLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZTNYIGV4dGVuZHMgT250aW1pemVFeHBvcnREYXRhQmFzZVByb3ZpZGVyU2VydmljZSBpbXBsZW1lbnRzIElFeHBvcnREYXRhUHJvdmlkZXIge1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBnZXRFeHBvcnRDb25maWd1cmF0aW9uKHBhcmFtOiBhbnkpOiBhbnkge1xuXG4gICAgLy8gVGFibGUgZGF0YS9maWx0ZXJzL3F1ZXJ5UGFyYW1cbiAgICBsZXQgY3VycmVudFBhZ2UgPSAwO1xuICAgIGlmICh0aGlzLnRhYmxlLnBhZ2VhYmxlICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMudGFibGUuY3VycmVudFBhZ2UpKSB7XG4gICAgICBjdXJyZW50UGFnZSA9IHRoaXMudGFibGUuY3VycmVudFBhZ2U7XG4gICAgfVxuICAgIGxldCBleHBvcnREYXRhOiBhbnkgPSB7XG4gICAgICB0eXBlOiBwYXJhbS5mb3JtYXQsXG4gICAgICBxdWVyeVBhcmFtOiB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcbiAgICAgICAgc3FsdHlwZXM6IHRoaXMuc3FsVHlwZXMsXG4gICAgICAgIG9mZnNldDogdGhpcy50YWJsZS5wYWdlYWJsZSA/IGN1cnJlbnRQYWdlICogdGhpcy50YWJsZS5xdWVyeVJvd3MgOiAtMSxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMudGFibGUucXVlcnlSb3dzLFxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxuICAgICAgICBvcmRlckJ5OiB0aGlzLnRhYmxlLnNvcnRDb2xBcnJheVxuXG4gICAgICB9LFxuICAgICAgYWR2UXVlcnk6ICh0aGlzLnRhYmxlLnBhZ2VhYmxlID8gdHJ1ZSA6IGZhbHNlKSxcbiAgICAgIHBhdGg6IHBhcmFtLnBhdGgsXG4gICAgICBkYW86IHRoaXMuZW50aXR5XG4gICAgfTtcblxuICAgIGlmIChwYXJhbS5mb3JtYXQgPT09ICd4bHN4JyB8fCAncGRmJykge1xuICAgICAgZXhwb3J0RGF0YS5jb2x1bW5zID0gdGhpcy5wYXJzZUNvbHVtbnModGhpcy5jb2x1bW5zKTtcbiAgICAgIGV4cG9ydERhdGEuY29sdW1uVGl0bGVzID0gdGhpcy5jb2x1bW5OYW1lcztcbiAgICAgIGV4cG9ydERhdGEuc3R5bGVzID0ge307XG4gICAgICBleHBvcnREYXRhLnJvd1N0eWxlcyA9IHt9O1xuICAgICAgZXhwb3J0RGF0YS5jb2x1bW5TdHlsZXMgPSB7fTtcbiAgICAgIGV4cG9ydERhdGEuY29sdW1uVHlwZXMgPSB7fTtcbiAgICAgIGV4cG9ydERhdGEuY2VsbFN0eWxlcyA9IHt9O1xuICAgIH1cblxuICAgIHJldHVybiBleHBvcnREYXRhO1xuXG5cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgbGV0IG9iaiA9IHt9O1xuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBzdHJpbmcpID0+IHtcbiAgICAgIG9ialtjb2x1bW5dID0ge307XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ialxuICB9XG5cblxuXG59Il19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXItM3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9vbnRpbWl6ZS1leHBvcnQtZGF0YS1wcm92aWRlci0zeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBR3JHLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxxQ0FBcUM7SUFFNUYsWUFBc0IsUUFBa0I7UUFDdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV4QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUcvQixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakUsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxVQUFVLEdBQVE7WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2FBRWpDO1lBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDakIsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksS0FBSyxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQzFCLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMxQixVQUFVLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDeEM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUdwQixDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQWM7UUFDakMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ2pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7O2lJQXJEVSxtQ0FBbUM7cUlBQW5DLG1DQUFtQzs0RkFBbkMsbUNBQW1DO2tCQUQvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBJRXhwb3J0RGF0YVByb3ZpZGVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZXhwb3J0LWRhdGEtcHJvdmlkZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSBcIi4uL3V0aWwvdXRpbFwiO1xuaW1wb3J0IHsgT250aW1pemVFeHBvcnREYXRhQmFzZVByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuL29udGltaXplLWV4cG9ydC1kYXRhLWJhc2UtcHJvdmlkZXIuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT250aW1pemVFeHBvcnREYXRhUHJvdmlkZXJTZXJ2aWNlM1ggZXh0ZW5kcyBPbnRpbWl6ZUV4cG9ydERhdGFCYXNlUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgSUV4cG9ydERhdGFQcm92aWRlciB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIGdldEV4cG9ydENvbmZpZ3VyYXRpb24ocGFyYW06IGFueSk6IGFueSB7XG5cbiAgICAvLyBUYWJsZSBkYXRhL2ZpbHRlcnMvcXVlcnlQYXJhbVxuICAgIGxldCBjdXJyZW50UGFnZSA9IDA7XG4gICAgaWYgKHRoaXMudGFibGUucGFnZWFibGUgJiYgVXRpbC5pc0RlZmluZWQodGhpcy50YWJsZS5jdXJyZW50UGFnZSkpIHtcbiAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy50YWJsZS5jdXJyZW50UGFnZTtcbiAgICB9XG4gICAgbGV0IGV4cG9ydERhdGE6IGFueSA9IHtcbiAgICAgIHR5cGU6IHBhcmFtLmZvcm1hdCxcbiAgICAgIHF1ZXJ5UGFyYW06IHtcbiAgICAgICAgY29sdW1uczogcGFyYW0uY29sdW1ucyxcbiAgICAgICAgc3FsdHlwZXM6IHRoaXMuc3FsVHlwZXMsXG4gICAgICAgIG9mZnNldDogdGhpcy50YWJsZS5wYWdlYWJsZSA/IGN1cnJlbnRQYWdlICogdGhpcy50YWJsZS5xdWVyeVJvd3MgOiAtMSxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMudGFibGUucXVlcnlSb3dzLFxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxuICAgICAgICBvcmRlckJ5OiB0aGlzLnRhYmxlLnNvcnRDb2xBcnJheVxuXG4gICAgICB9LFxuICAgICAgYWR2UXVlcnk6ICh0aGlzLnRhYmxlLnBhZ2VhYmxlID8gdHJ1ZSA6IGZhbHNlKSxcbiAgICAgIHBhdGg6IHBhcmFtLnBhdGgsXG4gICAgICBkYW86IHRoaXMuZW50aXR5XG4gICAgfTtcblxuICAgIGlmIChwYXJhbS5mb3JtYXQgPT09ICd4bHN4JyB8fCAncGRmJykge1xuICAgICAgZXhwb3J0RGF0YS5jb2x1bW5zID0gdGhpcy5wYXJzZUNvbHVtbnMocGFyYW0uY29sdW1ucyk7XG4gICAgICBleHBvcnREYXRhLmNvbHVtblRpdGxlcyA9IHRoaXMuY29sdW1uTmFtZXM7XG4gICAgICBleHBvcnREYXRhLnN0eWxlcyA9IHt9O1xuICAgICAgZXhwb3J0RGF0YS5yb3dTdHlsZXMgPSB7fTtcbiAgICAgIGV4cG9ydERhdGEuY29sdW1uU3R5bGVzID0ge307XG4gICAgICBleHBvcnREYXRhLmNvbHVtblR5cGVzID0ge307XG4gICAgICBleHBvcnREYXRhLmNlbGxTdHlsZXMgPSB7fTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLmZvcm1hdCA9PT0gJ3BkZicpIHtcbiAgICAgIGV4cG9ydERhdGEubGFuZHNjYXBlID0gcGFyYW0ubGFuZHNjYXBlO1xuICAgIH1cblxuICAgIHJldHVybiBleHBvcnREYXRhO1xuXG5cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgbGV0IG9iaiA9IHt9O1xuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBzdHJpbmcpID0+IHtcbiAgICAgIG9ialtjb2x1bW5dID0ge307XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ialxuICB9XG5cblxuXG59Il19
@@ -32,6 +32,7 @@ import * as i6 from "../directives/o-mat-error.directive";
32
32
  import * as i7 from "../directives/o-file-drag-and-drop.directive";
33
33
  import * as i8 from "../directives/o-mat-prefix.directive";
34
34
  import * as i9 from "../directives/o-mat-suffix.directive";
35
+ import * as i10 from "../directives/input-regulate.directive";
35
36
  export class OSharedModule {
36
37
  }
37
38
  OSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -43,7 +44,7 @@ OSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
43
44
  OCurrencyPipe,
44
45
  OPercentPipe,
45
46
  OIconPipe,
46
- OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, Error403Component,
47
+ OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, i10.InputRegulateDirective, Error403Component,
47
48
  ODialogComponent,
48
49
  ODialogInternalComponent,
49
50
  OErrorComponent,
@@ -67,7 +68,7 @@ OSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
67
68
  OCurrencyPipe,
68
69
  OPercentPipe,
69
70
  OIconPipe,
70
- OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, OCustomMaterialModule,
71
+ OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, i10.InputRegulateDirective, OCustomMaterialModule,
71
72
  Error403Component,
72
73
  OErrorComponent,
73
74
  OValidatorComponent,
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
140
141
  ]
141
142
  }]
142
143
  }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7Ozs7O0FBdUQzRixNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQTNDdEIsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxZQUFZO1FBQ1osU0FBUztRQUNULFdBQVc7UUFDWCxhQUFhO1FBQ2IsWUFBWTtRQUNaLFNBQVM7UUFDVCxTQUFTLDRNQUVULGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiwyQkFBMkIsYUF6QjNCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsbUJBQW1CLGFBdUJuQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxZQUFZO1FBQ1osU0FBUztRQUNULFdBQVc7UUFDWCxhQUFhO1FBQ2IsWUFBWTtRQUNaLFNBQVM7UUFDVCxTQUFTLDRNQUVULHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLDJCQUEyQjs0R0FHbEIsYUFBYSxZQW5EdEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLFdBQVc7UUFDWCxtQkFBbUIsRUF1Qm5CLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQVdoQixxQkFBcUI7NEZBU1osYUFBYTtrQkFyRHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixTQUFTO3dCQUNULFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixTQUFTO3dCQUNULFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT05USU1JWkVfRElSRUNUSVZFUyB9IGZyb20gJy4uL2NvbmZpZy9vLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29sdW1uc0ZpbHRlclBpcGUgfSBmcm9tICcuLi9waXBlcy9jb2x1bW5zLWZpbHRlci5waXBlJztcbmltcG9ydCB7IE9DdXJyZW5jeVBpcGUgfSBmcm9tICcuLi9waXBlcy9vLWN1cnJlbmN5LnBpcGUnO1xuaW1wb3J0IHsgT0ljb25QaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1pY29uLnBpcGUnO1xuaW1wb3J0IHsgT0ludGVnZXJQaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1pbnRlZ2VyLnBpcGUnO1xuaW1wb3J0IHsgT01vbWVudFBpcGUgfSBmcm9tICcuLi9waXBlcy9vLW1vbWVudC5waXBlJztcbmltcG9ydCB7IE9QZXJjZW50UGlwZSB9IGZyb20gJy4uL3BpcGVzL28tcGVyY2VudGFnZS5waXBlJztcbmltcG9ydCB7IE9SZWFsUGlwZSB9IGZyb20gJy4uL3BpcGVzL28tcmVhbC5waXBlJztcbmltcG9ydCB7IE9TYWZlUGlwZSB9IGZyb20gJy4uL3BpcGVzL28tc2FmZS5waXBlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi9waXBlcy9vLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE9yZGVyQnlQaXBlIH0gZnJvbSAnLi4vcGlwZXMvb3JkZXItYnkucGlwZSc7XG5pbXBvcnQgeyBPRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9vLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3I0MDNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3I0MDMvby1lcnJvci00MDMuY29tcG9uZW50JztcbmltcG9ydCB7IE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci9sb2FkLWZpbHRlci9vLWxvYWQtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1N0b3JlRmlsdGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci9zdG9yZS1maWx0ZXIvby1zdG9yZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvby1zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ZhbGlkYXRpb24vby1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1ZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92YWxpZGF0aW9uL28tdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPQ3VzdG9tTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsL2N1c3RvbS5tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgT0RpYWxvZ0ludGVybmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9vLWRpYWxvZy1pbnRlcm5hbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE9UcmFuc2xhdGVNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBPQ3VzdG9tTWF0ZXJpYWxNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb2x1bW5zRmlsdGVyUGlwZSxcbiAgICBPcmRlckJ5UGlwZSxcbiAgICBPSW50ZWdlclBpcGUsXG4gICAgT1JlYWxQaXBlLFxuICAgIE9Nb21lbnRQaXBlLFxuICAgIE9DdXJyZW5jeVBpcGUsXG4gICAgT1BlcmNlbnRQaXBlLFxuICAgIE9JY29uUGlwZSxcbiAgICBPU2FmZVBpcGUsXG4gICAgT05USU1JWkVfRElSRUNUSVZFUyxcbiAgICBFcnJvcjQwM0NvbXBvbmVudCxcbiAgICBPRGlhbG9nQ29tcG9uZW50LFxuICAgIE9EaWFsb2dJbnRlcm5hbENvbXBvbmVudCxcbiAgICBPRXJyb3JDb21wb25lbnQsXG4gICAgT1ZhbGlkYXRvckNvbXBvbmVudCxcbiAgICBPU25hY2tCYXJDb21wb25lbnQsXG4gICAgT0xvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnQsXG4gICAgT1N0b3JlRmlsdGVyRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgT1RyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb2x1bW5zRmlsdGVyUGlwZSxcbiAgICBPcmRlckJ5UGlwZSxcbiAgICBPSW50ZWdlclBpcGUsXG4gICAgT1JlYWxQaXBlLFxuICAgIE9Nb21lbnRQaXBlLFxuICAgIE9DdXJyZW5jeVBpcGUsXG4gICAgT1BlcmNlbnRQaXBlLFxuICAgIE9JY29uUGlwZSxcbiAgICBPU2FmZVBpcGUsXG4gICAgT05USU1JWkVfRElSRUNUSVZFUyxcbiAgICBPQ3VzdG9tTWF0ZXJpYWxNb2R1bGUsXG4gICAgRXJyb3I0MDNDb21wb25lbnQsXG4gICAgT0Vycm9yQ29tcG9uZW50LFxuICAgIE9WYWxpZGF0b3JDb21wb25lbnQsXG4gICAgT1NuYWNrQmFyQ29tcG9uZW50LFxuICAgIE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50LFxuICAgIE9TdG9yZUZpbHRlckRpYWxvZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE9TaGFyZWRNb2R1bGUge1xufVxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7Ozs7OztBQXVEM0YsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkEzQ3RCLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixTQUFTO1FBQ1QsU0FBUyx3T0FFVCxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsMkJBQTJCLGFBekIzQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsV0FBVztRQUNYLG1CQUFtQixhQXVCbkIsZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixTQUFTO1FBQ1QsU0FBUyx3T0FFVCxxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiwyQkFBMkI7NEdBR2xCLGFBQWEsWUFuRHRCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsbUJBQW1CLEVBdUJuQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFXaEIscUJBQXFCOzRGQVNaLGFBQWE7a0JBckR6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9OVElNSVpFX0RJUkVDVElWRVMgfSBmcm9tICcuLi9jb25maWcvby1kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbHVtbnNGaWx0ZXJQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY29sdW1ucy1maWx0ZXIucGlwZSc7XG5pbXBvcnQgeyBPQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1jdXJyZW5jeS5waXBlJztcbmltcG9ydCB7IE9JY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL28taWNvbi5waXBlJztcbmltcG9ydCB7IE9JbnRlZ2VyUGlwZSB9IGZyb20gJy4uL3BpcGVzL28taW50ZWdlci5waXBlJztcbmltcG9ydCB7IE9Nb21lbnRQaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1tb21lbnQucGlwZSc7XG5pbXBvcnQgeyBPUGVyY2VudFBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXBlcmNlbnRhZ2UucGlwZSc7XG5pbXBvcnQgeyBPUmVhbFBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXJlYWwucGlwZSc7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXNhZmUucGlwZSc7XG5pbXBvcnQgeyBPVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vcGlwZXMvby10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBPcmRlckJ5UGlwZSB9IGZyb20gJy4uL3BpcGVzL29yZGVyLWJ5LnBpcGUnO1xuaW1wb3J0IHsgT0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yNDAzL28tZXJyb3ItNDAzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvbG9hZC1maWx0ZXIvby1sb2FkLWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9TdG9yZUZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvc3RvcmUtZmlsdGVyL28tc3RvcmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL28tc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92YWxpZGF0aW9uL28tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IE9WYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9vLXZhbGlkYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0N1c3RvbU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC9jdXN0b20ubWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IE9EaWFsb2dJbnRlcm5hbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvby1kaWFsb2ctaW50ZXJuYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBPVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgT0N1c3RvbU1hdGVyaWFsTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29sdW1uc0ZpbHRlclBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgT0ludGVnZXJQaXBlLFxuICAgIE9SZWFsUGlwZSxcbiAgICBPTW9tZW50UGlwZSxcbiAgICBPQ3VycmVuY3lQaXBlLFxuICAgIE9QZXJjZW50UGlwZSxcbiAgICBPSWNvblBpcGUsXG4gICAgT1NhZmVQaXBlLFxuICAgIE9OVElNSVpFX0RJUkVDVElWRVMsXG4gICAgRXJyb3I0MDNDb21wb25lbnQsXG4gICAgT0RpYWxvZ0NvbXBvbmVudCxcbiAgICBPRGlhbG9nSW50ZXJuYWxDb21wb25lbnQsXG4gICAgT0Vycm9yQ29tcG9uZW50LFxuICAgIE9WYWxpZGF0b3JDb21wb25lbnQsXG4gICAgT1NuYWNrQmFyQ29tcG9uZW50LFxuICAgIE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50LFxuICAgIE9TdG9yZUZpbHRlckRpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE9UcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29sdW1uc0ZpbHRlclBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgT0ludGVnZXJQaXBlLFxuICAgIE9SZWFsUGlwZSxcbiAgICBPTW9tZW50UGlwZSxcbiAgICBPQ3VycmVuY3lQaXBlLFxuICAgIE9QZXJjZW50UGlwZSxcbiAgICBPSWNvblBpcGUsXG4gICAgT1NhZmVQaXBlLFxuICAgIE9OVElNSVpFX0RJUkVDVElWRVMsXG4gICAgT0N1c3RvbU1hdGVyaWFsTW9kdWxlLFxuICAgIEVycm9yNDAzQ29tcG9uZW50LFxuICAgIE9FcnJvckNvbXBvbmVudCxcbiAgICBPVmFsaWRhdG9yQ29tcG9uZW50LFxuICAgIE9TbmFja0JhckNvbXBvbmVudCxcbiAgICBPTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICBPU3RvcmVGaWx0ZXJEaWFsb2dDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPU2hhcmVkTW9kdWxlIHtcbn1cbiJdfQ==
@@ -152,4 +152,4 @@ export class OValidators {
152
152
  return validator;
153
153
  }
154
154
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3ZhbGlkYXRvcnMvby12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxLQUFLLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxNQUFNLFlBQVksR0FBRyxpS0FBaUssQ0FBQztBQUd2TCxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxzREFBc0QsQ0FBQztBQUMzRSxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQztBQUM3QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsOERBQThELENBQUM7QUFDekcsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsa0RBQWtELENBQUM7QUFFbEcsTUFBTSxPQUFPLFdBQVc7SUFLZixNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBMkI7UUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUtNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxPQUEyQjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzNELElBQUksT0FBTyxD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Q0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFO2dCQUN2QyxJQUFJO29CQUNGLEdBQUcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDbkM7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ3JCO2FBQ0Y7WUFDRCxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUU7Z0JBQ2IsT0FBTztvQkFDTCxHQUFHLEVBQUU7d0JBQ0gsV0FBVyxFQUFFLEdBQUc7cUJBQ2pCO2lCQUNGLENBQUM7YUFDSDtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFBO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0ICogYXMgbHBuIGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5cbmNvbnN0IEVNQUlMX1JFR0VYUCA9IC9eW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKkAoPzpbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/XFwuKStbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/JC87XG5cbi8vIE5JRiBSZWd1bGFyIEV4cHJlc3Npb25zXG5jb25zdCBETklfUEFUVEVSTiA9ICdeKChbMC05XXs4fSkoWy1dPykoW2EtekEtWl17MX0pKSQnO1xuY29uc3QgTklFX1BBVFRFUk4gPSAnXigoW3gtelgtWl17MX0pKFstXT8pKFswLTldezd9KShbLV0/KShbYS16QS1aXXsxfSkpJCc7XG5jb25zdCBETklfQ0hFQ0sgPSAnVFJXQUdNWUZQRFhCTkpaU1FWSExDS0VUJztcbmNvbnN0IE5VTUJFUlMgPSAnMDEyMzQ1Njc4OSc7XG5leHBvcnQgY29uc3QgVFdFTFZFX0hPVVJfRk9STUFUX1BBVFRFUk4gPSAnXigoWzAtOV18KFswMV0/WzAtOV0pKTooWzAtOV18KFswLTVdWzAtOV0pKSAqKFtBYVBwXVtNbV0pKikkJztcbmV4cG9ydCBjb25zdCBUV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVF9QQVRURVJOID0gJ14oWzAtOV18KFswMV0/WzAtOV18MlswLTNdKSk6WzAtOV18KFswLTVdWzAtOV0pJCc7XG5cbmV4cG9ydCBjbGFzcyBPVmFsaWRhdG9ycyB7XG5cbiAgLyoqXG4gICAqIEhvdXIgdmFsaWRhdG9yIGhoOm1tIGFtL3BtIGZvcm1hdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0d2VsdmVIb3VyRm9ybWF0VmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoVFdFTFZFX0hPVVJfRk9STUFUX1BBVFRFUk4pO1xuICAgIGlmIChjb250cm9sLnZhbHVlICYmIHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnc3RyaW5nJyAmJiAhcmVnRXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWRGb3JtYXRIb3VyOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3VyIHZhbGlkYXRvciBISDptbSBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdHdlbnR5Rm91ckhvdXJGb3JtYXRWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChUV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVF9QQVRURVJOKTtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiB0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXJlZ0V4cC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4geyBpbnZhbGlkRm9ybWF0SG91cjogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogRW1haWwgdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gMCAmJiAhRU1BSUxfUkVHRVhQLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWRFbWFpbEFkZHJlc3M6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBob25lIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwaG9uZVZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsIGNvdW50cnlDb2RlPzogYW55KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKCFjb250cm9sIHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHBob25lTnVtYmVyVXRpbEluc3RhbmNlID0gbHBuLlBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICAgIGNvbnN0IGVycm9yID0geyB2YWxpZGF0ZVBob25lTnVtYmVyOiB7IHZhbGlkOiBmYWxzZSB9IH07XG5cbiAgICBsZXQgbnVtYmVyOiBscG4uUGhvbmVOdW1iZXI7XG4gICAgbGV0IGlzVmFsaWRGb3JSZWdpb246IGJvb2xlYW4gPSBmYWxzZVxuICAgIHRyeSB7XG4gICAgICBudW1iZXIgPSBwaG9uZU51bWJlclV0aWxJbnN0YW5jZS5wYXJzZShcbiAgICAgICAgY29udHJvbC52YWx1ZSxcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICk7XG4gICAgICBpZiAobnVtYmVyKSB7XG4gICAgICAgIGlzVmFsaWRGb3JSZWdpb24gPSBwaG9uZU51bWJlclV0aWxJbnN0YW5jZS5pc1ZhbGlkTnVtYmVyRm9yUmVnaW9uKFxuICAgICAgICAgIG51bWJlcixcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiAoIW51bWJlciB8fCAhaXNWYWxpZEZvclJlZ2lvbikpIHtcbiAgICAgIHJldHVybiBlcnJvclxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogTklGIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuaWZWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoRE5JX1BBVFRFUk4gKyAnfCcgKyBOSUVfUEFUVEVSTik7XG5cbiAgICAvLyByZW1vdmluZyBkYXNoZXNcbiAgICBsZXQgdmFsdWVXaXRob3V0RGFzaGVzID0gJyc7XG4gICAgZm9yIChjb25zdCBpIGluIG5ld1ZhbHVlKSB7XG4gICAgICBpZiAobmV3VmFsdWVbaV0gIT09ICctJykge1xuICAgICAgICB2YWx1ZVdpdGhvdXREYXNoZXMgPSB2YWx1ZVdpdGhvdXREYXNoZXMgKyBuZXdWYWx1ZVtpXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZhbHVlV2l0aG91dERhc2hlcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBmaXJzdENoYXIgPSB2YWx1ZVdpdGhvdXREYXNoZXMuY2hhckF0KDApO1xuICAgICAgaWYgKE5VTUJFUlMuaW5kZXhPZihmaXJzdENoYXIpICE9PSAtMSkge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB2YWx1ZVdpdGhvdXREYXNoZXMuc3Vic3RyaW5nKDAsIHZhbHVlV2l0aG91dERhc2hlcy5sZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgcG9zID0gcGFyc2VJbnQobnVtYmVyLCAxMCkgJSAyMztcbiAgICAgICAgY29uc3QgZXhwZWN0ZWRMZXR0ZXIgPSBETklfQ0hFQ0suc3Vic3RyaW5nKHBvcywgcG9zICsgMSk7XG4gICAgICAgIGNvbnN0IGxldHRlciA9IHZhbHVlV2l0aG91dERhc2hlcy5jaGFyQXQodmFsdWVXaXRob3V0RGFzaGVzLmxlbmd0aCAtIDEpO1xuICAgICAgICBjb25zdCBkbmlMZXR0ZXJFcnJvciA9IChleHBlY3RlZExldHRlciAhPT0gbGV0dGVyLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBpZiAoZG5pTGV0dGVyRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGTGV0dGVyOiB0cnVlIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFyZWdFeHAudGVzdCh2YWx1ZVdpdGhvdXREYXNoZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGOiB0cnVlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXJlZ0V4cC50ZXN0KHZhbHVlV2l0aG91dERhc2hlcykpIHtcbiAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXR0ZXJucyB2YWxpZGF0b3JcbiAgICogQHBhcmFtIHJlZ2V4XG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnMgdmFsaWRhdG9yXG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhdHRlcm5WYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwga2V5OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChyZWdleCkpIHtcbiAgICAgIGNvbnNvbGUud2FybignUmVnZXggcGFyYW0gbXVzdCBiZSBkZWZpbmVkIGluIHBhdHRlcm5WYWxpZGF0b3IgJylcbiAgICB9XG5cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGtleSkpIHtcbiAgICAgIGNvbnNvbGUud2FybignVmFsaWRhdGlvbiBrZXkgcGFyYW0gbXVzdCBiZSBkZWZpbmVkIGluIHBhdHRlcm5WYWxpZGF0b3IgJylcbiAgICB9XG5cbiAgICBsZXQgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmICghVXRpbC5pc0RlZmluZWQocmVnZXgpIHx8ICFVdGlsLmlzRGVmaW5lZChrZXkpIHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIHJlZ2V4IGlzIG5vdCBkZWZpbmVkIG9yIGtleSBpcyBub3QgZGVmaW5lZCBvciBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyB0ZXN0IHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBhZ2FpbnN0IHRoZSByZWdleHAgc3VwcGxpZWRcbiAgICAgIGNvbnN0IHZhbGlkID0gcmVnZXgudGVzdChjb250cm9sLnZhbHVlKTtcblxuICAgICAgbGV0IHJlc3VsdCA9IHt9O1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSAhdmFsaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcblxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGVNaW5WYWxpZGF0b3IobWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgIGxldCB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYgKHR5cGVvZiAoY29udHJvbC52YWx1ZSkgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFsID0gcGFyc2VJbnQoY29udHJvbC52YWx1ZSwgMTApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdmFsID0gY29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZhbCA8IG1pbikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1pbjoge1xuICAgICAgICAgICAgcmVxdWlyZWRNaW46IG1pblxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlTWF4VmFsaWRhdG9yKG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKSA9PiB7XG4gICAgICBsZXQgdmFsID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh0eXBlb2YgKGNvbnRyb2wudmFsdWUpICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhbCA9IHBhcnNlSW50KGNvbnRyb2wudmFsdWUsIDEwKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHZhbCA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtYXggPCB2YWwpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXg6IHtcbiAgICAgICAgICAgIHJlcXVpcmVkTWF4OiBtYXhcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cbn1cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3ZhbGlkYXRvcnMvby12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxLQUFLLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQztBQUU3QyxNQUFNLFlBQVksR0FBRyxpS0FBaUssQ0FBQztBQUd2TCxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxzREFBc0QsQ0FBQztBQUMzRSxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQztBQUM3QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsOERBQThELENBQUM7QUFDekcsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsa0RBQWtELENBQUM7QUFFbEcsTUFBTSxPQUFPLFdBQVc7SUFLZixNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBMkI7UUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUtNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxPQUEyQjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzNELElBQUksT0FBTyxD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Q0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFO2dCQUN2QyxJQUFJO29CQUNGLEdBQUcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDbkM7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ3JCO2FBQ0Y7WUFDRCxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUU7Z0JBQ2IsT0FBTztvQkFDTCxHQUFHLEVBQUU7d0JBQ0gsV0FBVyxFQUFFLEdBQUc7cUJBQ2pCO2lCQUNGLENBQUM7YUFDSDtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFBO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0ICogYXMgbHBuIGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5cbmNvbnN0IEVNQUlMX1JFR0VYUCA9IC9eW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKkAoPzpbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/XFwuKStbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/JC87XG5cbi8vIE5JRiBSZWd1bGFyIEV4cHJlc3Npb25zXG5jb25zdCBETklfUEFUVEVSTiA9ICdeKChbMC05XXs4fSkoWy1dPykoW2EtekEtWl17MX0pKSQnO1xuY29uc3QgTklFX1BBVFRFUk4gPSAnXigoW3gtelgtWl17MX0pKFstXT8pKFswLTldezd9KShbLV0/KShbYS16QS1aXXsxfSkpJCc7XG5jb25zdCBETklfQ0hFQ0sgPSAnVFJXQUdNWUZQRFhCTkpaU1FWSExDS0VUJztcbmNvbnN0IE5VTUJFUlMgPSAnMDEyMzQ1Njc4OSc7XG5leHBvcnQgY29uc3QgVFdFTFZFX0hPVVJfRk9STUFUX1BBVFRFUk4gPSAnXigoWzAtOV18KFswMV0/WzAtOV0pKTooWzAtOV18KFswLTVdWzAtOV0pKSAqKFtBYVBwXVtNbV0pKikkJztcbmV4cG9ydCBjb25zdCBUV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVF9QQVRURVJOID0gJ14oWzAtOV18KFswMV0/WzAtOV18MlswLTNdKSk6WzAtOV18KFswLTVdWzAtOV0pJCc7XG5cbmV4cG9ydCBjbGFzcyBPVmFsaWRhdG9ycyB7XG5cbiAgLyoqXG4gICAqIEhvdXIgdmFsaWRhdG9yIGhoOm1tIGFtL3BtIGZvcm1hdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0d2VsdmVIb3VyRm9ybWF0VmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoVFdFTFZFX0hPVVJfRk9STUFUX1BBVFRFUk4pO1xuICAgIGlmIChjb250cm9sLnZhbHVlICYmIHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnc3RyaW5nJyAmJiAhcmVnRXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWRGb3JtYXRIb3VyOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3VyIHZhbGlkYXRvciBISDptbSBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdHdlbnR5Rm91ckhvdXJGb3JtYXRWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChUV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVF9QQVRURVJOKTtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiB0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXJlZ0V4cC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4geyBpbnZhbGlkRm9ybWF0SG91cjogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogRW1haWwgdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gMCAmJiAhRU1BSUxfUkVHRVhQLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWRFbWFpbEFkZHJlc3M6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBob25lIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwaG9uZVZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsIGNvdW50cnlDb2RlPzogYW55KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKCFjb250cm9sIHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHBob25lTnVtYmVyVXRpbEluc3RhbmNlID0gbHBuLlBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICAgIGNvbnN0IGVycm9yID0geyB2YWxpZGF0ZVBob25lTnVtYmVyOiB7IHZhbGlkOiBmYWxzZSB9IH07XG5cbiAgICBsZXQgbnVtYmVyOiBscG4uUGhvbmVOdW1iZXI7XG4gICAgbGV0IGlzVmFsaWRGb3JSZWdpb246IGJvb2xlYW4gPSBmYWxzZVxuICAgIHRyeSB7XG4gICAgICBudW1iZXIgPSBwaG9uZU51bWJlclV0aWxJbnN0YW5jZS5wYXJzZShcbiAgICAgICAgY29udHJvbC52YWx1ZSxcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICk7XG4gICAgICBpZiAobnVtYmVyKSB7XG4gICAgICAgIGlzVmFsaWRGb3JSZWdpb24gPSBwaG9uZU51bWJlclV0aWxJbnN0YW5jZS5pc1ZhbGlkTnVtYmVyRm9yUmVnaW9uKFxuICAgICAgICAgIG51bWJlcixcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiAoIW51bWJlciB8fCAhaXNWYWxpZEZvclJlZ2lvbikpIHtcbiAgICAgIHJldHVybiBlcnJvclxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogTklGIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuaWZWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoRE5JX1BBVFRFUk4gKyAnfCcgKyBOSUVfUEFUVEVSTik7XG5cbiAgICAvLyByZW1vdmluZyBkYXNoZXNcbiAgICBsZXQgdmFsdWVXaXRob3V0RGFzaGVzID0gJyc7XG4gICAgZm9yIChjb25zdCBpIGluIG5ld1ZhbHVlKSB7XG4gICAgICBpZiAobmV3VmFsdWVbaV0gIT09ICctJykge1xuICAgICAgICB2YWx1ZVdpdGhvdXREYXNoZXMgPSB2YWx1ZVdpdGhvdXREYXNoZXMgKyBuZXdWYWx1ZVtpXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZhbHVlV2l0aG91dERhc2hlcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBmaXJzdENoYXIgPSB2YWx1ZVdpdGhvdXREYXNoZXMuY2hhckF0KDApO1xuICAgICAgaWYgKE5VTUJFUlMuaW5kZXhPZihmaXJzdENoYXIpICE9PSAtMSkge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB2YWx1ZVdpdGhvdXREYXNoZXMuc3Vic3RyaW5nKDAsIHZhbHVlV2l0aG91dERhc2hlcy5sZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgcG9zID0gcGFyc2VJbnQobnVtYmVyLCAxMCkgJSAyMztcbiAgICAgICAgY29uc3QgZXhwZWN0ZWRMZXR0ZXIgPSBETklfQ0hFQ0suc3Vic3RyaW5nKHBvcywgcG9zICsgMSk7XG4gICAgICAgIGNvbnN0IGxldHRlciA9IHZhbHVlV2l0aG91dERhc2hlcy5jaGFyQXQodmFsdWVXaXRob3V0RGFzaGVzLmxlbmd0aCAtIDEpO1xuICAgICAgICBjb25zdCBkbmlMZXR0ZXJFcnJvciA9IChleHBlY3RlZExldHRlciAhPT0gbGV0dGVyLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBpZiAoZG5pTGV0dGVyRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGTGV0dGVyOiB0cnVlIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFyZWdFeHAudGVzdCh2YWx1ZVdpdGhvdXREYXNoZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGOiB0cnVlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXJlZ0V4cC50ZXN0KHZhbHVlV2l0aG91dERhc2hlcykpIHtcbiAgICAgICAgICByZXR1cm4geyBpbnZhbGlkTklGOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXR0ZXJucyB2YWxpZGF0b3JcbiAgICogQHBhcmFtIHJlZ2V4XG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnMgdmFsaWRhdG9yXG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhdHRlcm5WYWxpZGF0b3IocmVnZXg6IFJlZ0V4cCwga2V5OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChyZWdleCkpIHtcbiAgICAgIGNvbnNvbGUud2FybignUmVnZXggcGFyYW0gbXVzdCBiZSBkZWZpbmVkIGluIHBhdHRlcm5WYWxpZGF0b3IgJylcbiAgICB9XG5cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGtleSkpIHtcbiAgICAgIGNvbnNvbGUud2FybignVmFsaWRhdGlvbiBrZXkgcGFyYW0gbXVzdCBiZSBkZWZpbmVkIGluIHBhdHRlcm5WYWxpZGF0b3IgJylcbiAgICB9XG5cbiAgICBsZXQgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmICghVXRpbC5pc0RlZmluZWQocmVnZXgpIHx8ICFVdGlsLmlzRGVmaW5lZChrZXkpIHx8ICFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIC8vIGlmIHJlZ2V4IGlzIG5vdCBkZWZpbmVkIG9yIGtleSBpcyBub3QgZGVmaW5lZCBvciBjb250cm9sIGlzIGVtcHR5IHJldHVybiBubyBlcnJvclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyB0ZXN0IHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBhZ2FpbnN0IHRoZSByZWdleHAgc3VwcGxpZWRcbiAgICAgIGNvbnN0IHZhbGlkID0gcmVnZXgudGVzdChjb250cm9sLnZhbHVlKTtcblxuICAgICAgbGV0IHJlc3VsdCA9IHt9O1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSAhdmFsaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcblxuICB9XG5cbiAgLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFZhbGlkYXRvci5taW5gIGluc3RlYWRcbiAqL1xuICBwdWJsaWMgc3RhdGljIGNyZWF0ZU1pblZhbGlkYXRvcihtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCkgPT4ge1xuICAgICAgbGV0IHZhbCA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAodHlwZW9mIChjb250cm9sLnZhbHVlKSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YWwgPSBwYXJzZUludChjb250cm9sLnZhbHVlLCAxMCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodmFsIDwgbWluKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbWluOiB7XG4gICAgICAgICAgICByZXF1aXJlZE1pbjogbWluXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG4gIC8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBWYWxpZGF0b3IubWF4YCBpbnN0ZWFkXG4gKi9cbiAgcHVibGljIHN0YXRpYyBjcmVhdGVNYXhWYWxpZGF0b3IobWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgIGxldCB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYgKHR5cGVvZiAoY29udHJvbC52YWx1ZSkgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFsID0gcGFyc2VJbnQoY29udHJvbC52YWx1ZSwgMTApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdmFsID0gY29udHJvbC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG1heCA8IHZhbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1heDoge1xuICAgICAgICAgICAgcmVxdWlyZWRNYXg6IG1heFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcbiAgfVxufVxuIl19