geonetwork-ui 2.3.0-dev.c22cb78a → 2.3.0-dev.e03215d1

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 (159) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -3
  2. package/esm2022/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +12 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +36 -3
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +19 -7
  6. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  7. package/esm2022/libs/common/domain/src/lib/model/record/user-feedbacks.model.mjs +2 -0
  8. package/esm2022/libs/common/domain/src/lib/model/user/index.mjs +2 -0
  9. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  10. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +64 -0
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +15 -0
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +20 -6
  13. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  14. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +16 -1
  15. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +1 -1
  16. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  17. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  18. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +4 -4
  19. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +22 -4
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +37 -10
  21. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +22 -7
  22. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +52 -17
  23. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +18 -3
  24. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +2 -2
  25. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +2 -2
  26. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +34 -7
  27. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -2
  28. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +59 -0
  29. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +62 -0
  30. package/esm2022/libs/ui/inputs/src/index.mjs +15 -15
  31. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +22 -0
  32. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +7 -5
  33. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +17 -8
  34. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +27 -4
  35. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +19 -3
  36. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +11 -9
  37. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +22 -1
  38. package/esm2022/translations/de.json +26 -0
  39. package/esm2022/translations/en.json +26 -0
  40. package/esm2022/translations/es.json +26 -0
  41. package/esm2022/translations/fr.json +26 -0
  42. package/esm2022/translations/it.json +26 -0
  43. package/esm2022/translations/nl.json +26 -0
  44. package/esm2022/translations/pt.json +26 -0
  45. package/fesm2022/geonetwork-ui.mjs +1384 -717
  46. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  47. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts +1 -0
  48. package/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.d.ts.map +1 -1
  49. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts +1 -0
  50. package/libs/api/repository/src/lib/gn4/auth/gravatar.service.d.ts.map +1 -1
  51. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +6 -2
  52. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  53. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -6
  54. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  55. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  56. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  57. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts +15 -0
  58. package/libs/common/domain/src/lib/model/record/user-feedbacks.model.d.ts.map +1 -0
  59. package/libs/common/domain/src/lib/model/user/index.d.ts +2 -0
  60. package/libs/common/domain/src/lib/model/user/index.d.ts.map +1 -0
  61. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -0
  62. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  63. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +39 -0
  64. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -0
  65. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +8 -0
  66. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -0
  67. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +4 -1
  68. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  69. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  70. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  71. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +40 -6
  72. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  73. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +24 -4
  74. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  75. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +14 -4
  76. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  77. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +8 -5
  78. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  79. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +12 -9
  80. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  81. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  82. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +4 -2
  83. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  84. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +16 -14
  85. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  86. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +11 -0
  87. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +1 -0
  88. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +22 -0
  89. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -0
  90. package/libs/ui/inputs/src/index.d.ts +14 -14
  91. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  92. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +9 -0
  93. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -0
  94. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +1 -1
  95. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  96. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +1 -1
  97. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  98. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +7 -1
  99. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  100. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +4 -1
  101. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  102. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  103. package/libs/util/shared/src/lib/links/link-utils.d.ts +18 -0
  104. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  105. package/package.json +1 -1
  106. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -2
  107. package/src/libs/api/repository/src/lib/gn4/auth/avatar.service.interface.ts +1 -0
  108. package/src/libs/api/repository/src/lib/gn4/auth/gravatar.service.ts +12 -1
  109. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +51 -1
  110. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +34 -7
  111. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  112. package/src/libs/common/domain/src/lib/model/record/user-feedbacks.model.ts +15 -0
  113. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -0
  114. package/src/libs/common/fixtures/src/index.ts +8 -6
  115. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
  116. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +83 -0
  117. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +0 -0
  118. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +8 -0
  119. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +64 -0
  120. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css +0 -0
  121. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +4 -0
  122. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +15 -0
  123. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +33 -33
  124. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +16 -0
  125. package/src/libs/feature/editor/src/lib/fields.config.ts +15 -0
  126. package/src/libs/feature/record/src/lib/feature-record.module.ts +5 -2
  127. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +51 -6
  128. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +82 -7
  129. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +49 -8
  130. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +81 -24
  131. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +40 -10
  132. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
  133. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +1 -1
  134. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +40 -4
  135. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +5 -0
  136. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +54 -0
  137. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.css +0 -0
  138. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +75 -0
  139. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +63 -0
  140. package/src/libs/ui/inputs/src/index.ts +14 -14
  141. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +3 -0
  142. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +11 -0
  143. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +16 -0
  144. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +8 -1
  145. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +13 -0
  146. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +2 -1
  147. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +29 -0
  148. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +1 -1
  149. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +16 -1
  150. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +2 -2
  151. package/src/libs/util/shared/src/lib/links/link-utils.ts +21 -0
  152. package/translations/de.json +26 -0
  153. package/translations/en.json +26 -0
  154. package/translations/es.json +26 -0
  155. package/translations/fr.json +26 -0
  156. package/translations/it.json +26 -0
  157. package/translations/nl.json +26 -0
  158. package/translations/pt.json +26 -0
  159. package/translations/sk.json +26 -0
@@ -4,9 +4,11 @@ import { filter, map } from 'rxjs/operators';
4
4
  import * as MdViewActions from './mdview.actions';
5
5
  import * as MdViewSelectors from './mdview.selectors';
6
6
  import { LinkClassifierService, LinkUsage } from '../../../../../../libs/util/shared/src';
7
+ import { AvatarServiceInterface } from '../../../../../../libs/api/repository/src';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@ngrx/store";
9
10
  import * as i2 from "../../../../../../libs/util/shared/src";
11
+ import * as i3 from "../../../../../../libs/api/repository/src";
10
12
  /**
11
13
  * The Metadata View Facade is used to render complete metadata records.
12
14
  * Supply it with an incomplete record (at least containing the uuid) and the
@@ -14,11 +16,12 @@ import * as i2 from "../../../../../../libs/util/shared/src";
14
16
  * To clear the current record use the `close()` method.
15
17
  */
16
18
  export class MdViewFacade {
17
- constructor(store, linkClassifier) {
19
+ constructor(store, linkClassifier, avatarService) {
18
20
  this.store = store;
19
21
  this.linkClassifier = linkClassifier;
22
+ this.avatarService = avatarService;
20
23
  this.isPresent$ = this.store.pipe(select(MdViewSelectors.getMetadataUuid), map((uuid) => !!uuid));
21
- this.isLoading$ = this.store.pipe(select(MdViewSelectors.getMetadataIsLoading));
24
+ this.isMetadataLoading$ = this.store.pipe(select(MdViewSelectors.getMetadataIsLoading));
22
25
  this.metadata$ = this.store.pipe(select(MdViewSelectors.getMetadata), filter((md) => !!md));
23
26
  this.isIncomplete$ = this.store.pipe(select(MdViewSelectors.getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
24
27
  this.error$ = this.store.pipe(select(MdViewSelectors.getMetadataError));
@@ -32,6 +35,9 @@ export class MdViewFacade {
32
35
  this.geoDataLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
33
36
  this.landingPageLinks$ = this.metadata$.pipe(map((record) => ('landingPage' in record ? [record.landingPage] : [])));
34
37
  this.otherLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.UNKNOWN))));
38
+ this.userFeedbacks$ = this.store.pipe(select(MdViewSelectors.getUserFeedbacks));
39
+ this.isAllUserFeedbackLoading$ = this.store.pipe(select(MdViewSelectors.getAllUserFeedbacksLoading));
40
+ this.isAddUserFeedbackLoading$ = this.store.pipe(select(MdViewSelectors.getAddUserFeedbacksLoading));
35
41
  }
36
42
  /**
37
43
  * This will show an incomplete record (e.g. from a search result) as a preview
@@ -46,16 +52,25 @@ export class MdViewFacade {
46
52
  loadFull(uuid) {
47
53
  this.store.dispatch(MdViewActions.loadFullMetadata({ uuid }));
48
54
  }
49
- close() {
50
- this.store.dispatch(MdViewActions.close());
55
+ closeMetadata() {
56
+ this.store.dispatch(MdViewActions.closeMetadata());
51
57
  }
52
58
  setChartConfig(chartConfig) {
53
59
  this.store.dispatch(MdViewActions.setChartConfig({ chartConfig }));
54
60
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewFacade, deps: [{ token: i1.Store }, { token: i2.LinkClassifierService }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ /**
62
+ * UserFeedbacks
63
+ */
64
+ addUserFeedback(userFeedback) {
65
+ this.store.dispatch(MdViewActions.addUserFeedback({ userFeedback }));
66
+ }
67
+ loadUserFeedbacks(datasetUuid) {
68
+ this.store.dispatch(MdViewActions.loadUserFeedbacks({ datasetUuid }));
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewFacade, deps: [{ token: i1.Store }, { token: i2.LinkClassifierService }, { token: i3.AvatarServiceInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
71
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewFacade }); }
57
72
  }
58
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MdViewFacade, decorators: [{
59
74
  type: Injectable
60
- }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.LinkClassifierService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7O0FBS3pGOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFpRXZCLFlBQ1UsS0FBWSxFQUNaLGNBQXFDO1FBRHJDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFsRS9DLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFDdkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3RCLENBQUE7UUFDRCxlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7UUFDMUUsY0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN6QixNQUFNLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUNuQyxNQUFNLENBQUMsQ0FBQyxFQUFF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Q0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDdkUsQ0FBQTtRQUNELGdCQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1osS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ3RELENBQ0YsQ0FDRixDQUFBO0lBS0UsQ0FBQztJQUVKOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFVBQXlCO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBQ0QsY0FBYyxDQUFDLFdBQXNDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEUsQ0FBQzs4R0F4RlUsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQVB4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgTWRWaWV3QWN0aW9ucyBmcm9tICcuL21kdmlldy5hY3Rpb25zJ1xuaW1wb3J0ICogYXMgTWRWaWV3U2VsZWN0b3JzIGZyb20gJy4vbWR2aWV3LnNlbGVjdG9ycydcbmltcG9ydCB7IExpbmtDbGFzc2lmaWVyU2VydmljZSwgTGlua1VzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5ASW5qZWN0YWJsZSgpXG4vKipcbiAqIFRoZSBNZXRhZGF0YSBWaWV3IEZhY2FkZSBpcyB1c2VkIHRvIHJlbmRlciBjb21wbGV0ZSBtZXRhZGF0YSByZWNvcmRzLlxuICogU3VwcGx5IGl0IHdpdGggYW4gaW5jb21wbGV0ZSByZWNvcmQgKGF0IGxlYXN0IGNvbnRhaW5pbmcgdGhlIHV1aWQpIGFuZCB0aGVcbiAqIGNvcnJlc3BvbmRpbmcgZnVsbCByZWNvcmQgd2lsbCBiZSBsb2FkZWQuXG4gKiBUbyBjbGVhciB0aGUgY3VycmVudCByZWNvcmQgdXNlIHRoZSBgY2xvc2UoKWAgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTWRWaWV3RmFjYWRlIHtcbiAgaXNQcmVzZW50JCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhVXVpZCksXG4gICAgbWFwKCh1dWlkKSA9PiAhIXV1aWQpXG4gIClcbiAgaXNMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNMb2FkaW5nKSlcbiAgbWV0YWRhdGEkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGEpLFxuICAgIGZpbHRlcigobWQpID0+ICEhbWQpXG4gIClcbiAgaXNJbmNvbXBsZXRlJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNJbmNvbXBsZXRlKSxcbiAgICBmaWx0ZXIoKGluY29tcGxldGUpID0+IGluY29tcGxldGUgIT09IG51bGwpXG4gIClcbiAgZXJyb3IkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFFcnJvcikpXG5cbiAgcmVsYXRlZCQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRSZWxhdGVkKSlcblxuICBjaGFydENvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRDaGFydENvbmZpZykpXG5cbiAgYWxsTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdkaXN0cmlidXRpb25zJyBpbiByZWNvcmQgPyByZWNvcmQuZGlzdHJpYnV0aW9ucyA6IFtdKSlcbiAgKVxuICBhcGlMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkFQSSkpXG4gICAgKVxuICApXG4gIG1hcEFwaUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICAgIClcbiAgICApXG4gIClcbiAgZG93bmxvYWRMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRPV05MT0FEKVxuICAgICAgKVxuICAgIClcbiAgKVxuICBkYXRhTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5EQVRBKSlcbiAgICApXG4gIClcbiAgZ2VvRGF0YUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuR0VPREFUQSlcbiAgICAgIClcbiAgICApXG4gIClcbiAgbGFuZGluZ1BhZ2VMaW5rcyQgPSB0aGlzLm1ldGFkYXRhJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiAoJ2xhbmRpbmdQYWdlJyBpbiByZWNvcmQgPyBbcmVjb3JkLmxhbmRpbmdQYWdlXSA6IFtdKSlcbiAgKVxuICBvdGhlckxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuVU5LTk9XTilcbiAgICAgIClcbiAgICApXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGxpbmtDbGFzc2lmaWVyOiBMaW5rQ2xhc3NpZmllclNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgc2hvdyBhbiBpbmNvbXBsZXRlIHJlY29yZCAoZS5nLiBmcm9tIGEgc2VhcmNoIHJlc3VsdCkgYXMgYSBwcmV2aWV3XG4gICAqIE5vdGU6IHRoZSBmdWxsIHJlY29yZCB3aWxsIG5vdCBiZSBsb2FkZWQgYXV0b21hdGljYWxseTsgdXNlIHRoZSBgbG9hZEZ1bGxgIG1ldGhvZCBmb3IgdGhhdFxuICAgKi9cbiAgc2V0SW5jb21wbGV0ZU1ldGFkYXRhKGluY29tcGxldGU6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhKHsgaW5jb21wbGV0ZSB9KSlcbiAgfVxuICAvKipcbiAgICogVGhpcyB3aWxsIHRyaWdnZXIgdGhlIGxvYWQgb2YgYSBmdWxsIG1ldGFkYXRhIHJlY29yZFxuICAgKi9cbiAgbG9hZEZ1bGwodXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGEoeyB1dWlkIH0pKVxuICB9XG4gIGNsb3NlKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5jbG9zZSgpKVxuICB9XG4gIHNldENoYXJ0Q29uZmlnKGNoYXJ0Q29uZmlnOiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldENoYXJ0Q29uZmlnKHsgY2hhcnRDb25maWcgfSkpXG4gIH1cbn1cbiJdfQ==
75
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.LinkClassifierService }, { type: i3.AvatarServiceInterface }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBT3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBOzs7OztBQUdsRjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsS0FBWSxFQUNaLGNBQXFDLEVBQ3JDLGFBQXFDO1FBRnJDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBRy9DLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFDdkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3RCLENBQUE7UUFFRCx1QkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM3QyxDQUFBO1FBRUQsY0FBUyxHQUFH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QUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXNDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLFlBQTBCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQW1CO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN2RSxDQUFDOzhHQTVIVSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBUHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdTZWxlY3RvcnMgZnJvbSAnLi9tZHZpZXcuc2VsZWN0b3JzJ1xuaW1wb3J0IHsgTGlua0NsYXNzaWZpZXJTZXJ2aWNlLCBMaW5rVXNhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIFVzZXJGZWVkYmFjayxcbiAgVXNlckZlZWRiYWNrVmlld01vZGVsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5cbkBJbmplY3RhYmxlKClcbi8qKlxuICogVGhlIE1ldGFkYXRhIFZpZXcgRmFjYWRlIGlzIHVzZWQgdG8gcmVuZGVyIGNvbXBsZXRlIG1ldGFkYXRhIHJlY29yZHMuXG4gKiBTdXBwbHkgaXQgd2l0aCBhbiBpbmNvbXBsZXRlIHJlY29yZCAoYXQgbGVhc3QgY29udGFpbmluZyB0aGUgdXVpZCkgYW5kIHRoZVxuICogY29ycmVzcG9uZGluZyBmdWxsIHJlY29yZCB3aWxsIGJlIGxvYWRlZC5cbiAqIFRvIGNsZWFyIHRoZSBjdXJyZW50IHJlY29yZCB1c2UgdGhlIGBjbG9zZSgpYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZFZpZXdGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGxpbmtDbGFzc2lmaWVyOiBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlXG4gICkge31cblxuICBpc1ByZXNlbnQkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFVdWlkKSxcbiAgICBtYXAoKHV1aWQpID0+ICEhdXVpZClcbiAgKVxuXG4gIGlzTWV0YWRhdGFMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNMb2FkaW5nKVxuICApXG5cbiAgbWV0YWRhdGEkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGEpLFxuICAgIGZpbHRlcigobWQpID0+ICEhbWQpXG4gIClcblxuICBpc0luY29tcGxldGUkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFJc0luY29tcGxldGUpLFxuICAgIGZpbHRlcigoaW5jb21wbGV0ZSkgPT4gaW5jb21wbGV0ZSAhPT0gbnVsbClcbiAgKVxuXG4gIGVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhRXJyb3IpKVxuXG4gIHJlbGF0ZWQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0UmVsYXRlZCkpXG5cbiAgY2hhcnRDb25maWckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0Q2hhcnRDb25maWcpKVxuXG4gIGFsbExpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+ICgnZGlzdHJpYnV0aW9ucycgaW4gcmVjb3JkID8gcmVjb3JkLmRpc3RyaWJ1dGlvbnMgOiBbXSkpXG4gIClcblxuICBhcGlMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkFQSSkpXG4gICAgKVxuICApXG5cbiAgbWFwQXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5NQVBfQVBJKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGRvd25sb2FkTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5ET1dOTE9BRClcbiAgICAgIClcbiAgICApXG4gIClcblxuICBkYXRhTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5EQVRBKSlcbiAgICApXG4gIClcblxuICBnZW9EYXRhTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5HRU9EQVRBKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGxhbmRpbmdQYWdlTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdsYW5kaW5nUGFnZScgaW4gcmVjb3JkID8gW3JlY29yZC5sYW5kaW5nUGFnZV0gOiBbXSkpXG4gIClcblxuICBvdGhlckxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuVU5LTk9XTilcbiAgICAgIClcbiAgICApXG4gIClcblxuICB1c2VyRmVlZGJhY2tzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFVzZXJGZWVkYmFja3MpKVxuICBpc0FsbFVzZXJGZWVkYmFja0xvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0QWxsVXNlckZlZWRiYWNrc0xvYWRpbmcpXG4gIClcbiAgaXNBZGRVc2VyRmVlZGJhY2tMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEFkZFVzZXJGZWVkYmFja3NMb2FkaW5nKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBzaG93IGFuIGluY29tcGxldGUgcmVjb3JkIChlLmcuIGZyb20gYSBzZWFyY2ggcmVzdWx0KSBhcyBhIHByZXZpZXdcbiAgICogTm90ZTogdGhlIGZ1bGwgcmVjb3JkIHdpbGwgbm90IGJlIGxvYWRlZCBhdXRvbWF0aWNhbGx5OyB1c2UgdGhlIGBsb2FkRnVsbGAgbWV0aG9kIGZvciB0aGF0XG4gICAqL1xuICBzZXRJbmNvbXBsZXRlTWV0YWRhdGEoaW5jb21wbGV0ZTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5zZXRJbmNvbXBsZXRlTWV0YWRhdGEoeyBpbmNvbXBsZXRlIH0pKVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBsb2FkIG9mIGEgZnVsbCBtZXRhZGF0YSByZWNvcmRcbiAgICovXG4gIGxvYWRGdWxsKHV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhKHsgdXVpZCB9KSlcbiAgfVxuXG4gIGNsb3NlTWV0YWRhdGEoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmNsb3NlTWV0YWRhdGEoKSlcbiAgfVxuXG4gIHNldENoYXJ0Q29uZmlnKGNoYXJ0Q29uZmlnOiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldENoYXJ0Q29uZmlnKHsgY2hhcnRDb25maWcgfSkpXG4gIH1cblxuICAvKipcbiAgICogVXNlckZlZWRiYWNrc1xuICAgKi9cbiAgYWRkVXNlckZlZWRiYWNrKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9KSlcbiAgfVxuXG4gIGxvYWRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3MoeyBkYXRhc2V0VXVpZCB9KSlcbiAgfVxufVxuIl19
@@ -1,39 +1,74 @@
1
1
  import { createReducer, on } from '@ngrx/store';
2
- import * as MdViewActions from './mdview.actions';
3
- export const MD_VIEW_FEATURE_STATE_KEY = 'mdView';
4
- export const initialMdviewState = {
2
+ import * as MetadataViewActions from './mdview.actions';
3
+ export const METADATA_VIEW_FEATURE_STATE_KEY = 'metadataView';
4
+ export const initialMetadataViewState = {
5
5
  error: null,
6
6
  loadingFull: false,
7
+ allUserFeedbacksLoading: false,
8
+ addUserFeedbackLoading: false,
7
9
  };
8
- const mdViewReducer = createReducer(initialMdviewState, on(MdViewActions.loadFullMetadata, (state) => ({
10
+ const metadataViewReducer = createReducer(initialMetadataViewState,
11
+ /*
12
+ Metadata reducers
13
+ */
14
+ on(MetadataViewActions.loadFullMetadata, (state) => ({
9
15
  ...state,
10
16
  error: null,
11
17
  loadingFull: true,
12
- })), on(MdViewActions.setIncompleteMetadata, (state, { incomplete }) => ({
18
+ })), on(MetadataViewActions.setIncompleteMetadata, (state, { incomplete }) => ({
13
19
  ...state,
14
20
  error: null,
15
21
  metadata: incomplete,
16
- })), on(MdViewActions.loadFullSuccess, (state, { full }) => ({
22
+ })), on(MetadataViewActions.loadFullMetadataSuccess, (state, { full }) => ({
17
23
  ...state,
18
24
  error: null,
19
25
  metadata: full,
20
26
  loadingFull: false,
21
- })), on(MdViewActions.loadFullFailure, (state, { otherError, notFound }) => ({
27
+ })), on(MetadataViewActions.loadFullMetadataFailure, (state, { otherError, notFound }) => ({
22
28
  ...state,
23
29
  error: { otherError, notFound },
24
30
  loadingFull: false,
25
- })), on(MdViewActions.setRelated, (state, { related }) => ({
31
+ })), on(MetadataViewActions.closeMetadata, (state) => {
32
+ const { metadata, related, userFeedbacks, ...stateWithoutMetadata } = state;
33
+ return stateWithoutMetadata;
34
+ }),
35
+ /*
36
+ Related reducers
37
+ */
38
+ on(MetadataViewActions.setRelated, (state, { related }) => ({
26
39
  ...state,
27
40
  related,
28
- })), on(MdViewActions.setChartConfig, (state, { chartConfig }) => ({
41
+ })),
42
+ /*
43
+ ChartConfig reducers
44
+ */
45
+ on(MetadataViewActions.setChartConfig, (state, { chartConfig }) => ({
29
46
  ...state,
30
47
  chartConfig,
31
- })), on(MdViewActions.close, (state) => {
32
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
- const { metadata, related, ...stateWithoutMd } = state;
34
- return stateWithoutMd;
35
- }));
36
- export function reducer(state, action) {
37
- return mdViewReducer(state, action);
48
+ })),
49
+ /*
50
+ UserFeedbacks reducers
51
+ */
52
+ on(MetadataViewActions.loadUserFeedbacks, (state) => ({
53
+ ...state,
54
+ error: null,
55
+ allUserFeedbacksLoading: true,
56
+ })), on(MetadataViewActions.addUserFeedback, (state) => ({
57
+ ...state,
58
+ addUserFeedbackLoading: true,
59
+ })), on(MetadataViewActions.loadUserFeedbacksSuccess, (state, { userFeedbacks }) => ({
60
+ ...state,
61
+ error: null,
62
+ userFeedbacks: userFeedbacks,
63
+ addUserFeedbackLoading: false,
64
+ allUserFeedbacksLoading: false,
65
+ })), on(MetadataViewActions.loadUserFeedbacksFailure, (state, { otherError, notFound }) => ({
66
+ ...state,
67
+ error: { otherError, notFound },
68
+ addUserFeedbackLoading: false,
69
+ allUserFeedbacksLoading: false,
70
+ })));
71
+ export function reducer(metadataViewState, action) {
72
+ return metadataViewReducer(metadataViewState, action);
38
73
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkQsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUlqRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUE7QUFVakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWdCO0lBQzdDLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLEtBQUs7Q0FDbkIsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FDakMsa0JBQWtCLEVBQ2xCLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsR0FBRyxLQUFLO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEUsR0FBRyxLQUFLO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsVUFBVTtDQUNyQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLElBQUk7SUFDZCxXQUFXLEVBQUUsS0FBSztDQUNuQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQy9CLFdBQVcsRUFBRSxLQUFLO0NBQ25CLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsR0FBRyxLQUFLO0lBQ1IsT0FBTztDQUNSLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsR0FBRyxLQUFLO0lBQ1IsV0FBVztDQUNaLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDaEMsNkRBQTZEO0lBQzdELE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ3RELE9BQU8sY0FBYyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUE7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQThCLEVBQUUsTUFBYztJQUNwRSxPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCAqIGFzIE1kVmlld0FjdGlvbnMgZnJvbSAnLi9tZHZpZXcuYWN0aW9ucydcbmltcG9ydCB7IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCBjb25zdCBNRF9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZID0gJ21kVmlldydcblxuZXhwb3J0IGludGVyZmFjZSBNZFZpZXdTdGF0ZSB7XG4gIGxvYWRpbmdGdWxsOiBib29sZWFuXG4gIGVycm9yOiB7IG5vdEZvdW5kPzogYm9vbGVhbjsgb3RoZXJFcnJvcj86IHN0cmluZyB9IHwgbnVsbFxuICBtZXRhZGF0YT86IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cbiAgcmVsYXRlZD86IENhdGFsb2dSZWNvcmRbXVxuICBjaGFydENvbmZpZz86IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWxcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxNZHZpZXdTdGF0ZTogTWRWaWV3U3RhdGUgPSB7XG4gIGVycm9yOiBudWxsLFxuICBsb2FkaW5nRnVsbDogZmFsc2UsXG59XG5cbmNvbnN0IG1kVmlld1JlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBpbml0aWFsTWR2aWV3U3RhdGUsXG4gIG9uKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGVycm9yOiBudWxsLFxuICAgIGxvYWRpbmdGdWxsOiB0cnVlLFxuICB9KSksXG4gIG9uKE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhLCAoc3RhdGUsIHsgaW5jb21wbGV0ZSB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGVycm9yOiBudWxsLFxuICAgIG1ldGFkYXRhOiBpbmNvbXBsZXRlLFxuICB9KSksXG4gIG9uKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxTdWNjZXNzLCAoc3RhdGUsIHsgZnVsbCB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGVycm9yOiBudWxsLFxuICAgIG1ldGFkYXRhOiBmdWxsLFxuICAgIGxvYWRpbmdGdWxsOiBmYWxzZSxcbiAgfSkpLFxuICBvbihNZFZpZXdBY3Rpb25zLmxvYWRGdWxsRmFpbHVyZSwgKHN0YXRlLCB7IG90aGVyRXJyb3IsIG5vdEZvdW5kIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZXJyb3I6IHsgb3RoZXJFcnJvciwgbm90Rm91bmQgfSxcbiAgICBsb2FkaW5nRnVsbDogZmFsc2UsXG4gIH0pKSxcbiAgb24oTWRWaWV3QWN0aW9ucy5zZXRSZWxhdGVkLCAoc3RhdGUsIHsgcmVsYXRlZCB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlbGF0ZWQsXG4gIH0pKSxcbiAgb24oTWRWaWV3QWN0aW9ucy5zZXRDaGFydENvbmZpZywgKHN0YXRlLCB7IGNoYXJ0Q29uZmlnIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgY2hhcnRDb25maWcsXG4gIH0pKSxcbiAgb24oTWRWaWV3QWN0aW9ucy5jbG9zZSwgKHN0YXRlKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHsgbWV0YWRhdGEsIHJlbGF0ZWQsIC4uLnN0YXRlV2l0aG91dE1kIH0gPSBzdGF0ZVxuICAgIHJldHVybiBzdGF0ZVdpdGhvdXRNZFxuICB9KVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogTWRWaWV3U3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBtZFZpZXdSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvc3RhdGUvbWR2aWV3LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFBO0FBT3ZELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLGNBQWMsQ0FBQTtBQWE3RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBc0I7SUFDekQsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsS0FBSztJQUNsQix1QkFBdUIsRUFBRSxLQUFLO0lBQzlCLHNCQUFzQixFQUFFLEtBQUs7Q0FDOUIsQ0FBQTtBQUVELE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUN2Qyx3QkFBd0I7QUFFeEI7O0VBRUU7QUFDRixFQUFFLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsR0FBRyxLQUFLO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RSxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxVQUFVO0NBQ3JCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLElBQUk7SUFDZCxXQUFXLEVBQUUsS0FBSztDQUNuQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQ0EsbUJBQW1CLENBQUMsdUJBQXVCLEVBQzNDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7SUFDL0IsV0FBVyxFQUFFLEtBQUs7Q0FDbkIsQ0FBQyxDQUNILEVBQ0QsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzlDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLG9CQUFvQixFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQzNFLE9BQU8sb0JBQW9CLENBQUE7QUFDN0IsQ0FBQyxDQUFDO0FBRUY7O0VBRUU7QUFDRixFQUFFLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsR0FBRyxLQUFLO0lBQ1IsT0FBTztDQUNSLENBQUMsQ0FBQztBQUVIOztFQUVFO0FBQ0YsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLEdBQUcsS0FBSztJQUNSLFdBQVc7Q0FDWixDQUFDLENBQUM7QUFFSDs7RUFFRTtBQUNGLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLHVCQUF1QixFQUFFLElBQUk7Q0FDOUIsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxHQUFHLEtBQUs7SUFDUixzQkFBc0IsRUFBRSxJQUFJO0NBQzdCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FDQSxtQkFBbUIsQ0FBQyx3QkFBd0IsRUFDNUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QixHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxhQUFhO0lBQzVCLHNCQUFzQixFQUFFLEtBQUs7SUFDN0IsdUJBQXVCLEVBQUUsS0FBSztDQUMvQixDQUFDLENBQ0gsRUFDRCxFQUFFLENBQ0EsbUJBQW1CLENBQUMsd0JBQXdCLEVBQzVDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7SUFDL0Isc0JBQXNCLEVBQUUsS0FBSztJQUM3Qix1QkFBdUIsRUFBRSxLQUFLO0NBQy9CLENBQUMsQ0FDSCxDQUNGLENBQUE7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUNyQixpQkFBZ0QsRUFDaEQsTUFBYztJQUVkLE9BQU8sbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCAqIGFzIE1ldGFkYXRhVmlld0FjdGlvbnMgZnJvbSAnLi9tZHZpZXcuYWN0aW9ucydcbmltcG9ydCB7IERhdGF2aXpDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIFVzZXJGZWVkYmFjayxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5leHBvcnQgY29uc3QgTUVUQURBVEFfVklFV19GRUFUVVJFX1NUQVRFX0tFWSA9ICdtZXRhZGF0YVZpZXcnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFWaWV3U3RhdGUge1xuICBsb2FkaW5nRnVsbDogYm9vbGVhblxuICBlcnJvcjogeyBub3RGb3VuZD86IGJvb2xlYW47IG90aGVyRXJyb3I/OiBzdHJpbmcgfSB8IG51bGxcbiAgbWV0YWRhdGE/OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+XG4gIHJlbGF0ZWQ/OiBDYXRhbG9nUmVjb3JkW11cbiAgdXNlckZlZWRiYWNrcz86IFVzZXJGZWVkYmFja1tdXG4gIGFsbFVzZXJGZWVkYmFja3NMb2FkaW5nOiBib29sZWFuXG4gIGFkZFVzZXJGZWVkYmFja0xvYWRpbmc6IGJvb2xlYW5cbiAgY2hhcnRDb25maWc/OiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsXG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsTWV0YWRhdGFWaWV3U3RhdGU6IE1ldGFkYXRhVmlld1N0YXRlID0ge1xuICBlcnJvcjogbnVsbCxcbiAgbG9hZGluZ0Z1bGw6IGZhbHNlLFxuICBhbGxVc2VyRmVlZGJhY2tzTG9hZGluZzogZmFsc2UsXG4gIGFkZFVzZXJGZWVkYmFja0xvYWRpbmc6IGZhbHNlLFxufVxuXG5jb25zdCBtZXRhZGF0YVZpZXdSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgaW5pdGlhbE1ldGFkYXRhVmlld1N0YXRlLFxuXG4gIC8qXG4gICAgTWV0YWRhdGEgcmVkdWNlcnNcbiAgKi9cbiAgb24oTWV0YWRhdGFWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZXJyb3I6IG51bGwsXG4gICAgbG9hZGluZ0Z1bGw6IHRydWUsXG4gIH0pKSxcbiAgb24oTWV0YWRhdGFWaWV3QWN0aW9ucy5zZXRJbmNvbXBsZXRlTWV0YWRhdGEsIChzdGF0ZSwgeyBpbmNvbXBsZXRlIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZXJyb3I6IG51bGwsXG4gICAgbWV0YWRhdGE6IGluY29tcGxldGUsXG4gIH0pKSxcbiAgb24oTWV0YWRhdGFWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhU3VjY2VzcywgKHN0YXRlLCB7IGZ1bGwgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBlcnJvcjogbnVsbCxcbiAgICBtZXRhZGF0YTogZnVsbCxcbiAgICBsb2FkaW5nRnVsbDogZmFsc2UsXG4gIH0pKSxcbiAgb24oXG4gICAgTWV0YWRhdGFWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhRmFpbHVyZSxcbiAgICAoc3RhdGUsIHsgb3RoZXJFcnJvciwgbm90Rm91bmQgfSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZXJyb3I6IHsgb3RoZXJFcnJvciwgbm90Rm91bmQgfSxcbiAgICAgIGxvYWRpbmdGdWxsOiBmYWxzZSxcbiAgICB9KVxuICApLFxuICBvbihNZXRhZGF0YVZpZXdBY3Rpb25zLmNsb3NlTWV0YWRhdGEsIChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHsgbWV0YWRhdGEsIHJlbGF0ZWQsIHVzZXJGZWVkYmFja3MsIC4uLnN0YXRlV2l0aG91dE1ldGFkYXRhIH0gPSBzdGF0ZVxuICAgIHJldHVybiBzdGF0ZVdpdGhvdXRNZXRhZGF0YVxuICB9KSxcblxuICAvKlxuICAgIFJlbGF0ZWQgcmVkdWNlcnNcbiAgKi9cbiAgb24oTWV0YWRhdGFWaWV3QWN0aW9ucy5zZXRSZWxhdGVkLCAoc3RhdGUsIHsgcmVsYXRlZCB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlbGF0ZWQsXG4gIH0pKSxcblxuICAvKlxuICAgIENoYXJ0Q29uZmlnIHJlZHVjZXJzXG4gICovXG4gIG9uKE1ldGFkYXRhVmlld0FjdGlvbnMuc2V0Q2hhcnRDb25maWcsIChzdGF0ZSwgeyBjaGFydENvbmZpZyB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGNoYXJ0Q29uZmlnLFxuICB9KSksXG5cbiAgLypcbiAgICBVc2VyRmVlZGJhY2tzIHJlZHVjZXJzXG4gICovXG4gIG9uKE1ldGFkYXRhVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3MsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBlcnJvcjogbnVsbCxcbiAgICBhbGxVc2VyRmVlZGJhY2tzTG9hZGluZzogdHJ1ZSxcbiAgfSkpLFxuICBvbihNZXRhZGF0YVZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjaywgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGFkZFVzZXJGZWVkYmFja0xvYWRpbmc6IHRydWUsXG4gIH0pKSxcbiAgb24oXG4gICAgTWV0YWRhdGFWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc1N1Y2Nlc3MsXG4gICAgKHN0YXRlLCB7IHVzZXJGZWVkYmFja3MgfSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB1c2VyRmVlZGJhY2tzOiB1c2VyRmVlZGJhY2tzLFxuICAgICAgYWRkVXNlckZlZWRiYWNrTG9hZGluZzogZmFsc2UsXG4gICAgICBhbGxVc2VyRmVlZGJhY2tzTG9hZGluZzogZmFsc2UsXG4gICAgfSlcbiAgKSxcbiAgb24oXG4gICAgTWV0YWRhdGFWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrc0ZhaWx1cmUsXG4gICAgKHN0YXRlLCB7IG90aGVyRXJyb3IsIG5vdEZvdW5kIH0pID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGVycm9yOiB7IG90aGVyRXJyb3IsIG5vdEZvdW5kIH0sXG4gICAgICBhZGRVc2VyRmVlZGJhY2tMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGFsbFVzZXJGZWVkYmFja3NMb2FkaW5nOiBmYWxzZSxcbiAgICB9KVxuICApXG4pXG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyKFxuICBtZXRhZGF0YVZpZXdTdGF0ZTogTWV0YWRhdGFWaWV3U3RhdGUgfCB1bmRlZmluZWQsXG4gIGFjdGlvbjogQWN0aW9uXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhVmlld1JlZHVjZXIobWV0YWRhdGFWaWV3U3RhdGUsIGFjdGlvbilcbn1cbiJdfQ==
@@ -1,11 +1,26 @@
1
1
  import { createFeatureSelector, createSelector } from '@ngrx/store';
2
- import { MD_VIEW_FEATURE_STATE_KEY } from './mdview.reducer';
3
- export const getMdViewState = createFeatureSelector(MD_VIEW_FEATURE_STATE_KEY);
2
+ import { METADATA_VIEW_FEATURE_STATE_KEY, } from './mdview.reducer';
3
+ export const getMdViewState = createFeatureSelector(METADATA_VIEW_FEATURE_STATE_KEY);
4
+ /*
5
+ Metadata selectors
6
+ */
4
7
  export const getMetadataUuid = createSelector(getMdViewState, (state) => state.metadata ? state.metadata.uniqueIdentifier : null);
5
8
  export const getMetadata = createSelector(getMdViewState, (state) => state.metadata);
6
9
  export const getMetadataIsIncomplete = createSelector(getMdViewState, (state) => (state.metadata ? state.loadingFull : null));
7
10
  export const getMetadataIsLoading = createSelector(getMdViewState, (state) => state.loadingFull);
8
11
  export const getMetadataError = createSelector(getMdViewState, (state) => state.error);
12
+ /*
13
+ Related selectors
14
+ */
9
15
  export const getRelated = createSelector(getMdViewState, (state) => state.related);
16
+ /*
17
+ Metadata selectors
18
+ */
10
19
  export const getChartConfig = createSelector(getMdViewState, (state) => state.chartConfig);
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFlLE1BQU0sa0JBQWtCLENBQUE7QUFFekUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUNqRCx5QkFBeUIsQ0FDMUIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGNBQWMsRUFDZCxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUNyQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzFELENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUN2QyxjQUFjLEVBQ2QsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUN2QyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUNuRCxjQUFjLEVBQ2QsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNwRSxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxjQUFjLEVBQ2QsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMxQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxjQUFjLEVBQ2QsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUNwQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FDdEMsY0FBYyxFQUNkLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDdEMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQzFDLGNBQWMsRUFDZCxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQzFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBNRF9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLCBNZFZpZXdTdGF0ZSB9IGZyb20gJy4vbWR2aWV3LnJlZHVjZXInXG5cbmV4cG9ydCBjb25zdCBnZXRNZFZpZXdTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxNZFZpZXdTdGF0ZT4oXG4gIE1EX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVlcbilcblxuZXhwb3J0IGNvbnN0IGdldE1ldGFkYXRhVXVpZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZFZpZXdTdGF0ZSkgPT5cbiAgICBzdGF0ZS5tZXRhZGF0YSA/IHN0YXRlLm1ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXIgOiBudWxsXG4pXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGEgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWRWaWV3U3RhdGUpID0+IHN0YXRlLm1ldGFkYXRhXG4pXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGFJc0luY29tcGxldGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWRWaWV3U3RhdGUpID0+IChzdGF0ZS5tZXRhZGF0YSA/IHN0YXRlLmxvYWRpbmdGdWxsIDogbnVsbClcbilcbmV4cG9ydCBjb25zdCBnZXRNZXRhZGF0YUlzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZFZpZXdTdGF0ZSkgPT4gc3RhdGUubG9hZGluZ0Z1bGxcbilcbmV4cG9ydCBjb25zdCBnZXRNZXRhZGF0YUVycm9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1kVmlld1N0YXRlLFxuICAoc3RhdGU6IE1kVmlld1N0YXRlKSA9PiBzdGF0ZS5lcnJvclxuKVxuZXhwb3J0IGNvbnN0IGdldFJlbGF0ZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWRWaWV3U3RhdGUpID0+IHN0YXRlLnJlbGF0ZWRcbilcbmV4cG9ydCBjb25zdCBnZXRDaGFydENvbmZpZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZFZpZXdTdGF0ZSkgPT4gc3RhdGUuY2hhcnRDb25maWdcbilcbiJdfQ==
20
+ /*
21
+ UserFeedback selectors
22
+ */
23
+ export const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
24
+ export const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
25
+ export const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbkUsT0FBTyxFQUNMLCtCQUErQixHQUVoQyxNQUFNLGtCQUFrQixDQUFBO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FDakQsK0JBQStCLENBQ2hDLENBQUE7QUFFRDs7RUFFRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGNBQWMsRUFDZCxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUMzQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzFELENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUN2QyxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUM3QyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxDQUNuRCxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUMxRSxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNoRCxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUMxQyxDQUFBO0FBRUQ7O0VBRUU7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUN0QyxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM1QyxDQUFBO0FBRUQ7O0VBRUU7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUMxQyxjQUFjLEVBQ2QsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNoRCxDQUFBO0FBRUQ7O0VBRUU7QUFDRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQzVDLGNBQWMsRUFDZCxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ2xELENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxjQUFjLENBQ3RELGNBQWMsRUFDZCxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FDNUQsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGNBQWMsQ0FDdEQsY0FBYyxFQUNkLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUMzRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHtcbiAgTUVUQURBVEFfVklFV19GRUFUVVJFX1NUQVRFX0tFWSxcbiAgTWV0YWRhdGFWaWV3U3RhdGUsXG59IGZyb20gJy4vbWR2aWV3LnJlZHVjZXInXG5cbmV4cG9ydCBjb25zdCBnZXRNZFZpZXdTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxNZXRhZGF0YVZpZXdTdGF0ZT4oXG4gIE1FVEFEQVRBX1ZJRVdfRkVBVFVSRV9TVEFURV9LRVlcbilcblxuLypcbiAgTWV0YWRhdGEgc2VsZWN0b3JzXG4qL1xuZXhwb3J0IGNvbnN0IGdldE1ldGFkYXRhVXVpZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZXRhZGF0YVZpZXdTdGF0ZSkgPT5cbiAgICBzdGF0ZS5tZXRhZGF0YSA/IHN0YXRlLm1ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXIgOiBudWxsXG4pXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGEgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWV0YWRhdGFWaWV3U3RhdGUpID0+IHN0YXRlLm1ldGFkYXRhXG4pXG5leHBvcnQgY29uc3QgZ2V0TWV0YWRhdGFJc0luY29tcGxldGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWV0YWRhdGFWaWV3U3RhdGUpID0+IChzdGF0ZS5tZXRhZGF0YSA/IHN0YXRlLmxvYWRpbmdGdWxsIDogbnVsbClcbilcbmV4cG9ydCBjb25zdCBnZXRNZXRhZGF0YUlzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZXRhZGF0YVZpZXdTdGF0ZSkgPT4gc3RhdGUubG9hZGluZ0Z1bGxcbilcbmV4cG9ydCBjb25zdCBnZXRNZXRhZGF0YUVycm9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1kVmlld1N0YXRlLFxuICAoc3RhdGU6IE1ldGFkYXRhVmlld1N0YXRlKSA9PiBzdGF0ZS5lcnJvclxuKVxuXG4vKlxuICBSZWxhdGVkIHNlbGVjdG9yc1xuKi9cbmV4cG9ydCBjb25zdCBnZXRSZWxhdGVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1kVmlld1N0YXRlLFxuICAoc3RhdGU6IE1ldGFkYXRhVmlld1N0YXRlKSA9PiBzdGF0ZS5yZWxhdGVkXG4pXG5cbi8qXG4gIE1ldGFkYXRhIHNlbGVjdG9yc1xuKi9cbmV4cG9ydCBjb25zdCBnZXRDaGFydENvbmZpZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZFZpZXdTdGF0ZSxcbiAgKHN0YXRlOiBNZXRhZGF0YVZpZXdTdGF0ZSkgPT4gc3RhdGUuY2hhcnRDb25maWdcbilcblxuLypcbiAgVXNlckZlZWRiYWNrIHNlbGVjdG9yc1xuKi9cbmV4cG9ydCBjb25zdCBnZXRVc2VyRmVlZGJhY2tzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1kVmlld1N0YXRlLFxuICAoc3RhdGU6IE1ldGFkYXRhVmlld1N0YXRlKSA9PiBzdGF0ZS51c2VyRmVlZGJhY2tzXG4pXG5leHBvcnQgY29uc3QgZ2V0QWxsVXNlckZlZWRiYWNrc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWV0YWRhdGFWaWV3U3RhdGUpID0+IHN0YXRlLmFsbFVzZXJGZWVkYmFja3NMb2FkaW5nXG4pXG5leHBvcnQgY29uc3QgZ2V0QWRkVXNlckZlZWRiYWNrc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWRWaWV3U3RhdGUsXG4gIChzdGF0ZTogTWV0YWRhdGFWaWV3U3RhdGUpID0+IHN0YXRlLmFkZFVzZXJGZWVkYmFja0xvYWRpbmdcbilcbiJdfQ==
@@ -97,7 +97,7 @@ export class RouterEffects {
97
97
  * the search results happens
98
98
  */
99
99
  this.navigateToSearch$ = createEffect(() => this._actions$.pipe(navigation(this.routerConfig.searchRouteComponent, {
100
- run: () => MdViewActions.close(),
100
+ run: () => MdViewActions.closeMetadata(),
101
101
  })));
102
102
  this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(RouterActions.backAction), tap(() => this._location.back())), { dispatch: false });
103
103
  this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(RouterActions.forwardAction), tap(() => this._location.forward())), { dispatch: false });
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
111
111
  type: Inject,
112
112
  args: [ROUTER_CONFIG]
113
113
  }] }, { type: i5.FieldsService }]; } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9zdGF0ZS9yb3V0ZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDNUUsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBRVIsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLDhDQUE4QyxDQUFBO0FBQ3JELE9BQU8sRUFFTCxVQUFVLEdBQ1gsTUFBTSw4REFBOEQsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBa0IsTUFBTSxNQUFNLENBQUE7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFxQixN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QWEsQ0FBQyxhQUFhLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDcEMsRUFDSCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQTtJQWxJRSxDQUFDOzhHQVJPLGFBQWEsbUhBTWQsYUFBYTtrSEFOWixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFPTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBNZFZpZXdBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMnXG5pbXBvcnQge1xuICBGaWVsZHNTZXJ2aWNlLFxuICBQYWdpbmF0ZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU2V0RmlsdGVycyxcbiAgU2V0U29ydEJ5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYydcbmltcG9ydCB7XG4gIEZpZWxkRmlsdGVycyxcbiAgU29ydEJ5RW51bSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgbmF2aWdhdGlvbiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZS9kYXRhLXBlcnNpc3RlbmNlJ1xuaW1wb3J0IHsgb2YsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgUm91dGVyQWN0aW9ucyBmcm9tICcuL3JvdXRlci5hY3Rpb25zJ1xuaW1wb3J0IHsgUm91dGVyRmFjYWRlIH0gZnJvbSAnLi9yb3V0ZXIuZmFjYWRlJ1xuaW1wb3J0IHsgUk9VVEVfUEFSQU1TIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgc29ydEJ5RnJvbVN0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgUk9VVEVSX0NPTkZJRywgUm91dGVyQ29uZmlnTW9kZWwgfSBmcm9tICcuLi9yb3V0ZXIuY29uZmlnJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUm91dGVyRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIGZhY2FkZTogUm91dGVyRmFjYWRlLFxuICAgIEBJbmplY3QoUk9VVEVSX0NPTkZJRykgcHJpdmF0ZSByb3V0ZXJDb25maWc6IFJvdXRlckNvbmZpZ01vZGVsLFxuICAgIHByaXZhdGUgZmllbGRzU2VydmljZTogRmllbGRzU2VydmljZVxuICApIHt9XG5cbiAgbmF2aWdhdGUkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoUm91dGVyQWN0aW9ucy5nb0FjdGlvbiksXG4gICAgICAgIHRhcCgoeyBwYXRoLCBxdWVyeTogcXVlcnlQYXJhbXMsIHF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbcGF0aF0sIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZyxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gIClcblxuICBzeW5jU2VhcmNoU3RhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5mYWNhZGUuc2VhcmNoUGFyYW1zJC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHNlYXJjaFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgICAgICAgdGhpcy5maWVsZHNTZXJ2aWNlXG4gICAgICAgICAgLmJ1aWxkRmlsdGVyc0Zyb21GaWVsZFZhbHVlcyhzZWFyY2hQYXJhbXMpXG4gICAgICAgICAgLnBpcGUobWFwKChmaWx0ZXJzKSA9PiBbc2VhcmNoUGFyYW1zLCBmaWx0ZXJzXSBhcyBjb25zdCkpXG4gICAgICApLFxuICAgICAgc3RhcnRXaXRoKFtudWxsLCB7fV0gYXMgW1JlY29yZDxzdHJpbmcsIHN0cmluZz4sIEZpZWxkRmlsdGVyc10pLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoW1tvbGRQYXJhbXMsIG9sZEZpbHRlcnNdLCBbbmV3UGFyYW1zLCBuZXdGaWx0ZXJzXV0pID0+IHtcbiAgICAgICAgbGV0IHNvcnRCeSA9XG4gICAgICAgICAgUk9VVEVfUEFSQU1TLlNPUlQgaW4gbmV3UGFyYW1zXG4gICAgICAgICAgICA/IHNvcnRCeUZyb21TdHJpbmcobmV3UGFyYW1zW1JPVVRFX1BBUkFNUy5TT1JUXSlcbiAgICAgICAgICAgIDogU29ydEJ5RW51bS5SRUxFVkFOQ1lcbiAgICAgICAgbGV0IHBhZ2VOdW1iZXIgPVxuICAgICAgICAgIFJPVVRFX1BBUkFNUy5QQUdFIGluIG5ld1BhcmFtc1xuICAgICAgICAgICAgPyBwYXJzZUludChuZXdQYXJhbXNbUk9VVEVfUEFSQU1TLlBBR0VdKVxuICAgICAgICAgICAgOiAxXG4gICAgICAgIGlmIChvbGRQYXJhbXMgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBvbGRTb3J0ID1cbiAgICAgICAgICAgIFJPVVRFX1BBUkFNUy5TT1JUIGluIG9sZFBhcmFtc1xuICAgICAgICAgICAgICA/IHNvcnRCeUZyb21TdHJpbmcob2xkUGFyYW1zW1JPVVRFX1BBUkFNUy5TT1JUXSlcbiAgICAgICAgICAgICAgOiBTb3J0QnlFbnVtLlJFTEVWQU5DWVxuICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShzb3J0QnkpID09PSBKU09OLnN0cmluZ2lmeShvbGRTb3J0KSkge1xuICAgICAgICAgICAgc29ydEJ5ID0gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBvbGRQYWdlID1cbiAgICAgICAgICAgIFJPVVRFX1BBUkFNUy5QQUdFIGluIG9sZFBhcmFtc1xuICAgICAgICAgICAgICA/IHBhcnNlSW50KG9sZFBhcmFtc1tST1VURV9QQVJBTVMuUEFHRV0pXG4gICAgICAgICAgICAgIDogMVxuICAgICAgICAgIGlmIChwYWdlTnVtYmVyID09PSBvbGRQYWdlKSB7XG4gICAgICAgICAgICBwYWdlTnVtYmVyID0gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWx0ZXJzID1cbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShvbGRGaWx0ZXJzKSA9PT0gSlNPTi5zdHJpbmdpZnkobmV3RmlsdGVycylcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiBuZXdGaWx0ZXJzXG4gICAgICAgIHJldHVybiBbc29ydEJ5LCBwYWdlTnVtYmVyLCBmaWx0ZXJzXSBhcyBjb25zdFxuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCgoW3NvcnRCeSwgcGFnZU51bWJlciwgZmlsdGVyc10pID0+IHtcbiAgICAgICAgY29uc3QgYWN0aW9uczogU2VhcmNoQWN0aW9uc1tdID0gW11cbiAgICAgICAgaWYgKGZpbHRlcnMgIT09IG51bGwpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2gobmV3IFNldEZpbHRlcnMoZmlsdGVycywgdGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoU3RhdGVJZCkpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnRCeSAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdGlvbnMucHVzaChuZXcgU2V0U29ydEJ5KHNvcnRCeSwgdGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoU3RhdGVJZCkpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBuZXcgUGFnaW5hdGUocGFnZU51bWJlciwgdGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoU3RhdGVJZClcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKC4uLmFjdGlvbnMpXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIC8qKlxuICAgKiBUaGlzIGVmZmVjdCB3aWxsIGxvYWQgdGhlIG1ldGFkYXRhIHdoZW4gYSBuYXZpZ2F0aW9uIHRvXG4gICAqIGEgbWV0YWRhdGEgcmVjb3JkIGhhcHBlbnNcbiAgICovXG4gIG5hdmlnYXRlVG9NZXRhZGF0YSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgbmF2aWdhdGlvbih0aGlzLnJvdXRlckNvbmZpZy5yZWNvcmRSb3V0ZUNvbXBvbmVudCwge1xuICAgICAgICBydW46IChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKFxuICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5zZXRJbmNvbXBsZXRlTWV0YWRhdGEoe1xuICAgICAgICAgICAgICBpbmNvbXBsZXRlOiB7XG4gICAgICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5wYXJhbXMubWV0YWRhdGFVdWlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgTWRWaWV3QWN0aW9ucy5sb2FkRnVsbE1ldGFkYXRhKHtcbiAgICAgICAgICAgICAgdXVpZDogYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5wYXJhbXMubWV0YWRhdGFVdWlkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0sXG5cbiAgICAgICAgb25FcnJvcihhOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignTmF2aWdhdGlvbiBmYWlsZWQnLCBlKVxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIClcblxuICAvKipcbiAgICogVGhpcyBlZmZlY3Qgd2lsbCBjbG9zZSB0aGUgbWV0YWRhdGEgd2hlbiBhIG5hdmlnYXRpb24gdG9cbiAgICogdGhlIHNlYXJjaCByZXN1bHRzIGhhcHBlbnNcbiAgICovXG4gIG5hdmlnYXRlVG9TZWFyY2gkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgIG5hdmlnYXRpb24odGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoUm91dGVDb21wb25lbnQsIHtcbiAgICAgICAgcnVuOiAoKSA9PiBNZFZpZXdBY3Rpb25zLmNsb3NlKCksXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIG5hdmlnYXRlQmFjayQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShSb3V0ZXJBY3Rpb25zLmJhY2tBY3Rpb24pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fbG9jYXRpb24uYmFjaygpKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gIClcblxuICBuYXZpZ2F0ZUZvcndhcmQkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoUm91dGVyQWN0aW9ucy5mb3J3YXJkQWN0aW9uKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2xvY2F0aW9uLmZvcndhcmQoKSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9zdGF0ZS9yb3V0ZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDNUUsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBRVIsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLDhDQUE4QyxDQUFBO0FBQ3JELE9BQU8sRUFFTCxVQUFVLEdBQ1gsTUFBTSw4REFBOEQsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1B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YSxDQUFDLGFBQWEsQ0FBQyxFQUNuQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNwQyxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFBO0lBbElFLENBQUM7OEdBUk8sYUFBYSxtSEFNZCxhQUFhO2tIQU5aLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IE1kVmlld0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYydcbmltcG9ydCB7XG4gIEZpZWxkc1NlcnZpY2UsXG4gIFBhZ2luYXRlLFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZXRGaWx0ZXJzLFxuICBTZXRTb3J0QnksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjJ1xuaW1wb3J0IHtcbiAgRmllbGRGaWx0ZXJzLFxuICBTb3J0QnlFbnVtLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnXG5pbXBvcnQgeyBuYXZpZ2F0aW9uIH0gZnJvbSAnQG5ncngvcm91dGVyLXN0b3JlL2RhdGEtcGVyc2lzdGVuY2UnXG5pbXBvcnQgeyBvZiwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCAqIGFzIFJvdXRlckFjdGlvbnMgZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucydcbmltcG9ydCB7IFJvdXRlckZhY2FkZSB9IGZyb20gJy4vcm91dGVyLmZhY2FkZSdcbmltcG9ydCB7IFJPVVRFX1BBUkFNUyB9IGZyb20gJy4uL2NvbnN0YW50cydcbmltcG9ydCB7IHNvcnRCeUZyb21TdHJpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFJPVVRFUl9DT05GSUcsIFJvdXRlckNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vcm91dGVyLmNvbmZpZydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdXRlckVmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9hY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9sb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBmYWNhZGU6IFJvdXRlckZhY2FkZSxcbiAgICBASW5qZWN0KFJPVVRFUl9DT05GSUcpIHByaXZhdGUgcm91dGVyQ29uZmlnOiBSb3V0ZXJDb25maWdNb2RlbCxcbiAgICBwcml2YXRlIGZpZWxkc1NlcnZpY2U6IEZpZWxkc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5hdmlnYXRlJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJvdXRlckFjdGlvbnMuZ29BY3Rpb24pLFxuICAgICAgICB0YXAoKHsgcGF0aCwgcXVlcnk6IHF1ZXJ5UGFyYW1zLCBxdWVyeVBhcmFtc0hhbmRsaW5nIH0pID0+IHtcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmcsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG5cbiAgc3luY1NlYXJjaFN0YXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuZmFjYWRlLnNlYXJjaFBhcmFtcyQucGlwZShcbiAgICAgIG1lcmdlTWFwKChzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gICAgICAgIHRoaXMuZmllbGRzU2VydmljZVxuICAgICAgICAgIC5idWlsZEZpbHRlcnNGcm9tRmllbGRWYWx1ZXMoc2VhcmNoUGFyYW1zKVxuICAgICAgICAgIC5waXBlKG1hcCgoZmlsdGVycykgPT4gW3NlYXJjaFBhcmFtcywgZmlsdGVyc10gYXMgY29uc3QpKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aChbbnVsbCwge31dIGFzIFtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBGaWVsZEZpbHRlcnNdKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtbb2xkUGFyYW1zLCBvbGRGaWx0ZXJzXSwgW25ld1BhcmFtcywgbmV3RmlsdGVyc11dKSA9PiB7XG4gICAgICAgIGxldCBzb3J0QnkgPVxuICAgICAgICAgIFJPVVRFX1BBUkFNUy5TT1JUIGluIG5ld1BhcmFtc1xuICAgICAgICAgICAgPyBzb3J0QnlGcm9tU3RyaW5nKG5ld1BhcmFtc1tST1VURV9QQVJBTVMuU09SVF0pXG4gICAgICAgICAgICA6IFNvcnRCeUVudW0uUkVMRVZBTkNZXG4gICAgICAgIGxldCBwYWdlTnVtYmVyID1cbiAgICAgICAgICBST1VURV9QQVJBTVMuUEFHRSBpbiBuZXdQYXJhbXNcbiAgICAgICAgICAgID8gcGFyc2VJbnQobmV3UGFyYW1zW1JPVVRFX1BBUkFNUy5QQUdFXSlcbiAgICAgICAgICAgIDogMVxuICAgICAgICBpZiAob2xkUGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgb2xkU29ydCA9XG4gICAgICAgICAgICBST1VURV9QQVJBTVMuU09SVCBpbiBvbGRQYXJhbXNcbiAgICAgICAgICAgICAgPyBzb3J0QnlGcm9tU3RyaW5nKG9sZFBhcmFtc1tST1VURV9QQVJBTVMuU09SVF0pXG4gICAgICAgICAgICAgIDogU29ydEJ5RW51bS5SRUxFVkFOQ1lcbiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoc29ydEJ5KSA9PT0gSlNPTi5zdHJpbmdpZnkob2xkU29ydCkpIHtcbiAgICAgICAgICAgIHNvcnRCeSA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3Qgb2xkUGFnZSA9XG4gICAgICAgICAgICBST1VURV9QQVJBTVMuUEFHRSBpbiBvbGRQYXJhbXNcbiAgICAgICAgICAgICAgPyBwYXJzZUludChvbGRQYXJhbXNbUk9VVEVfUEFSQU1TLlBBR0VdKVxuICAgICAgICAgICAgICA6IDFcbiAgICAgICAgICBpZiAocGFnZU51bWJlciA9PT0gb2xkUGFnZSkge1xuICAgICAgICAgICAgcGFnZU51bWJlciA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVycyA9XG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkob2xkRmlsdGVycykgPT09IEpTT04uc3RyaW5naWZ5KG5ld0ZpbHRlcnMpXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogbmV3RmlsdGVyc1xuICAgICAgICByZXR1cm4gW3NvcnRCeSwgcGFnZU51bWJlciwgZmlsdGVyc10gYXMgY29uc3RcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAoKFtzb3J0QnksIHBhZ2VOdW1iZXIsIGZpbHRlcnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnM6IFNlYXJjaEFjdGlvbnNbXSA9IFtdXG4gICAgICAgIGlmIChmaWx0ZXJzICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBTZXRGaWx0ZXJzKGZpbHRlcnMsIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpKVxuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0QnkgIT09IG51bGwpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2gobmV3IFNldFNvcnRCeShzb3J0QnksIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpKVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYWdlTnVtYmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgbmV3IFBhZ2luYXRlKHBhZ2VOdW1iZXIsIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZiguLi5hY3Rpb25zKVxuICAgICAgfSlcbiAgICApXG4gIClcblxuICAvKipcbiAgICogVGhpcyBlZmZlY3Qgd2lsbCBsb2FkIHRoZSBtZXRhZGF0YSB3aGVuIGEgbmF2aWdhdGlvbiB0b1xuICAgKiBhIG1ldGFkYXRhIHJlY29yZCBoYXBwZW5zXG4gICAqL1xuICBuYXZpZ2F0ZVRvTWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgIG5hdmlnYXRpb24odGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsIHtcbiAgICAgICAgcnVuOiAoYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhKHtcbiAgICAgICAgICAgICAgaW5jb21wbGV0ZToge1xuICAgICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zLm1ldGFkYXRhVXVpZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSh7XG4gICAgICAgICAgICAgIHV1aWQ6IGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zLm1ldGFkYXRhVXVpZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9LFxuXG4gICAgICAgIG9uRXJyb3IoYTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05hdmlnYXRpb24gZmFpbGVkJywgZSlcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgZWZmZWN0IHdpbGwgY2xvc2UgdGhlIG1ldGFkYXRhIHdoZW4gYSBuYXZpZ2F0aW9uIHRvXG4gICAqIHRoZSBzZWFyY2ggcmVzdWx0cyBoYXBwZW5zXG4gICAqL1xuICBuYXZpZ2F0ZVRvU2VhcmNoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICBuYXZpZ2F0aW9uKHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFJvdXRlQ29tcG9uZW50LCB7XG4gICAgICAgIHJ1bjogKCkgPT4gTWRWaWV3QWN0aW9ucy5jbG9zZU1ldGFkYXRhKCksXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIG5hdmlnYXRlQmFjayQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShSb3V0ZXJBY3Rpb25zLmJhY2tBY3Rpb24pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fbG9jYXRpb24uYmFjaygpKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gIClcblxuICBuYXZpZ2F0ZUZvcndhcmQkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoUm91dGVyQWN0aW9ucy5mb3J3YXJkQWN0aW9uKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2xvY2F0aW9uLmZvcndhcmQoKSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG59XG4iXX0=
@@ -17,7 +17,7 @@ export class MarkdownEditorComponent {
17
17
  this.textContentChanged.emit(this.textContent);
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MarkdownEditorComponent, isStandalone: true, selector: "gn-ui-markdown-editor", inputs: { preview: "preview", helperText: "helperText", placeholder: "placeholder", textContent: "textContent" }, outputs: { textContentChanged: "textContentChanged" }, ngImport: i0, template: "<div class=\"h-full flex flex-col\">\n <p class=\"flex-none mb-2 font-medium text-sm text-gray-900\">\n {{ helperText }}\n </p>\n <div class=\"flex-1\" [hidden]=\"preview\">\n <gn-ui-text-area\n [placeholder]=\"placeholder\"\n [value]=\"textContent\"\n (valueChange)=\"textContentChangedHandler($event)\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"flex-1 border border-gray-800 rounded overflow-y-scroll\"\n [hidden]=\"!preview\"\n >\n <gn-ui-markdown-parser [textContent]=\"textContent\"></gn-ui-markdown-parser>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MarkdownEditorComponent, isStandalone: true, selector: "gn-ui-markdown-editor", inputs: { preview: "preview", helperText: "helperText", placeholder: "placeholder", textContent: "textContent" }, outputs: { textContentChanged: "textContentChanged" }, ngImport: i0, template: "<div class=\"h-full flex flex-col\">\n <p class=\"flex-none mb-2 font-medium text-sm text-gray-900\">\n {{ helperText }}\n </p>\n <div class=\"flex-1\" [hidden]=\"preview\">\n <gn-ui-text-area\n [placeholder]=\"placeholder\"\n [value]=\"textContent\"\n (valueChange)=\"textContentChangedHandler($event)\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"flex-1 border border-gray-800 rounded overflow-y-scroll\"\n [hidden]=\"!preview\"\n >\n <gn-ui-markdown-parser [textContent]=\"textContent\"></gn-ui-markdown-parser>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownEditorComponent, decorators: [{
23
23
  type: Component,
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
42
42
  }], textContentChanged: [{
43
43
  type: Output
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7O0FBbUI1RCxNQUFNLE9BQU8sdUJBQXVCO0lBakJwQztRQWtCVyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBSWQsdUJBQWtCLEdBQzFCLElBQUksWUFBWSxFQUFVLENBQUE7S0FNN0I7SUFKQyx5QkFBeUIsQ0FBQyxXQUFtQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNoRCxDQUFDOzhHQVhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBQQ2hDcEMsbWtCQWtCQSx5RERJSSxZQUFZLDhCQUNaLFdBQVcsOEJBQ1gsYUFBYSw4QkFDYixnQkFBZ0IsK0JBRWhCLGlCQUFpQixvSUFDakIsdUJBQXVCLDBGQUN2QixlQUFlOzsyRkFHTix1QkFBdUI7a0JBakJuQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNoQjs4QkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcmtkb3duLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25FZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBwcmV2aWV3ID0gZmFsc2VcbiAgQElucHV0KCkgaGVscGVyVGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nXG4gIEBJbnB1dCgpIHRleHRDb250ZW50OiBzdHJpbmdcbiAgQE91dHB1dCgpIHRleHRDb250ZW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG5cbiAgdGV4dENvbnRlbnRDaGFuZ2VkSGFuZGxlcih0ZXh0Q29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0Q29udGVudCA9IHRleHRDb250ZW50XG4gICAgdGhpcy50ZXh0Q29udGVudENoYW5nZWQuZW1pdCh0aGlzLnRleHRDb250ZW50KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIGZsZXggZmxleC1jb2xcIj5cbiAgPHAgY2xhc3M9XCJmbGV4LW5vbmUgbWItMiBmb250LW1lZGl1bSB0ZXh0LXNtIHRleHQtZ3JheS05MDBcIj5cbiAgICB7eyBoZWxwZXJUZXh0IH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiIFtoaWRkZW5dPVwicHJldmlld1wiPlxuICAgIDxnbi11aS10ZXh0LWFyZWFcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwidGV4dENvbnRlbnRcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cInRleHRDb250ZW50Q2hhbmdlZEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleC0xIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZCBvdmVyZmxvdy15LXNjcm9sbFwiXG4gICAgW2hpZGRlbl09XCIhcHJldmlld1wiXG4gID5cbiAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyIFt0ZXh0Q29udGVudF09XCJ0ZXh0Q29udGVudFwiPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7O0FBbUI1RCxNQUFNLE9BQU8sdUJBQXVCO0lBakJwQztRQWtCVyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBSWQsdUJBQWtCLEdBQzFCLElBQUksWUFBWSxFQUFVLENBQUE7S0FNN0I7SUFKQyx5QkFBeUIsQ0FBQyxXQUFtQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNoRCxDQUFDOzhHQVhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBQQ2hDcEMsbWtCQWtCQSx5RERJSSxZQUFZLDhCQUNaLFdBQVcsOEJBQ1gsYUFBYSw4QkFDYixnQkFBZ0IsK0JBRWhCLGlCQUFpQiw4SkFDakIsdUJBQXVCLDBGQUN2QixlQUFlOzsyRkFHTix1QkFBdUI7a0JBakJuQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNoQjs4QkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcmtkb3duLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25FZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBwcmV2aWV3ID0gZmFsc2VcbiAgQElucHV0KCkgaGVscGVyVGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nXG4gIEBJbnB1dCgpIHRleHRDb250ZW50OiBzdHJpbmdcbiAgQE91dHB1dCgpIHRleHRDb250ZW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG5cbiAgdGV4dENvbnRlbnRDaGFuZ2VkSGFuZGxlcih0ZXh0Q29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0Q29udGVudCA9IHRleHRDb250ZW50XG4gICAgdGhpcy50ZXh0Q29udGVudENoYW5nZWQuZW1pdCh0aGlzLnRleHRDb250ZW50KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIGZsZXggZmxleC1jb2xcIj5cbiAgPHAgY2xhc3M9XCJmbGV4LW5vbmUgbWItMiBmb250LW1lZGl1bSB0ZXh0LXNtIHRleHQtZ3JheS05MDBcIj5cbiAgICB7eyBoZWxwZXJUZXh0IH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiIFtoaWRkZW5dPVwicHJldmlld1wiPlxuICAgIDxnbi11aS10ZXh0LWFyZWFcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwidGV4dENvbnRlbnRcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cInRleHRDb250ZW50Q2hhbmdlZEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktdGV4dC1hcmVhPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleC0xIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZCBvdmVyZmxvdy15LXNjcm9sbFwiXG4gICAgW2hpZGRlbl09XCIhcHJldmlld1wiXG4gID5cbiAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyIFt0ZXh0Q29udGVudF09XCJ0ZXh0Q29udGVudFwiPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,4 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { OgcApiEndpoint } from '@camptocamp/ogc-client';
3
+ import { mimeTypeToFormat } from '../../../../../../libs/util/shared/src';
2
4
  import { BehaviorSubject, combineLatest, map } from 'rxjs';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@ngx-translate/core";
@@ -16,10 +18,7 @@ export class RecordApiFormComponent {
16
18
  this.offset$ = new BehaviorSubject('');
17
19
  this.limit$ = new BehaviorSubject('');
18
20
  this.format$ = new BehaviorSubject('');
19
- this.formatsList = [
20
- { label: 'JSON', value: 'json' },
21
- { label: 'CSV', value: 'csv' },
22
- ];
21
+ this.outputFormats = [{ value: 'json', label: 'JSON' }];
23
22
  this.apiQueryUrl$ = combineLatest([this.offset$, this.limit$, this.format$]).pipe(map(([offset, limit, format]) => {
24
23
  let outputUrl;
25
24
  if (this.apiBaseUrl) {
@@ -42,6 +41,8 @@ export class RecordApiFormComponent {
42
41
  }
43
42
  set apiLink(value) {
44
43
  this.apiBaseUrl = value ? value.url.href : undefined;
44
+ this.outputFormats = [{ value: 'json', label: 'JSON' }];
45
+ this.parseOutputFormats();
45
46
  this.resetUrl();
46
47
  }
47
48
  setOffset(value) {
@@ -59,13 +60,39 @@ export class RecordApiFormComponent {
59
60
  this.limit$.next(DEFAULT_PARAMS.LIMIT);
60
61
  this.format$.next(DEFAULT_PARAMS.FORMAT);
61
62
  }
63
+ parseOutputFormats() {
64
+ const apiUrl = this.apiBaseUrl.slice(-1) === '?'
65
+ ? this.apiBaseUrl.slice(0, -1)
66
+ : this.apiBaseUrl;
67
+ this.getOutputFormats(apiUrl).then((outputFormats) => {
68
+ const formatsList = outputFormats.itemFormats.map((format) => {
69
+ const normalizedFormat = mimeTypeToFormat(format);
70
+ if (normalizedFormat) {
71
+ return {
72
+ label: normalizedFormat?.toUpperCase(),
73
+ value: normalizedFormat,
74
+ };
75
+ }
76
+ return null;
77
+ });
78
+ this.outputFormats = this.outputFormats.concat(formatsList.filter(Boolean));
79
+ this.outputFormats = this.outputFormats
80
+ .filter((format, index, self) => index === self.findIndex((t) => t.value === format.value))
81
+ .sort((a, b) => a.label.localeCompare(b.label));
82
+ });
83
+ }
84
+ async getOutputFormats(url) {
85
+ const endpoint = await new OgcApiEndpoint(url);
86
+ const firstCollection = (await endpoint.featureCollections)[0];
87
+ return endpoint.getCollectionInfo(firstCollection);
88
+ }
62
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordApiFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordApiFormComponent, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.offset</p>\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n (valueChange)=\"setOffset($event)\"\n hint=\"\"\n >\n </gn-ui-text-input>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"formatsList\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }, { kind: "component", type: i3.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "component", type: i4.CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordApiFormComponent, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.offset</p>\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n (valueChange)=\"setOffset($event)\"\n hint=\"\"\n >\n </gn-ui-text-input>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }, { kind: "component", type: i3.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required"], outputs: ["valueChange"] }, { kind: "component", type: i4.CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
91
  }
65
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordApiFormComponent, decorators: [{
66
93
  type: Component,
67
- args: [{ selector: 'gn-ui-record-api-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.offset</p>\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n (valueChange)=\"setOffset($event)\"\n hint=\"\"\n >\n </gn-ui-text-input>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"formatsList\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"] }]
94
+ args: [{ selector: 'gn-ui-record-api-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.offset</p>\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n (valueChange)=\"setOffset($event)\"\n hint=\"\"\n >\n </gn-ui-text-input>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"] }]
68
95
  }], propDecorators: { apiLink: [{
69
96
  type: Input
70
97
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7Ozs7OztBQUUxRCxNQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE1BQU07Q0FDZixDQUFBO0FBT0QsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVdFLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNqQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDaEMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRWpDLGdCQUFXLEdBQUc7WUFDWixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNoQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUMvQixDQUFBO1FBQ0QsaUJBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FB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bnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnXG5cbmNvbnN0IERFRkFVTFRfUEFSQU1TID0ge1xuICBPRkZTRVQ6ICcnLFxuICBMSU1JVDogJy0xJyxcbiAgRk9STUFUOiAnanNvbicsXG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1yZWNvcmQtYXBpLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEFwaUZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgYXBpTGluayh2YWx1ZTogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24pIHtcbiAgICB0aGlzLmFwaUJhc2VVcmwgPSB2YWx1ZSA/IHZhbHVlLnVybC5ocmVmIDogdW5kZWZpbmVkXG4gICAgdGhpcy5yZXNldFVybCgpXG4gIH1cbiAgb2Zmc2V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpXG4gIGxpbWl0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpXG4gIGZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKVxuICBhcGlCYXNlVXJsOiBzdHJpbmdcbiAgZm9ybWF0c0xpc3QgPSBbXG4gICAgeyBsYWJlbDogJ0pTT04nLCB2YWx1ZTogJ2pzb24nIH0sXG4gICAgeyBsYWJlbDogJ0NTVicsIHZhbHVlOiAnY3N2JyB9LFxuICBdXG4gIGFwaVF1ZXJ5VXJsJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0JCwgdGhpcy5saW1pdCQsIHRoaXMuZm9ybWF0JF0pLnBpcGUoXG4gICAgbWFwKChbb2Zmc2V0LCBsaW1pdCwgZm9ybWF0XSkgPT4ge1xuICAgICAgbGV0IG91dHB1dFVybFxuICAgICAgaWYgKHRoaXMuYXBpQmFzZVVybCkge1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuYXBpQmFzZVVybClcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyBvZmZzZXQ6IG9mZnNldCwgbGltaXQ6IGxpbWl0LCBmOiBmb3JtYXQgfVxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSAnMCcpIHtcbiAgICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KGtleSwgdmFsdWUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKGtleSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb3V0cHV0VXJsID0gdXJsLnRvU3RyaW5nKClcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXRwdXRVcmxcbiAgICB9KVxuICApXG4gIG5vTGltaXRDaGVja2VkJCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gbGltaXQgPT09ICctMScgfHwgbGltaXQgPT09ICcnKVxuICApXG5cbiAgZGlzcGxheUxpbWl0JCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gKGxpbWl0ICE9PSAnLTEnID8gbGltaXQgOiAnJykpXG4gIClcblxuICBzZXRPZmZzZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgc2V0TGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld0xpbWl0ID0gdmFsdWUgPT09ICcnID8gJy0xJyA6IHZhbHVlXG4gICAgdGhpcy5saW1pdCQubmV4dChuZXdMaW1pdClcbiAgfVxuXG4gIHNldEZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgdW5rbm93bikge1xuICAgIHRoaXMuZm9ybWF0JC5uZXh0KFN0cmluZyh2YWx1ZSkpXG4gIH1cblxuICByZXNldFVybCgpIHtcbiAgICB0aGlzLm9mZnNldCQubmV4dChERUZBVUxUX1BBUkFNUy5PRkZTRVQpXG4gICAgdGhpcy5saW1pdCQubmV4dChERUZBVUxUX1BBUkFNUy5MSU1JVClcbiAgICB0aGlzLmZvcm1hdCQubmV4dChERUZBVUxUX1BBUkFNUy5GT1JNQVQpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC04XCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGJnLXdoaXRlIHAtOCBuZy1zdGFyLWluc2VydGVkIHNoYWRvdy14bCBnYXAtOFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1bMTZweF0gdGV4dC1ibGFjayB0cnVuY2F0ZSBmb250LXRpdGxlIHctMTEvMTJcIiB0cmFuc2xhdGU+XG4gICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5jcmVhdGVcbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRVcmwoKVwiXG4gICAgICAgIGNsYXNzPVwiYmctcHJpbWFyeS1vcGFjaXR5LTUwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0yIHB5LTEgdGV4dC0xMyBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgdGV4dC13aGl0ZSByb3VuZGVkIGNhcGl0YWxpemUgdGV4dC1wcmltYXJ5LWxpZ2h0ZXN0IGhvdmVyOmJnLXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtWzEzcHhdIHVwcGVyY2FzZVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ucmVzZXRcbiAgICAgICAgPC9wPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGp1c3RpZnktYmV0d2VlbiBncm93IGdhcC01XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtWzE0cHhdXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5saW1pdDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGduLXVpLXRleHQtaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwibXItMiB3LTIwXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZXRMaW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5TGltaXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgaGludD1cIlwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cIm1yLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJub0xpbWl0Q2hlY2tlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0TGltaXQoJy0xJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0LmFsbDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5vZmZzZXQ8L3A+XG4gICAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICAgY2xhc3M9XCJ3LTIwXCJcbiAgICAgICAgICBbdmFsdWVdPVwib2Zmc2V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2V0T2Zmc2V0KCRldmVudClcIlxuICAgICAgICAgIGhpbnQ9XCJcIlxuICAgICAgICA+XG4gICAgICAgIDwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS50eXBlPC9wPlxuICAgICAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgICBbdGl0bGVdPVwiJydcIlxuICAgICAgICAgIGV4dHJhQnRuQ2xhc3M9XCJzZWNvbmRhcnkgbWluLXctZnVsbCAhdy00MCAhdGV4dC1ibGFja1wiXG4gICAgICAgICAgW3Nob3dUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJsYWNrXCJcbiAgICAgICAgICBbY2hvaWNlc109XCJmb3JtYXRzTGlzdFwiXG4gICAgICAgICAgKHNlbGVjdFZhbHVlKT1cInNldEZvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwiZm9ybWF0JCB8IGFzeW5jXCJcbiAgICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5jdXN0b21VcmxcbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuICAgICAgPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgICAgICAgW3RleHRdPVwiYXBpUXVlcnlVcmwkIHwgYXN5bmNcIlxuICAgICAgPjwvZ24tdWktY29weS10ZXh0LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7QUFFMUQsTUFBTSxjQUFjLEdBQUc7SUFDckIsTUFBTSxFQUFFLEVBQUU7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxNQUFNO0NBQ2YsQ0FBQTtBQU9ELE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFhRSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDakMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUVqQyxrQkFBYSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ2xELGlCQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJ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QUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlELE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7OEdBMUZVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZGQ2pCbkMsK3ZGQTJFQTs7MkZEMURhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07OEJBR2xDLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPZ2NBcGlFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1pbWVUeXBlVG9Gb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcydcblxuY29uc3QgREVGQVVMVF9QQVJBTVMgPSB7XG4gIE9GRlNFVDogJycsXG4gIExJTUlUOiAnLTEnLFxuICBGT1JNQVQ6ICdqc29uJyxcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlY29yZC1hcGktZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNvcmQtYXBpLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtYXBpLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkQXBpRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBhcGlMaW5rKHZhbHVlOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbikge1xuICAgIHRoaXMuYXBpQmFzZVVybCA9IHZhbHVlID8gdmFsdWUudXJsLmhyZWYgOiB1bmRlZmluZWRcbiAgICB0aGlzLm91dHB1dEZvcm1hdHMgPSBbeyB2YWx1ZTogJ2pzb24nLCBsYWJlbDogJ0pTT04nIH1dXG4gICAgdGhpcy5wYXJzZU91dHB1dEZvcm1hdHMoKVxuICAgIHRoaXMucmVzZXRVcmwoKVxuICB9XG4gIG9mZnNldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKVxuICBsaW1pdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKVxuICBmb3JtYXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJylcbiAgYXBpQmFzZVVybDogc3RyaW5nXG4gIG91dHB1dEZvcm1hdHMgPSBbeyB2YWx1ZTogJ2pzb24nLCBsYWJlbDogJ0pTT04nIH1dXG4gIGFwaVF1ZXJ5VXJsJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub2Zmc2V0JCwgdGhpcy5saW1pdCQsIHRoaXMuZm9ybWF0JF0pLnBpcGUoXG4gICAgbWFwKChbb2Zmc2V0LCBsaW1pdCwgZm9ybWF0XSkgPT4ge1xuICAgICAgbGV0IG91dHB1dFVybFxuICAgICAgaWYgKHRoaXMuYXBpQmFzZVVybCkge1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuYXBpQmFzZVVybClcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyBvZmZzZXQ6IG9mZnNldCwgbGltaXQ6IGxpbWl0LCBmOiBmb3JtYXQgfVxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSAnMCcpIHtcbiAgICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KGtleSwgdmFsdWUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKGtleSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb3V0cHV0VXJsID0gdXJsLnRvU3RyaW5nKClcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXRwdXRVcmxcbiAgICB9KVxuICApXG4gIG5vTGltaXRDaGVja2VkJCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gbGltaXQgPT09ICctMScgfHwgbGltaXQgPT09ICcnKVxuICApXG5cbiAgZGlzcGxheUxpbWl0JCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gKGxpbWl0ICE9PSAnLTEnID8gbGltaXQgOiAnJykpXG4gIClcblxuICBzZXRPZmZzZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgc2V0TGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld0xpbWl0ID0gdmFsdWUgPT09ICcnID8gJy0xJyA6IHZhbHVlXG4gICAgdGhpcy5saW1pdCQubmV4dChuZXdMaW1pdClcbiAgfVxuXG4gIHNldEZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgdW5rbm93bikge1xuICAgIHRoaXMuZm9ybWF0JC5uZXh0KFN0cmluZyh2YWx1ZSkpXG4gIH1cblxuICByZXNldFVybCgpIHtcbiAgICB0aGlzLm9mZnNldCQubmV4dChERUZBVUxUX1BBUkFNUy5PRkZTRVQpXG4gICAgdGhpcy5saW1pdCQubmV4dChERUZBVUxUX1BBUkFNUy5MSU1JVClcbiAgICB0aGlzLmZvcm1hdCQubmV4dChERUZBVUxUX1BBUkFNUy5GT1JNQVQpXG4gIH1cblxuICBwYXJzZU91dHB1dEZvcm1hdHMoKSB7XG4gICAgY29uc3QgYXBpVXJsID1cbiAgICAgIHRoaXMuYXBpQmFzZVVybC5zbGljZSgtMSkgPT09ICc/J1xuICAgICAgICA/IHRoaXMuYXBpQmFzZVVybC5zbGljZSgwLCAtMSlcbiAgICAgICAgOiB0aGlzLmFwaUJhc2VVcmxcblxuICAgIHRoaXMuZ2V0T3V0cHV0Rm9ybWF0cyhhcGlVcmwpLnRoZW4oKG91dHB1dEZvcm1hdHMpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHNMaXN0ID0gb3V0cHV0Rm9ybWF0cy5pdGVtRm9ybWF0cy5tYXAoKGZvcm1hdCkgPT4ge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChmb3JtYXQpXG4gICAgICAgIGlmIChub3JtYWxpemVkRm9ybWF0KSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsOiBub3JtYWxpemVkRm9ybWF0Py50b1VwcGVyQ2FzZSgpLFxuICAgICAgICAgICAgdmFsdWU6IG5vcm1hbGl6ZWRGb3JtYXQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9KVxuICAgICAgdGhpcy5vdXRwdXRGb3JtYXRzID0gdGhpcy5vdXRwdXRGb3JtYXRzLmNvbmNhdChcbiAgICAgICAgZm9ybWF0c0xpc3QuZmlsdGVyKEJvb2xlYW4pXG4gICAgICApXG4gICAgICB0aGlzLm91dHB1dEZvcm1hdHMgPSB0aGlzLm91dHB1dEZvcm1hdHNcbiAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAoZm9ybWF0LCBpbmRleCwgc2VsZikgPT5cbiAgICAgICAgICAgIGluZGV4ID09PSBzZWxmLmZpbmRJbmRleCgodCkgPT4gdC52YWx1ZSA9PT0gZm9ybWF0LnZhbHVlKVxuICAgICAgICApXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldE91dHB1dEZvcm1hdHModXJsKSB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodXJsKVxuICAgIGNvbnN0IGZpcnN0Q29sbGVjdGlvbiA9IChhd2FpdCBlbmRwb2ludC5mZWF0dXJlQ29sbGVjdGlvbnMpWzBdXG4gICAgcmV0dXJuIGVuZHBvaW50LmdldENvbGxlY3Rpb25JbmZvKGZpcnN0Q29sbGVjdGlvbilcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLThcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgYmctd2hpdGUgcC04IG5nLXN0YXItaW5zZXJ0ZWQgc2hhZG93LXhsIGdhcC04XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVsxNnB4XSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmNyZWF0ZVxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldFVybCgpXCJcbiAgICAgICAgY2xhc3M9XCJiZy1wcmltYXJ5LW9wYWNpdHktNTAgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTIgcHktMSB0ZXh0LTEzIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB0ZXh0LXdoaXRlIHJvdW5kZWQgY2FwaXRhbGl6ZSB0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6YmctcHJpbWFyeSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTNweF0gdXBwZXJjYXNlXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5yZXNldFxuICAgICAgICA8L3A+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGdyb3cgZ2FwLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTRweF1cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJtci0yIHctMjBcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldExpbWl0KCRldmVudClcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlMaW1pdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBoaW50PVwiXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwibXItMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIm5vTGltaXRDaGVja2VkJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRMaW1pdCgnLTEnKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCIgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5yZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ubGltaXQuYWxsPC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLm9mZnNldDwvcD5cbiAgICAgICAgPGduLXVpLXRleHQtaW5wdXRcbiAgICAgICAgICBjbGFzcz1cInctMjBcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvZmZzZXQkIHwgYXN5bmNcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZXRPZmZzZXQoJGV2ZW50KVwiXG4gICAgICAgICAgaGludD1cIlwiXG4gICAgICAgID5cbiAgICAgICAgPC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLnR5cGU8L3A+XG4gICAgICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgICAgICNkcm9wZG93blxuICAgICAgICAgIFt0aXRsZV09XCInJ1wiXG4gICAgICAgICAgZXh0cmFCdG5DbGFzcz1cInNlY29uZGFyeSBtaW4tdy1mdWxsICF3LTQwICF0ZXh0LWJsYWNrXCJcbiAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQtYmxhY2tcIlxuICAgICAgICAgIFtjaG9pY2VzXT1cIm91dHB1dEZvcm1hdHNcIlxuICAgICAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZXRGb3JtYXQoJGV2ZW50KVwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cImZvcm1hdCQgfCBhc3luY1wiXG4gICAgICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyBtYi0zXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1ibGFjayB0cnVuY2F0ZSBmb250LXRpdGxlIHctMTEvMTJcIiB0cmFuc2xhdGU+XG4gICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0uY3VzdG9tVXJsXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cbiAgICAgIDxnbi11aS1jb3B5LXRleHQtYnV0dG9uXG4gICAgICAgIFt0ZXh0XT1cImFwaVF1ZXJ5VXJsJCB8IGFzeW5jXCJcbiAgICAgID48L2duLXVpLWNvcHktdGV4dC1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=