@c8y/ngx-components 1010.0.30 → 1010.0.33

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 (60) hide show
  1. package/assets-navigator/asset-node.service.d.ts +7 -3
  2. package/assets-navigator/c8y-ngx-components-assets-navigator.metadata.json +1 -1
  3. package/bundles/c8y-ngx-components-assets-navigator.umd.js +7 -2
  4. package/bundles/c8y-ngx-components-assets-navigator.umd.js.map +1 -1
  5. package/bundles/c8y-ngx-components-assets-navigator.umd.min.js +1 -1
  6. package/bundles/c8y-ngx-components-assets-navigator.umd.min.js.map +1 -1
  7. package/bundles/c8y-ngx-components-repository.umd.js +8 -4
  8. package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
  9. package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
  10. package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
  11. package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
  12. package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
  13. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +1 -1
  14. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
  15. package/bundles/c8y-ngx-components.umd.js +14 -8
  16. package/bundles/c8y-ngx-components.umd.js.map +1 -1
  17. package/bundles/c8y-ngx-components.umd.min.js +1 -1
  18. package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
  19. package/c8y-ngx-components.metadata.json +1 -1
  20. package/core/file-picker/file-picker.component.d.ts +8 -0
  21. package/esm2015/assets-navigator/asset-node.service.js +8 -3
  22. package/esm2015/core/file-picker/file-picker.component.js +12 -2
  23. package/esm2015/core/file-picker/file-picker.module.js +6 -8
  24. package/esm2015/repository/configuration/configuration-detail.component.js +7 -2
  25. package/esm2015/repository/firmware/add-firmware-modal.component.js +7 -2
  26. package/esm2015/repository/firmware/add-firmware-patch-modal.component.js +7 -2
  27. package/esm2015/repository/software/add-software-modal.component.js +7 -2
  28. package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
  29. package/esm5/assets-navigator/asset-node.service.js +8 -3
  30. package/esm5/core/file-picker/file-picker.component.js +12 -2
  31. package/esm5/core/file-picker/file-picker.module.js +6 -8
  32. package/esm5/repository/configuration/configuration-detail.component.js +3 -2
  33. package/esm5/repository/firmware/add-firmware-modal.component.js +3 -2
  34. package/esm5/repository/firmware/add-firmware-patch-modal.component.js +3 -2
  35. package/esm5/repository/software/add-software-modal.component.js +3 -2
  36. package/esm5/sensor-phone/sensor-phone-modal.component.js +2 -2
  37. package/fesm2015/c8y-ngx-components-assets-navigator.js +7 -2
  38. package/fesm2015/c8y-ngx-components-assets-navigator.js.map +1 -1
  39. package/fesm2015/c8y-ngx-components-repository.js +24 -4
  40. package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
  41. package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
  42. package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
  43. package/fesm2015/c8y-ngx-components.js +14 -8
  44. package/fesm2015/c8y-ngx-components.js.map +1 -1
  45. package/fesm5/c8y-ngx-components-assets-navigator.js +7 -2
  46. package/fesm5/c8y-ngx-components-assets-navigator.js.map +1 -1
  47. package/fesm5/c8y-ngx-components-repository.js +8 -4
  48. package/fesm5/c8y-ngx-components-repository.js.map +1 -1
  49. package/fesm5/c8y-ngx-components-sensor-phone.js +1 -1
  50. package/fesm5/c8y-ngx-components-sensor-phone.js.map +1 -1
  51. package/fesm5/c8y-ngx-components.js +14 -8
  52. package/fesm5/c8y-ngx-components.js.map +1 -1
  53. package/locales/locales.pot +30 -9
  54. package/package.json +2 -2
  55. package/repository/c8y-ngx-components-repository.metadata.json +1 -1
  56. package/repository/configuration/configuration-detail.component.d.ts +1 -0
  57. package/repository/firmware/add-firmware-modal.component.d.ts +1 -0
  58. package/repository/firmware/add-firmware-patch-modal.component.d.ts +1 -0
  59. package/repository/software/add-software-modal.component.d.ts +1 -0
  60. package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
@@ -20,6 +20,10 @@ export declare class FilePickerComponent implements OnInit {
20
20
  uploadChoice: 'uploadBinary' | 'uploadUrl';
21
21
  fileUrl: string;
22
22
  fileBinary: DroppedFile;
23
+ /**
24
+ * Additional string to be displayed in a popover.
25
+ */
26
+ fileUrlPopover: string;
23
27
  droppedFiles: DroppedFile[];
24
28
  private fileToSave;
25
29
  /**
@@ -42,4 +46,8 @@ export declare class FilePickerComponent implements OnInit {
42
46
  * Triggered when user puts binary's url to upload.
43
47
  */
44
48
  onFileUrlChange(urlStr: any): void;
49
+ /**
50
+ * Checks if there is popover to display.
51
+ */
52
+ isPopoverUsed(): boolean;
45
53
  }
@@ -51,7 +51,7 @@ let AssetNodeService = class AssetNodeService {
51
51
  const defaultFilter = {
52
52
  pageSize: this.PAGE_SIZE,
53
53
  withChildren: false,
54
- query: this.queriesUtil.buildQuery(this.rootQueryFilter())
54
+ query: this.queriesUtil.buildQuery(this.navRootQueryFilter())
55
55
  };
56
56
  const groupFilter = customFilter ? customFilter : defaultFilter;
57
57
  // due to BE performance limitations we do not allow filtering and sorting for a user without inventory roles
@@ -89,13 +89,18 @@ let AssetNodeService = class AssetNodeService {
89
89
  groupQueryFilter(moId) {
90
90
  return `$filter=(bygroupid(${moId}))$orderby=name`;
91
91
  }
92
+ navRootQueryFilter() {
93
+ const navRootFilter = this.rootQueryFilter();
94
+ navRootFilter.__orderby = [{ name: 1 }];
95
+ return navRootFilter;
96
+ }
92
97
  rootQueryFilter() {
93
98
  const { moduleConfig } = this;
94
99
  const rootFilter = {
95
100
  __filter: {
96
101
  type: `${GroupFragment.groupType}`
97
102
  },
98
- __orderby: [{ name: 1 }]
103
+ __orderby: []
99
104
  };
100
105
  if (moduleConfig.smartGroups) {
101
106
  const queryFilter = {
@@ -191,4 +196,4 @@ AssetNodeService = tslib_1.__decorate([
191
196
  tslib_1.__param(8, Optional()), tslib_1.__param(8, Inject(ASSET_NAVIGATOR_CONFIG))
192
197
  ], AssetNodeService);
193
198
  export { AssetNodeService };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9hc3NldHMtbmF2aWdhdG9yLyIsInNvdXJjZXMiOlsiYXNzZXQtbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUF3QixzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVFyRCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQU8zQixZQUNTLFNBQTJCLEVBQzNCLE1BQTBCLEVBQzFCLFVBQXNCLEVBQ3RCLEtBQW1CLEVBQ25CLEtBQW1CLEVBQ2hCLGlCQUFvQyxFQUNwQyxJQUFpQixFQUNqQixRQUF5QixFQUNnQixZQUFrQztR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Q0FBQztTQUMvRDtJQUNILENBQUM7SUFFUyxZQUFZLENBQUMsY0FBbUIsRUFBRTtRQUMxQyxNQUFNLE1BQU0sR0FBRztZQUNiLFdBQVcsRUFBRSxDQUFDO1lBQ2QsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBQ0YseUJBQVksTUFBTSxFQUFLLFdBQVcsRUFBRztJQUN2QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVk7UUFDNUMsSUFBSSxhQUFhLENBQUM7UUFDbEIsSUFBSSxLQUFLLElBQUksWUFBWSxFQUFFO1lBQ3pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUM5QyxzQkFBc0IsRUFBRSxLQUFLO2FBQzlCLENBQUMsQ0FBQztZQUNILGFBQWEsR0FBRyxHQUFHLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztTQUNsRDthQUFNO1lBQ0wsYUFBYSxHQUFHLEtBQUssSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUNGLENBQUE7O1lBcE1xQixnQkFBZ0I7WUFDbkIsa0JBQWtCO1lBQ2QsVUFBVTtZQUNmLFlBQVk7WUFDWixZQUFZO1lBQ0csaUJBQWlCO1lBQzlCLFdBQVc7WUFDUCxlQUFlOzRDQUNsQyxRQUFRLFlBQUksTUFBTSxTQUFDLHNCQUFzQjs7QUFoQmpDLGdCQUFnQjtJQUQ1QixVQUFVLEVBQUU7SUFpQlIsbUJBQUEsUUFBUSxFQUFFLENBQUEsRUFBRSxtQkFBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtHQWhCbEMsZ0JBQWdCLENBNE01QjtTQTVNWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlLCBRdWVyaWVzVXRpbCwgVXNlclNlcnZpY2UsIElNYW5hZ2VkT2JqZWN0LCBJUmVzdWx0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBCcmVhZGNydW1iU2VydmljZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBOYXZpZ2F0b3JOb2RlLFxuICBBcHBTdGF0ZVNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hcGknO1xuaW1wb3J0IHsgZW1wdHkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE5vZGUgfSBmcm9tICcuL2Fzc2V0LW5vZGUnO1xuaW1wb3J0IHsgQXNzZXROYXZpZ2F0b3JDb25maWcsIEFTU0VUX05BVklHQVRPUl9DT05GSUcgfSBmcm9tICcuL2Fzc2V0LW5vZGUtY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNHcm91cE5vZGUgfSBmcm9tICcuL2R5bmFtaWMtZ3JvdXAtbm9kZSc7XG5pbXBvcnQgeyBHcm91cEZyYWdtZW50IH0gZnJvbSAnLi9ncm91cC1mcmFnbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBEZXZpY2VHcm91cFNlcnZpY2UgfSBmcm9tICcuL2dyb3VwLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0Tm9kZU1vIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXNzZXROb2RlU2VydmljZSB7XG4gIHJvb3ROb2RlOiBBc3NldE5vZGU7XG4gIGZpcnN0VXJsID0gdHJ1ZTtcbiAgZHJhZ2dlZERhdGE6IEFzc2V0Tm9kZTtcbiAgcXVlcmllc1V0aWw6IFF1ZXJpZXNVdGlsO1xuICBwcm90ZWN0ZWQgUEFHRV9TSVpFID0gMjA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwdWJsaWMgZ3JvdXBzOiBEZXZpY2VHcm91cFNlcnZpY2UsXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHVibGljIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGJyZWFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlcjogVXNlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBU1NFVF9OQVZJR0FUT1JfQ09ORklHKSBwdWJsaWMgbW9kdWxlQ29uZmlnOiBBc3NldE5hdmlnYXRvckNvbmZpZ1xuICApIHtcbiAgICB0aGlzLm1vZHVsZUNvbmZpZyA9IHtcbiAgICAgIHJvb3ROb2RlUHJpb3JpdHk6IDIwMDAsXG4gICAgICAuLi4obW9kdWxlQ29uZmlnIHx8IHt9KVxuICAgIH07XG4gICAgdGhpcy5xdWVyaWVzVXRpbCA9IG5ldyBRdWVyaWVzVXRpbCgpO1xuICB9XG5cbiAgY3JlYXRlUm9vdE5vZGUoKSB7XG4gICAgdGhpcy5yb290Tm9kZSA9IHRoaXMuY3JlYXRlQXNzZXROb2RlKHtcbiAgICAgIHJvb3Q6IHRydWUsXG4gICAgICBwcmlvcml0eTogdGhpcy5tb2R1bGVDb25maWcucm9vdE5vZGVQcmlvcml0eVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnJvb3ROb2RlO1xuICB9XG5cbiAgY3JlYXRlRHluYW1pY0dyb3VwTm9kZShjb25maWcpIHtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNHcm91cE5vZGUodGhpcywgY29uZmlnKTtcbiAgfVxuXG4gIGNyZWF0ZUFzc2V0Tm9kZShjb25maWcpIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0Tm9kZSh0aGlzLCBjb25maWcpO1xuICB9XG5cbiAgY3JlYXRlQ2hpbGROb2RlKG1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IG1hbmFnZWRPYmplY3Q7XG4gICAgY29uc3QgY29uZmlnOiBQYXJ0aWFsPEFzc2V0Tm9kZT4gPSB7IG1vOiBtYW5hZ2VkT2JqZWN0IH07XG4gICAgaWYgKHR5cGUgPT09IEdyb3VwRnJhZ21lbnQuZHluYW1pY0dyb3VwVHlwZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRHluYW1pY0dyb3VwTm9kZShjb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVBc3NldE5vZGUoY29uZmlnKTtcbiAgfVxuXG4gIGdldFJvb3ROb2RlcyhjdXN0b21GaWx0ZXI/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXIgPSB7XG4gICAgICBwYWdlU2l6ZTogdGhpcy5QQUdFX1NJWkUsXG4gICAgICB3aXRoQ2hpbGRyZW46IGZhbHNlLFxuICAgICAgcXVlcnk6IHRoaXMucXVlcmllc1V0aWwuYnVpbGRRdWVyeSh0aGlzLnJvb3RRdWVyeUZpbHRlcigpKVxuICAgIH07XG4gICAgY29uc3QgZ3JvdXBGaWx0ZXIgPSBjdXN0b21GaWx0ZXIgPyBjdXN0b21GaWx0ZXIgOiBkZWZhdWx0RmlsdGVyO1xuXG4gICAgLy8gZHVlIHRvIEJFIHBlcmZvcm1hbmNlIGxpbWl0YXRpb25zIHdlIGRvIG5vdCBhbGxvdyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgZm9yIGEgdXNlciB3aXRob3V0IGludmVudG9yeSByb2xlc1xuICAgIGlmICghdGhpcy51c2VyLmhhc1JvbGUodGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZSwgJ1JPTEVfSU5WRU5UT1JZX1JFQUQnKSkge1xuICAgICAgZGVsZXRlIGdyb3VwRmlsdGVyLnF1ZXJ5O1xuICAgICAgT2JqZWN0LmFzc2lnbihncm91cEZpbHRlciwge1xuICAgICAgICBmcmFnbWVudFR5cGU6IEdyb3VwRnJhZ21lbnQuZ3JvdXBGcmFnbWVudFR5cGUsXG4gICAgICAgIG9ubHlSb290czogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmludmVudG9yeS5saXN0KHRoaXMuY3JlYXRlRmlsdGVyKGdyb3VwRmlsdGVyKSk7XG4gIH1cblxuICBnZXRHcm91cEl0ZW1zKG1vSWQ6IHN0cmluZywgZXh0cmFGaWx0ZXI6IG9iamVjdCA9IHt9KSB7XG4gICAgY29uc3QgcXVlcnlGaWx0ZXIgPSB7XG4gICAgICB3aXRoQ2hpbGRyZW46IGZhbHNlLFxuICAgICAgcGFnZVNpemU6IHRoaXMuUEFHRV9TSVpFLFxuICAgICAgcXVlcnk6IHRoaXMuZ3JvdXBRdWVyeUZpbHRlcihtb0lkKVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaW52ZW50b3J5LmNoaWxkQXNzZXRzTGlzdChtb0lkLCB7IC4uLnF1ZXJ5RmlsdGVyLCAuLi5leHRyYUZpbHRlciB9KTtcbiAgfVxuXG4gIGdldER5bmFtaWNHcm91cEl0ZW1zKGdyb3VwUXVlcnk6IHN0cmluZywgZmlsdGVyT2JqOiBhbnkgPSB7fSkge1xuICAgIGNvbnN0IHsgcXVlcnksIC4uLnF1ZXJ5UGFyYW1zIH0gPSBmaWx0ZXJPYmo7XG4gICAgY29uc3Qgb3JkZXJCeVF1ZXJ5ID0gcXVlcnk7XG4gICAgY29uc3QgcXVlcnlGaWx0ZXIgPSB7XG4gICAgICBxOiB0aGlzLmJ1aWxkQ29tYmluZWRRdWVyeShncm91cFF1ZXJ5LCBvcmRlckJ5UXVlcnkpLFxuICAgICAgLi4ucXVlcnlQYXJhbXNcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeS5saXN0KHRoaXMuY3JlYXRlRmlsdGVyKHF1ZXJ5RmlsdGVyKSk7XG4gIH1cblxuICBnZXREZXZpY2VDaGlsZHJlbihtb0lkOiBzdHJpbmcsIGV4dHJhRmlsdGVyOiBvYmplY3QgPSB7fSkge1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0ge1xuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLlBBR0VfU0laRSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmdyb3VwUXVlcnlGaWx0ZXIobW9JZClcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeS5jaGlsZERldmljZXNMaXN0KG1vSWQsIHsgLi4ucXVlcnlGaWx0ZXIsIC4uLmV4dHJhRmlsdGVyIH0pO1xuICB9XG5cbiAgZ3JvdXBRdWVyeUZpbHRlcihtb0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCRmaWx0ZXI9KGJ5Z3JvdXBpZCgke21vSWR9KSkkb3JkZXJieT1uYW1lYDtcbiAgfVxuXG4gIHJvb3RRdWVyeUZpbHRlcigpIHtcbiAgICBjb25zdCB7IG1vZHVsZUNvbmZpZyB9ID0gdGhpcztcbiAgICBjb25zdCByb290RmlsdGVyID0ge1xuICAgICAgX19maWx0ZXI6IHtcbiAgICAgICAgdHlwZTogYCR7R3JvdXBGcmFnbWVudC5ncm91cFR5cGV9YFxuICAgICAgfSxcbiAgICAgIF9fb3JkZXJieTogW3sgbmFtZTogMSB9XVxuICAgIH07XG4gICAgaWYgKG1vZHVsZUNvbmZpZy5zbWFydEdyb3Vwcykge1xuICAgICAgY29uc3QgcXVlcnlGaWx0ZXIgPSB7XG4gICAgICAgIF9fZmlsdGVyOiB7XG4gICAgICAgICAgX19hbmQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogYCR7R3JvdXBGcmFnbWVudC5keW5hbWljR3JvdXBUeXBlfWBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9faGFzOiBgJHtHcm91cEZyYWdtZW50LmR5bmFtaWNHcm91cEZyYWdtZW50fWBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IF9fbm90OiB7IF9faGFzOiBgJHtHcm91cEZyYWdtZW50LmR5bmFtaWNHcm91cEZyYWdtZW50fS5pbnZpc2libGVgIH0gfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMucXVlcmllc1V0aWwuYWRkT3JGaWx0ZXIocm9vdEZpbHRlciwgcXVlcnlGaWx0ZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcm9vdEZpbHRlcjtcbiAgfVxuXG4gIG9uVXBkYXRlKHsgbW8sIHJvb3QgfSkge1xuICAgIGlmIChtby5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgICAuaG9va1Jlc3BvbnNlKFxuICAgICAgICAgICh7IHVybCwgbWV0aG9kIH0pID0+XG4gICAgICAgICAgICBbJ1BVVCcsICdERUxFVEUnLCAnUE9TVCddLmluY2x1ZGVzKG1ldGhvZCkgJiZcbiAgICAgICAgICAgIFJlZ0V4cChgKChpbnZlbnRvcnkvbWFuYWdlZE9iamVjdHMpfChzZXJ2aWNlL3NtYXJ0Z3JvdXAvc21hcnRncm91cHMpKS8ke21vLmlkfWApLnRlc3QoXG4gICAgICAgICAgICAgIHVybFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kcmFnZ2VkRGF0YSksXG4gICAgICAgICAgbWVyZ2VNYXAodGhpcy5hcGlTZXJ2aWNlLnJlc29sdmVEYXRhKSxcbiAgICAgICAgICBmaWx0ZXIocmVzcG9uc2UgPT4gIXJlc3BvbnNlLmRhdGEuYzh5X0Rhc2hib2FyZClcbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHJvb3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgICAgLmhvb2tSZXNwb25zZShcbiAgICAgICAgICAoeyB1cmwsIG1ldGhvZCB9KSA9PlxuICAgICAgICAgICAgUmVnRXhwKCcoKGludmVudG9yeS9tYW5hZ2VkT2JqZWN0cyl8KHNlcnZpY2Uvc21hcnRncm91cC9zbWFydGdyb3VwcykpLz8kJykudGVzdCh1cmwpICYmXG4gICAgICAgICAgICBtZXRob2QgPT09ICdQT1NUJ1xuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKHRoaXMuYXBpU2VydmljZS5yZXNvbHZlRGF0YSksXG4gICAgICAgICAgZmlsdGVyKHJlc3BvbnNlID0+IHRoaXMuaXNOZXdNYW5hZ2VkT2JqZWN0Um9vdChyZXNwb25zZSkpXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzTmV3TWFuYWdlZE9iamVjdFJvb3QocmVzcG9uc2U6IFBhcnRpYWw8SVJlc3VsdDxJTWFuYWdlZE9iamVjdD4+ID0ge30pIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IHJlc3BvbnNlO1xuICAgIGxldCBpc1Jvb3RBc3NldCA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgaXNSb290QXNzZXQgPSAhIWRhdGFbR3JvdXBGcmFnbWVudC5ncm91cEZyYWdtZW50VHlwZV07XG4gICAgICBpZiAoIWlzUm9vdEFzc2V0ICYmIHRoaXMubW9kdWxlQ29uZmlnLnNtYXJ0R3JvdXBzKSB7XG4gICAgICAgIGlzUm9vdEFzc2V0ID0gISFkYXRhW0dyb3VwRnJhZ21lbnQuZHluYW1pY0dyb3VwRnJhZ21lbnRdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNSb290QXNzZXQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlcmUgY291bGQgYmUgbXVsdGlwbGUgYnJlYWRjcnVtYnMgZm9yIGRldmljZXMsXG4gICAqIHNvIHdlIHNldCBhIHByZWZlcnJlZCBvbmUgb24gY2xpY2sgb24gYSBkZXZpY2UuXG4gICAqIEBwYXJhbSBwYXJlbnRzIFRoZSBwYXJlbnQgbm9kZXMgb2YgdGhlIGRldmljZSB0byBzZWxlY3QgdGhlIHByZWZlcmVkIG9uZS5cbiAgICovXG4gIHByZWZlckJyZWFkY3J1bWIocGFyZW50czogTmF2aWdhdG9yTm9kZVtdKSB7XG4gICAgaWYgKHBhcmVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLnNlbGVjdFByZWZlcnJlZEJ5UGF0aChwYXJlbnRzWzBdLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVGaWx0ZXIoZXh0cmFQYXJhbXM6IGFueSA9IHt9KSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgY3VycmVudFBhZ2U6IDEsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZSxcbiAgICAgIHBhZ2VTaXplOiAxMFxuICAgIH07XG4gICAgcmV0dXJuIHsgLi4ucGFyYW1zLCAuLi5leHRyYVBhcmFtcyB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbWJpbmVkUXVlcnkocXVlcnksIG9yZGVyQnlRdWVyeSkge1xuICAgIGxldCBjb21iaW5lZFF1ZXJ5O1xuICAgIGlmIChxdWVyeSAmJiBvcmRlckJ5UXVlcnkpIHtcbiAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KHtcbiAgICAgICAgX191c2VGaWx0ZXJRdWVyeVN0cmluZzogcXVlcnlcbiAgICAgIH0pO1xuICAgICAgY29tYmluZWRRdWVyeSA9IGAke2ZpbHRlclF1ZXJ5fSAke29yZGVyQnlRdWVyeX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21iaW5lZFF1ZXJ5ID0gcXVlcnkgfHwgb3JkZXJCeVF1ZXJ5IHx8ICcnO1xuICAgIH1cbiAgICByZXR1cm4gY29tYmluZWRRdWVyeTtcbiAgfVxufVxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9hc3NldHMtbmF2aWdhdG9yLyIsInNvdXJjZXMiOlsiYXNzZXQtbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUF3QixzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVFyRCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQU8zQixZQUNTLFNBQTJCLEVBQzNCLE1BQTBCLEVBQzFCLFVBQXNCLEVBQ3RCLEtBQW1CLEVBQ25CLEtBQW1CLEVBQ2hCLGlCQUFvQyxFQUNwQyxJQUFpQixFQUNqQixRQUF5QixFQUNnQixZQUFrQztR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bnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgUXVlcmllc1V0aWwsIFVzZXJTZXJ2aWNlLCBJTWFuYWdlZE9iamVjdCwgSVJlc3VsdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gIE1vZGFsU2VydmljZSxcbiAgTmF2aWdhdG9yTm9kZSxcbiAgQXBwU3RhdGVTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYXBpJztcbmltcG9ydCB7IGVtcHR5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXROb2RlIH0gZnJvbSAnLi9hc3NldC1ub2RlJztcbmltcG9ydCB7IEFzc2V0TmF2aWdhdG9yQ29uZmlnLCBBU1NFVF9OQVZJR0FUT1JfQ09ORklHIH0gZnJvbSAnLi9hc3NldC1ub2RlLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljR3JvdXBOb2RlIH0gZnJvbSAnLi9keW5hbWljLWdyb3VwLW5vZGUnO1xuaW1wb3J0IHsgR3JvdXBGcmFnbWVudCB9IGZyb20gJy4vZ3JvdXAtZnJhZ21lbnQubW9kZWwnO1xuaW1wb3J0IHsgRGV2aWNlR3JvdXBTZXJ2aWNlIH0gZnJvbSAnLi9ncm91cC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBc3NldE5vZGVNbyB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFzc2V0Tm9kZVNlcnZpY2Uge1xuICByb290Tm9kZTogQXNzZXROb2RlO1xuICBmaXJzdFVybCA9IHRydWU7XG4gIGRyYWdnZWREYXRhOiBBc3NldE5vZGU7XG4gIHF1ZXJpZXNVdGlsOiBRdWVyaWVzVXRpbDtcbiAgcHJvdGVjdGVkIFBBR0VfU0laRSA9IDIwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHVibGljIGdyb3VwczogRGV2aWNlR3JvdXBTZXJ2aWNlLFxuICAgIHB1YmxpYyBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgIHB1YmxpYyBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHB1YmxpYyBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXI6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRfTkFWSUdBVE9SX0NPTkZJRykgcHVibGljIG1vZHVsZUNvbmZpZzogQXNzZXROYXZpZ2F0b3JDb25maWdcbiAgKSB7XG4gICAgdGhpcy5tb2R1bGVDb25maWcgPSB7XG4gICAgICByb290Tm9kZVByaW9yaXR5OiAyMDAwLFxuICAgICAgLi4uKG1vZHVsZUNvbmZpZyB8fCB7fSlcbiAgICB9O1xuICAgIHRoaXMucXVlcmllc1V0aWwgPSBuZXcgUXVlcmllc1V0aWwoKTtcbiAgfVxuXG4gIGNyZWF0ZVJvb3ROb2RlKCkge1xuICAgIHRoaXMucm9vdE5vZGUgPSB0aGlzLmNyZWF0ZUFzc2V0Tm9kZSh7XG4gICAgICByb290OiB0cnVlLFxuICAgICAgcHJpb3JpdHk6IHRoaXMubW9kdWxlQ29uZmlnLnJvb3ROb2RlUHJpb3JpdHlcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5yb290Tm9kZTtcbiAgfVxuXG4gIGNyZWF0ZUR5bmFtaWNHcm91cE5vZGUoY29uZmlnKSB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljR3JvdXBOb2RlKHRoaXMsIGNvbmZpZyk7XG4gIH1cblxuICBjcmVhdGVBc3NldE5vZGUoY29uZmlnKSB7XG4gICAgcmV0dXJuIG5ldyBBc3NldE5vZGUodGhpcywgY29uZmlnKTtcbiAgfVxuXG4gIGNyZWF0ZUNoaWxkTm9kZShtYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBtYW5hZ2VkT2JqZWN0O1xuICAgIGNvbnN0IGNvbmZpZzogUGFydGlhbDxBc3NldE5vZGU+ID0geyBtbzogbWFuYWdlZE9iamVjdCB9O1xuICAgIGlmICh0eXBlID09PSBHcm91cEZyYWdtZW50LmR5bmFtaWNHcm91cFR5cGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUR5bmFtaWNHcm91cE5vZGUoY29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQXNzZXROb2RlKGNvbmZpZyk7XG4gIH1cblxuICBnZXRSb290Tm9kZXMoY3VzdG9tRmlsdGVyPzogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBkZWZhdWx0RmlsdGVyID0ge1xuICAgICAgcGFnZVNpemU6IHRoaXMuUEFHRV9TSVpFLFxuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkodGhpcy5uYXZSb290UXVlcnlGaWx0ZXIoKSlcbiAgICB9O1xuICAgIGNvbnN0IGdyb3VwRmlsdGVyID0gY3VzdG9tRmlsdGVyID8gY3VzdG9tRmlsdGVyIDogZGVmYXVsdEZpbHRlcjtcblxuICAgIC8vIGR1ZSB0byBCRSBwZXJmb3JtYW5jZSBsaW1pdGF0aW9ucyB3ZSBkbyBub3QgYWxsb3cgZmlsdGVyaW5nIGFuZCBzb3J0aW5nIGZvciBhIHVzZXIgd2l0aG91dCBpbnZlbnRvcnkgcm9sZXNcbiAgICBpZiAoIXRoaXMudXNlci5oYXNSb2xlKHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUsICdST0xFX0lOVkVOVE9SWV9SRUFEJykpIHtcbiAgICAgIGRlbGV0ZSBncm91cEZpbHRlci5xdWVyeTtcbiAgICAgIE9iamVjdC5hc3NpZ24oZ3JvdXBGaWx0ZXIsIHtcbiAgICAgICAgZnJhZ21lbnRUeXBlOiBHcm91cEZyYWdtZW50Lmdyb3VwRnJhZ21lbnRUeXBlLFxuICAgICAgICBvbmx5Um9vdHM6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnkubGlzdCh0aGlzLmNyZWF0ZUZpbHRlcihncm91cEZpbHRlcikpO1xuICB9XG5cbiAgZ2V0R3JvdXBJdGVtcyhtb0lkOiBzdHJpbmcsIGV4dHJhRmlsdGVyOiBvYmplY3QgPSB7fSkge1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0ge1xuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLlBBR0VfU0laRSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmdyb3VwUXVlcnlGaWx0ZXIobW9JZClcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeS5jaGlsZEFzc2V0c0xpc3QobW9JZCwgeyAuLi5xdWVyeUZpbHRlciwgLi4uZXh0cmFGaWx0ZXIgfSk7XG4gIH1cblxuICBnZXREeW5hbWljR3JvdXBJdGVtcyhncm91cFF1ZXJ5OiBzdHJpbmcsIGZpbHRlck9iajogYW55ID0ge30pIHtcbiAgICBjb25zdCB7IHF1ZXJ5LCAuLi5xdWVyeVBhcmFtcyB9ID0gZmlsdGVyT2JqO1xuICAgIGNvbnN0IG9yZGVyQnlRdWVyeSA9IHF1ZXJ5O1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0ge1xuICAgICAgcTogdGhpcy5idWlsZENvbWJpbmVkUXVlcnkoZ3JvdXBRdWVyeSwgb3JkZXJCeVF1ZXJ5KSxcbiAgICAgIC4uLnF1ZXJ5UGFyYW1zXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnkubGlzdCh0aGlzLmNyZWF0ZUZpbHRlcihxdWVyeUZpbHRlcikpO1xuICB9XG5cbiAgZ2V0RGV2aWNlQ2hpbGRyZW4obW9JZDogc3RyaW5nLCBleHRyYUZpbHRlcjogb2JqZWN0ID0ge30pIHtcbiAgICBjb25zdCBxdWVyeUZpbHRlciA9IHtcbiAgICAgIHdpdGhDaGlsZHJlbjogZmFsc2UsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5QQUdFX1NJWkUsXG4gICAgICBxdWVyeTogdGhpcy5ncm91cFF1ZXJ5RmlsdGVyKG1vSWQpXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnkuY2hpbGREZXZpY2VzTGlzdChtb0lkLCB7IC4uLnF1ZXJ5RmlsdGVyLCAuLi5leHRyYUZpbHRlciB9KTtcbiAgfVxuXG4gIGdyb3VwUXVlcnlGaWx0ZXIobW9JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAkZmlsdGVyPShieWdyb3VwaWQoJHttb0lkfSkpJG9yZGVyYnk9bmFtZWA7XG4gIH1cblxuICBuYXZSb290UXVlcnlGaWx0ZXIoKSB7XG4gICAgY29uc3QgbmF2Um9vdEZpbHRlciA9IHRoaXMucm9vdFF1ZXJ5RmlsdGVyKCk7XG4gICAgbmF2Um9vdEZpbHRlci5fX29yZGVyYnkgPSBbeyBuYW1lOiAxIH1dO1xuICAgIHJldHVybiBuYXZSb290RmlsdGVyO1xuICB9XG5cbiAgcm9vdFF1ZXJ5RmlsdGVyKCkge1xuICAgIGNvbnN0IHsgbW9kdWxlQ29uZmlnIH0gPSB0aGlzO1xuICAgIGNvbnN0IHJvb3RGaWx0ZXIgPSB7XG4gICAgICBfX2ZpbHRlcjoge1xuICAgICAgICB0eXBlOiBgJHtHcm91cEZyYWdtZW50Lmdyb3VwVHlwZX1gXG4gICAgICB9LFxuICAgICAgX19vcmRlcmJ5OiBbXVxuICAgIH07XG4gICAgaWYgKG1vZHVsZUNvbmZpZy5zbWFydEdyb3Vwcykge1xuICAgICAgY29uc3QgcXVlcnlGaWx0ZXIgPSB7XG4gICAgICAgIF9fZmlsdGVyOiB7XG4gICAgICAgICAgX19hbmQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogYCR7R3JvdXBGcmFnbWVudC5keW5hbWljR3JvdXBUeXBlfWBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9faGFzOiBgJHtHcm91cEZyYWdtZW50LmR5bmFtaWNHcm91cEZyYWdtZW50fWBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IF9fbm90OiB7IF9faGFzOiBgJHtHcm91cEZyYWdtZW50LmR5bmFtaWNHcm91cEZyYWdtZW50fS5pbnZpc2libGVgIH0gfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMucXVlcmllc1V0aWwuYWRkT3JGaWx0ZXIocm9vdEZpbHRlciwgcXVlcnlGaWx0ZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcm9vdEZpbHRlcjtcbiAgfVxuXG4gIG9uVXBkYXRlKHsgbW8sIHJvb3QgfSkge1xuICAgIGlmIChtby5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgICAuaG9va1Jlc3BvbnNlKFxuICAgICAgICAgICh7IHVybCwgbWV0aG9kIH0pID0+XG4gICAgICAgICAgICBbJ1BVVCcsICdERUxFVEUnLCAnUE9TVCddLmluY2x1ZGVzKG1ldGhvZCkgJiZcbiAgICAgICAgICAgIFJlZ0V4cChgKChpbnZlbnRvcnkvbWFuYWdlZE9iamVjdHMpfChzZXJ2aWNlL3NtYXJ0Z3JvdXAvc21hcnRncm91cHMpKS8ke21vLmlkfWApLnRlc3QoXG4gICAgICAgICAgICAgIHVybFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kcmFnZ2VkRGF0YSksXG4gICAgICAgICAgbWVyZ2VNYXAodGhpcy5hcGlTZXJ2aWNlLnJlc29sdmVEYXRhKSxcbiAgICAgICAgICBmaWx0ZXIocmVzcG9uc2UgPT4gIXJlc3BvbnNlLmRhdGEuYzh5X0Rhc2hib2FyZClcbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHJvb3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgICAgLmhvb2tSZXNwb25zZShcbiAgICAgICAgICAoeyB1cmwsIG1ldGhvZCB9KSA9PlxuICAgICAgICAgICAgUmVnRXhwKCcoKGludmVudG9yeS9tYW5hZ2VkT2JqZWN0cyl8KHNlcnZpY2Uvc21hcnRncm91cC9zbWFydGdyb3VwcykpLz8kJykudGVzdCh1cmwpICYmXG4gICAgICAgICAgICBtZXRob2QgPT09ICdQT1NUJ1xuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKHRoaXMuYXBpU2VydmljZS5yZXNvbHZlRGF0YSksXG4gICAgICAgICAgZmlsdGVyKHJlc3BvbnNlID0+IHRoaXMuaXNOZXdNYW5hZ2VkT2JqZWN0Um9vdChyZXNwb25zZSkpXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzTmV3TWFuYWdlZE9iamVjdFJvb3QocmVzcG9uc2U6IFBhcnRpYWw8SVJlc3VsdDxJTWFuYWdlZE9iamVjdD4+ID0ge30pIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IHJlc3BvbnNlO1xuICAgIGxldCBpc1Jvb3RBc3NldCA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgaXNSb290QXNzZXQgPSAhIWRhdGFbR3JvdXBGcmFnbWVudC5ncm91cEZyYWdtZW50VHlwZV07XG4gICAgICBpZiAoIWlzUm9vdEFzc2V0ICYmIHRoaXMubW9kdWxlQ29uZmlnLnNtYXJ0R3JvdXBzKSB7XG4gICAgICAgIGlzUm9vdEFzc2V0ID0gISFkYXRhW0dyb3VwRnJhZ21lbnQuZHluYW1pY0dyb3VwRnJhZ21lbnRdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNSb290QXNzZXQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlcmUgY291bGQgYmUgbXVsdGlwbGUgYnJlYWRjcnVtYnMgZm9yIGRldmljZXMsXG4gICAqIHNvIHdlIHNldCBhIHByZWZlcnJlZCBvbmUgb24gY2xpY2sgb24gYSBkZXZpY2UuXG4gICAqIEBwYXJhbSBwYXJlbnRzIFRoZSBwYXJlbnQgbm9kZXMgb2YgdGhlIGRldmljZSB0byBzZWxlY3QgdGhlIHByZWZlcmVkIG9uZS5cbiAgICovXG4gIHByZWZlckJyZWFkY3J1bWIocGFyZW50czogTmF2aWdhdG9yTm9kZVtdKSB7XG4gICAgaWYgKHBhcmVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLnNlbGVjdFByZWZlcnJlZEJ5UGF0aChwYXJlbnRzWzBdLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVGaWx0ZXIoZXh0cmFQYXJhbXM6IGFueSA9IHt9KSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgY3VycmVudFBhZ2U6IDEsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZSxcbiAgICAgIHBhZ2VTaXplOiAxMFxuICAgIH07XG4gICAgcmV0dXJuIHsgLi4ucGFyYW1zLCAuLi5leHRyYVBhcmFtcyB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbWJpbmVkUXVlcnkocXVlcnksIG9yZGVyQnlRdWVyeSkge1xuICAgIGxldCBjb21iaW5lZFF1ZXJ5O1xuICAgIGlmIChxdWVyeSAmJiBvcmRlckJ5UXVlcnkpIHtcbiAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KHtcbiAgICAgICAgX191c2VGaWx0ZXJRdWVyeVN0cmluZzogcXVlcnlcbiAgICAgIH0pO1xuICAgICAgY29tYmluZWRRdWVyeSA9IGAke2ZpbHRlclF1ZXJ5fSAke29yZGVyQnlRdWVyeX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21iaW5lZFF1ZXJ5ID0gcXVlcnkgfHwgb3JkZXJCeVF1ZXJ5IHx8ICcnO1xuICAgIH1cbiAgICByZXR1cm4gY29tYmluZWRRdWVyeTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import * as tslib_1 from "tslib";
2
2
  import { Component, Output, Input, EventEmitter, ViewChild } from '@angular/core';
3
3
  import { DropAreaComponent } from '../drop-area/drop-area.component';
4
+ import { isEmpty } from 'lodash-es';
4
5
  /**
5
6
  * User can upload a binary directly or use an URL.
6
7
  *
@@ -76,6 +77,12 @@ let FilePickerComponent = class FilePickerComponent {
76
77
  };
77
78
  this.onFilesPicked.emit(this.fileToSave);
78
79
  }
80
+ /**
81
+ * Checks if there is popover to display.
82
+ */
83
+ isPopoverUsed() {
84
+ return !isEmpty(this.fileUrlPopover);
85
+ }
79
86
  };
80
87
  tslib_1.__decorate([
81
88
  ViewChild(DropAreaComponent, { static: true })
@@ -95,11 +102,14 @@ tslib_1.__decorate([
95
102
  tslib_1.__decorate([
96
103
  Input()
97
104
  ], FilePickerComponent.prototype, "fileBinary", void 0);
105
+ tslib_1.__decorate([
106
+ Input()
107
+ ], FilePickerComponent.prototype, "fileUrlPopover", void 0);
98
108
  FilePickerComponent = tslib_1.__decorate([
99
109
  Component({
100
110
  selector: 'c8y-file-picker',
101
- template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label title=\"{{ 'Use a URL' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>{{ 'Use a URL' | translate }}</span>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n >\n </c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n"
111
+ template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label title=\"{{ 'Provide a file path' | translate }}\" class=\"c8y-radio radio-inline m-l-8\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n *ngIf=\"isPopoverUsed()\"\n class=\"btn btn-clean text-primary m-l-4\"\n type=\"button\"\n popover=\"{{ fileUrlPopover | translate }}\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n >\n <i [c8yIcon]=\"'question-circle-o'\"></i>\n </button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n >\n </c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n"
102
112
  })
103
113
  ], FilePickerComponent);
104
114
  export { FilePickerComponent };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRjs7Ozs7Ozs7Ozs7R0FXRztBQU1ILElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBakJoQzs7Ozs7Ozs7Ozs7T0FXRztJQUVIO1FBTVksa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxvQkFBZSxHQUFXLFFBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFpQyxjQUFjLENBQUM7SUF3RHZFLENBQUM7SUFqREM7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsWUFBMkI7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsWUFBWTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLE1BQU07UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLEVBQUUsTUFBTTtTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGLENBQUE7QUEzRGlEO0lBQS9DLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztxREFBNkI7QUFDbEU7SUFBVCxNQUFNLEVBQUU7MERBQStEO0FBQy9EO0lBQVIsS0FBSyxFQUFFOzREQUFvQztBQUNuQztJQUFSLEtBQUssRUFBRTt5REFBNkQ7QUFDNUQ7SUFBUixLQUFLLEVBQUU7b0RBQWlCO0FBQ2hCO0lBQVIsS0FBSyxFQUFFO3VEQUF5QjtBQU50QixtQkFBbUI7SUFKL0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQiwydERBQTJDO0tBQzVDLENBQUM7R0FDVyxtQkFBbUIsQ0E0RC9CO1NBNURZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJvcHBlZEZpbGUsIERyb3BBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcC1hcmVhL2Ryb3AtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlja2VkRmlsZXMgfSBmcm9tICcuL2ZpbGUtcGlja2VyLm1vZGVsJztcblxuLyoqXG4gKiBVc2VyIGNhbiB1cGxvYWQgYSBiaW5hcnkgZGlyZWN0bHkgb3IgdXNlIGFuIFVSTC5cbiAqXG4gKiAjIyBVc2FnZSBFeGFtcGxlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXY+XG4gKiA8Yzh5LWZpbGUtcGlja2VyIFttYXhBbGxvd2VkRmlsZXNdPVwiMVwiIChvbkZpbGVzUGlja2VkKT1cIm9uRmlsZSgkZXZlbnQpXCI+XG4gKiA8L2M4eS1maWxlLXBpY2tlcj5cbiAqIDwvZGl2PlxuICogYGBgXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWZpbGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChEcm9wQXJlYUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgZHJvcEFyZWE6IERyb3BBcmVhQ29tcG9uZW50O1xuICBAT3V0cHV0KCkgb25GaWxlc1BpY2tlZDogRXZlbnRFbWl0dGVyPFBpY2tlZEZpbGVzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgbWF4QWxsb3dlZEZpbGVzOiBudW1iZXIgPSBJbmZpbml0eTtcbiAgQElucHV0KCkgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIEBJbnB1dCgpIGZpbGVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgZmlsZUJpbmFyeTogRHJvcHBlZEZpbGU7XG5cbiAgZHJvcHBlZEZpbGVzOiBEcm9wcGVkRmlsZVtdO1xuICBwcml2YXRlIGZpbGVUb1NhdmU6IFBpY2tlZEZpbGVzO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlQmluYXJ5KSB7XG4gICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFt0aGlzLmZpbGVCaW5hcnldO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgYnkgZHJvcHBlZCBmaWxlIGluIGNvbXBvbmVudCBhbmQgcGFzcyBpdCBpbnRvIGRyb3AtYXJlYSBjb21wb25lbnQuXG4gICAqL1xuICBvbkZpbGVEcm9wcGVkKGRyb3BwZWRGaWxlczogRHJvcHBlZEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHtcbiAgICAgIGRyb3BwZWRGaWxlc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgY2hhbmdlcyB1cGxvYWQgY2hvaWNlLCBmcm9tIHVwbG9hZCB1cmwgdG8gdXBsb2FkIGJpbmFyeS5cbiAgICovXG4gIGNsZWFySW5wdXRGcm9tVXJsKCk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLmZpbGVVcmw7XG4gICAgdGhpcy5maWxlVG9TYXZlID0ge1xuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHRoaXMuZmlsZVRvU2F2ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBjaGFuZ2VzIHVwbG9hZCBjaG9pY2UsIHRvIGF2b2lkIGN1bXVsYXRpb24gb2YgZHJvcHBlZEZpbGVzLlxuICAgKi9cbiAgY2xlYXJTZWxlY3RlZEZpbGVzKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcEFyZWEub25EZWxldGUoKTtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICBkcm9wcGVkRmlsZXM6IHVuZGVmaW5lZFxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIHB1dHMgYmluYXJ5J3MgdXJsIHRvIHVwbG9hZC5cbiAgICovXG4gIG9uRmlsZVVybENoYW5nZSh1cmxTdHIpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICB1cmw6IHVybFN0clxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDOzs7Ozs7Ozs7OztHQVdHO0FBTUgsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFqQmhDOzs7Ozs7Ozs7OztPQVdHO0lBRUg7UUFNWSxrQkFBYSxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG9CQUFlLEdBQVcsUUFBUSxDQUFDO1FBQ25DLGlCQUFZLEdBQWlDLGNBQWMsQ0FBQztJQW1FdkUsQ0FBQztJQXhEQzs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxZQUEyQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxFQUFFLFNBQVM7U0FDZixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsWUFBWSxFQUFFLFNBQVM7U0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsTUFBTTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxNQUFNO1NBQ1osQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGLENBQUE7QUF0RWlEO0lBQS9DLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztxREFBNkI7QUFDbEU7SUFBVCxNQUFNLEVBQUU7MERBQStEO0FBQy9EO0lBQVIsS0FBSyxFQUFFOzREQUFvQztBQUNuQztJQUFSLEtBQUssRUFBRTt5REFBNkQ7QUFDNUQ7SUFBUixLQUFLLEVBQUU7b0RBQWlCO0FBQ2hCO0lBQVIsS0FBSyxFQUFFO3VEQUF5QjtBQUl4QjtJQUFSLEtBQUssRUFBRTsyREFBd0I7QUFWckIsbUJBQW1CO0lBSi9CLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7UUFDM0Isa2tFQUEyQztLQUM1QyxDQUFDO0dBQ1csbUJBQW1CLENBdUUvQjtTQXZFWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BwZWRGaWxlLCBEcm9wQXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtYXJlYS9kcm9wLWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnLi9maWxlLXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuLyoqXG4gKiBVc2VyIGNhbiB1cGxvYWQgYSBiaW5hcnkgZGlyZWN0bHkgb3IgdXNlIGFuIFVSTC5cbiAqXG4gKiAjIyBVc2FnZSBFeGFtcGxlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXY+XG4gKiA8Yzh5LWZpbGUtcGlja2VyIFttYXhBbGxvd2VkRmlsZXNdPVwiMVwiIChvbkZpbGVzUGlja2VkKT1cIm9uRmlsZSgkZXZlbnQpXCI+XG4gKiA8L2M4eS1maWxlLXBpY2tlcj5cbiAqIDwvZGl2PlxuICogYGBgXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWZpbGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChEcm9wQXJlYUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgZHJvcEFyZWE6IERyb3BBcmVhQ29tcG9uZW50O1xuICBAT3V0cHV0KCkgb25GaWxlc1BpY2tlZDogRXZlbnRFbWl0dGVyPFBpY2tlZEZpbGVzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgbWF4QWxsb3dlZEZpbGVzOiBudW1iZXIgPSBJbmZpbml0eTtcbiAgQElucHV0KCkgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIEBJbnB1dCgpIGZpbGVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgZmlsZUJpbmFyeTogRHJvcHBlZEZpbGU7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgaW4gYSBwb3BvdmVyLlxuICAgKi9cbiAgQElucHV0KCkgZmlsZVVybFBvcG92ZXI6IHN0cmluZztcblxuICBkcm9wcGVkRmlsZXM6IERyb3BwZWRGaWxlW107XG4gIHByaXZhdGUgZmlsZVRvU2F2ZTogUGlja2VkRmlsZXM7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVCaW5hcnkpIHtcbiAgICAgIHRoaXMuZHJvcHBlZEZpbGVzID0gW3RoaXMuZmlsZUJpbmFyeV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBieSBkcm9wcGVkIGZpbGUgaW4gY29tcG9uZW50IGFuZCBwYXNzIGl0IGludG8gZHJvcC1hcmVhIGNvbXBvbmVudC5cbiAgICovXG4gIG9uRmlsZURyb3BwZWQoZHJvcHBlZEZpbGVzOiBEcm9wcGVkRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQoe1xuICAgICAgZHJvcHBlZEZpbGVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBjaGFuZ2VzIHVwbG9hZCBjaG9pY2UsIGZyb20gdXBsb2FkIHVybCB0byB1cGxvYWQgYmluYXJ5LlxuICAgKi9cbiAgY2xlYXJJbnB1dEZyb21VcmwoKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuZmlsZVVybDtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIGNoYW5nZXMgdXBsb2FkIGNob2ljZSwgdG8gYXZvaWQgY3VtdWxhdGlvbiBvZiBkcm9wcGVkRmlsZXMuXG4gICAqL1xuICBjbGVhclNlbGVjdGVkRmlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wQXJlYS5vbkRlbGV0ZSgpO1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIGRyb3BwZWRGaWxlczogdW5kZWZpbmVkXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgcHV0cyBiaW5hcnkncyB1cmwgdG8gdXBsb2FkLlxuICAgKi9cbiAgb25GaWxlVXJsQ2hhbmdlKHVybFN0cik6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIHVybDogdXJsU3RyXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGVyZSBpcyBwb3BvdmVyIHRvIGRpc3BsYXkuXG4gICAqL1xuICBpc1BvcG92ZXJVc2VkKCkge1xuICAgIHJldHVybiAhaXNFbXB0eSh0aGlzLmZpbGVVcmxQb3BvdmVyKTtcbiAgfVxufVxuIl19
@@ -6,6 +6,7 @@ import { DropAreaModule } from '../drop-area/drop-area.module';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { FormsModule as C8yFormsModule } from '../forms/forms.module';
9
+ import { PopoverModule } from 'ngx-bootstrap/popover';
9
10
  /**
10
11
  * The angular module definition for a drop-area.
11
12
  * @exports FilePickerComponent
@@ -19,15 +20,12 @@ FilePickerModule = tslib_1.__decorate([
19
20
  CommonModule,
20
21
  DropAreaModule,
21
22
  FormsModule,
22
- C8yCommonModule
23
+ C8yCommonModule,
24
+ PopoverModule
23
25
  ],
24
- exports: [
25
- FilePickerComponent,
26
- ],
27
- declarations: [
28
- FilePickerComponent,
29
- ]
26
+ exports: [FilePickerComponent],
27
+ declarations: [FilePickerComponent]
30
28
  })
31
29
  ], FilePickerModule);
32
30
  export { FilePickerModule };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RTs7O0dBR0c7QUFnQkgsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7Q0FBSSxDQUFBO0FBQXBCLGdCQUFnQjtJQWY1QixRQUFRLENBQUM7UUFDUixPQUFPLEVBQUU7WUFDUCxjQUFjO1lBQ2QsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZUFBZTtTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNQLG1CQUFtQjtTQUNwQjtRQUNELFlBQVksRUFBRTtZQUNaLG1CQUFtQjtTQUNwQjtLQUNGLENBQUM7R0FDVyxnQkFBZ0IsQ0FBSTtTQUFwQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIGFzIEM4eUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEZpbGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wQXJlYU1vZHVsZSB9IGZyb20gJy4uL2Ryb3AtYXJlYS9kcm9wLWFyZWEubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIGFzIEM4eUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvZm9ybXMubW9kdWxlJztcblxuLyoqXG4gKiBUaGUgYW5ndWxhciBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgYSBkcm9wLWFyZWEuXG4gKiBAZXhwb3J0cyBGaWxlUGlja2VyQ29tcG9uZW50XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDOHlGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcEFyZWFNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQzh5Q29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWxlUGlja2VyQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWxlUGlja2VyQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJNb2R1bGUgeyB9XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQ7OztHQUdHO0FBYUgsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7Q0FBRyxDQUFBO0FBQW5CLGdCQUFnQjtJQVo1QixRQUFRLENBQUM7UUFDUixPQUFPLEVBQUU7WUFDUCxjQUFjO1lBQ2QsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7U0FDZDtRQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ3BDLENBQUM7R0FDVyxnQkFBZ0IsQ0FBRztTQUFuQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIGFzIEM4eUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEZpbGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wQXJlYU1vZHVsZSB9IGZyb20gJy4uL2Ryb3AtYXJlYS9kcm9wLWFyZWEubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIGFzIEM4eUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvZm9ybXMubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3BvcG92ZXInO1xuXG4vKipcbiAqIFRoZSBhbmd1bGFyIG1vZHVsZSBkZWZpbml0aW9uIGZvciBhIGRyb3AtYXJlYS5cbiAqIEBleHBvcnRzIEZpbGVQaWNrZXJDb21wb25lbnRcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEM4eUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wQXJlYU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDOHlDb21tb25Nb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbRmlsZVBpY2tlckNvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW0ZpbGVQaWNrZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJNb2R1bGUge31cbiJdfQ==
@@ -20,6 +20,11 @@ let ConfigurationDetailComponent = class ConfigurationDetailComponent {
20
20
  this.mo = {};
21
21
  this.saving = false;
22
22
  this.uploadChoice = 'uploadBinary';
23
+ this.textForConfigurationUrlPopover = gettext(`Path for binaries can vary depending on device agent implementation, e.g.:
24
+ /configuration/binaries/configuration1.bin
25
+ https://configuration/binary/123
26
+ ftp://configuration/binary/123.tar.gz
27
+ `);
23
28
  this.result = new Promise((resolve, reject) => {
24
29
  this._save = resolve;
25
30
  this._cancel = reject;
@@ -104,8 +109,8 @@ tslib_1.__decorate([
104
109
  ConfigurationDetailComponent = tslib_1.__decorate([
105
110
  Component({
106
111
  selector: 'c8y-configuration-detail',
107
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'cogs'\"></i>\n <h4 translate *ngIf=\"mo.id\">Update configuration</h4>\n <h4 translate *ngIf=\"!mo.id\">Add configuration</h4>\n </div>\n\n <form class=\"d-contents\" #configurationForm=\"ngForm\" (ngSubmit)=\"configurationForm.form.valid && save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} hosts\"\n autocomplete=\"off\"\n required\n maxlength=\"254\"\n [(ngModel)]=\"version\"\n name=\"version\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"deviceType\"\n name=\"deviceType\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Host configuration' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"description\"\n name=\"description\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n name=\"confType\"\n placeholder=\"{{ 'e.g.' | translate }} ssh\"\n (onSearch)=\"setPipe($event)\"\n displayProperty=\"configurationType\"\n >\n <c8y-li\n *c8yFor=\"let config of configs; pipe: filterPipe; notFound: notFoundTemplate\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selected = config; setPipe('')\"\n [active]=\"selected === config\"\n >\n <c8y-highlight\n [text]=\"config.configurationType || '--'\"\n [pattern]=\"pattern\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"pattern.length > 0\">\n <span translate>No match found, add new`configuration`?</span>\n <button title=\"Create new`configuration`\" type=\"button\" class=\"btn btn-primary btn-xs m-l-16\" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Configuration file</div>\n <c8y-file-picker\n [maxAllowedFiles]=\"1\"\n (onFilesPicked)=\"onFile($event)\"\n [uploadChoice]=\"uploadChoice\"\n [fileUrl]=\"binary.url\"\n [fileBinary]=\"binary.file\"\n >\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n [disabled]=\"saving\"\n >\n <span translate>Cancel</span>\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n title=\"{{ submitButtonTitle | translate }}\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !configurationForm.valid ||\n configurationForm.pristine ||\n (!binary?.url && !binary?.file) ||\n saving\n \"\n >\n {{ submitButtonTitle | translate }}\n </button>\n </div>\n </form>\n</div>\n"
112
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'cogs'\"></i>\n <h4 translate *ngIf=\"mo.id\">Update configuration</h4>\n <h4 translate *ngIf=\"!mo.id\">Add configuration</h4>\n </div>\n\n <form class=\"d-contents\" #configurationForm=\"ngForm\" (ngSubmit)=\"configurationForm.form.valid && save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} hosts\"\n autocomplete=\"off\"\n required\n maxlength=\"254\"\n [(ngModel)]=\"version\"\n name=\"version\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"deviceType\"\n name=\"deviceType\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Host configuration' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"description\"\n name=\"description\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n name=\"confType\"\n placeholder=\"{{ 'e.g.' | translate }} ssh\"\n (onSearch)=\"setPipe($event)\"\n displayProperty=\"configurationType\"\n >\n <c8y-li\n *c8yFor=\"let config of configs; pipe: filterPipe; notFound: notFoundTemplate\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selected = config; setPipe('')\"\n [active]=\"selected === config\"\n >\n <c8y-highlight\n [text]=\"config.configurationType || '--'\"\n [pattern]=\"pattern\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"pattern.length > 0\">\n <span translate>No match found, add new`configuration`?</span>\n <button title=\"Create new`configuration`\" type=\"button\" class=\"btn btn-primary btn-xs m-l-16\" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Configuration file</div>\n <c8y-file-picker\n [maxAllowedFiles]=\"1\"\n (onFilesPicked)=\"onFile($event)\"\n [uploadChoice]=\"uploadChoice\"\n [fileUrl]=\"binary.url\"\n [fileBinary]=\"binary.file\"\n [fileUrlPopover]=\"textForConfigurationUrlPopover\"\n >\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n [disabled]=\"saving\"\n >\n <span translate>Cancel</span>\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n title=\"{{ submitButtonTitle | translate }}\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !configurationForm.valid ||\n configurationForm.pristine ||\n (!binary?.url && !binary?.file) ||\n saving\n \"\n >\n {{ submitButtonTitle | translate }}\n </button>\n </div>\n </form>\n</div>\n"
108
113
  })
109
114
  ], ConfigurationDetailComponent);
110
115
  export { ConfigurationDetailComponent };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5LyIsInNvdXJjZXMiOlsiY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWRldGFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRCxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQTRCdkMsWUFDVSxpQkFBb0MsRUFDcEMsVUFBc0IsRUFDdEIsS0FBbUI7UUFGbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWM7UUExQjdCLFdBQU0sR0FBa0M7WUFDdEMsSUFBSSxFQUFFLFNBQVM7WUFDZixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBR3JCLE9BQUUsR0FBNEIsRUFBRSxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFpQyxjQUFjLENBQUM7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bmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IHVuaXFCeSwgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9kYWxNb2RlbCwgUmVwb3NpdG9yeVR5cGUgfSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1jb25maWd1cmF0aW9uLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maWd1cmF0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsTW9kZWwge1xuICBAVmlld0NoaWxkKCdjb25maWd1cmF0aW9uRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGNvbmZpZ3VyYXRpb25Gb3JtOiBOZ0Zvcm07XG4gIHNlbGVjdGVkOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGJpbmFyeTogeyBmaWxlPzogRmlsZTsgdXJsPzogc3RyaW5nIH0gPSB7XG4gICAgZmlsZTogdW5kZWZpbmVkLFxuICAgIHVybDogdW5kZWZpbmVkXG4gIH07XG4gIGRldmljZVR5cGU6IHN0cmluZztcblxuICBwYXR0ZXJuOiBzdHJpbmcgPSAnJztcbiAgZmlsdGVyUGlwZTtcbiAgY29uZmlncztcbiAgbW86IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge307XG4gIHNhdmluZyA9IGZhbHNlO1xuICB1cGxvYWRDaG9pY2U6ICd1cGxvYWRCaW5hcnknIHwgJ3VwbG9hZFVybCcgPSAndXBsb2FkQmluYXJ5JztcbiAgZXhpc3RpbmdCaW5hcnk6IEZpbGU7XG4gIHN1Ym1pdEJ1dHRvblRpdGxlOiBzdHJpbmc7XG5cbiAgcmVzdWx0OiBQcm9taXNlPHZvaWQ+ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHRoaXMuX3NhdmUgPSByZXNvbHZlO1xuICAgIHRoaXMuX2NhbmNlbCA9IHJlamVjdDtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2F2ZTtcbiAgcHJpdmF0ZSBfY2FuY2VsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVwb3NpdG9yeVNlcnZpY2U6IFJlcG9zaXRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbFJlZjogQnNNb2RhbFJlZixcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uZmlncyA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkNPTkZJR1VSQVRJT04pO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnVwbG9hZENob2ljZSA9IHRoaXMuYmluYXJ5LmZpbGUgPyAndXBsb2FkQmluYXJ5JyA6ICd1cGxvYWRVcmwnO1xuICAgICAgdGhpcy5leGlzdGluZ0JpbmFyeSA9IHRoaXMuYmluYXJ5LmZpbGU7XG4gICAgfVxuICAgIHRoaXMuc2V0UGlwZSgnJyk7XG4gICAgdGhpcy5zdWJtaXRCdXR0b25UaXRsZSA9IHRoaXMubW8uaWRcbiAgICAgID8gZ2V0dGV4dCgnVXBkYXRlIGNvbmZpZ3VyYXRpb24nKVxuICAgICAgOiBnZXR0ZXh0KCdBZGQgY29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gICAgdGhpcy5fY2FuY2VsKCk7XG4gIH1cblxuICBzZXRQaXBlKGZpbHRlclN0cjogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXR0ZXJuID0gZmlsdGVyU3RyO1xuICAgIHRoaXMuZmlsdGVyUGlwZSA9IHBpcGUoXG4gICAgICBtYXAoKGRhdGE6IFtdKSA9PiB1bmlxQnkoZGF0YSwgJ2NvbmZpZ3VyYXRpb25UeXBlJykpLFxuICAgICAgbWFwKChkYXRhOiBbXSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YS5maWx0ZXIoXG4gICAgICAgICAgKG1vOiBhbnkpID0+XG4gICAgICAgICAgICBtby5jb25maWd1cmF0aW9uVHlwZSAmJlxuICAgICAgICAgICAgbW8uY29uZmlndXJhdGlvblR5cGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlclN0ci50b0xvd2VyQ2FzZSgpKSA+IC0xXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvbkZpbGUoZHJvcHBlZDogUGlja2VkRmlsZXMpIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25Gb3JtLmZvcm0ubWFya0FzRGlydHkoKTtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKGRyb3BwZWQudXJsKSkge1xuICAgICAgdGhpcy5iaW5hcnkgPSB7XG4gICAgICAgIHVybDogZHJvcHBlZC51cmxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC5kcm9wcGVkRmlsZXMpKSB7XG4gICAgICB0aGlzLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogZHJvcHBlZC5kcm9wcGVkRmlsZXNbMF0uZmlsZVxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iaW5hcnkgPSB7XG4gICAgICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgeyBzZWxlY3RlZCwgdmVyc2lvbiwgZGVzY3JpcHRpb24sIGJpbmFyeSwgZGV2aWNlVHlwZSB9ID0gdGhpcztcbiAgICAgIGlmICh0aGlzLmV4aXN0aW5nQmluYXJ5ID09PSB0aGlzLmJpbmFyeS5maWxlKSB7XG4gICAgICAgIGJpbmFyeS5maWxlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5U2VydmljZS5zYXZlKFxuICAgICAgICB7IHNlbGVjdGVkLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgYmluYXJ5LCBkZXZpY2VUeXBlIH0sXG4gICAgICAgIFJlcG9zaXRvcnlUeXBlLkNPTkZJR1VSQVRJT04sXG4gICAgICAgIHRoaXMubW9cbiAgICAgICk7XG4gICAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoXG4gICAgICAgIHRoaXMubW8uaWQgPyBnZXR0ZXh0KCdDb25maWd1cmF0aW9uIHVwZGF0ZWQuJykgOiBnZXR0ZXh0KCdDb25maWd1cmF0aW9uIGNyZWF0ZWQuJylcbiAgICAgICk7XG4gICAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgICAgdGhpcy5fc2F2ZSgpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgICAgdGhpcy5fY2FuY2VsKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5LyIsInNvdXJjZXMiOlsiY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWRldGFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRCxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQWlDdkMsWUFDVSxpQkFBb0MsRUFDcEMsVUFBc0IsRUFDdEIsS0FBbUI7UUFGbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWM7UUEvQjdCLFdBQU0sR0FBa0M7WUFDdEMsSUFBSSxFQUFFLFNBQVM7WUFDZixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBR3JCLE9BQUUsR0FBNEIsRUFBRSxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFpQyxjQUFjLENBQUM7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bnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1bmlxQnksIGlzVW5kZWZpbmVkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vZGFsTW9kZWwsIFJlcG9zaXRvcnlUeXBlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktY29uZmlndXJhdGlvbi1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25EZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBNb2RhbE1vZGVsIHtcbiAgQFZpZXdDaGlsZCgnY29uZmlndXJhdGlvbkZvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb25maWd1cmF0aW9uRm9ybTogTmdGb3JtO1xuICBzZWxlY3RlZDogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBiaW5hcnk6IHsgZmlsZT86IEZpbGU7IHVybD86IHN0cmluZyB9ID0ge1xuICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICB1cmw6IHVuZGVmaW5lZFxuICB9O1xuICBkZXZpY2VUeXBlOiBzdHJpbmc7XG5cbiAgcGF0dGVybjogc3RyaW5nID0gJyc7XG4gIGZpbHRlclBpcGU7XG4gIGNvbmZpZ3M7XG4gIG1vOiBQYXJ0aWFsPElNYW5hZ2VkT2JqZWN0PiA9IHt9O1xuICBzYXZpbmcgPSBmYWxzZTtcbiAgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIGV4aXN0aW5nQmluYXJ5OiBGaWxlO1xuICBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xuICB0ZXh0Rm9yQ29uZmlndXJhdGlvblVybFBvcG92ZXI6IHN0cmluZyA9IGdldHRleHQoYFBhdGggZm9yIGJpbmFyaWVzIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBkZXZpY2UgYWdlbnQgaW1wbGVtZW50YXRpb24sIGUuZy46XG4gICAgL2NvbmZpZ3VyYXRpb24vYmluYXJpZXMvY29uZmlndXJhdGlvbjEuYmluXG4gICAgaHR0cHM6Ly9jb25maWd1cmF0aW9uL2JpbmFyeS8xMjNcbiAgICBmdHA6Ly9jb25maWd1cmF0aW9uL2JpbmFyeS8xMjMudGFyLmd6XG4gIGApO1xuXG4gIHJlc3VsdDogUHJvbWlzZTx2b2lkPiA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB0aGlzLl9zYXZlID0gcmVzb2x2ZTtcbiAgICB0aGlzLl9jYW5jZWwgPSByZWplY3Q7XG4gIH0pO1xuXG4gIHByaXZhdGUgX3NhdmU7XG4gIHByaXZhdGUgX2NhbmNlbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcG9zaXRvcnlTZXJ2aWNlOiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZ3MgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmxpc3RSZXBvc2l0b3J5RW50cmllcyhSZXBvc2l0b3J5VHlwZS5DT05GSUdVUkFUSU9OKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy51cGxvYWRDaG9pY2UgPSB0aGlzLmJpbmFyeS5maWxlID8gJ3VwbG9hZEJpbmFyeScgOiAndXBsb2FkVXJsJztcbiAgICAgIHRoaXMuZXhpc3RpbmdCaW5hcnkgPSB0aGlzLmJpbmFyeS5maWxlO1xuICAgIH1cbiAgICB0aGlzLnNldFBpcGUoJycpO1xuICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLm1vLmlkXG4gICAgICA/IGdldHRleHQoJ1VwZGF0ZSBjb25maWd1cmF0aW9uJylcbiAgICAgIDogZ2V0dGV4dCgnQWRkIGNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgIHRoaXMuX2NhbmNlbCgpO1xuICB9XG5cbiAgc2V0UGlwZShmaWx0ZXJTdHI6IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IGZpbHRlclN0cjtcbiAgICB0aGlzLmZpbHRlclBpcGUgPSBwaXBlKFxuICAgICAgbWFwKChkYXRhOiBbXSkgPT4gdW5pcUJ5KGRhdGEsICdjb25maWd1cmF0aW9uVHlwZScpKSxcbiAgICAgIG1hcCgoZGF0YTogW10pID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKFxuICAgICAgICAgIChtbzogYW55KSA9PlxuICAgICAgICAgICAgbW8uY29uZmlndXJhdGlvblR5cGUgJiZcbiAgICAgICAgICAgIG1vLmNvbmZpZ3VyYXRpb25UeXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJTdHIudG9Mb3dlckNhc2UoKSkgPiAtMVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25GaWxlKGRyb3BwZWQ6IFBpY2tlZEZpbGVzKSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uRm9ybS5mb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLnVybCkpIHtcbiAgICAgIHRoaXMuYmluYXJ5ID0ge1xuICAgICAgICB1cmw6IGRyb3BwZWQudXJsXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKGRyb3BwZWQuZHJvcHBlZEZpbGVzKSkge1xuICAgICAgdGhpcy5iaW5hcnkgPSB7XG4gICAgICAgIGZpbGU6IGRyb3BwZWQuZHJvcHBlZEZpbGVzWzBdLmZpbGVcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIHVybDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHsgc2VsZWN0ZWQsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBiaW5hcnksIGRldmljZVR5cGUgfSA9IHRoaXM7XG4gICAgICBpZiAodGhpcy5leGlzdGluZ0JpbmFyeSA9PT0gdGhpcy5iaW5hcnkuZmlsZSkge1xuICAgICAgICBiaW5hcnkuZmlsZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2Uuc2F2ZShcbiAgICAgICAgeyBzZWxlY3RlZCwgdmVyc2lvbiwgZGVzY3JpcHRpb24sIGJpbmFyeSwgZGV2aWNlVHlwZSB9LFxuICAgICAgICBSZXBvc2l0b3J5VHlwZS5DT05GSUdVUkFUSU9OLFxuICAgICAgICB0aGlzLm1vXG4gICAgICApO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKFxuICAgICAgICB0aGlzLm1vLmlkID8gZ2V0dGV4dCgnQ29uZmlndXJhdGlvbiB1cGRhdGVkLicpIDogZ2V0dGV4dCgnQ29uZmlndXJhdGlvbiBjcmVhdGVkLicpXG4gICAgICApO1xuICAgICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICAgIHRoaXMuX3NhdmUoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGV4KTtcbiAgICAgIHRoaXMuX2NhbmNlbCgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -26,6 +26,11 @@ let AddFirmwareModalComponent = class AddFirmwareModalComponent {
26
26
  };
27
27
  this.saving = false;
28
28
  this.firmwarePreselected = false;
29
+ this.textForFirmwareUrlPopover = gettext(`Path for binaries can vary depending on device agent implementation, e.g.:
30
+ /firmware/binaries/firmware1.bin
31
+ https://firmware/binary/123
32
+ ftp://firmware/binary/123.tar.gz
33
+ `);
29
34
  }
30
35
  ngOnInit() {
31
36
  this.setInitialState();
@@ -127,8 +132,8 @@ tslib_1.__decorate([
127
132
  AddFirmwareModalComponent = tslib_1.__decorate([
128
133
  Component({
129
134
  selector: 'c8y-add-firmware-software-modal',
130
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\" *ngIf=\"!firmwarePreselected\">\n <p class=\"lead m-0\" translate>\n Select or create new firmware\n </p>\n </div>\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwareForm=\"ngForm\"\n (ngSubmit)=\"firmwareForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"onInput.next($event)\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let firmware of firmwaresResult;\n loadMore: 'auto';\n notFound: notFoundTemplate\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"onFirmwareSelect(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"(onInput | async)?.length > 0\">\n <span translate>No match found, add new`firmware`? </span>\n <button\n title=\"{{ 'Create new`firmware`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-16\"\n translate\n >\n Create new`firmware`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDescription\" translate>Description</label>\n <input\n id=\"firmwareDescription\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"description\"\n [(ngModel)]=\"model.description\"\n placeholder=\"{{ 'e.g. Firmware for hardware revision b' | translate }}\"\n [disabled]=\"model.selected?.id\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDeviceTypeFilter\" translate>Device type filter</label>\n <input\n id=\"firmwareDeviceTypeFilter\"\n class=\"form-control\"\n name=\"firmwareDeviceTypeFilter\"\n popover=\"{{\n 'If the filter is set, the firmware will show up for installation only for devices of that type. If no filter is set, it will be available for all devices.'\n | translate\n }}\"\n [(ngModel)]=\"model.deviceType\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n [disabled]=\"model.selected?.id\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"firmwareVersion\" translate>Version</label>\n <input\n id=\"firmwareVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"version\"\n [(ngModel)]=\"model.version\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Firmware file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n\n <button\n title=\"{{ 'Add firmware' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwareForm.form.valid ||\n firmwareForm.form.pristine ||\n saving ||\n (!model.binary?.url && !model.binary?.file)\n \"\n translate\n >\n Add firmware\n </button>\n </div>\n </form>\n</div>\n"
135
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\" *ngIf=\"!firmwarePreselected\">\n <p class=\"lead m-0\" translate>\n Select or create new firmware\n </p>\n </div>\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwareForm=\"ngForm\"\n (ngSubmit)=\"firmwareForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"onInput.next($event)\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let firmware of firmwaresResult;\n loadMore: 'auto';\n notFound: notFoundTemplate\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"onFirmwareSelect(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"(onInput | async)?.length > 0\">\n <span translate>No match found, add new`firmware`? </span>\n <button\n title=\"{{ 'Create new`firmware`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-16\"\n translate\n >\n Create new`firmware`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDescription\" translate>Description</label>\n <input\n id=\"firmwareDescription\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"description\"\n [(ngModel)]=\"model.description\"\n placeholder=\"{{ 'e.g. Firmware for hardware revision b' | translate }}\"\n [disabled]=\"model.selected?.id\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDeviceTypeFilter\" translate>Device type filter</label>\n <input\n id=\"firmwareDeviceTypeFilter\"\n class=\"form-control\"\n name=\"firmwareDeviceTypeFilter\"\n popover=\"{{\n 'If the filter is set, the firmware will show up for installation only for devices of that type. If no filter is set, it will be available for all devices.'\n | translate\n }}\"\n [(ngModel)]=\"model.deviceType\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n [disabled]=\"model.selected?.id\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"firmwareVersion\" translate>Version</label>\n <input\n id=\"firmwareVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"version\"\n [(ngModel)]=\"model.version\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Firmware file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\" [fileUrlPopover]=\"textForFirmwareUrlPopover\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n\n <button\n title=\"{{ 'Add firmware' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwareForm.form.valid ||\n firmwareForm.form.pristine ||\n saving ||\n (!model.binary?.url && !model.binary?.file)\n \"\n translate\n >\n Add firmware\n </button>\n </div>\n </form>\n</div>\n"
131
136
  })
132
137
  ], AddFirmwareModalComponent);
133
138
  export { AddFirmwareModalComponent };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXBGLElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0lBbUJwQyxZQUNVLEtBQWlCLEVBQ2pCLGlCQUFvQyxFQUNwQyxLQUFtQjtRQUZuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQXBCbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMzRixZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFVBQUssR0FBZTtZQUNsQixR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UUFBUSxFQUFFLGlDQUFpQztRQUMzQyx1NUpBQWdEO0tBQ2pELENBQUM7R0FDVyx5QkFBeUIsQ0EwSHJDO1NBMUhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9yZXBvc2l0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVR5cGUsIE1vZGFsTW9kZWwsIFJlcG9zaXRvcnlDYXRlZ29yeSB9IGZyb20gJy4uL3JlcG9zaXRvcnkubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgZ2V0LCBhc3NpZ24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGlja2VkRmlsZXMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWRkLWZpcm13YXJlLXNvZnR3YXJlLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICdhZGQtZmlybXdhcmUtbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEZpcm13YXJlTW9kYWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdmaXJtd2FyZUZvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogTmdGb3JtO1xuICBAT3V0cHV0KCkgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+KCk7XG4gIG9uSW5wdXQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgbW9kZWw6IE1vZGFsTW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCxcbiAgICBkZXZpY2VUeXBlOiB1bmRlZmluZWQsXG4gICAgYmluYXJ5OiB7XG4gICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH1cbiAgfTtcbiAgZmlybXdhcmVzUmVzdWx0O1xuICBzYXZpbmcgPSBmYWxzZTtcbiAgZmlybXdhcmVQcmVzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGlucHV0U3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubG9hZEZpcm13YXJlcygpO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGlmICh0aGlzLm1vZGVsLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmZpcm13YXJlUHJlc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRGaXJtd2FyZXMoKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQgPSB0aGlzLm9uSW5wdXRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5maXJtd2FyZVByZXNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRlc2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdkZXNjcmlwdGlvbicpLnJlc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcChzZWFyY2hTdHIgPT4gdGhpcy5nZXRGaXJtd2FyZVJlc3VsdChzZWFyY2hTdHIpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmZpcm13YXJlc1Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RmlybXdhcmVSZXN1bHQoc2VhcmNoU3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2UubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgIHBhcnRpYWxOYW1lOiBzZWFyY2hTdHIsXG4gICAgICAgIHNraXBMZWdhY3k6IHRydWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2VcbiAgICAgIC5jcmVhdGUodGhpcy5tb2RlbCwgUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUpXG4gICAgICAudGhlbihzYXZlZEZpcm13YXJlID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzTXNnKCk7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQubmV4dChzYXZlZEZpcm13YXJlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Y2Nlc3NNc2coKSB7XG4gICAgY29uc3QgbXNnID0gZ2V0dGV4dCgnRmlybXdhcmUgYWRkZWQuJyk7XG4gICAgdGhpcy5hbGVydC5zdWNjZXNzKG1zZyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5zYXZlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBvbkZpcm13YXJlU2VsZWN0KGZpcm13YXJlOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGFzc2lnbih0aGlzLm1vZGVsLCB7XG4gICAgICBzZWxlY3RlZDogZmlybXdhcmUsXG4gICAgICBkZXNjcmlwdGlvbjogZmlybXdhcmUuZGVzY3JpcHRpb24sXG4gICAgICBkZXZpY2VUeXBlOiBnZXQoZmlybXdhcmUsICdjOHlfRmlsdGVyLnR5cGUnKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXBGLElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0lBd0JwQyxZQUNVLEtBQWlCLEVBQ2pCLGlCQUFvQyxFQUNwQyxLQUFtQjtRQUZuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQXpCbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMzRixZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFVBQUssR0FBZTtZQUNsQixR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RUFBRTt3REFBa0Y7QUFGaEYseUJBQXlCO0lBSnJDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsczhKQUFnRDtLQUNqRCxDQUFDO0dBQ1cseUJBQXlCLENBK0hyQztTQS9IWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcG9zaXRvcnlUeXBlLCBNb2RhbE1vZGVsLCBSZXBvc2l0b3J5Q2F0ZWdvcnkgfSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIGdldCwgYXNzaWduIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFkZC1maXJtd2FyZS1zb2Z0d2FyZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnYWRkLWZpcm13YXJlLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRGaXJtd2FyZU1vZGFsQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnZmlybXdhcmVGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm06IE5nRm9ybTtcbiAgQE91dHB1dCgpIHNhdmVkOiBFdmVudEVtaXR0ZXI8UmVwb3NpdG9yeUNhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3NpdG9yeUNhdGVnb3J5PigpO1xuICBvbklucHV0OiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIG1vZGVsOiBNb2RhbE1vZGVsID0ge1xuICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgIGRlc2NyaXB0aW9uOiB1bmRlZmluZWQsXG4gICAgZGV2aWNlVHlwZTogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG4gIGZpcm13YXJlc1Jlc3VsdDtcbiAgc2F2aW5nID0gZmFsc2U7XG4gIGZpcm13YXJlUHJlc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdGV4dEZvckZpcm13YXJlVXJsUG9wb3Zlcjogc3RyaW5nID0gZ2V0dGV4dChgUGF0aCBmb3IgYmluYXJpZXMgY2FuIHZhcnkgZGVwZW5kaW5nIG9uIGRldmljZSBhZ2VudCBpbXBsZW1lbnRhdGlvbiwgZS5nLjpcbiAgICAvZmlybXdhcmUvYmluYXJpZXMvZmlybXdhcmUxLmJpblxuICAgIGh0dHBzOi8vZmlybXdhcmUvYmluYXJ5LzEyM1xuICAgIGZ0cDovL2Zpcm13YXJlL2JpbmFyeS8xMjMudGFyLmd6XG4gIGApO1xuICBwcml2YXRlIGlucHV0U3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubG9hZEZpcm13YXJlcygpO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGlmICh0aGlzLm1vZGVsLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmZpcm13YXJlUHJlc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRGaXJtd2FyZXMoKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQgPSB0aGlzLm9uSW5wdXRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5maXJtd2FyZVByZXNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRlc2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdkZXNjcmlwdGlvbicpLnJlc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcChzZWFyY2hTdHIgPT4gdGhpcy5nZXRGaXJtd2FyZVJlc3VsdChzZWFyY2hTdHIpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmZpcm13YXJlc1Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RmlybXdhcmVSZXN1bHQoc2VhcmNoU3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2UubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgIHBhcnRpYWxOYW1lOiBzZWFyY2hTdHIsXG4gICAgICAgIHNraXBMZWdhY3k6IHRydWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2VcbiAgICAgIC5jcmVhdGUodGhpcy5tb2RlbCwgUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUpXG4gICAgICAudGhlbihzYXZlZEZpcm13YXJlID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzTXNnKCk7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQubmV4dChzYXZlZEZpcm13YXJlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Y2Nlc3NNc2coKSB7XG4gICAgY29uc3QgbXNnID0gZ2V0dGV4dCgnRmlybXdhcmUgYWRkZWQuJyk7XG4gICAgdGhpcy5hbGVydC5zdWNjZXNzKG1zZyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5zYXZlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBvbkZpcm13YXJlU2VsZWN0KGZpcm13YXJlOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGFzc2lnbih0aGlzLm1vZGVsLCB7XG4gICAgICBzZWxlY3RlZDogZmlybXdhcmUsXG4gICAgICBkZXNjcmlwdGlvbjogZmlybXdhcmUuZGVzY3JpcHRpb24sXG4gICAgICBkZXZpY2VUeXBlOiBnZXQoZmlybXdhcmUsICdjOHlfRmlsdGVyLnR5cGUnKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -13,6 +13,11 @@ let AddFirmwarePatchModalComponent = class AddFirmwarePatchModalComponent {
13
13
  this.repository = repository;
14
14
  this.alert = alert;
15
15
  this.saved = new EventEmitter();
16
+ this.textForFirmwareUrlPopover = gettext(`Path for binaries can vary depending on device agent implementation, e.g.:
17
+ /firmware/binaries/firmware1.bin
18
+ https://firmware/binary/123
19
+ ftp://firmware/binary/123.tar.gz
20
+ `);
16
21
  this.model = {
17
22
  selected: undefined,
18
23
  dependency: null,
@@ -117,8 +122,8 @@ tslib_1.__decorate([
117
122
  AddFirmwarePatchModalComponent = tslib_1.__decorate([
118
123
  Component({
119
124
  selector: 'c8y-add-firmware-patch-modal.component',
120
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware patch\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\">\n <p class=\"lead m-0\" translate>\n Select a firmware version\n </p>\n </div>\n\n <form class=\"d-contents\" autocomplete=\"off\" #firmwarePatchForm=\"ngForm\" (ngSubmit)=\"save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [ngModel]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"firmwareInput$.next($event)\"\n [allowFreeEntries]=\"false\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"let firmware of firmwares$ | async; loadMore: 'auto'\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.selected = firmware; firmwareSelected$.next(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"firmwareInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing firmwares.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"patchDependency\" class=\"m-r-8\" translate>Version</label>\n <c8y-typeahead\n [ngModel]=\"model.dependency\"\n name=\"patchDependency\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"patchDependencyInput$.next($event)\"\n [displayProperty]=\"'c8y_Firmware.version'\"\n [allowFreeEntries]=\"false\"\n [disabled]=\"\n (baseVersions$ | async) === null || (baseVersions$ | async)?.data.length === 0\n \"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let baseVersion of baseVersions$;\n loadMore: 'auto';\n pipe: baseVersionsFilterPipe\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.dependency = baseVersion\"\n [active]=\"model.dependency === baseVersion\"\n >\n <c8y-highlight\n [text]=\"baseVersion.c8y_Firmware.version || '--'\"\n [pattern]=\"patchDependencyInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing versions.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"patchVersion\" translate>Patch</label>\n <input\n id=\"patchVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"patchVersion\"\n [(ngModel)]=\"model.patchVersion\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n required\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Patch file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n <button\n title=\"{{ 'Add firmware patch' | translate }}\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n type=\"submit\"\n [disabled]=\"\n !firmwarePatchForm.form.valid ||\n firmwarePatchForm.form.pristine ||\n (!model.binary?.url && !model.binary?.file) ||\n saving\n \"\n translate\n >\n Add firmware patch\n </button>\n </div>\n </form>\n</div>\n"
125
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware patch\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\">\n <p class=\"lead m-0\" translate>\n Select a firmware version\n </p>\n </div>\n\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwarePatchForm=\"ngForm\"\n (ngSubmit)=\"firmwarePatchForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [ngModel]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"firmwareInput$.next($event)\"\n [allowFreeEntries]=\"false\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"let firmware of firmwares$ | async; loadMore: 'auto'\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.selected = firmware; firmwareSelected$.next(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"firmwareInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing firmwares.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"patchDependency\" class=\"m-r-8\" translate>Version</label>\n <c8y-typeahead\n [ngModel]=\"model.dependency\"\n name=\"patchDependency\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"patchDependencyInput$.next($event)\"\n [displayProperty]=\"'c8y_Firmware.version'\"\n [allowFreeEntries]=\"false\"\n [disabled]=\"\n (baseVersions$ | async) === null || (baseVersions$ | async)?.data.length === 0\n \"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let baseVersion of baseVersions$;\n loadMore: 'auto';\n pipe: baseVersionsFilterPipe\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.dependency = baseVersion\"\n [active]=\"model.dependency === baseVersion\"\n >\n <c8y-highlight\n [text]=\"baseVersion.c8y_Firmware.version || '--'\"\n [pattern]=\"patchDependencyInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing versions.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"patchVersion\" translate>Patch</label>\n <input\n id=\"patchVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"patchVersion\"\n [(ngModel)]=\"model.patchVersion\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n required\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Patch file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\" [fileUrlPopover]=\"textForFirmwareUrlPopover\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n <button\n title=\"{{ 'Add firmware patch' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwarePatchForm.form.valid ||\n firmwarePatchForm.form.pristine ||\n (!model.binary?.url && !model.binary?.file) ||\n saving\n \"\n translate\n >\n Add firmware patch\n </button>\n </div>\n </form>\n</div>\n"
121
126
  })
122
127
  ], AddFirmwarePatchModalComponent);
123
128
  export { AddFirmwarePatchModalComponent };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzFFLE9BQU8sRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDO0FBT3hCLElBQWEsOEJBQThCLEdBQTNDLE1BQWEsOEJBQThCO0lBbUV6QyxZQUNVLEtBQWlCLEVBQ2pCLFVBQTZCLEVBQzdCLEtBQW1CO1FBRm5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBYztRQXJFbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUszRixVQUFLLEdBQWU7WUFDbEIsUUFBUSxFQUFFLFNB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QVksQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHO2dCQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2FBQ25DLENBQUM7WUFDRixPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixHQUFHLEVBQUUsU0FBUzthQUNmLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRixDQUFBOztZQTdEa0IsVUFBVTtZQUNMLGlCQUFpQjtZQUN0QixZQUFZOztBQXJFbkI7SUFBVCxNQUFNLEVBQUU7NkRBQWtGO0FBRWpEO0lBQXpDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0VBQStCO0FBQ3JCO0lBQWxELFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQzs0REFBYztBQUpyRCw4QkFBOEI7SUFKMUMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHdDQUF3QztRQUNsRCxvc0pBQXNEO0tBQ3ZELENBQUM7R0FDVyw4QkFBOEIsQ0FpSTFDO1NBaklZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9yZXBvc2l0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVR5cGUsIE1vZGFsTW9kZWwsIFJlcG9zaXRvcnlDYXRlZ29yeSB9IGZyb20gJy4uL3JlcG9zaXRvcnkubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSVJlc3VsdExpc3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG9mLCBmcm9tLCBwaXBlLCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICB0YXAsXG4gIHN3aXRjaE1hcCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIHNoYXJlUmVwbGF5LFxuICBtYXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGlja2VkRmlsZXMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogJ2FkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkRmlybXdhcmVQYXRjaE1vZGFsQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpIHNhdmVkOiBFdmVudEVtaXR0ZXI8UmVwb3NpdG9yeUNhdGVnb3J5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3NpdG9yeUNhdGVnb3J5PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRyb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlO1xuICBAVmlld0NoaWxkKCdmaXJtd2FyZVBhdGNoRm9ybScsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBOZ0Zvcm07XG5cbiAgbW9kZWw6IE1vZGFsTW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBkZXBlbmRlbmN5OiBudWxsLFxuICAgIHBhdGNoVmVyc2lvbjogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG5cbiAgZmlybXdhcmVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBmaXJtd2FyZXMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoc2VhcmNoU3RyID0+XG4gICAgICBmcm9tKFxuICAgICAgICB0aGlzLnJlcG9zaXRvcnkubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgICAgcGFydGlhbE5hbWU6IHNlYXJjaFN0cixcbiAgICAgICAgICBza2lwTGVnYWN5OiB0cnVlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBmaXJtd2FyZVNlbGVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxSZXBvc2l0b3J5Q2F0ZWdvcnk+PihudWxsKTtcbiAgcGF0Y2hEZXBlbmRlbmN5SW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBzYXZpbmcgPSBmYWxzZTtcbiAgZmlybXdhcmVQcmVzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBiYXNlVmVyc2lvbnMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSBtZXJnZShcbiAgICB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVsLmRlcGVuZGVuY3kgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdwYXRjaERlcGVuZGVuY3knKS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZihudWxsKSlcbiAgICApLFxuICAgIHRoaXMuZmlybXdhcmVTZWxlY3RlZCRcbiAgKS5waXBlKFxuICAgIHN3aXRjaE1hcChzZWxlY3RlZEZpcm13YXJlID0+XG4gICAgICBzZWxlY3RlZEZpcm13YXJlID8gdGhpcy5yZXBvc2l0b3J5Lmxpc3RCYXNlVmVyc2lvbnMoc2VsZWN0ZWRGaXJtd2FyZSkgOiBvZihudWxsKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgYmFzZVZlcnNpb25zRmlsdGVyUGlwZSA9IHBpcGUoXG4gICAgc3dpdGNoTWFwKChkYXRhOiBbXSkgPT5cbiAgICAgIHRoaXMucGF0Y2hEZXBlbmRlbmN5SW5wdXQkLnBpcGUoXG4gICAgICAgIG1hcChwYXJ0aWFsVmVyc2lvbiA9PlxuICAgICAgICAgIGRhdGEuZmlsdGVyKChtbzogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJzaW9uID0gbW8uYzh5X0Zpcm13YXJlLnZlcnNpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHBhcnRpYWxWZXJzaW9uLmxlbmd0aCA9PT0gMCB8fCB2ZXJzaW9uLmluZGV4T2YocGFydGlhbFZlcnNpb24udG9Mb3dlckNhc2UoKSkgPiAtMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZWwuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZmlybXdhcmVQcmVzZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLmZpcm13YXJlU2VsZWN0ZWQkLm5leHQodGhpcy5tb2RlbC5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XG4gICAgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlKHRoaXMubW9kZWwsIFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFKVxuICAgICAgLnRoZW4oc2F2ZWRGaXJtd2FyZSA9PiB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc01zZygpO1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLm5leHQoc2F2ZWRGaXJtd2FyZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLmVycm9yKGUpO1xuICAgICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWNjZXNzTXNnKCkge1xuICAgIGNvbnN0IG1zZyA9IGdldHRleHQoJ0Zpcm13YXJlIHBhdGNoIGFkZGVkLicpO1xuICAgIHRoaXMuYWxlcnQuc3VjY2Vzcyhtc2cpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMuc2F2ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzFFLE9BQU8sRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDO0FBT3hCLElBQWEsOEJBQThCLEdBQTNDLE1BQWEsOEJBQThCO0lBd0V6QyxZQUNVLEtBQWlCLEVBQ2pCLFVBQTZCLEVBQzdCLEtBQW1CO1FBRm5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBYztRQTFFbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUkzRiw4QkFBeUIsR0FBVyxPQUFPLENBQUM7Ozs7R0FJ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QUFPO1NBQ1I7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRztnQkFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNuQyxDQUFDO1lBQ0YsT0FBTztTQUNSO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRztnQkFDbEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsR0FBRyxFQUFFLFNBQVM7YUFDZixDQUFDO1NBQ0g7SUFDSCxDQUFDO0NBQ0YsQ0FBQTs7WUE3RGtCLFVBQVU7WUFDTCxpQkFBaUI7WUFDdEIsWUFBWTs7QUExRW5CO0lBQVQsTUFBTSxFQUFFOzZEQUFrRjtBQUVqRDtJQUF6QyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2dFQUErQjtBQUNyQjtJQUFsRCxTQUFTLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7NERBQWM7QUFKckQsOEJBQThCO0lBSjFDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSx3Q0FBd0M7UUFDbEQsMnlKQUFzRDtLQUN2RCxDQUFDO0dBQ1csOEJBQThCLENBc0kxQztTQXRJWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcG9zaXRvcnlUeXBlLCBNb2RhbE1vZGVsLCBSZXBvc2l0b3J5Q2F0ZWdvcnkgfSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBvZiwgZnJvbSwgcGlwZSwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgdGFwLFxuICBzd2l0Y2hNYXAsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzaGFyZVJlcGxheSxcbiAgbWFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hZGQtZmlybXdhcmUtcGF0Y2gtbW9kYWwuY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdhZGQtZmlybXdhcmUtcGF0Y2gtbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEZpcm13YXJlUGF0Y2hNb2RhbENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSBzYXZlZDogRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4oKTtcblxuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93bjogQnNEcm9wZG93bkRpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZCgnZmlybXdhcmVQYXRjaEZvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogTmdGb3JtO1xuICB0ZXh0Rm9yRmlybXdhcmVVcmxQb3BvdmVyOiBzdHJpbmcgPSBnZXR0ZXh0KGBQYXRoIGZvciBiaW5hcmllcyBjYW4gdmFyeSBkZXBlbmRpbmcgb24gZGV2aWNlIGFnZW50IGltcGxlbWVudGF0aW9uLCBlLmcuOlxuICAgIC9maXJtd2FyZS9iaW5hcmllcy9maXJtd2FyZTEuYmluXG4gICAgaHR0cHM6Ly9maXJtd2FyZS9iaW5hcnkvMTIzXG4gICAgZnRwOi8vZmlybXdhcmUvYmluYXJ5LzEyMy50YXIuZ3pcbiAgYCk7XG5cbiAgbW9kZWw6IE1vZGFsTW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBkZXBlbmRlbmN5OiBudWxsLFxuICAgIHBhdGNoVmVyc2lvbjogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG5cbiAgZmlybXdhcmVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBmaXJtd2FyZXMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoc2VhcmNoU3RyID0+XG4gICAgICBmcm9tKFxuICAgICAgICB0aGlzLnJlcG9zaXRvcnkubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgICAgcGFydGlhbE5hbWU6IHNlYXJjaFN0cixcbiAgICAgICAgICBza2lwTGVnYWN5OiB0cnVlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBmaXJtd2FyZVNlbGVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxSZXBvc2l0b3J5Q2F0ZWdvcnk+PihudWxsKTtcbiAgcGF0Y2hEZXBlbmRlbmN5SW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBzYXZpbmcgPSBmYWxzZTtcbiAgZmlybXdhcmVQcmVzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBiYXNlVmVyc2lvbnMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSBtZXJnZShcbiAgICB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVsLmRlcGVuZGVuY3kgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdwYXRjaERlcGVuZGVuY3knKS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZihudWxsKSlcbiAgICApLFxuICAgIHRoaXMuZmlybXdhcmVTZWxlY3RlZCRcbiAgKS5waXBlKFxuICAgIHN3aXRjaE1hcChzZWxlY3RlZEZpcm13YXJlID0+XG4gICAgICBzZWxlY3RlZEZpcm13YXJlID8gdGhpcy5yZXBvc2l0b3J5Lmxpc3RCYXNlVmVyc2lvbnMoc2VsZWN0ZWRGaXJtd2FyZSkgOiBvZihudWxsKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgYmFzZVZlcnNpb25zRmlsdGVyUGlwZSA9IHBpcGUoXG4gICAgc3dpdGNoTWFwKChkYXRhOiBbXSkgPT5cbiAgICAgIHRoaXMucGF0Y2hEZXBlbmRlbmN5SW5wdXQkLnBpcGUoXG4gICAgICAgIG1hcChwYXJ0aWFsVmVyc2lvbiA9PlxuICAgICAgICAgIGRhdGEuZmlsdGVyKChtbzogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJzaW9uID0gbW8uYzh5X0Zpcm13YXJlLnZlcnNpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHBhcnRpYWxWZXJzaW9uLmxlbmd0aCA9PT0gMCB8fCB2ZXJzaW9uLmluZGV4T2YocGFydGlhbFZlcnNpb24udG9Mb3dlckNhc2UoKSkgPiAtMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZWwuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZmlybXdhcmVQcmVzZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLmZpcm13YXJlU2VsZWN0ZWQkLm5leHQodGhpcy5tb2RlbC5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XG4gICAgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlKHRoaXMubW9kZWwsIFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFKVxuICAgICAgLnRoZW4oc2F2ZWRGaXJtd2FyZSA9PiB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc01zZygpO1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLm5leHQoc2F2ZWRGaXJtd2FyZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLmVycm9yKGUpO1xuICAgICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWNjZXNzTXNnKCkge1xuICAgIGNvbnN0IG1zZyA9IGdldHRleHQoJ0Zpcm13YXJlIHBhdGNoIGFkZGVkLicpO1xuICAgIHRoaXMuYWxlcnQuc3VjY2Vzcyhtc2cpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMuc2F2ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==