@provoly/dashboard 0.21.4 → 0.21.6

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 (90) hide show
  1. package/assets/svgs/layers.svg +3 -2
  2. package/assets/svgs/legend.svg +14 -3
  3. package/dataset/style/_o-pry-dataset.scss +6 -9
  4. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  5. package/esm2022/dataset/style/css.component.mjs +2 -2
  6. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  7. package/esm2022/lib/core/model/search-mono-class.model.mjs +1 -1
  8. package/esm2022/lib/core/model/search-multi-class.model.mjs +1 -1
  9. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +2 -2
  10. package/esm2022/lib/core/store/config/config.actions.mjs +4 -2
  11. package/esm2022/lib/core/store/config/config.reducer.mjs +6 -2
  12. package/esm2022/lib/core/store/config/config.selectors.mjs +5 -2
  13. package/esm2022/lib/core/store/field/field.interface.mjs +2 -1
  14. package/esm2022/lib/core/store/image/image.service.mjs +3 -3
  15. package/esm2022/lib/core/store/search/search.reducer.mjs +2 -2
  16. package/esm2022/lib/core/store/search/search.service.mjs +14 -4
  17. package/esm2022/lib/core/symbol/symbol.service.mjs +7 -10
  18. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +12 -3
  19. package/esm2022/lib/dashboard/dashboard.module.mjs +5 -4
  20. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  21. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -2
  22. package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -3
  23. package/esm2022/notification/components/notification/content/notification-content.component.mjs +12 -8
  24. package/esm2022/notification/components/notification/notification.component.mjs +2 -1
  25. package/esm2022/notification/style/css.component.mjs +2 -2
  26. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
  27. package/esm2022/presentation/components/presentation.component.mjs +14 -12
  28. package/esm2022/presentation/style/css.component.mjs +2 -2
  29. package/esm2022/restitution/components/restitution/restitution.component.mjs +5 -5
  30. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +5 -6
  31. package/esm2022/restitution/style/css.component.mjs +2 -2
  32. package/esm2022/toolbox/components/save-view/save-view.component.mjs +12 -6
  33. package/esm2022/toolbox/components/share/share.component.mjs +8 -5
  34. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
  35. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +57 -17
  36. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +5 -2
  37. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +5 -2
  38. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +3 -2
  39. package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
  40. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +12 -4
  41. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +3 -2
  42. package/fesm2022/provoly-dashboard-dataset.mjs +4 -4
  43. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-notification.mjs +14 -9
  45. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-presentation.mjs +17 -15
  47. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-restitution.mjs +10 -11
  49. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-toolbox.mjs +17 -8
  51. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  53. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +80 -27
  55. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard.mjs +55 -28
  57. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  58. package/lib/core/model/manifest.interface.d.ts +3 -1
  59. package/lib/core/model/search-mono-class.model.d.ts +1 -0
  60. package/lib/core/model/search-multi-class.model.d.ts +2 -0
  61. package/lib/core/store/config/config.actions.d.ts +10 -0
  62. package/lib/core/store/config/config.reducer.d.ts +3 -0
  63. package/lib/core/store/config/config.selectors.d.ts +5 -0
  64. package/lib/core/store/field/field.interface.d.ts +1 -0
  65. package/lib/core/store/image/image.service.d.ts +1 -1
  66. package/lib/core/store/search/search.service.d.ts +4 -1
  67. package/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.d.ts +1 -0
  68. package/lib/dashboard/store/dashboard.actions.d.ts +3 -0
  69. package/lib/dashboard/store/manifest.service.d.ts +2 -1
  70. package/notification/components/notification/content/notification-content.component.d.ts +4 -2
  71. package/notification/style/_m-notifications.scss +6 -7
  72. package/package.json +19 -19
  73. package/presentation/components/presentation.component.d.ts +3 -1
  74. package/presentation/style/_o-pry-presentation.scss +0 -16
  75. package/restitution/components/restitution/restitution.component.d.ts +1 -1
  76. package/restitution/style/_o-restitution.scss +12 -42
  77. package/styles/components/_a-page-loader.scss +1 -1
  78. package/styles/components/_o-pry-stepper.scss +9 -10
  79. package/styles/components/_o-widget.scss +7 -3
  80. package/styles/layout/_o-manifest-layout.scss +20 -0
  81. package/styles-theme/components-theme/_o-widget.theme.scss +1 -1
  82. package/toolbox/components/save-view/save-view.component.d.ts +3 -2
  83. package/toolbox/components/share/share.component.d.ts +2 -1
  84. package/widgets/widget-chart/component/widget-chart.component.d.ts +1 -1
  85. package/widgets/widget-map/component/widget-map.component.d.ts +5 -1
  86. package/widgets/widget-map/i18n/en.translations.d.ts +3 -0
  87. package/widgets/widget-map/i18n/fr.translations.d.ts +3 -0
  88. package/widgets/widget-map/style/_o-layer-legend.scss +43 -54
  89. package/widgets/widget-map/utils/cql-utils.class.d.ts +2 -2
  90. package/widgets/widget-map/utils/widget-map.utils.d.ts +2 -0
@@ -28,10 +28,10 @@ export class ImageService {
28
28
  type: image.type
29
29
  }))));
30
30
  }
31
- getImage(path) {
31
+ getImage(path, externalUrl = false) {
32
32
  return this.store.select(ConfigSelectors.dataUrl).pipe(mergeMap((url) => {
33
33
  return this.httpClient
34
- .get(encodeURI(`${url}/file/icons/${path}`), {
34
+ .get(encodeURI(externalUrl ? path : `${url}/file/icons/${path}`), {
35
35
  observe: 'response',
36
36
  responseType: 'blob'
37
37
  })
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
69
  providedIn: 'root'
70
70
  }]
71
71
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }, { type: i3.DomSanitizer }, { type: i4.PrySnackbarService }, { type: i5.PryI18nService }]; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRzdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFdBQVcsQ0FBQztBQUUxRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUE2QixDQUFBO0lBQzdCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUpoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBVSxTQUFTLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFDL0UsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLEtBQUssRUFBRSxHQUFHLDhCQUE4QixHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDeEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVTtpQkFDbkIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FBQztpQkFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFXLENBQUM7Z0JBQzlELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN4RCxPQUFPO3dCQUNMLElBQUksRUFBRSxNQUFNO3dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQVksQ0FBQyxDQUFDO3FCQUMxRixDQUFDO2lCQUNIO2dCQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFTLEVBQUUsU0FBaUIsRUFBRSxJQUFZO1FBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRCxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLFFBQVEsQ0FBQyxNQUFNLENBQ2IsTUFBTSxFQUNOLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUyxHQUFHLEdBQUcsYUFBYSxFQUFFLFFBQVEsRUFBRTtnQkFDakUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDN0QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBOURVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuL2ltYWdlLmFjdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYID0gJ2ludGVybmFsOic7XG5cbmV4cG9ydCBlbnVtIExpYnJhcnlUeXBlcyB7XG4gIElMTFVTVFJBVElPTiA9ICdpbGx1c3RyYXRpb24nLFxuICBJQ09OID0gJ2ljb24nXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldEltYWdlcygpOiBPYnNlcnZhYmxlPEltYWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEltYWdlW10+KGVuY29kZVVSSShgJHt1cmx9L2ZpbGUvaWNvbnNgKSkpLFxuICAgICAgbWFwKChpbWFnZXMpID0+XG4gICAgICAgIGltYWdlcy5tYXAoKGltYWdlKSA9PiAoe1xuICAgICAgICAgIGltYWdlOiBgJHtJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVh9JHtpbWFnZS5pbWFnZX1gLFxuICAgICAgICAgIHR5cGU6IGltYWdlLnR5cGVcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEltYWdlKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHVybDogU2FmZVVybCB9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldChlbmNvZGVVUkkoYCR7dXJsfS9maWxlL2ljb25zLyR7cGF0aH1gKSwge1xuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgaWYgKGhlYWRlci5pbmNsdWRlcygndmlkZW8nKSB8fCBoZWFkZXIuaW5jbHVkZXMoJ2ltYWdlJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdHlwZTogaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UuYm9keSBhcyBCbG9iKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IHsgdHlwZTogJ3Vua25vd24nLCBlcnJvcjogJ3Vua25vd24gZG9jIHR5cGUnIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGxvYWQoZmlsZTogYW55LCBtZWRpYVR5cGU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZScsIHR5cGUpO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgICdmaWxlJyxcbiAgICAgICAgICBuZXcgRmlsZShbZmlsZV0sIERhdGUubm93KCkgKyBmaWxlLm5hbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IG1lZGlhVHlwZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZDogRGF0ZS5ub3coKVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3VybH0vZmlsZS9pY29uc2AsIGZvcm1EYXRhLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0ZpbGUtQ29udGVudC1UeXBlJzogbWVkaWFUeXBlIH0pXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRzdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFdBQVcsQ0FBQztBQUUxRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUE2QixDQUFBO0lBQzdCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUpoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcs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dCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuL2ltYWdlLmFjdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYID0gJ2ludGVybmFsOic7XG5cbmV4cG9ydCBlbnVtIExpYnJhcnlUeXBlcyB7XG4gIElMTFVTVFJBVElPTiA9ICdpbGx1c3RyYXRpb24nLFxuICBJQ09OID0gJ2ljb24nXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldEltYWdlcygpOiBPYnNlcnZhYmxlPEltYWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEltYWdlW10+KGVuY29kZVVSSShgJHt1cmx9L2ZpbGUvaWNvbnNgKSkpLFxuICAgICAgbWFwKChpbWFnZXMpID0+XG4gICAgICAgIGltYWdlcy5tYXAoKGltYWdlKSA9PiAoe1xuICAgICAgICAgIGltYWdlOiBgJHtJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVh9JHtpbWFnZS5pbWFnZX1gLFxuICAgICAgICAgIHR5cGU6IGltYWdlLnR5cGVcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEltYWdlKHBhdGg6IHN0cmluZywgZXh0ZXJuYWxVcmwgPSBmYWxzZSk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHVybDogU2FmZVVybCB9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldChlbmNvZGVVUkkoZXh0ZXJuYWxVcmwgPyBwYXRoIDogYCR7dXJsfS9maWxlL2ljb25zLyR7cGF0aH1gKSwge1xuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgaWYgKGhlYWRlci5pbmNsdWRlcygndmlkZW8nKSB8fCBoZWFkZXIuaW5jbHVkZXMoJ2ltYWdlJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdHlwZTogaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UuYm9keSBhcyBCbG9iKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IHsgdHlwZTogJ3Vua25vd24nLCBlcnJvcjogJ3Vua25vd24gZG9jIHR5cGUnIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGxvYWQoZmlsZTogYW55LCBtZWRpYVR5cGU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZScsIHR5cGUpO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgICdmaWxlJyxcbiAgICAgICAgICBuZXcgRmlsZShbZmlsZV0sIERhdGUubm93KCkgKyBmaWxlLm5hbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IG1lZGlhVHlwZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZDogRGF0ZS5ub3coKVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3VybH0vZmlsZS9pY29uc2AsIGZvcm1EYXRhLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0ZpbGUtQ29udGVudC1UeXBlJzogbWVkaWFUeXBlIH0pXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -9,7 +9,7 @@ export const initialSearchState = {
9
9
  };
10
10
  export const searchReducer = createReducer(initialSearchState, on(SearchActions.search, (state, action) => ({
11
11
  ...state,
12
- searchLoading: [...new Set([...state.searchLoading, DEFAULT_NAMED_QUERY_ID])],
12
+ searchLoading: [...new Set([...state.searchLoading, action.id ?? DEFAULT_NAMED_QUERY_ID])],
13
13
  payload: action.payload,
14
14
  id: action.id
15
15
  })), on(SearchActions.getDatasourceItems, (state, action) => ({
@@ -27,4 +27,4 @@ export const searchReducer = createReducer(initialSearchState, on(SearchActions.
27
27
  ? [...new Set([...state.searchLoading, ...action.datasources])]
28
28
  : [...state.searchLoading.filter((id) => !action.datasources.includes(id))]
29
29
  })));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQVE5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDN0MsYUFBYSxFQUFFLEVBQUU7SUFDakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsRUFBRSxFQUFFLFNBQVM7Q0FDZCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FDeEMsa0JBQWtCLEVBQ2xCLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxHQUFHLEtBQUs7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUM3RSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdkIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0NBQ2QsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsR0FBRyxLQUFLO0lBQ1IsYUFBYSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUNqRSxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsR0FBRyxLQUFLO0lBQ1IsYUFBYSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7Q0FDckcsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELEdBQUcsS0FBSztJQUNSLGFBQWEsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0NBQ3JHLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsS0FBSztJQUNSLGFBQWEsRUFBRSxNQUFNLENBQUMsS0FBSztRQUN6QixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQzlFLENBQUMsQ0FBQyxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGdWxsVGV4dFNlYXJjaFBheWxvYWQsIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IFNlYXJjaEFjdGlvbnMgfSBmcm9tICcuL3NlYXJjaC5hY3Rpb25zJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuL3NlYXJjaC5jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3Qgc2VhcmNoRmVhdHVyZUtleSA9ICdAcHJ5L3NlYXJjaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU3RhdGUge1xuICBzZWFyY2hMb2FkaW5nOiBzdHJpbmdbXTtcbiAgcGF5bG9hZD86IE1vbm9DbGFzc1NlYXJjaFBheWxvYWQgfCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB8IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZDtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU2VhcmNoU3RhdGU6IFNlYXJjaFN0YXRlID0ge1xuICBzZWFyY2hMb2FkaW5nOiBbXSxcbiAgcGF5bG9hZDogdW5kZWZpbmVkLFxuICBpZDogdW5kZWZpbmVkXG59O1xuXG5leHBvcnQgY29uc3Qgc2VhcmNoUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTZWFyY2hTdGF0ZSxcbiAgb24oU2VhcmNoQWN0aW9ucy5zZWFyY2gsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHNlYXJjaExvYWRpbmc6IFsuLi5uZXcgU2V0KFsuLi5zdGF0ZS5zZWFyY2hMb2FkaW5nLCBERUZBVUxUX05BTUVEX1FVRVJZX0lEXSldLFxuICAgIHBheWxvYWQ6IGFjdGlvbi5wYXlsb2FkLFxuICAgIGlkOiBhY3Rpb24uaWRcbiAgfSkpLFxuICBvbihTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLm5ldyBTZXQoWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcsIGFjdGlvbi5pZF0pXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2VhcmNoU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gaWQgIT09IChhY3Rpb24uaWQgPz8gREVGQVVMVF9OQU1FRF9RVUVSWV9JRCkpXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2VhcmNoRmFpbHVyZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gaWQgIT09IChhY3Rpb24uaWQgPz8gREVGQVVMVF9OQU1FRF9RVUVSWV9JRCkpXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2V0U2VhcmNoTG9hZGluZywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogYWN0aW9uLnN0YXJ0XG4gICAgICA/IFsuLi5uZXcgU2V0KFsuLi5zdGF0ZS5zZWFyY2hMb2FkaW5nLCAuLi5hY3Rpb24uZGF0YXNvdXJjZXNdKV1cbiAgICAgIDogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gIWFjdGlvbi5kYXRhc291cmNlcy5pbmNsdWRlcyhpZCkpXVxuICB9KSlcbik7XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQVE5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDN0MsYUFBYSxFQUFFLEVBQUU7SUFDakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsRUFBRSxFQUFFLFNBQVM7Q0FDZCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FDeEMsa0JBQWtCLEVBQ2xCLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxHQUFHLEtBQUs7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztJQUN2QixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7Q0FDZCxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxHQUFHLEtBQUs7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQ2pFLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxHQUFHLEtBQUs7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLHNCQUFzQixDQUFDLENBQUMsQ0FBQztDQUNyRyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsR0FBRyxLQUFLO0lBQ1IsYUFBYSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7Q0FDckcsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsR0FBRyxLQUFLO0lBQ1IsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ3pCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDOUUsQ0FBQyxDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbXVsdGktY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgU2VhcmNoQWN0aW9ucyB9IGZyb20gJy4vc2VhcmNoLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4vc2VhcmNoLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hGZWF0dXJlS2V5ID0gJ0Bwcnkvc2VhcmNoJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTdGF0ZSB7XG4gIHNlYXJjaExvYWRpbmc6IHN0cmluZ1tdO1xuICBwYXlsb2FkPzogTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB8IE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIHwgRnVsbFRleHRTZWFyY2hQYXlsb2FkO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTZWFyY2hTdGF0ZTogU2VhcmNoU3RhdGUgPSB7XG4gIHNlYXJjaExvYWRpbmc6IFtdLFxuICBwYXlsb2FkOiB1bmRlZmluZWQsXG4gIGlkOiB1bmRlZmluZWRcbn07XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgaW5pdGlhbFNlYXJjaFN0YXRlLFxuICBvbihTZWFyY2hBY3Rpb25zLnNlYXJjaCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLm5ldyBTZXQoWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcsIGFjdGlvbi5pZCA/PyBERUZBVUxUX05BTUVEX1FVRVJZX0lEXSldLFxuICAgIHBheWxvYWQ6IGFjdGlvbi5wYXlsb2FkLFxuICAgIGlkOiBhY3Rpb24uaWRcbiAgfSkpLFxuICBvbihTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLm5ldyBTZXQoWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcsIGFjdGlvbi5pZF0pXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2VhcmNoU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gaWQgIT09IChhY3Rpb24uaWQgPz8gREVGQVVMVF9OQU1FRF9RVUVSWV9JRCkpXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2VhcmNoRmFpbHVyZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gaWQgIT09IChhY3Rpb24uaWQgPz8gREVGQVVMVF9OQU1FRF9RVUVSWV9JRCkpXVxuICB9KSksXG4gIG9uKFNlYXJjaEFjdGlvbnMuc2V0U2VhcmNoTG9hZGluZywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VhcmNoTG9hZGluZzogYWN0aW9uLnN0YXJ0XG4gICAgICA/IFsuLi5uZXcgU2V0KFsuLi5zdGF0ZS5zZWFyY2hMb2FkaW5nLCAuLi5hY3Rpb24uZGF0YXNvdXJjZXNdKV1cbiAgICAgIDogWy4uLnN0YXRlLnNlYXJjaExvYWRpbmcuZmlsdGVyKChpZCkgPT4gIWFjdGlvbi5kYXRhc291cmNlcy5pbmNsdWRlcyhpZCkpXVxuICB9KSlcbik7XG4iXX0=
@@ -13,9 +13,13 @@ export class SearchService {
13
13
  this.store = store;
14
14
  this.transformations = [];
15
15
  this.filters = {};
16
+ this.limits = {};
16
17
  store.select(DashboardSelectors.datasourceFilters).subscribe((filters) => {
17
18
  this.filters = filters;
18
19
  });
20
+ store.select(ConfigSelectors.limits).subscribe((limits) => {
21
+ this.limits = limits;
22
+ });
19
23
  }
20
24
  getItems(id, quickOrder, excludeGeo) {
21
25
  const params = this.getItemsFilter(id, this.getOrder(quickOrder)).append('excludeGeo', excludeGeo ?? false);
@@ -28,7 +32,7 @@ export class SearchService {
28
32
  getItemsSerializedParams(id, quickOrder = {}) {
29
33
  return '|' + this.getItemsFilter(id, this.getOrder(quickOrder[id])).toString() + '|';
30
34
  }
31
- getItemsFilter(id, cumulative) {
35
+ getItemsFilter(id, cumulative, includeLimit = true) {
32
36
  let params = cumulative ?? new HttpParams();
33
37
  if (this.filters[id]) {
34
38
  this.filters[id]
@@ -37,6 +41,10 @@ export class SearchService {
37
41
  params = params.append('filter', `${filter.attribute},${filter.operator},${filter.value}`);
38
42
  });
39
43
  }
44
+ if (includeLimit) {
45
+ const limit = this.limits[id] ?? this.limits['default'];
46
+ params = params.append('limit', limit);
47
+ }
40
48
  return params;
41
49
  }
42
50
  getOrder(quickOrder, cumulative) {
@@ -53,12 +61,14 @@ export class SearchService {
53
61
  search(condition) {
54
62
  return combineLatest([
55
63
  this.store.select(ConfigSelectors.dataUrl),
56
- this.store.select(DashboardSelectors.quickOrder)
57
- ]).pipe(mergeMap(([url, quickOrder]) => {
64
+ this.store.select(DashboardSelectors.quickOrder),
65
+ this.store.select(ConfigSelectors.limits)
66
+ ]).pipe(mergeMap(([url, quickOrder, limits]) => {
58
67
  const params = {};
59
68
  if (quickOrder[DEFAULT_NAMED_QUERY_ID]) {
60
69
  params['order'] = `${quickOrder[DEFAULT_NAMED_QUERY_ID]?.attribute},${quickOrder[DEFAULT_NAMED_QUERY_ID]?.asc ?? ''}`;
61
70
  }
71
+ condition.limit = limits[DEFAULT_NAMED_QUERY_ID] ?? limits['default'];
62
72
  return this.httpClient.post(encodeURI(`${url}/items/search`), condition, { params });
63
73
  }), map((rs) => this.applyTransformations(DEFAULT_NAMED_QUERY_ID, rs)));
64
74
  }
@@ -95,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
105
  providedIn: 'root'
96
106
  }]
97
107
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSDNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUd0RCxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVUsRUFBRSxVQUF3QixFQUFFLFVBQW9CO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFR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WUFDdEUsVUFBVSxFQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRyxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUs7U0FDTixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0E5R1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0IH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbXVsdGktY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnJlZHVjZXInO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4vc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTZWFyY2hTdGF0ZSB9IGZyb20gJy4vc2VhcmNoLnJlZHVjZXInO1xuXG5leHBvcnQgdHlwZSBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbiA9IChpZDogc3RyaW5nLCByZXN1bHQ6IFJlc3VsdFNldCkgPT4gUmVzdWx0U2V0O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgdHJhbnNmb3JtYXRpb25zOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbltdID0gW107XG4gIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IFNlYXJjaFN0YXRlPikge1xuICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGF0YXNvdXJjZUZpbHRlcnMpLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgICB9KTtcbiAgfVxuXG4gIGdldEl0ZW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI/OiBSZXN1bHRPcmRlciwgZXhjbHVkZUdlbz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpLmFwcGVuZCgnZXhjbHVkZUdlbycsIGV4Y2x1ZGVHZW8gPz8gZmFsc2UpO1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgY29uc29sZS53YXJuKCdOb3Qgc2VuZGluZyBpdGVtcyByZXF1ZXN0IHdpdGggbm8gZGF0YXNvdXJjZSBhdHRhY2hlZC4nKTtcbiAgICAgIHJldHVybiBvZih7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9IGFzIFJlc3VsdFNldCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGEtc291cmNlcy9pZC8ke2lkfS9pdGVtc2ApLCB7IHBhcmFtcyB9KSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKCdjdXJyZW50JywgcnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRJdGVtc1NlcmlhbGl6ZWRQYXJhbXMoaWQ6IHN0cmluZywgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd8JyArIHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcltpZF0pKS50b1N0cmluZygpICsgJ3wnO1xuICB9XG5cbiAgZ2V0SXRlbXNGaWx0ZXIoaWQ6IHN0cmluZywgY3VtdWxhdGl2ZT86IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zID0gY3VtdWxhdGl2ZSA/PyBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0aGlzLmZpbHRlcnNbaWRdKSB7XG4gICAgICB0aGlzLmZpbHRlcnNbaWRdXG4gICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLnZhbHVlICE9PSBudWxsICYmIGZpbHRlci52YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7ZmlsdGVyLnZhbHVlfWApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldE9yZGVyKHF1aWNrT3JkZXI6IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkLCBjdW11bGF0aXZlPzogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICAgIGxldCBwYXJhbXMgPSBjdW11bGF0aXZlID8/IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHF1aWNrT3JkZXIpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ29yZGVyJywgYCR7cXVpY2tPcmRlci5hdHRyaWJ1dGV9LCR7cXVpY2tPcmRlci5hc2MgPz8gJyd9YCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogTGF1bmNoIGEgc2VhcmNoIHJlcXVlc3QgKGFuZCBzYXZlcyBpdCBhcyBjdXJyZW50IHNlYXJjaClcbiAgICogQHBhcmFtIGNvbmRpdGlvblxuICAgKi9cbiAgc2VhcmNoKGNvbmRpdGlvbjogTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB8IE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIHwgRnVsbFRleHRTZWFyY2hQYXlsb2FkKTogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucXVpY2tPcmRlcilcbiAgICBdKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKFt1cmwsIHF1aWNrT3JkZXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIGlmIChxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdKSB7XG4gICAgICAgICAgcGFyYW1zWydvcmRlciddID0gYCR7cXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXR0cmlidXRlfSwke1xuICAgICAgICAgICAgcXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXNjID8/ICcnXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3VsdFNldD4oZW5jb2RlVVJJKGAke3VybH0vaXRlbXMvc2VhcmNoYCksIGNvbmRpdGlvbiwgeyBwYXJhbXMgfSk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgocnMpID0+IHRoaXMuYXBwbHlUcmFuc2Zvcm1hdGlvbnMoREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgcnMpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRvIGFkZCBhIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHdoZW4gZ2V0dGluZyByZXN1bHRzIGZyb20gYmFja2VuZFxuICAgKiBAcGFyYW0gZnVuY1xuICAgKi9cbiAgYWRkVHJhbnNmb3JtYXRpb24oZnVuYzogUmVzdWx0c2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9ucy5wdXNoKGZ1bmMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGFsbCB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbnNcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSByc1xuICAgKi9cbiAgYXBwbHlUcmFuc2Zvcm1hdGlvbnMoaWQ6IHN0cmluZywgcnM6IFJlc3VsdFNldCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZCA9IHJzO1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLmZvckVhY2goKGZ1bmMpID0+ICh0cmFuc2Zvcm1lZCA9IGZ1bmMoaWQsIHRyYW5zZm9ybWVkKSkpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1lZDtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZShcbiAgICBhdHRyaWJ1dGVzOlxuICAgICAgfCB7XG4gICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICB0ZWNobmljYWxOYW1lOiBzdHJpbmc7XG4gICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICBkYXRhc291cmNlOiBzdHJpbmc7XG4gICAgICAgIH1bXVxuICAgICAgfCB1bmRlZmluZWQsXG4gICAgc2VhcmNoOiBzdHJpbmcgPSAnJyxcbiAgICBsaW1pdCA9IDEwXG4gICkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmdbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YS1zb3VyY2VzL3ZhbHVlc2ApLCB7XG4gICAgICAgICAgYXR0cmlidXRlczogKGF0dHJpYnV0ZXMgPz8gW10pLm1hcCgoYXR0cikgPT4gKHsgZGF0YXNvdXJjZTogYXR0ci5kYXRhc291cmNlLCBhdHRyaWJ1dGU6IGF0dHIuaWQgfSkpLFxuICAgICAgICAgIHZhbHVlOiBzZWFyY2gsXG4gICAgICAgICAgbGltaXRcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSjNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUN4RCxXQUFNLEdBQTRCLEVBQUUsQ0FBQztRQUduQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN4RCxJQUFJ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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxFQUFVLEVBQUUsRUFBYTtRQUM1QyxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZLENBQ1YsVUFPYSxFQUNiLFNBQWlCLEVBQUUsRUFDbkIsS0FBSyxHQUFHLEVBQUU7UUFFVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFXLFNBQVMsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsRUFBRTtZQUN0RSxVQUFVLEVBQUUsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLEtBQUssRUFBRSxNQUFNO1lBQ2IsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDOytHQXhIVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEZpbHRlckNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdE9yZGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW1vbm8tY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgRnVsbFRleHRTZWFyY2hQYXlsb2FkLCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tdWx0aS1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcucmVkdWNlcic7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX05BTUVEX1FVRVJZX0lEIH0gZnJvbSAnLi9zZWFyY2guY29uc3RhbnRzJztcbmltcG9ydCB7IFNlYXJjaFN0YXRlIH0gZnJvbSAnLi9zZWFyY2gucmVkdWNlcic7XG5cbmV4cG9ydCB0eXBlIFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uID0gKGlkOiBzdHJpbmcsIHJlc3VsdDogUmVzdWx0U2V0KSA9PiBSZXN1bHRTZXQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2Uge1xuICB0cmFuc2Zvcm1hdGlvbnM6IFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uW10gPSBbXTtcbiAgZmlsdGVyczogeyBbZGF0YXNvdXJjZTogc3RyaW5nXTogRmlsdGVyQ29udGV4dFtdIH0gPSB7fTtcbiAgbGltaXRzOiB7IFtwOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8Q29uZmlnU3RhdGUgfCBTZWFyY2hTdGF0ZT4pIHtcbiAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmRhdGFzb3VyY2VGaWx0ZXJzKS5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfSk7XG4gICAgc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpLnN1YnNjcmliZSgobGltaXRzKSA9PiB7XG4gICAgICB0aGlzLmxpbWl0cyA9IGxpbWl0cztcbiAgICB9KTtcbiAgfVxuXG4gIGdldEl0ZW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI/OiBSZXN1bHRPcmRlciwgZXhjbHVkZUdlbz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpLmFwcGVuZCgnZXhjbHVkZUdlbycsIGV4Y2x1ZGVHZW8gPz8gZmFsc2UpO1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgY29uc29sZS53YXJuKCdOb3Qgc2VuZGluZyBpdGVtcyByZXF1ZXN0IHdpdGggbm8gZGF0YXNvdXJjZSBhdHRhY2hlZC4nKTtcbiAgICAgIHJldHVybiBvZih7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9IGFzIFJlc3VsdFNldCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGEtc291cmNlcy9pZC8ke2lkfS9pdGVtc2ApLCB7IHBhcmFtcyB9KSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKCdjdXJyZW50JywgcnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRJdGVtc1NlcmlhbGl6ZWRQYXJhbXMoaWQ6IHN0cmluZywgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd8JyArIHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcltpZF0pKS50b1N0cmluZygpICsgJ3wnO1xuICB9XG5cbiAgZ2V0SXRlbXNGaWx0ZXIoaWQ6IHN0cmluZywgY3VtdWxhdGl2ZT86IEh0dHBQYXJhbXMsIGluY2x1ZGVMaW1pdCA9IHRydWUpOiBIdHRwUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zID0gY3VtdWxhdGl2ZSA/PyBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0aGlzLmZpbHRlcnNbaWRdKSB7XG4gICAgICB0aGlzLmZpbHRlcnNbaWRdXG4gICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLnZhbHVlICE9PSBudWxsICYmIGZpbHRlci52YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7ZmlsdGVyLnZhbHVlfWApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGluY2x1ZGVMaW1pdCkge1xuICAgICAgY29uc3QgbGltaXQgPSB0aGlzLmxpbWl0c1tpZF0gPz8gdGhpcy5saW1pdHNbJ2RlZmF1bHQnXTtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2xpbWl0JywgbGltaXQpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgZ2V0T3JkZXIocXVpY2tPcmRlcjogUmVzdWx0T3JkZXIgfCB1bmRlZmluZWQsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAocXVpY2tPcmRlcikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXInLCBgJHtxdWlja09yZGVyLmF0dHJpYnV0ZX0sJHtxdWlja09yZGVyLmFzYyA/PyAnJ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXVuY2ggYSBzZWFyY2ggcmVxdWVzdCAoYW5kIHNhdmVzIGl0IGFzIGN1cnJlbnQgc2VhcmNoKVxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqL1xuICBzZWFyY2goY29uZGl0aW9uOiBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIHwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfCBGdWxsVGV4dFNlYXJjaFBheWxvYWQpOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5xdWlja09yZGVyKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpXG4gICAgXSkucGlwZShcbiAgICAgIG1lcmdlTWFwKChbdXJsLCBxdWlja09yZGVyLCBsaW1pdHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIGlmIChxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdKSB7XG4gICAgICAgICAgcGFyYW1zWydvcmRlciddID0gYCR7cXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXR0cmlidXRlfSwke1xuICAgICAgICAgICAgcXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXNjID8/ICcnXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uZGl0aW9uLmxpbWl0ID0gbGltaXRzW0RFRkFVTFRfTkFNRURfUVVFUllfSURdID8/IGxpbWl0c1snZGVmYXVsdCddO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzdWx0U2V0PihlbmNvZGVVUkkoYCR7dXJsfS9pdGVtcy9zZWFyY2hgKSwgY29uZGl0aW9uLCB7IHBhcmFtcyB9KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucyhERUZBVUxUX05BTUVEX1FVRVJZX0lELCBycykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gd2hlbiBnZXR0aW5nIHJlc3VsdHMgZnJvbSBiYWNrZW5kXG4gICAqIEBwYXJhbSBmdW5jXG4gICAqL1xuICBhZGRUcmFuc2Zvcm1hdGlvbihmdW5jOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLnB1c2goZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWxsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uc1xuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHJzXG4gICAqL1xuICBhcHBseVRyYW5zZm9ybWF0aW9ucyhpZDogc3RyaW5nLCByczogUmVzdWx0U2V0KSB7XG4gICAgbGV0IHRyYW5zZm9ybWVkID0gcnM7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMuZm9yRWFjaCgoZnVuYykgPT4gKHRyYW5zZm9ybWVkID0gZnVuYyhpZCwgdHJhbnNmb3JtZWQpKSk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlKFxuICAgIGF0dHJpYnV0ZXM6XG4gICAgICB8IHtcbiAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgIHRlY2huaWNhbE5hbWU6IHN0cmluZztcbiAgICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICAgIGRhdGFzb3VyY2U6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgICB8IHVuZGVmaW5lZCxcbiAgICBzZWFyY2g6IHN0cmluZyA9ICcnLFxuICAgIGxpbWl0ID0gMTBcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PHN0cmluZ1tdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvdmFsdWVzYCksIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiAoYXR0cmlidXRlcyA/PyBbXSkubWFwKChhdHRyKSA9PiAoeyBkYXRhc291cmNlOiBhdHRyLmRhdGFzb3VyY2UsIGF0dHJpYnV0ZTogYXR0ci5pZCB9KSksXG4gICAgICAgICAgdmFsdWU6IHNlYXJjaCxcbiAgICAgICAgICBsaW1pdFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -180,15 +180,12 @@ export class SymbolService {
180
180
  image.onload = () => {
181
181
  resolve(image);
182
182
  };
183
- if (url.startsWith(INTERNALLY_STORED_IMAGE_PREFIX)) {
184
- const regexp = new RegExp('^' + INTERNALLY_STORED_IMAGE_PREFIX);
185
- this.imageService.getImage(url.replace(regexp, '')).subscribe((res) => {
186
- image.src = this.sanitizer.sanitize(SecurityContext.URL, res.url) ?? DEFAULT_ICON_URL;
187
- });
188
- }
189
- else {
190
- image.src = this.sanitizer.sanitize(SecurityContext.URL, url) ?? DEFAULT_ICON_URL;
191
- }
183
+ const regexp = new RegExp('^' + INTERNALLY_STORED_IMAGE_PREFIX);
184
+ this.imageService
185
+ .getImage(url.replace(regexp, ''), !url.startsWith(INTERNALLY_STORED_IMAGE_PREFIX))
186
+ .subscribe((res) => {
187
+ image.src = this.sanitizer.sanitize(SecurityContext.URL, res.url) ?? DEFAULT_ICON_URL;
188
+ });
192
189
  });
193
190
  return this.cache[url];
194
191
  }
@@ -219,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
219
216
  providedIn: 'root'
220
217
  }]
221
218
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.DomSanitizer }, { type: i3.ImageService }]; } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zeW1ib2wvc3ltYm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUdoQixZQUFZLEVBRWIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQWdCLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFDakMsWUFBWSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQWlCbkMsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsS0FBaUIsRUFBVSxTQUF1QixFQUFVLFlBQTBCO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKbEcsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQXlMcEMsVUFBSyxHQUFpRCxFQUFFLENBQUM7UUF0THZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FB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WixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEljb24sIFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSwgQXR0cmlidXRlU2ltcGxlVmFsdWUsIEl0ZW0gfSBmcm9tICcuLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zLFxuICBERUZBVUxUX0lDT05fVVJMLFxuICBJY29uRGVmaW5pdGlvbnMsXG4gIEljb25PcHRpb25zLFxuICBJY29uUG9zaXRpb24sXG4gIEljb25SdWxlXG59IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UsIElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCB9IGZyb20gJy4uL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UnO1xuXG5jb25zdCBkZWZhdWx0SW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbmRlZmF1bHRJbWFnZS5zcmMgPSBERUZBVUxUX0lDT05fVVJMO1xuXG5jb25zdCBTVUJfSUNPTl9TSVpFX1BFUkNFTlQgPSAwLjI1O1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ2FjaGUge1xuICBbY2xhc3NJZDogc3RyaW5nXToge1xuICAgIHJ1bGVTaWduYXR1cmU6IHN0cmluZztcbiAgICBpbWFnZXM6IHtcbiAgICAgIFtydWxlc01hdGNoOiBzdHJpbmddOiBQcm9taXNlPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgICB9O1xuICAgIGJvcmRlcmVkSW1hZ2VzOiB7XG4gICAgICBbcnVsZXNNYXRjaDogc3RyaW5nXTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD47XG4gICAgfTtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ltYm9sU2VydmljZSB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEljb25EZWZpbml0aW9ucyA9IHt9O1xuICBwcml2YXRlIGNsYXNzZXM6IENsYXNzW10gPSBbXTtcbiAgcHJpdmF0ZSBpbWFnZUNhY2hlOiBJbWFnZUNhY2hlID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBpbWFnZVNlcnZpY2U6IEltYWdlU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuaWNvbkRlZmluaXRpb25zKS5zdWJzY3JpYmUoKGRlZnMpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSBkZWZzO1xuXG4gICAgICAvLyBGb3IgZWFjaCBjbGFzcywgZ2VuZXJhdGUgYWxsIGljb25zIGZvciBydWxlc2V0XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRlZmluaXRpb25zKS5mb3JFYWNoKChjbGFzc0lkKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdKSB7XG4gICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdID0geyBpbWFnZXM6IHt9LCBib3JkZXJlZEltYWdlczoge30sIHJ1bGVTaWduYXR1cmU6ICctLWluaXQtLScgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXSB8fFxuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5ydWxlU2lnbmF0dXJlICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0ucnVsZVNpZ25hdHVyZSA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0pO1xuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5pbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKTtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0uYm9yZGVyZWRJbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyhcbiAgICAgICAgICAgIHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0sXG4gICAgICAgICAgICAnIzhjZDU2MCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGxSdWxlc0NvbWJpbmFpc29uSW1hZ2VzKGRlZmluaXRpb246IEljb25PcHRpb25zW10sIGJvcmRlckNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlUnVsZU1hdGNoZXMoZGVmaW5pdGlvbilcbiAgICAgIC5tYXAoKHJ1bGVNYXRjaCkgPT4gKHsgW3J1bGVNYXRjaF06IHRoaXMuZ2VuZXJhdGVJbWFnZUZvclJ1bGVNYXRjaChydWxlTWF0Y2gsIGRlZmluaXRpb24sIGJvcmRlckNvbG9yKSB9KSlcbiAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIC4uLmMgfSksIHt9KTtcbiAgfVxuXG4gIHJlY3Vyc2l2ZVJ1bGVNYXRjaGVzKGRlZmluaXRpb246IEljb25PcHRpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgW3J1bGUsIC4uLm90aGVyUnVsZXNdID0gZGVmaW5pdGlvbjtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiBbJyddO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZWN1cnNpdmVSdWxlTWF0Y2hlcyhvdGhlclJ1bGVzKVxuICAgICAgLm1hcCgocnVsZTogc3RyaW5nKSA9PiBbJzAnICsgcnVsZSwgJzEnICsgcnVsZV0pXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUltYWdlRm9yUnVsZU1hdGNoKFxuICAgIHJ1bGVNYXRjaDogc3RyaW5nLFxuICAgIGRlZmluaXRpb246IEljb25PcHRpb25zW10sXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD4ge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpID8/IChudWxsIGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcblxuICAgIGxldCBhcHBsaWNhYmxlUnVsZXMgPSBkZWZpbml0aW9uLmZpbHRlcigoXywgaWR4KSA9PiBydWxlTWF0Y2hbaWR4XSA9PT0gJzEnKTtcbiAgICBpZiAoYXBwbGljYWJsZVJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gSWYgbm8gcnVsZSBtYXRjaCwgdGhlbiBhcHBseSBkZWZhdWx0IHJ1bGUgb25seVxuICAgICAgYXBwbGljYWJsZVJ1bGVzID0gZGVmaW5pdGlvbi5maWx0ZXIoKGRlZikgPT4gISFkZWYuaXNEZWZhdWx0KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlSW1hZ2VzID0gUHJvbWlzZS5hbGwoYXBwbGljYWJsZVJ1bGVzLm1hcCgocnVsZSkgPT4gdGhpcy5kb3dubG9hZEltYWdlKHJ1bGUuaWNvblVybCkpKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBwcm9taXNlSW1hZ2VzXG4gICAgICAgIC50aGVuKChpbWFnZXMpID0+IHtcbiAgICAgICAgICBjYW52YXMud2lkdGggPSA2MDA7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IDYwMDtcbiAgICAgICAgICBjb25zdCBzdWJTaXplID0ge1xuICAgICAgICAgICAgd2lkdGg6IDYwMCAqIFNVQl9JQ09OX1NJWkVfUEVSQ0VOVCxcbiAgICAgICAgICAgIGhlaWdodDogNjAwICogU1VCX0lDT05fU0laRV9QRVJDRU5ULFxuICAgICAgICAgICAgb2Zmc2V0VG9SaWdodDogNjAwICogKDEgLSBTVUJfSUNPTl9TSVpFX1BFUkNFTlQpLFxuICAgICAgICAgICAgb2Zmc2V0VG9Cb3R0b206IDYwMCAqICgxIC0gU1VCX0lDT05fU0laRV9QRVJDRU5UKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUaGVuIGRyYXcgZXZlcnl0aGluZ1xuICAgICAgICAgIGFwcGxpY2FibGVSdWxlcy5mb3JFYWNoKChkZWYsIGlkeCwgYXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IGltYWdlc1tpZHhdO1xuICAgICAgICAgICAgc3dpdGNoIChkZWYucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIHN1YlNpemUub2Zmc2V0VG9SaWdodCwgc3ViU2l6ZS5vZmZzZXRUb0JvdHRvbSwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5CT1RUT01fTEVGVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCAwLCBzdWJTaXplLm9mZnNldFRvQm90dG9tLCBzdWJTaXplLndpZHRoLCBzdWJTaXplLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgSWNvblBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCBzdWJTaXplLm9mZnNldFRvUmlnaHQsIDAsIHN1YlNpemUud2lkdGgsIHN1YlNpemUuaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5GVUxMOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICghYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgNjAwLCA2MDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkQXJyID0gWy0xLCAtMSwgMCwgLTEsIDEsIC0xLCAtMSwgMCwgMSwgMCwgLTEsIDEsIDAsIDEsIDEsIDFdOyAvLyBmaW5hbCB5IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IE1hdGgucm91bmQoNjAwICogMC4wNSk7IC8vIGJvcmRlciB3aWR0aDogNSUgb2YgaW1hZ2Ugd2lkdGhcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgaW1hZ2VzIGF0IG9mZnNldHMgZnJvbSB0aGUgYXJyYXkgc2NhbGVkIGJ5IHNcbiAgICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgZEFyci5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpXSAqIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpICsgMV0gKiBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICA2MDAsXG4gICAgICAgICAgICAgICAgICAgICAgNjAwXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGJvcmRlckNvbG9yO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgc3Ryb2tlV2lkdGgsIHN0cm9rZVdpZHRoLCA2MDAsIDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmVzb2x2ZShjYW52YXMpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycikgPT4gcmVqZWN0KGVycikpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sKGl0ZW06IEl0ZW0sIGJvcmRlcmVkPzogYm9vbGVhbik6IFByb21pc2U8SFRNTENhbnZhc0VsZW1lbnQ+IHtcbiAgICAvLyBGaXJzdCwgd2UgdHJ5IHRvIGFwcGx5IG5vbi1kZWZhdWx0IHJ1bGVzXG4gICAgbGV0IHJ1bGVNYXRjaCA9ICh0aGlzLmRlZmluaXRpb25zW2l0ZW0ub0NsYXNzXSA/PyB0aGlzLmRlZmluaXRpb25zWydkZWZhdWx0J10pXG4gICAgICAubWFwKChkZWYpID0+ICh0aGlzLm1hdGNoUnVsZShpdGVtLCBkZWYucnVsZSkgJiYgIWRlZi5pc0RlZmF1bHQgPyAnMScgOiAnMCcpKVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3QgaW1hZ2VTZXQgPSB0aGlzLmltYWdlQ2FjaGVbaXRlbS5vQ2xhc3NdID8/IHRoaXMuaW1hZ2VDYWNoZVsnZGVmYXVsdCddO1xuXG4gICAgcmV0dXJuIGltYWdlU2V0W2JvcmRlcmVkID8gJ2JvcmRlcmVkSW1hZ2VzJyA6ICdpbWFnZXMnXVtydWxlTWF0Y2hdO1xuICB9XG5cbiAgZ2V0U3ltYm9sT2ZDbGFzcyhpZDogc3RyaW5nLCBub0RlZmF1bHQgPSBmYWxzZSk6IFByb21pc2U8U2FmZVVybCB8IG51bGw+IHtcbiAgICBjb25zdCBkZWZpbml0aW9uc0ZvckNsYXNzID0gKHRoaXMuZGVmaW5pdGlvbnNbaWRdIHx8IFtdKS5maW5kKChkZWYpID0+IGRlZi5pc0RlZmF1bHQpO1xuICAgIGNvbnN0IHVybCA9IGRlZmluaXRpb25zRm9yQ2xhc3M/Lmljb25VcmwgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICBpZiAodXJsID09PSBERUZBVUxUX0lDT05fVVJMICYmIG5vRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWRBc1VybCh1cmwpO1xuICB9XG5cbiAgZG93bmxvYWRBc1VybCh1cmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmRvd25sb2FkSW1hZ2UoKCF1cmwgPyBudWxsIDogdXJsKSA/PyBERUZBVUxUX0lDT05fVVJMKS50aGVuKChpbWFnZSkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykgPz8gKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQpO1xuICAgICAgICByZXNvbHZlKGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sQXNJY29uU3R5bGUoaXRlbTogSXRlbSwgYm9yZGVyZWQ/OiBib29sZWFuKTogUHJvbWlzZTxTdHlsZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTdHlsZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5nZXRTeW1ib2woaXRlbSwgYm9yZGVyZWQpXG4gICAgICAgIC50aGVuKChjYW52YXMpID0+IHtcbiAgICAgICAgICBjb25zdCBzaXplID0gKHRoaXMuZGVmaW5pdGlvbnNbaXRlbS5vQ2xhc3NdID8/IHRoaXMuZGVmaW5pdGlvbnNbJ2RlZmF1bHQnXSlbMF0uaWNvblNpemU7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBbc2l6ZVswXSAvIGNhbnZhcy53aWR0aCwgc2l6ZVsxXSAvIGNhbnZhcy5oZWlnaHRdO1xuXG4gICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgIG5ldyBTdHlsZSh7XG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgSWNvbih7XG4gICAgICAgICAgICAgICAgaW1nOiBjYW52YXMsXG4gICAgICAgICAgICAgICAgaW1nU2l6ZTogW2NhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodF0sXG4gICAgICAgICAgICAgICAgc2NhbGVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gICAgfSk7XG4gIH1cblxuICBjYWNoZTogeyBbdXJsOiBzdHJpbmddOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IH0gPSB7fTtcblxuICBkb3dubG9hZEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgaWYgKCEhdGhpcy5jYWNoZVt1cmxdKSByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuXG4gICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgICAgaW1hZ2Uub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3Igd2l0aCBpbWFnZScsIHVybCk7XG4gICAgICAgIHJlc29sdmUoZGVmYXVsdEltYWdlKTtcbiAgICAgIH07XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoaW1hZ2UpO1xuICAgICAgfTtcblxuICAgICAgaWYgKHVybC5zdGFydHNXaXRoKElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCkpIHtcbiAgICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnXicgKyBJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVgpO1xuICAgICAgICB0aGlzLmltYWdlU2VydmljZS5nZXRJbWFnZSh1cmwucmVwbGFjZShyZWdleHAsICcnKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICBpbWFnZS5zcmMgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuVVJMLCByZXMudXJsKSA/PyBERUZBVUxUX0lDT05fVVJMO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGltYWdlLnNyYyA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5VUkwsIHVybCkgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlW3VybF07XG4gIH1cblxuICBwcml2YXRlIG1hdGNoUnVsZShpdGVtOiBJdGVtLCBydWxlPzogSWNvblJ1bGUpIHtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoISFpdGVtLmF0dHJpYnV0ZXNbcnVsZS5hdHRyaWJ1dGVOYW1lXSkge1xuICAgICAgaWYgKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdLnR5cGUgPT09ICdNVUxUSScpIHtcbiAgICAgICAgLy8gbXVsdGkgdmFsdWVkXG4gICAgICAgIHJldHVybiAoaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0gYXMgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSkudmFsdWVzXG4gICAgICAgICAgLm1hcCgoYXR0clZhbHVlKSA9PiBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zW3J1bGUub3BlcmF0aW9uXShhdHRyVmFsdWUudmFsdWUsIHJ1bGUudmFsdWUpKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IGMgfHwgcCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzaW5nbGUgdmFsdWVkXG4gICAgICAgIHJldHVybiBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zW3J1bGUub3BlcmF0aW9uXShcbiAgICAgICAgICAoaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpLnZhbHVlLFxuICAgICAgICAgIHJ1bGUudmFsdWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zeW1ib2wvc3ltYm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUdoQixZQUFZLEVBRWIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQWdCLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFDakMsWUFBWSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQWlCbkMsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsS0FBaUIsRUFBVSxTQUF1QixFQUFVLFlBQTBCO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKbEcsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQXlMcEMsVUFBSyxHQUFpRCxFQUFFLENBQUM7UUF0THZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FB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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEljb24sIFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSwgQXR0cmlidXRlU2ltcGxlVmFsdWUsIEl0ZW0gfSBmcm9tICcuLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zLFxuICBERUZBVUxUX0lDT05fVVJMLFxuICBJY29uRGVmaW5pdGlvbnMsXG4gIEljb25PcHRpb25zLFxuICBJY29uUG9zaXRpb24sXG4gIEljb25SdWxlXG59IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UsIElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCB9IGZyb20gJy4uL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UnO1xuXG5jb25zdCBkZWZhdWx0SW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbmRlZmF1bHRJbWFnZS5zcmMgPSBERUZBVUxUX0lDT05fVVJMO1xuXG5jb25zdCBTVUJfSUNPTl9TSVpFX1BFUkNFTlQgPSAwLjI1O1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ2FjaGUge1xuICBbY2xhc3NJZDogc3RyaW5nXToge1xuICAgIHJ1bGVTaWduYXR1cmU6IHN0cmluZztcbiAgICBpbWFnZXM6IHtcbiAgICAgIFtydWxlc01hdGNoOiBzdHJpbmddOiBQcm9taXNlPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgICB9O1xuICAgIGJvcmRlcmVkSW1hZ2VzOiB7XG4gICAgICBbcnVsZXNNYXRjaDogc3RyaW5nXTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD47XG4gICAgfTtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ltYm9sU2VydmljZSB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEljb25EZWZpbml0aW9ucyA9IHt9O1xuICBwcml2YXRlIGNsYXNzZXM6IENsYXNzW10gPSBbXTtcbiAgcHJpdmF0ZSBpbWFnZUNhY2hlOiBJbWFnZUNhY2hlID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBpbWFnZVNlcnZpY2U6IEltYWdlU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuaWNvbkRlZmluaXRpb25zKS5zdWJzY3JpYmUoKGRlZnMpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSBkZWZzO1xuXG4gICAgICAvLyBGb3IgZWFjaCBjbGFzcywgZ2VuZXJhdGUgYWxsIGljb25zIGZvciBydWxlc2V0XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRlZmluaXRpb25zKS5mb3JFYWNoKChjbGFzc0lkKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdKSB7XG4gICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdID0geyBpbWFnZXM6IHt9LCBib3JkZXJlZEltYWdlczoge30sIHJ1bGVTaWduYXR1cmU6ICctLWluaXQtLScgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXSB8fFxuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5ydWxlU2lnbmF0dXJlICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0ucnVsZVNpZ25hdHVyZSA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0pO1xuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5pbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKTtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0uYm9yZGVyZWRJbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyhcbiAgICAgICAgICAgIHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0sXG4gICAgICAgICAgICAnIzhjZDU2MCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGxSdWxlc0NvbWJpbmFpc29uSW1hZ2VzKGRlZmluaXRpb246IEljb25PcHRpb25zW10sIGJvcmRlckNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlUnVsZU1hdGNoZXMoZGVmaW5pdGlvbilcbiAgICAgIC5tYXAoKHJ1bGVNYXRjaCkgPT4gKHsgW3J1bGVNYXRjaF06IHRoaXMuZ2VuZXJhdGVJbWFnZUZvclJ1bGVNYXRjaChydWxlTWF0Y2gsIGRlZmluaXRpb24sIGJvcmRlckNvbG9yKSB9KSlcbiAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIC4uLmMgfSksIHt9KTtcbiAgfVxuXG4gIHJlY3Vyc2l2ZVJ1bGVNYXRjaGVzKGRlZmluaXRpb246IEljb25PcHRpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgW3J1bGUsIC4uLm90aGVyUnVsZXNdID0gZGVmaW5pdGlvbjtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiBbJyddO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZWN1cnNpdmVSdWxlTWF0Y2hlcyhvdGhlclJ1bGVzKVxuICAgICAgLm1hcCgocnVsZTogc3RyaW5nKSA9PiBbJzAnICsgcnVsZSwgJzEnICsgcnVsZV0pXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUltYWdlRm9yUnVsZU1hdGNoKFxuICAgIHJ1bGVNYXRjaDogc3RyaW5nLFxuICAgIGRlZmluaXRpb246IEljb25PcHRpb25zW10sXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD4ge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpID8/IChudWxsIGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcblxuICAgIGxldCBhcHBsaWNhYmxlUnVsZXMgPSBkZWZpbml0aW9uLmZpbHRlcigoXywgaWR4KSA9PiBydWxlTWF0Y2hbaWR4XSA9PT0gJzEnKTtcbiAgICBpZiAoYXBwbGljYWJsZVJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gSWYgbm8gcnVsZSBtYXRjaCwgdGhlbiBhcHBseSBkZWZhdWx0IHJ1bGUgb25seVxuICAgICAgYXBwbGljYWJsZVJ1bGVzID0gZGVmaW5pdGlvbi5maWx0ZXIoKGRlZikgPT4gISFkZWYuaXNEZWZhdWx0KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlSW1hZ2VzID0gUHJvbWlzZS5hbGwoYXBwbGljYWJsZVJ1bGVzLm1hcCgocnVsZSkgPT4gdGhpcy5kb3dubG9hZEltYWdlKHJ1bGUuaWNvblVybCkpKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBwcm9taXNlSW1hZ2VzXG4gICAgICAgIC50aGVuKChpbWFnZXMpID0+IHtcbiAgICAgICAgICBjYW52YXMud2lkdGggPSA2MDA7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IDYwMDtcbiAgICAgICAgICBjb25zdCBzdWJTaXplID0ge1xuICAgICAgICAgICAgd2lkdGg6IDYwMCAqIFNVQl9JQ09OX1NJWkVfUEVSQ0VOVCxcbiAgICAgICAgICAgIGhlaWdodDogNjAwICogU1VCX0lDT05fU0laRV9QRVJDRU5ULFxuICAgICAgICAgICAgb2Zmc2V0VG9SaWdodDogNjAwICogKDEgLSBTVUJfSUNPTl9TSVpFX1BFUkNFTlQpLFxuICAgICAgICAgICAgb2Zmc2V0VG9Cb3R0b206IDYwMCAqICgxIC0gU1VCX0lDT05fU0laRV9QRVJDRU5UKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUaGVuIGRyYXcgZXZlcnl0aGluZ1xuICAgICAgICAgIGFwcGxpY2FibGVSdWxlcy5mb3JFYWNoKChkZWYsIGlkeCwgYXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IGltYWdlc1tpZHhdO1xuICAgICAgICAgICAgc3dpdGNoIChkZWYucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIHN1YlNpemUub2Zmc2V0VG9SaWdodCwgc3ViU2l6ZS5vZmZzZXRUb0JvdHRvbSwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5CT1RUT01fTEVGVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCAwLCBzdWJTaXplLm9mZnNldFRvQm90dG9tLCBzdWJTaXplLndpZHRoLCBzdWJTaXplLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgSWNvblBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCBzdWJTaXplLm9mZnNldFRvUmlnaHQsIDAsIHN1YlNpemUud2lkdGgsIHN1YlNpemUuaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5GVUxMOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICghYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgNjAwLCA2MDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkQXJyID0gWy0xLCAtMSwgMCwgLTEsIDEsIC0xLCAtMSwgMCwgMSwgMCwgLTEsIDEsIDAsIDEsIDEsIDFdOyAvLyBmaW5hbCB5IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IE1hdGgucm91bmQoNjAwICogMC4wNSk7IC8vIGJvcmRlciB3aWR0aDogNSUgb2YgaW1hZ2Ugd2lkdGhcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgaW1hZ2VzIGF0IG9mZnNldHMgZnJvbSB0aGUgYXJyYXkgc2NhbGVkIGJ5IHNcbiAgICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgZEFyci5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpXSAqIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpICsgMV0gKiBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICA2MDAsXG4gICAgICAgICAgICAgICAgICAgICAgNjAwXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGJvcmRlckNvbG9yO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgc3Ryb2tlV2lkdGgsIHN0cm9rZVdpZHRoLCA2MDAsIDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmVzb2x2ZShjYW52YXMpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycikgPT4gcmVqZWN0KGVycikpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sKGl0ZW06IEl0ZW0sIGJvcmRlcmVkPzogYm9vbGVhbik6IFByb21pc2U8SFRNTENhbnZhc0VsZW1lbnQ+IHtcbiAgICAvLyBGaXJzdCwgd2UgdHJ5IHRvIGFwcGx5IG5vbi1kZWZhdWx0IHJ1bGVzXG4gICAgbGV0IHJ1bGVNYXRjaCA9ICh0aGlzLmRlZmluaXRpb25zW2l0ZW0ub0NsYXNzXSA/PyB0aGlzLmRlZmluaXRpb25zWydkZWZhdWx0J10pXG4gICAgICAubWFwKChkZWYpID0+ICh0aGlzLm1hdGNoUnVsZShpdGVtLCBkZWYucnVsZSkgJiYgIWRlZi5pc0RlZmF1bHQgPyAnMScgOiAnMCcpKVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3QgaW1hZ2VTZXQgPSB0aGlzLmltYWdlQ2FjaGVbaXRlbS5vQ2xhc3NdID8/IHRoaXMuaW1hZ2VDYWNoZVsnZGVmYXVsdCddO1xuXG4gICAgcmV0dXJuIGltYWdlU2V0W2JvcmRlcmVkID8gJ2JvcmRlcmVkSW1hZ2VzJyA6ICdpbWFnZXMnXVtydWxlTWF0Y2hdO1xuICB9XG5cbiAgZ2V0U3ltYm9sT2ZDbGFzcyhpZDogc3RyaW5nLCBub0RlZmF1bHQgPSBmYWxzZSk6IFByb21pc2U8U2FmZVVybCB8IG51bGw+IHtcbiAgICBjb25zdCBkZWZpbml0aW9uc0ZvckNsYXNzID0gKHRoaXMuZGVmaW5pdGlvbnNbaWRdIHx8IFtdKS5maW5kKChkZWYpID0+IGRlZi5pc0RlZmF1bHQpO1xuICAgIGNvbnN0IHVybCA9IGRlZmluaXRpb25zRm9yQ2xhc3M/Lmljb25VcmwgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICBpZiAodXJsID09PSBERUZBVUxUX0lDT05fVVJMICYmIG5vRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWRBc1VybCh1cmwpO1xuICB9XG5cbiAgZG93bmxvYWRBc1VybCh1cmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmRvd25sb2FkSW1hZ2UoKCF1cmwgPyBudWxsIDogdXJsKSA/PyBERUZBVUxUX0lDT05fVVJMKS50aGVuKChpbWFnZSkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykgPz8gKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQpO1xuICAgICAgICByZXNvbHZlKGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sQXNJY29uU3R5bGUoaXRlbTogSXRlbSwgYm9yZGVyZWQ/OiBib29sZWFuKTogUHJvbWlzZTxTdHlsZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTdHlsZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5nZXRTeW1ib2woaXRlbSwgYm9yZGVyZWQpXG4gICAgICAgIC50aGVuKChjYW52YXMpID0+IHtcbiAgICAgICAgICBjb25zdCBzaXplID0gKHRoaXMuZGVmaW5pdGlvbnNbaXRlbS5vQ2xhc3NdID8/IHRoaXMuZGVmaW5pdGlvbnNbJ2RlZmF1bHQnXSlbMF0uaWNvblNpemU7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBbc2l6ZVswXSAvIGNhbnZhcy53aWR0aCwgc2l6ZVsxXSAvIGNhbnZhcy5oZWlnaHRdO1xuXG4gICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgIG5ldyBTdHlsZSh7XG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgSWNvbih7XG4gICAgICAgICAgICAgICAgaW1nOiBjYW52YXMsXG4gICAgICAgICAgICAgICAgaW1nU2l6ZTogW2NhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodF0sXG4gICAgICAgICAgICAgICAgc2NhbGVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gICAgfSk7XG4gIH1cblxuICBjYWNoZTogeyBbdXJsOiBzdHJpbmddOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IH0gPSB7fTtcblxuICBkb3dubG9hZEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgaWYgKCEhdGhpcy5jYWNoZVt1cmxdKSByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuXG4gICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgICAgaW1hZ2Uub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3Igd2l0aCBpbWFnZScsIHVybCk7XG4gICAgICAgIHJlc29sdmUoZGVmYXVsdEltYWdlKTtcbiAgICAgIH07XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoaW1hZ2UpO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnXicgKyBJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVgpO1xuICAgICAgdGhpcy5pbWFnZVNlcnZpY2VcbiAgICAgICAgLmdldEltYWdlKHVybC5yZXBsYWNlKHJlZ2V4cCwgJycpLCAhdXJsLnN0YXJ0c1dpdGgoSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYKSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgaW1hZ2Uuc3JjID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgcmVzLnVybCkgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXRjaFJ1bGUoaXRlbTogSXRlbSwgcnVsZT86IEljb25SdWxlKSB7XG4gICAgaWYgKCFydWxlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCEhaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0pIHtcbiAgICAgIGlmIChpdGVtLmF0dHJpYnV0ZXNbcnVsZS5hdHRyaWJ1dGVOYW1lXS50eXBlID09PSAnTVVMVEknKSB7XG4gICAgICAgIC8vIG11bHRpIHZhbHVlZFxuICAgICAgICByZXR1cm4gKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdIGFzIEF0dHJpYnV0ZU11bHRpcGxlVmFsdWUpLnZhbHVlc1xuICAgICAgICAgIC5tYXAoKGF0dHJWYWx1ZSkgPT4gY29tcGFyZU9wZXJhdGlvbkZ1bmN0aW9uc1tydWxlLm9wZXJhdGlvbl0oYXR0clZhbHVlLnZhbHVlLCBydWxlLnZhbHVlKSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBjIHx8IHApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2luZ2xlIHZhbHVlZFxuICAgICAgICByZXR1cm4gY29tcGFyZU9wZXJhdGlvbkZ1bmN0aW9uc1tydWxlLm9wZXJhdGlvbl0oXG4gICAgICAgICAgKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKS52YWx1ZSxcbiAgICAgICAgICBydWxlLnZhbHVlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -42,6 +42,7 @@ export class WidgetInstanciatorComponent extends SubscriptionnerDirective {
42
42
  .resolveComponent(widgetManifest)
43
43
  .pipe(delay(1))
44
44
  .subscribe((component) => {
45
+ this.release();
45
46
  this.instanciatedComponent = !!component
46
47
  ? this.componentRef.createComponent(component)
47
48
  : this.componentRef.createComponent(WidgetPlaceholderComponent);
@@ -58,11 +59,19 @@ export class WidgetInstanciatorComponent extends SubscriptionnerDirective {
58
59
  });
59
60
  }));
60
61
  }
61
- ngOnDestroy() {
62
- super.ngOnDestroy();
62
+ release() {
63
63
  if (this.instanciatedComponent) {
64
64
  this.instanciatedComponent.destroy();
65
+ // @ts-ignore
66
+ this.instanciatedComponent = null;
65
67
  }
68
+ this.instanceSubscription?.unsubscribe();
69
+ // @ts-ignore
70
+ this.instanceSubscription = null;
71
+ }
72
+ ngOnDestroy() {
73
+ super.ngOnDestroy();
74
+ this.release();
66
75
  this.cdRef.detectChanges();
67
76
  }
68
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetInstanciatorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.WidgetFactoryService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -85,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
94
  }], open$: [{
86
95
  type: Input
87
96
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtaW5zdGFuY2lhdG9yL3dpZGdldC1pbnN0YW5jaWF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LWluc3RhbmNpYXRvci93aWRnZXQtaW5zdGFuY2lhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxFQUFFLEVBQ0YsT0FBTyxFQUVQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7OztBQU9oRyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBS3ZFLElB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RkRxQ2EsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHlCQUF5QjsrSkFRdEIsV0FBVztzQkFBdkIsS0FBSztnQkFRTyxjQUFjO3NCQUExQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUUrRCxZQUFZO3NCQUFqRixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUczRCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVsYXksXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vd2lkZ2V0LXBsYWNlaG9sZGVyL3dpZGdldC1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktd2lkZ2V0LWluc3RhbmNpYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtaW5zdGFuY2lhdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRJbnN0YW5jaWF0b3JDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBfd2lkZ2V0SW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICB3aWRnZXRNYW5pZmVzdCQhOiBPYnNlcnZhYmxlPFdpZGdldE1hbmlmZXN0PjtcbiAgc3RhdGljTWFuaWZlc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXRNYW5pZmVzdCB8IG51bGw+KG51bGwpO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRJbmRleChtYW5pZmVzdDogbnVtYmVyKSB7XG4gICAgdGhpcy5fd2lkZ2V0SW5kZXgkLm5leHQobWFuaWZlc3QpO1xuICB9XG5cbiAgZ2V0IHdpZGdldEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbmRleCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzdGF0aWNNYW5pZmVzdChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICB0aGlzLnN0YXRpY01hbmlmZXN0JC5uZXh0KG1hbmlmZXN0KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHN0YW5kYWxvbmUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgbWFuaWZlc3RNb2RpZmllZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB3aWRnZXRJbmRleDogbnVtYmVyOyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QgfT4oKTtcblxuICBAVmlld0NoaWxkKCdjb21wb25lbnRSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogZmFsc2UgfSkgY29tcG9uZW50UmVmITogVmlld0NvbnRhaW5lclJlZjtcbiAgaW5zdGFuY2lhdGVkQ29tcG9uZW50ITogQ29tcG9uZW50UmVmPGFueT47XG4gIGluc3RhbmNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBASW5wdXQoKSBvcGVuJDogT2JzZXJ2YWJsZTx2b2lkPiB8IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgd2lkZ2V0RmFjdG9yeVNlcnZpY2U6IFdpZGdldEZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBEeW5hbWljYWxseSBjcmVhdGUgYXNzb2NpYXRlZCBjb21wb25lbnRcbiAgICB0aGlzLndpZGdldE1hbmlmZXN0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RhdGljTWFuaWZlc3QkLCB0aGlzLl93aWRnZXRJbmRleCRdKS5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgoW3N0YXRpY01hbmlmZXN0LCBpbmRleF0pID0+XG4gICAgICAgICEhc3RhdGljTWFuaWZlc3QgPyBvZihzdGF0aWNNYW5pZmVzdCkgOiB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMud2lkZ2V0TWFuaWZlc3QoaW5kZXgpKVxuICAgICAgKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwLCBjKSA9PiBlcXVhbChwLCBjKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMud2lkZ2V0TWFuaWZlc3QkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgod2lkZ2V0TWFuaWZlc3QpID0+ICh7IHR5cGU6IHdpZGdldE1hbmlmZXN0LnR5cGUsIGxheW91dDogd2lkZ2V0TWFuaWZlc3QubGF5b3V0IH0pKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocCwgYykgPT4gZXF1YWwocCwgYykpLFxuICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMud2lkZ2V0TWFuaWZlc3QkKSxcbiAgICAgICAgICBtYXAoKFt0cmlnZ2VyaW5nLCB3aWRnZXRNYW5pZmVzdF0pID0+IHdpZGdldE1hbmlmZXN0KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHdpZGdldE1hbmlmZXN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICAgICAgICB0aGlzLmluc3RhbmNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgdGhpcy53aWRnZXRGYWN0b3J5U2VydmljZVxuICAgICAgICAgICAgLnJlc29sdmVDb21wb25lbnQod2lkZ2V0TWFuaWZlc3QpXG4gICAgICAgICAgICAucGlwZShkZWxheSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudCA9ICEhY29tcG9uZW50XG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb21wb25lbnRSZWYuY3JlYXRlQ29tcG9uZW50KFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2UuX21hbmlmZXN0JCA9IHRoaXMud2lkZ2V0TWFuaWZlc3QkO1xuICAgICAgICAgICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudC5pbnN0YW5jZS53aWRnZXRJbmRleCA9IHRoaXMuX3dpZGdldEluZGV4JC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudC5pbnN0YW5jZS5vcGVuJCA9IHRoaXMub3BlbiQ7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VTdWJzY3JpcHRpb24gPSB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudC5pbnN0YW5jZS5tYW5pZmVzdE1vZGlmaWVkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAobWFuaWZlc3Q6IHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5zdGFuZGFsb25lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEltcGFjdCBzdG9yZSBnbG9iYWwgbWFuaWZlc3RcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldE1hbmlmZXN0KHsgLi4ubWFuaWZlc3QsIGluZGV4OiBtYW5pZmVzdC53aWRnZXRJbmRleCB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgdGhpcy5tYW5pZmVzdE1vZGlmaWVkLmVtaXQobWFuaWZlc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIGlmICh0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudCkge1xuICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjY29tcG9uZW50UmVmPjwvbmctY29udGFpbmVyPlxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtaW5zdGFuY2lhdG9yL3dpZGdldC1pbnN0YW5jaWF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LWluc3RhbmNpYXRvci93aWRnZXQtaW5zdGFuY2lhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxFQUFFLEVBQ0YsT0FBTyxFQUVQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7OztBQU9oRyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBS3ZFLElB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LENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBbEdVLDJCQUEyQjttR0FBM0IsMkJBQTJCLCtUQXFCSCxnQkFBZ0Isb0RDM0RyRCwrQ0FDQTs7NEZEcUNhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7K0pBUXRCLFdBQVc7c0JBQXZCLEtBQUs7Z0JBUU8sY0FBYztzQkFBMUIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFK0QsWUFBWTtzQkFBakYsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHM0QsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlbGF5LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdpZGdldE1hbmlmZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1wbGFjZWhvbGRlci93aWRnZXQtcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi93aWRnZXQtZmFjdG9yeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC1pbnN0YW5jaWF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0SW5zdGFuY2lhdG9yQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgX3dpZGdldEluZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgd2lkZ2V0TWFuaWZlc3QkITogT2JzZXJ2YWJsZTxXaWRnZXRNYW5pZmVzdD47XG4gIHN0YXRpY01hbmlmZXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0TWFuaWZlc3QgfCBudWxsPihudWxsKTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0SW5kZXgobWFuaWZlc3Q6IG51bWJlcikge1xuICAgIHRoaXMuX3dpZGdldEluZGV4JC5uZXh0KG1hbmlmZXN0KTtcbiAgfVxuXG4gIGdldCB3aWRnZXRJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5kZXgkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc3RhdGljTWFuaWZlc3QobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KSB7XG4gICAgdGhpcy5zdGF0aWNNYW5pZmVzdCQubmV4dChtYW5pZmVzdCk7XG4gIH1cblxuICBASW5wdXQoKSBzdGFuZGFsb25lID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG1hbmlmZXN0TW9kaWZpZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50UmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pIGNvbXBvbmVudFJlZiE6IFZpZXdDb250YWluZXJSZWY7XG4gIGluc3RhbmNpYXRlZENvbXBvbmVudCE6IENvbXBvbmVudFJlZjxhbnk+O1xuICBpbnN0YW5jZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgQElucHV0KCkgb3BlbiQ6IE9ic2VydmFibGU8dm9pZD4gfCBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHdpZGdldEZhY3RvcnlTZXJ2aWNlOiBXaWRnZXRGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gRHluYW1pY2FsbHkgY3JlYXRlIGFzc29jaWF0ZWQgY29tcG9uZW50XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRpY01hbmlmZXN0JCwgdGhpcy5fd2lkZ2V0SW5kZXgkXSkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzd2l0Y2hNYXAoKFtzdGF0aWNNYW5pZmVzdCwgaW5kZXhdKSA9PlxuICAgICAgICAhIXN0YXRpY01hbmlmZXN0ID8gb2Yoc3RhdGljTWFuaWZlc3QpIDogdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLndpZGdldE1hbmlmZXN0KGluZGV4KSlcbiAgICAgICksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocCwgYykgPT4gZXF1YWwocCwgYykpXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLndpZGdldE1hbmlmZXN0JFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHdpZGdldE1hbmlmZXN0KSA9PiAoeyB0eXBlOiB3aWRnZXRNYW5pZmVzdC50eXBlLCBsYXlvdXQ6IHdpZGdldE1hbmlmZXN0LmxheW91dCB9KSksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIGMpID0+IGVxdWFsKHAsIGMpKSxcbiAgICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLndpZGdldE1hbmlmZXN0JCksXG4gICAgICAgICAgbWFwKChbdHJpZ2dlcmluZywgd2lkZ2V0TWFuaWZlc3RdKSA9PiB3aWRnZXRNYW5pZmVzdClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh3aWRnZXRNYW5pZmVzdCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmNsZWFyKCk7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgIHRoaXMud2lkZ2V0RmFjdG9yeVNlcnZpY2VcbiAgICAgICAgICAgIC5yZXNvbHZlQ29tcG9uZW50KHdpZGdldE1hbmlmZXN0KVxuICAgICAgICAgICAgLnBpcGUoZGVsYXkoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxlYXNlKCk7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50ID0gISFjb21wb25lbnRcbiAgICAgICAgICAgICAgICA/IHRoaXMuY29tcG9uZW50UmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQoV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudC5pbnN0YW5jZS5fbWFuaWZlc3QkID0gdGhpcy53aWRnZXRNYW5pZmVzdCQ7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLndpZGdldEluZGV4ID0gdGhpcy5fd2lkZ2V0SW5kZXgkLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm9wZW4kID0gdGhpcy5vcGVuJDtcbiAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVN1YnNjcmlwdGlvbiA9IHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm1hbmlmZXN0TW9kaWZpZWQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChtYW5pZmVzdDogeyB3aWRnZXRJbmRleDogbnVtYmVyOyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YW5kYWxvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSW1wYWN0IHN0b3JlIGdsb2JhbCBtYW5pZmVzdFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0TWFuaWZlc3QoeyAuLi5tYW5pZmVzdCwgaW5kZXg6IG1hbmlmZXN0LndpZGdldEluZGV4IH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdChtYW5pZmVzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlbGVhc2UoKSB7XG4gICAgaWYgKHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLmluc3RhbmNpYXRlZENvbXBvbmVudCA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuaW5zdGFuY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuaW5zdGFuY2VTdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLnJlbGVhc2UoKTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjY29tcG9uZW50UmVmPjwvbmctY29udGFpbmVyPlxuIl19
@@ -89,7 +89,8 @@ export class PryDashboardModule {
89
89
  RefreshService,
90
90
  PryTitleService,
91
91
  WebsocketService,
92
- ConfigService
92
+ ConfigService,
93
+ WidgetFactoryService
93
94
  ]
94
95
  };
95
96
  }
@@ -143,7 +144,7 @@ export class PryDashboardModule {
143
144
  FilterInstanciatorComponent,
144
145
  FilterGroupComponent,
145
146
  DatasourceSelectorComponent] }); }
146
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryDashboardModule, providers: [WidgetFactoryService], imports: [CommonModule,
147
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryDashboardModule, imports: [CommonModule,
147
148
  FormsModule,
148
149
  PrySelectModule,
149
150
  PryIconModule,
@@ -177,7 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
177
178
  PryI18nModule
178
179
  ],
179
180
  exports: [...components],
180
- providers: [WidgetFactoryService]
181
+ providers: []
181
182
  }]
182
183
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3JCLE1BQU0saUVBQWlFLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFFckgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbEgsT0FBTyxFQUdMLG9CQUFvQixFQUNyQixNQUFNLDhEQUE4RCxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sbUNBQW1DLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRWpELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLDJCQUEyQjtDQUM1QixDQUFDO0FBc0JGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FDWixlQUFvRCxFQUNwRCxPQU1DLEVBQ0QsZ0JBQXNELEVBQ3RELGVBQW9ELEVBQ3BELGdDQUtNLEVBQUU7UUFFUiw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekcsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQzNDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUU7Z0JBQ3pELEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDM0QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRTtnQkFDekQsVUFBVTtnQkFDVixvQkFBb0I7Z0JBQ3BCLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxlQUFlO2dCQUNmLGdCQUFnQjtnQkFDaEIsYUFBYTthQUNkO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLEtBQVk7UUFDdEIsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQTFDVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkF6QzdCLGtCQUFrQjtZQUNsQiwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLDJCQUEyQixFQUlHLDBCQUEwQixhQUV0RCxZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQixrREFHaEIsbUJBQW1CO1lBQ25CLGFBQWEsYUFwQ2Ysa0JBQWtCO1lBQ2xCLDJCQUEyQjtZQUMzQiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsMkJBQTJCO2dIQXVCaEIsa0JBQWtCLGFBRmxCLENBQUMsb0JBQW9CLENBQUMsWUFmL0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQztZQUM3RCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RCxtQkFBbUI7WUFDbkIsYUFBYTs7NEZBS0osa0JBQWtCO2tCQXBCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDekQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFdBQVcsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7d0JBQzdELGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUM5RCxtQkFBbUI7d0JBQ25CLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUsIFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBQcnlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlJY29uTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5T3ZlcmxheU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkubW9kdWxlJztcbmltcG9ydCB7IFByeVNlbGVjdE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5Q29yZU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5STE4bk1vZHVsZSB9IGZyb20gJy4uL2NvcmUvaTE4bi9pMThuLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zdG9yZS9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJveE1hbmlmZXN0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvdG9vbGJveC90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvd3Mvd2Vic29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uQnVzRWZmZWN0cyB9IGZyb20gJy4vYWN0aW9uLWJ1cy9lZmZlY3QvYWN0aW9uLWJ1cy5lZmZlY3RzJztcbmltcG9ydCB7IEJ1c1NlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1idXMvc2VydmljZS9idXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlPYmplY3RFZGl0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9vYmplY3QtZWRpdGlvbi9vYmplY3QtZWRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuaWZlc3RzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hbmlmZXN0cy9tYW5pZmVzdHMuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldGFkYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21ldGFkYXRhL21ldGFkYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXp1YWxpemVSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdml6dWFsaXplLXJhdy92aXp1YWxpemUtcmF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZGF0YXNvdXJjZS1zZWxlY3Rvci9kYXRhc291cmNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXN1bHRTZXRTaXplUGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci9yZXN1bHRzZXQtc2l6ZS5waXBlJztcbmltcG9ydCB7IFByeVdpZGdldEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci93aWRnZXQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBXSURHRVRfREVGSU5JVElPTixcbiAgV2lkZ2V0RmFjdG9yeVNlcnZpY2Vcbn0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LWluc3RhbmNpYXRvci93aWRnZXQtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldEluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0RGVmaW5pdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LXBsYWNlaG9sZGVyL3dpZGdldC1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTGF5b3V0UGxhY2VtZW50T3B0aW9uSW1wbGVtZW50YXRpb25GbixcbiAgTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm4sXG4gIFdpZGdldFBsYWNlbWVudFV0aWxzXG59IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscyc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvYmFzZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWluc3RhbmNpYXRvci9maWx0ZXItaW5zdGFuY2lhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRklMVEVSX0RFRklOSVRJT04sIEZpbHRlckRlZmluaXRpb24gfSBmcm9tICcuL2ZpbHRlci9maWx0ZXItZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEJBU0VfQ09ORklHLCBEYXNoYm9hcmRJbml0U2VydmljZSB9IGZyb20gJy4vc3RvcmUvZGFzaGJvYXJkLWluaXQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQuZWZmZWN0cyc7XG5pbXBvcnQgeyBkYXNoYm9hcmRGZWF0dXJlS2V5LCBkYXNoYm9hcmRSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3JlZnJlc2guc2VydmljZSc7XG5pbXBvcnQgeyBQcnlUaXRsZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAvYmFzZS10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWZhdWx0VG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC50b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUT09MVElQX0RFRklOSVRJT04sIFRvb2x0aXBEZWZpbml0aW9uIH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUZpbHRlckdyb3VwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm94eVV0aWxzIH0gZnJvbSAnLi9zdG9yZS9wcm94eS51dGlscyc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIERhc2hib2FyZENvbXBvbmVudCxcbiAgV2lkZ2V0SW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgU2V0dGluZ3NDb21wb25lbnQsXG4gIE1hbmlmZXN0c0NvbXBvbmVudCxcbiAgTWV0YWRhdGFDb21wb25lbnQsXG4gIENvbnRleHRNZW51Q29tcG9uZW50LFxuICBEYXRhV2lkZ2V0Q29tcG9uZW50LFxuICBCYXNlV2lkZ2V0Q29tcG9uZW50LFxuICBQcnlXaWRnZXRIZWFkZXJDb21wb25lbnQsXG4gIFByeU9iamVjdEVkaXRpb25Db21wb25lbnQsXG4gIFZpenVhbGl6ZVJhd0NvbXBvbmVudCxcbiAgUmVzdWx0U2V0U2l6ZVBpcGUsXG4gIERlZmF1bHRUb29sdGlwQ29tcG9uZW50LFxuICBCYXNlVG9vbHRpcENvbXBvbmVudCxcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgRmlsdGVySW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBGaWx0ZXJHcm91cENvbXBvbmVudCxcbiAgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCBQcnlGaWx0ZXJHcm91cENzc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlPdmVybGF5TW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZGFzaGJvYXJkRmVhdHVyZUtleSwgZGFzaGJvYXJkUmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtBY3Rpb25CdXNFZmZlY3RzLCBEYXNoYm9hcmRFZmZlY3RzXSksXG4gICAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgcHJvdmlkZXJzOiBbV2lkZ2V0RmFjdG9yeVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByeURhc2hib2FyZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIHdpZGdldFJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0sXG4gICAgb3B0aW9uczoge1xuICAgICAgcGF0aD86IHN0cmluZztcbiAgICAgIG1hcFVybD86IHN0cmluZztcbiAgICAgIHByeVVybD86IHN0cmluZztcbiAgICAgIHdzVXJsPzogc3RyaW5nO1xuICAgICAgZ2VvU2VydmVyVXJsPzogc3RyaW5nO1xuICAgIH0sXG4gICAgdG9vbHRpcFJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBUb29sdGlwRGVmaW5pdGlvbiB9LFxuICAgIGZpbHRlclJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBGaWx0ZXJEZWZpbml0aW9uIH0sXG4gICAgYWRkaXRpb25hbEdyaWRJbXBsZW1lbnRhdGlvbnM6IHtcbiAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgIHNpemVJbXBsOiBMYXlvdXRTaXplSW1wbGVtZW50YXRpb25GbjtcbiAgICAgIHBsYWNlbWVudEltcGw6IExheW91dFBsYWNlbWVudE9wdGlvbkltcGxlbWVudGF0aW9uRm47XG4gICAgICBpbWFnZT86IHN0cmluZztcbiAgICB9W10gPSBbXVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFByeURhc2hib2FyZE1vZHVsZT4ge1xuICAgIGFkZGl0aW9uYWxHcmlkSW1wbGVtZW50YXRpb25zLmZvckVhY2goKGltcGwpID0+IHtcbiAgICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmFkZExheW91dEltcGxlbWVudGF0aW9uKGltcGwudHlwZSwgaW1wbC5zaXplSW1wbCwgaW1wbC5wbGFjZW1lbnRJbXBsLCBpbXBsLmltYWdlKTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFByeURhc2hib2FyZE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEJBU0VfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFdJREdFVF9ERUZJTklUSU9OLCB1c2VWYWx1ZTogd2lkZ2V0UmVmZXJlbmNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVE9PTFRJUF9ERUZJTklUSU9OLCB1c2VWYWx1ZTogdG9vbHRpcFJlZmVyZW5jZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEZJTFRFUl9ERUZJTklUSU9OLCB1c2VWYWx1ZTogZmlsdGVyUmVmZXJlbmNlIH0sXG4gICAgICAgIEJ1c1NlcnZpY2UsXG4gICAgICAgIERhc2hib2FyZEluaXRTZXJ2aWNlLFxuICAgICAgICBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICAgICAgICBSZWZyZXNoU2VydmljZSxcbiAgICAgICAgUHJ5VGl0bGVTZXJ2aWNlLFxuICAgICAgICBXZWJzb2NrZXRTZXJ2aWNlLFxuICAgICAgICBDb25maWdTZXJ2aWNlXG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIFByb3h5VXRpbHMuaW5pdChzdG9yZSk7XG4gIH1cbn1cbiJdfQ==
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3JCLE1BQU0saUVBQWlFLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFFckgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbEgsT0FBTyxFQUdMLG9CQUFvQixFQUNyQixNQUFNLDhEQUE4RCxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sbUNBQW1DLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRWpELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLDJCQUEyQjtDQUM1QixDQUFDO0FBc0JGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FDWixlQUFvRCxFQUNwRCxPQU1DLEVBQ0QsZ0JBQXNELEVBQ3RELGVBQW9ELEVBQ3BELGdDQUtNLEVBQUU7UUFFUiw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekcsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQzNDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUU7Z0JBQ3pELEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDM0QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRTtnQkFDekQsVUFBVTtnQkFDVixvQkFBb0I7Z0JBQ3BCLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxlQUFlO2dCQUNmLGdCQUFnQjtnQkFDaEIsYUFBYTtnQkFDYixvQkFBb0I7YUFDckI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksS0FBWTtRQUN0QixVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBM0NVLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXpDN0Isa0JBQWtCO1lBQ2xCLDJCQUEyQjtZQUMzQiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsMkJBQTJCLEVBSUcsMEJBQTBCLGFBRXRELFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCLGtEQUdoQixtQkFBbUI7WUFDbkIsYUFBYSxhQXBDZixrQkFBa0I7WUFDbEIsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLG9CQUFvQjtZQUNwQiwyQkFBMkI7Z0hBdUJoQixrQkFBa0IsWUFqQjNCLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLFdBQVcsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7WUFDN0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDOUQsbUJBQW1CO1lBQ25CLGFBQWE7OzRGQUtKLGtCQUFrQjtrQkFwQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsMEJBQTBCLENBQUM7b0JBQ3pELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixXQUFXLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO3dCQUM3RCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDOUQsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUsIFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBQcnlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlJY29uTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5T3ZlcmxheU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkubW9kdWxlJztcbmltcG9ydCB7IFByeVNlbGVjdE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5Q29yZU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5STE4bk1vZHVsZSB9IGZyb20gJy4uL2NvcmUvaTE4bi9pMThuLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zdG9yZS9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJveE1hbmlmZXN0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvdG9vbGJveC90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvd3Mvd2Vic29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uQnVzRWZmZWN0cyB9IGZyb20gJy4vYWN0aW9uLWJ1cy9lZmZlY3QvYWN0aW9uLWJ1cy5lZmZlY3RzJztcbmltcG9ydCB7IEJ1c1NlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1idXMvc2VydmljZS9idXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlPYmplY3RFZGl0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9vYmplY3QtZWRpdGlvbi9vYmplY3QtZWRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuaWZlc3RzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hbmlmZXN0cy9tYW5pZmVzdHMuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldGFkYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21ldGFkYXRhL21ldGFkYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXp1YWxpemVSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdml6dWFsaXplLXJhdy92aXp1YWxpemUtcmF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZGF0YXNvdXJjZS1zZWxlY3Rvci9kYXRhc291cmNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXN1bHRTZXRTaXplUGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci9yZXN1bHRzZXQtc2l6ZS5waXBlJztcbmltcG9ydCB7IFByeVdpZGdldEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci93aWRnZXQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBXSURHRVRfREVGSU5JVElPTixcbiAgV2lkZ2V0RmFjdG9yeVNlcnZpY2Vcbn0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LWluc3RhbmNpYXRvci93aWRnZXQtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldEluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0RGVmaW5pdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LXBsYWNlaG9sZGVyL3dpZGdldC1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTGF5b3V0UGxhY2VtZW50T3B0aW9uSW1wbGVtZW50YXRpb25GbixcbiAgTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm4sXG4gIFdpZGdldFBsYWNlbWVudFV0aWxzXG59IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscyc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvYmFzZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWluc3RhbmNpYXRvci9maWx0ZXItaW5zdGFuY2lhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRklMVEVSX0RFRklOSVRJT04sIEZpbHRlckRlZmluaXRpb24gfSBmcm9tICcuL2ZpbHRlci9maWx0ZXItZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEJBU0VfQ09ORklHLCBEYXNoYm9hcmRJbml0U2VydmljZSB9IGZyb20gJy4vc3RvcmUvZGFzaGJvYXJkLWluaXQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQuZWZmZWN0cyc7XG5pbXBvcnQgeyBkYXNoYm9hcmRGZWF0dXJlS2V5LCBkYXNoYm9hcmRSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3JlZnJlc2guc2VydmljZSc7XG5pbXBvcnQgeyBQcnlUaXRsZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAvYmFzZS10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWZhdWx0VG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC50b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUT09MVElQX0RFRklOSVRJT04sIFRvb2x0aXBEZWZpbml0aW9uIH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUZpbHRlckdyb3VwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm94eVV0aWxzIH0gZnJvbSAnLi9zdG9yZS9wcm94eS51dGlscyc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIERhc2hib2FyZENvbXBvbmVudCxcbiAgV2lkZ2V0SW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgU2V0dGluZ3NDb21wb25lbnQsXG4gIE1hbmlmZXN0c0NvbXBvbmVudCxcbiAgTWV0YWRhdGFDb21wb25lbnQsXG4gIENvbnRleHRNZW51Q29tcG9uZW50LFxuICBEYXRhV2lkZ2V0Q29tcG9uZW50LFxuICBCYXNlV2lkZ2V0Q29tcG9uZW50LFxuICBQcnlXaWRnZXRIZWFkZXJDb21wb25lbnQsXG4gIFByeU9iamVjdEVkaXRpb25Db21wb25lbnQsXG4gIFZpenVhbGl6ZVJhd0NvbXBvbmVudCxcbiAgUmVzdWx0U2V0U2l6ZVBpcGUsXG4gIERlZmF1bHRUb29sdGlwQ29tcG9uZW50LFxuICBCYXNlVG9vbHRpcENvbXBvbmVudCxcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgRmlsdGVySW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBGaWx0ZXJHcm91cENvbXBvbmVudCxcbiAgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCBQcnlGaWx0ZXJHcm91cENzc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlPdmVybGF5TW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZGFzaGJvYXJkRmVhdHVyZUtleSwgZGFzaGJvYXJkUmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtBY3Rpb25CdXNFZmZlY3RzLCBEYXNoYm9hcmRFZmZlY3RzXSksXG4gICAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlEYXNoYm9hcmRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICB3aWRnZXRSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgICBtYXBVcmw/OiBzdHJpbmc7XG4gICAgICBwcnlVcmw/OiBzdHJpbmc7XG4gICAgICB3c1VybD86IHN0cmluZztcbiAgICAgIGdlb1NlcnZlclVybD86IHN0cmluZztcbiAgICB9LFxuICAgIHRvb2x0aXBSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogVG9vbHRpcERlZmluaXRpb24gfSxcbiAgICBmaWx0ZXJSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogRmlsdGVyRGVmaW5pdGlvbiB9LFxuICAgIGFkZGl0aW9uYWxHcmlkSW1wbGVtZW50YXRpb25zOiB7XG4gICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICBzaXplSW1wbDogTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm47XG4gICAgICBwbGFjZW1lbnRJbXBsOiBMYXlvdXRQbGFjZW1lbnRPcHRpb25JbXBsZW1lbnRhdGlvbkZuO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgfVtdID0gW11cbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxQcnlEYXNoYm9hcmRNb2R1bGU+IHtcbiAgICBhZGRpdGlvbmFsR3JpZEltcGxlbWVudGF0aW9ucy5mb3JFYWNoKChpbXBsKSA9PiB7XG4gICAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5hZGRMYXlvdXRJbXBsZW1lbnRhdGlvbihpbXBsLnR5cGUsIGltcGwuc2l6ZUltcGwsIGltcGwucGxhY2VtZW50SW1wbCwgaW1wbC5pbWFnZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBCQVNFX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAgeyBwcm92aWRlOiBXSURHRVRfREVGSU5JVElPTiwgdXNlVmFsdWU6IHdpZGdldFJlZmVyZW5jZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFRPT0xUSVBfREVGSU5JVElPTiwgdXNlVmFsdWU6IHRvb2x0aXBSZWZlcmVuY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSUxURVJfREVGSU5JVElPTiwgdXNlVmFsdWU6IGZpbHRlclJlZmVyZW5jZSB9LFxuICAgICAgICBCdXNTZXJ2aWNlLFxuICAgICAgICBEYXNoYm9hcmRJbml0U2VydmljZSxcbiAgICAgICAgVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICAgICAgUmVmcmVzaFNlcnZpY2UsXG4gICAgICAgIFByeVRpdGxlU2VydmljZSxcbiAgICAgICAgV2Vic29ja2V0U2VydmljZSxcbiAgICAgICAgQ29uZmlnU2VydmljZSxcbiAgICAgICAgV2lkZ2V0RmFjdG9yeVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgUHJveHlVdGlscy5pbml0KHN0b3JlKTtcbiAgfVxufVxuIl19