@provoly/dashboard 1.3.8 → 1.3.9

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 (200) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -2
  2. package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +47 -18
  3. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +6 -2
  4. package/admin/components/admin-fields/admin-fields.component.d.ts +4 -1
  5. package/admin/components/admin-fields/store/admin-fields.model.d.ts +1 -1
  6. package/admin/components/admin-fields/store/fields.actions.d.ts +19 -12
  7. package/admin/components/admin-fields/store/fields.effects.d.ts +16 -3
  8. package/admin/i18n/en.translations.d.ts +33 -14
  9. package/admin/i18n/fr.translations.d.ts +33 -14
  10. package/components/checkbox/checkbox.component.d.ts +4 -2
  11. package/components/data-format/data-format.pipe.d.ts +11 -1
  12. package/components/paginator/index.d.ts +5 -0
  13. package/components/paginator/paginator.component.d.ts +19 -0
  14. package/components/paginator/paginator.module.d.ts +10 -0
  15. package/components/paginator/public-api.d.ts +3 -0
  16. package/components/paginator/style/_o-pry-paginator.scss +11 -0
  17. package/components/paginator/style/css.component.d.ts +5 -0
  18. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +5 -8
  19. package/dataset/dataset.module.d.ts +1 -1
  20. package/dataset/i18n/en.translations.d.ts +0 -12
  21. package/dataset/i18n/fr.translations.d.ts +0 -12
  22. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -6
  23. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
  24. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
  25. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +10 -12
  26. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +6 -5
  27. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +2 -2
  28. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +142 -63
  29. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +7 -8
  30. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +15 -11
  31. package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +1 -1
  32. package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +6 -5
  33. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +12 -6
  34. package/esm2022/admin/i18n/en.translations.mjs +34 -15
  35. package/esm2022/admin/i18n/fr.translations.mjs +34 -15
  36. package/esm2022/components/checkbox/checkbox.component.mjs +15 -7
  37. package/esm2022/components/data-format/data-format.pipe.mjs +88 -7
  38. package/esm2022/components/paginator/paginator.component.mjs +51 -0
  39. package/esm2022/components/paginator/paginator.module.mjs +20 -0
  40. package/esm2022/components/paginator/provoly-dashboard-components-paginator.mjs +5 -0
  41. package/esm2022/components/paginator/public-api.mjs +4 -0
  42. package/esm2022/components/paginator/style/css.component.mjs +11 -0
  43. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +16 -26
  44. package/esm2022/dataset/dataset.module.mjs +2 -5
  45. package/esm2022/dataset/i18n/en.translations.mjs +1 -13
  46. package/esm2022/dataset/i18n/fr.translations.mjs +2 -14
  47. package/esm2022/import/components/form/import-form.component.mjs +174 -0
  48. package/esm2022/import/components/list/import-list.component.mjs +73 -0
  49. package/esm2022/import/components/version-modal/version-modal.component.mjs +26 -0
  50. package/esm2022/import/i18n/en.translations.mjs +16 -2
  51. package/esm2022/import/i18n/fr.translations.mjs +16 -2
  52. package/esm2022/import/import-routing.module.mjs +3 -3
  53. package/esm2022/import/import.module.mjs +25 -10
  54. package/esm2022/import/public-api.mjs +4 -2
  55. package/esm2022/import/style/css.component.mjs +2 -2
  56. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  57. package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +8 -8
  58. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +48 -0
  59. package/esm2022/lib/core/components/{modal-status/modal-status.module.mjs → status-modal/status-modal.module.mjs} +9 -9
  60. package/esm2022/lib/core/core.module.mjs +5 -5
  61. package/esm2022/lib/core/i18n/en.translations.mjs +35 -2
  62. package/esm2022/lib/core/i18n/fr.translations.mjs +37 -2
  63. package/esm2022/lib/core/model/admin-api.model.mjs +5 -69
  64. package/esm2022/lib/core/model/widget-analytic-manifest.interface.mjs +1 -1
  65. package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +1 -1
  66. package/esm2022/lib/core/public-api.mjs +3 -3
  67. package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
  68. package/esm2022/lib/core/store/class/class.selectors.mjs +2 -2
  69. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +3 -3
  70. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +7 -4
  71. package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
  72. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +5 -3
  73. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +3 -11
  74. package/esm2022/lib/core/store/data-source/data-source.service.mjs +23 -5
  75. package/esm2022/lib/core/store/field/field.interface.mjs +1 -3
  76. package/esm2022/lib/core/store/field/field.service.mjs +7 -2
  77. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
  78. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +3 -11
  79. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +2 -2
  80. package/esm2022/lib/dashboard/item-utils.mjs +5 -5
  81. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -4
  82. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +1 -19
  83. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +1 -26
  84. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  85. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +3 -2
  86. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
  87. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
  88. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -5
  89. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +2 -2
  90. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +5 -6
  91. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
  92. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
  93. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +17 -19
  94. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -4
  95. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +54 -37
  96. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +4 -16
  97. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +9 -9
  98. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +5 -5
  99. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +30 -32
  100. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +2 -5
  101. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
  102. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +6 -10
  103. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +18 -14
  104. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +9 -5
  105. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
  106. package/esm2022/widgets/widget-table/public-api.mjs +1 -2
  107. package/esm2022/widgets/widget-table/widget-table.module.mjs +12 -7
  108. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -15
  109. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +8 -4
  110. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
  111. package/fesm2022/provoly-dashboard-admin.mjs +249 -126
  112. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  113. package/fesm2022/provoly-dashboard-components-checkbox.mjs +14 -6
  114. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  115. package/fesm2022/provoly-dashboard-components-data-format.mjs +88 -7
  116. package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
  117. package/fesm2022/provoly-dashboard-components-paginator.mjs +82 -0
  118. package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -0
  119. package/fesm2022/provoly-dashboard-dataset.mjs +21 -58
  120. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  121. package/fesm2022/provoly-dashboard-import.mjs +249 -116
  122. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  123. package/fesm2022/provoly-dashboard-search.mjs +15 -16
  124. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  125. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
  126. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  127. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +20 -21
  128. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  129. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +53 -36
  130. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  131. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +3 -15
  132. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  133. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +9 -9
  134. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  135. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +4 -4
  136. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  137. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +36 -45
  138. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  139. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +32 -38
  140. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  141. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +16 -17
  142. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  143. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
  144. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  145. package/fesm2022/provoly-dashboard.mjs +278 -330
  146. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  147. package/import/components/{import.component.d.ts → form/import-form.component.d.ts} +8 -4
  148. package/import/components/list/import-list.component.d.ts +34 -0
  149. package/import/components/version-modal/version-modal.component.d.ts +13 -0
  150. package/import/i18n/en.translations.d.ts +14 -0
  151. package/import/i18n/fr.translations.d.ts +14 -0
  152. package/import/import.module.d.ts +13 -10
  153. package/import/public-api.d.ts +3 -1
  154. package/import/style/_o-import.scss +50 -6
  155. package/lib/core/components/share/legacy-share/share.component.d.ts +1 -1
  156. package/lib/core/components/{modal-status/modal-status.component.d.ts → status-modal/status-modal.component.d.ts} +10 -6
  157. package/lib/core/components/{modal-status/modal-status.module.d.ts → status-modal/status-modal.module.d.ts} +5 -5
  158. package/lib/core/core.module.d.ts +2 -2
  159. package/lib/core/i18n/en.translations.d.ts +33 -0
  160. package/lib/core/i18n/fr.translations.d.ts +35 -0
  161. package/lib/core/model/admin-api.model.d.ts +6 -8
  162. package/lib/core/model/widget-analytic-manifest.interface.d.ts +0 -3
  163. package/lib/core/model/widget-table-manifest.interface.d.ts +2 -0
  164. package/lib/core/public-api.d.ts +2 -2
  165. package/lib/core/store/class/class.interface.d.ts +2 -1
  166. package/lib/core/store/class/class.selectors.d.ts +10 -10
  167. package/lib/core/store/data-source/data-source.actions.d.ts +21 -1
  168. package/lib/core/store/data-source/data-source.effects.d.ts +11 -1
  169. package/lib/core/store/data-source/data-source.model.d.ts +3 -2
  170. package/lib/core/store/data-source/data-source.reducer.d.ts +1 -0
  171. package/lib/core/store/data-source/data-source.selectors.d.ts +3 -3
  172. package/lib/core/store/data-source/data-source.service.d.ts +11 -2
  173. package/lib/core/store/field/field.interface.d.ts +8 -4
  174. package/lib/core/store/field/field.service.d.ts +1 -0
  175. package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +1 -1
  176. package/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.d.ts +3 -7
  177. package/lib/dashboard/item-utils.d.ts +1 -1
  178. package/lib/dashboard/store/dashboard.actions.d.ts +0 -11
  179. package/lib/dashboard/store/dashboard.effects.d.ts +0 -3
  180. package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +2 -1
  181. package/package.json +25 -19
  182. package/styles/base/_utils.scss +9 -1
  183. package/styles/components/_a-btn.scss +7 -0
  184. package/styles/components/_a-table.scss +2 -16
  185. package/styles/layout/_o-workspace.scss +1 -0
  186. package/tooltips/attribute/attribute-tooltip.component.d.ts +6 -6
  187. package/tooltips/attribute/attribute-tooltip.module.d.ts +2 -1
  188. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +16 -3
  189. package/widgets/widget-analytic/component/widget-analytic.component.d.ts +2 -3
  190. package/widgets/widget-detail/component/widget-detail.component.d.ts +1 -4
  191. package/widgets/widget-table/component/widget-table.component.d.ts +1 -0
  192. package/widgets/widget-table/expand-value/expand-value.component.d.ts +4 -2
  193. package/widgets/widget-table/public-api.d.ts +0 -1
  194. package/widgets/widget-table/widget-table.module.d.ts +9 -8
  195. package/widgets/widget-tile/component/widget-tile.component.d.ts +1 -0
  196. package/widgets/widget-tile/widget-tile.module.d.ts +2 -1
  197. package/esm2022/import/components/import.component.mjs +0 -167
  198. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +0 -45
  199. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +0 -24
  200. package/widgets/widget-table/expand-value/format-number.pipe.d.ts +0 -10
@@ -1,18 +1,19 @@
1
1
  import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
- import { DashboardActions, DashboardSelectors, DataSourceActions, DataSourceSelectors, PRY_ACCESS_TOKEN, SearchActions, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
3
- import { map, of } from 'rxjs';
2
+ import { DashboardActions, DashboardSelectors, DataSourceActions, DataSourceSelectors, PRY_ACCESS_TOKEN, PryStatusModalComponent, SearchActions, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
3
+ import { of } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ngrx/store";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@provoly/dashboard";
6
+ import * as i2 from "@provoly/dashboard";
7
+ import * as i3 from "@angular/common";
8
8
  import * as i4 from "../dataset-version-form/dataset-version-form.component";
9
9
  import * as i5 from "@provoly/dashboard/components/text-editor";
10
10
  let nextCompId = 0;
11
11
  export class PryDatasetDetailComponent extends SubscriptionnerDirective {
12
- constructor(store, access) {
12
+ constructor(store, access, dialog) {
13
13
  super();
14
14
  this.store = store;
15
15
  this.access = access;
16
+ this.dialog = dialog;
16
17
  this.goToCatalog = new EventEmitter();
17
18
  this.widgetManifest = {
18
19
  table: {
@@ -37,7 +38,6 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
37
38
  this.ViewMode = ViewMode;
38
39
  this.compId = 0;
39
40
  this.tab = 0;
40
- this.showModalStatus = false;
41
41
  this.selectedMode = ViewMode.CONSULT;
42
42
  this.isEditingVersion = false;
43
43
  this.isPanelOpen = false;
@@ -57,11 +57,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
57
57
  excludeGeo: false,
58
58
  from: 'PryDatasetDetailComponent.ngOnInit()'
59
59
  }));
60
- this.datasetVersions$ = this.store
61
- .select(DataSourceSelectors.matchingDatasetVersions(this.dataset.id))
62
- .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));
63
- this.activeVersion$ = this.datasetVersions$.pipe(map((versions) => versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')));
64
- this.activeVersionId$ = this.activeVersion$.pipe(map((version) => version?.id ?? '-1'));
60
+ this.datasetVersions$ = this.store.select(DataSourceSelectors.datasetVersions);
65
61
  this.subscriptions.add(this.datasetVersions$.subscribe((versions) => {
66
62
  if (this.selectedVersion) {
67
63
  this.selectedVersion = {
@@ -75,7 +71,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
75
71
  }
76
72
  goBack() {
77
73
  this.goToCatalog.emit();
78
- this.store.dispatch(DataSourceActions.dataset.listVersions());
74
+ this.store.dispatch(DataSourceActions.dataset.listVersions({}));
79
75
  }
80
76
  refresh() {
81
77
  this.store.dispatch(SearchActions.getDatasourceItems({
@@ -83,12 +79,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
83
79
  excludeGeo: false,
84
80
  from: 'PryDatasetDetailComponent.refresh()'
85
81
  }));
86
- this.store.dispatch(DataSourceActions.dataset.listVersions());
87
- }
88
- goToConsult(version) {
89
- this.selectedDatasetVersion = version;
90
- this.showModalStatus = false;
91
- this.selectedMode = ViewMode.CONSULT;
82
+ this.store.dispatch(DataSourceActions.dataset.listVersions({}));
92
83
  }
93
84
  switch(number) {
94
85
  this.tab = number;
@@ -111,8 +102,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
111
102
  consultErrors($event, version) {
112
103
  $event.preventDefault();
113
104
  $event.stopPropagation();
114
- this.selectedDatasetVersion = version;
115
- this.showModalStatus = true;
105
+ this.dialog.open(PryStatusModalComponent, { data: { version: version } });
116
106
  }
117
107
  getVersionTooltipContent(version, activeVersionId) {
118
108
  switch (version.state) {
@@ -167,20 +157,20 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
167
157
  this.store.dispatch(DataSourceActions.dataset.confirmDeleteVersion({ version }));
168
158
  $event?.stopPropagation();
169
159
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersionId$ | async as activeVersionId\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersionId === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersionId === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersionId) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }, { kind: "pipe", type: i3.SinceDatePipe, name: "sinceDate" }] }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"dataset.activeVersion?.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n version.id === dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' + getVersionTooltipContent(version, dataset.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i2.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i2.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i2.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }, { kind: "pipe", type: i2.SinceDatePipe, name: "sinceDate" }] }); }
172
162
  }
173
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
174
164
  type: Component,
175
- args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersionId$ | async as activeVersionId\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersionId === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersionId === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersionId) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n" }]
176
- }], ctorParameters: () => [{ type: i1.Store }, { type: i3.PryBaseAccess, decorators: [{
165
+ args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"dataset.activeVersion?.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n version.id === dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' + getVersionTooltipContent(version, dataset.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n" }]
166
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryBaseAccess, decorators: [{
177
167
  type: Optional
178
168
  }, {
179
169
  type: Inject,
180
170
  args: [PRY_ACCESS_TOKEN]
181
- }] }], propDecorators: { dataset: [{
171
+ }] }, { type: i2.PryDialogService }], propDecorators: { dataset: [{
182
172
  type: Input
183
173
  }], goToCatalog: [{
184
174
  type: Output
185
175
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFHaEIsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixRQUFRLEVBRVQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUUzQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFNbkIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHdCQUF3QjtJQXVDckUsWUFDVSxLQUFZLEVBQzRCLE1BQXFCO1FBRXJFLEtBQUssRUFBRSxDQUFDO1FBSEEsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUM0QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBdkM3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUs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aVFBOzsyRkR4T2EseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBNEMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQjt5Q0F4QzdCLE9BQU87c0JBQWYsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFzZXQsXG4gIERhdGFzZXRWZXJzaW9uLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgUmVzdWx0U2V0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXNldC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhc2V0ITogRGF0YXNldDtcbiAgQE91dHB1dCgpIGdvVG9DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB3aWRnZXRNYW5pZmVzdCA9IHtcbiAgICB0YWJsZToge1xuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH0sXG4gICAgbWFwOiB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxMiwgd2lkdGg6IDEyIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH07XG4gIHByb3RlY3RlZCByZWFkb25seSBWaWV3TW9kZSA9IFZpZXdNb2RlO1xuICBjb21wSWQ6IG51bWJlciA9IDA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgZGF0YXNldEl0ZW1zJDogT2JzZXJ2YWJsZTxSZXN1bHRTZXRzIHwgbnVsbD47XG4gIHB1YmxpYyBkYXRhc2V0VmVyc2lvbnMkITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgc2hvd01vZGFsU3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkRGF0YXNldFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbjtcbiAgc2VsZWN0ZWRNb2RlOiBWaWV3TW9kZSA9IFZpZXdNb2RlLkNPTlNVTFQ7XG4gIGFjdGl2ZVZlcnNpb24kITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbiB8IHVuZGVmaW5lZD47XG4gIGFjdGl2ZVZlcnNpb25JZCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgY2FuTW9kaWZ5JCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgaXNQYW5lbE9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRWZXJzaW9uPzogRGF0YXNldFZlcnNpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBwcm90ZWN0ZWQgYWNjZXNzOiBQcnlCYXNlQWNjZXNzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhc2V0SXRlbXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpO1xuICAgIHRoaXMuY29tcElkID0gbmV4dENvbXBJZCsrO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGFzaGJvYXJkRWRpdGlvbk1vZGUpLnN1YnNjcmliZSgoZWRpdGlvbk1vZGUpID0+IHtcbiAgICAgICAgaWYgKGVkaXRpb25Nb2RlKSB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudG9nZ2xlRWRpdGlvbk1vZGUoe30pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FuTW9kaWZ5JCA9IHRoaXMuYWNjZXNzPy5jYW5Nb2RpZnlEYXRhc2V0KHRoaXMuZGF0YXNldCkgPz8gb2YoZmFsc2UpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnNCeURhdGFzZXRJZCh7IGlkOiB0aGlzLmRhdGFzZXQuaWQgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZW1vdmVGaWx0ZXJzKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5uZ09uSW5pdCgpJ1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5kYXRhc2V0VmVyc2lvbnMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLm1hdGNoaW5nRGF0YXNldFZlcnNpb25zKHRoaXMuZGF0YXNldC5pZCkpXG4gICAgICAucGlwZShtYXAoKHJlcykgPT4gWy4uLnJlc10uc29ydCgoYSwgYikgPT4gYi52ZXJzaW9uIC0gYS52ZXJzaW9uKSkpO1xuICAgIHRoaXMuYWN0aXZlVmVyc2lvbiQgPSB0aGlzLmRhdGFzZXRWZXJzaW9ucyQucGlwZShcbiAgICAgIG1hcCgodmVyc2lvbnMpID0+XG4gICAgICAgIHZlcnNpb25zLnNvcnQoKHYxLCB2MikgPT4gdjIudmVyc2lvbiAtIHYxLnZlcnNpb24pLmZpbmQoKHZlcnNpb24pID0+IHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5hY3RpdmVWZXJzaW9uSWQkID0gdGhpcy5hY3RpdmVWZXJzaW9uJC5waXBlKG1hcCgodmVyc2lvbikgPT4gdmVyc2lvbj8uaWQgPz8gJy0xJykpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoKSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5yZWZyZXNoKCknXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucygpKTtcbiAgfVxuXG4gIGdvVG9Db25zdWx0KHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnNob3dNb2RhbFN0YXR1cyA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudDogRXZlbnQsIHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0VmVyc2lvbiA9IHZlcnNpb247XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICB0aGlzLmRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb24pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0lOQUNUSVZFJzpcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3VsdEVycm9ycygkZXZlbnQ6IEV2ZW50LCB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YXNldFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMuc2hvd01vZGFsU3RhdHVzID0gdHJ1ZTtcbiAgfVxuXG4gIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbiwgYWN0aXZlVmVyc2lvbklkOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0VSUk9SJzpcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICByZXR1cm4gdmVyc2lvbi5pZCA9PT0gYWN0aXZlVmVyc2lvbklkID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnO1xuICAgICAgY2FzZSAnTE9BRElORyc6XG4gICAgICBjYXNlICdJTkRFWElORyc6XG4gICAgICAgIHJldHVybiAnbG9hZGluZyc7XG4gICAgICBjYXNlICdJTkFDVElWRSc6XG4gICAgICAgIHJldHVybiAnaW52YWxpZCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3Vua25vd24nO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5kZWFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblRhYlN3aXRjaCgkZXZlbnQ6IG51bWJlcikge1xuICAgIGlmIChbMCwgMSwgMl0uaW5jbHVkZXMoJGV2ZW50KSkge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBhbmVsKHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgaWYgKHNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSBzZWxlY3RlZFZlcnNpb247XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gIXRoaXMuaXNQYW5lbE9wZW47XG4gICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBlZGl0VmVyc2lvbigpIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSB0cnVlO1xuICB9XG5cbiAgZm9ybVZhbGlkYXRlZCgkZXZlbnQ6IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+KSB7XG4gICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gZmFsc2U7XG4gIH1cblxuICBhc2tEZWxldGUodmVyc2lvbjogRGF0YXNldFZlcnNpb24sICRldmVudD86IEV2ZW50KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmNvbmZpcm1EZWxldGVWZXJzaW9uKHsgdmVyc2lvbiB9KSk7XG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJnb0JhY2soKVwiPnt7ICdAcHJ5LmRhdGFzZXQucmV0dXJuVG9MaXN0JyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAge3sgJ0BwcnkuZGF0YXNldC5yZWZyZXNoJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dFwiPlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImEtaDFcIj57eyBkYXRhc2V0Lm5hbWUgfX08L2gyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1kZXRhaWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsX19jb250ZW50XCI+XG4gICAgICAgIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuZGF0YXNldC5cIiAoY2xpY2tlZFRhYklkeCk9XCJvblRhYlN3aXRjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImluZm9ybWF0aW9uXCIgbmFtZT1cImluZm9ybWF0aW9uXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJ0YWJsZVwiIG5hbWU9XCJkYXRhXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtYXBcIiBuYW1lPVwibWFwXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0VmVyc2lvbnNcIiBuYW1lPVwidmVyc2lvbkhpc3RvcnlcIj48L3ByeS10YWI+XG4gICAgICAgIDwvcHJ5LXRhYi1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChpc1BhbmVsT3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsX19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkuZGF0YXNldC5pbmZvcm1hdGlvbicgfCBpMThuIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9fY29udGVudCB1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWlzRWRpdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAoc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/XG4gICAgICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1pbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uPy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB8IG1kVG9IdG1sXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnZWRpdF92ZXJzaW9uJyB9XCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSB1LXNlbGYtZW5kXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0VmVyc2lvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxwcnktZGF0YXNldC12ZXJzaW9uLWZvcm1cbiAgICAgICAgICAgIFt2ZXJzaW9uXT1cInNlbGVjdGVkVmVyc2lvblwiXG4gICAgICAgICAgICAoZm9ybVZhbGlkYXRlZCk9XCJmb3JtVmFsaWRhdGVkKCRldmVudClcIlxuICAgICAgICAgID48L3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2luZm9ybWF0aW9uPlxuICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtbiBvLWRhdGFzZXQtZGV0YWlsX19pbmZvcm1hdGlvblwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8c3Bhbj57eyBkYXRhc2V0LmRlc2NyaXB0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVWZXJzaW9uJCB8IGFzeW5jOyBhcyBhY3RpdmVWZXJzaW9uKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAoYWN0aXZlVmVyc2lvbj8ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgYWN0aXZlVmVyc2lvbj8ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2ZXJzaW9uLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cImFjdGl2ZVZlcnNpb24/LmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIHwgbWRUb0h0bWxcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgPHA+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC50YWdzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXdyYXBcIj5cbiAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgZGF0YXNldC5jYXRlZ29yaWVzOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwIC1tZFwiPiB7eyBjYXRlZ29yeS5uYW1lIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiAqbmdJZj1cImFjdGl2ZVZlcnNpb25JZCQgfCBhc3luYyBhcyBhY3RpdmVWZXJzaW9uSWRcIiBjbGFzcz1cImRhdGFzZXQtZGV0YWlsX190YWJsZSB0YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJhLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24udGl0bGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmVyc2lvbiBvZiBkYXRhc2V0VmVyc2lvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCh2ZXJzaW9uKVwiXG4gICAgICAgICAgW2NsYXNzLi1zZWxlY3RlZF09XCJ2ZXJzaW9uLmlkID09PSBzZWxlY3RlZFZlcnNpb24/LmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7IHZlcnNpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiYWN0aXZlVmVyc2lvbklkID09PSB2ZXJzaW9uLmlkXCIgaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cInZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfVwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIChhY3RpdmVWZXJzaW9uSWQgPT09IHZlcnNpb24uaWRcbiAgICAgICAgICAgICAgICA/ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5jdXJyZW50bHlBY3RpdmUnXG4gICAgICAgICAgICAgICAgOiAnQHByeS5kYXRhc2V0LnZlcnNpb24uJyArIHZlcnNpb24uc3RhdGVcbiAgICAgICAgICAgICAgKSB8IGkxOG5cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwidmVyc2lvbi5zdGF0ZSAhPT0gJ0RFTEVUSU5HJ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLW1kXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LmRhdGFzZXQudG9vbHRpcC4nICsgZ2V0VmVyc2lvblRvb2x0aXBDb250ZW50KHZlcnNpb24sIGFjdGl2ZVZlcnNpb25JZCkgfCBpMThuXCJcbiAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0xPQURJTkcnICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdFUlJPUicgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihjYW5Nb2RpZnkkIHwgYXN5bmMpICYmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdsaXN0LWRhdGFzZXQnLCBhY3Rpb246ICdhY3RpdmF0ZScgfVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLWxnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnRvb2x0aXAuaW52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnQHByeS5kYXRhc2V0LnRvb2x0aXAudmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLmhhc1dhcm5pbmdzIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUidcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25zdWx0RXJyb3JzKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKGNhbk1vZGlmeSQgfCBhc3luYykgJiZcbiAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFza0RlbGV0ZSh2ZXJzaW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLmRlbGV0ZScgfCBpMThuIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwic2hvd01vZGFsU3RhdHVzXCI+XG4gIDxwcnktbW9kYWwtc3RhdHVzIFt2ZXJzaW9uXT1cInNlbGVjdGVkRGF0YXNldFZlcnNpb25cIiAoZ290b0NvbnN1bHQpPVwiZ29Ub0NvbnN1bHQoJGV2ZW50KVwiPjwvcHJ5LW1vZGFsLXN0YXR1cz5cbjwvbmctY29udGFpbmVyPlxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFtQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFvQ3JFLFlBQ1UsS0FBWSxFQUM0QixNQUFxQixFQUM3RCxNQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDNEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUM3RCxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQXJDeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsTUFBTSxFQUFF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UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXZMVSx5QkFBeUIsdUNBc0NkLGdCQUFnQjtrR0F0QzNCLHlCQUF5QiwwSkMzQnRDLGd1VEFpUUE7OzJGRHRPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkF5QzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3dFQXJDN0IsT0FBTztzQkFBZixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgUmVzdWx0U2V0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXNldC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhc2V0ITogRGF0YXNldDtcbiAgQE91dHB1dCgpIGdvVG9DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB3aWRnZXRNYW5pZmVzdCA9IHtcbiAgICB0YWJsZToge1xuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH0sXG4gICAgbWFwOiB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxMiwgd2lkdGg6IDEyIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH07XG4gIHByb3RlY3RlZCByZWFkb25seSBWaWV3TW9kZSA9IFZpZXdNb2RlO1xuICBjb21wSWQ6IG51bWJlciA9IDA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgZGF0YXNldEl0ZW1zJDogT2JzZXJ2YWJsZTxSZXN1bHRTZXRzIHwgbnVsbD47XG4gIHB1YmxpYyBkYXRhc2V0VmVyc2lvbnMkITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICBjYW5Nb2RpZnkkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBpc1BhbmVsT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByb3RlY3RlZCBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXNoYm9hcmRFZGl0aW9uTW9kZSkuc3Vic2NyaWJlKChlZGl0aW9uTW9kZSkgPT4ge1xuICAgICAgICBpZiAoZWRpdGlvbk1vZGUpIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSh7fSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYW5Nb2RpZnkkID0gdGhpcy5hY2Nlc3M/LmNhbk1vZGlmeURhdGFzZXQodGhpcy5kYXRhc2V0KSA/PyBvZihmYWxzZSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9uc0J5RGF0YXNldElkKHsgaWQ6IHRoaXMuZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlbW92ZUZpbHRlcnMoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50Lm5nT25Jbml0KCknXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJC5zdWJzY3JpYmUoKHZlcnNpb25zKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zZWxlY3RlZFZlcnNpb24sXG4gICAgICAgICAgICAuLi52ZXJzaW9ucy5maW5kKCh2ZXJzaW9uKSA9PiB2ZXJzaW9uLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbj8uaWQpXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsndGFibGUnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gICAgdGhpcy53aWRnZXRNYW5pZmVzdFsnbWFwJ10uZGF0YXNvdXJjZSA9IFt0aGlzLmRhdGFzZXQuaWRdO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NhdGFsb2cuZW1pdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnMoe30pKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50LnJlZnJlc2goKSdcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKHt9KSk7XG4gIH1cblxuICBzd2l0Y2gobnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhYiA9IG51bWJlcjtcbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbkFjdGlvbigkZXZlbnQ6IEV2ZW50LCB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YXNldFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHN3aXRjaCAodmVyc2lvbi5zdGF0ZSkge1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdJTkFDVElWRSc6XG4gICAgICAgIHRoaXMuYWN0aXZhdGVWZXJzaW9uKHZlcnNpb24pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN1bHRFcnJvcnMoJGV2ZW50OiBFdmVudCwgdmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kaWFsb2cub3BlbihQcnlTdGF0dXNNb2RhbENvbXBvbmVudCwgeyBkYXRhOiB7IHZlcnNpb246IHZlcnNpb24gfSB9KTtcbiAgfVxuXG4gIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbiwgYWN0aXZlVmVyc2lvbklkPzogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgY2FzZSAnQUNUSVZFJzpcbiAgICAgICAgcmV0dXJuIHZlcnNpb24uaWQgPT09IGFjdGl2ZVZlcnNpb25JZCA/ICdhY3RpdmUnIDogJ2luYWN0aXZlJztcbiAgICAgIGNhc2UgJ0xPQURJTkcnOlxuICAgICAgY2FzZSAnSU5ERVhJTkcnOlxuICAgICAgICByZXR1cm4gJ2xvYWRpbmcnO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd1bmtub3duJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZGVhY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5hY3RpdmF0ZURhdGFzZXRWZXJzaW9uKHtcbiAgICAgICAgZGF0YXNldElkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIHZlcnNpb25JZDogdmVyc2lvbi5pZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25UYWJTd2l0Y2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICBpZiAoWzAsIDEsIDJdLmluY2x1ZGVzKCRldmVudCkpIHtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQYW5lbChzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbikge1xuICAgIGlmIChzZWxlY3RlZFZlcnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gc2VsZWN0ZWRWZXJzaW9uO1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9ICF0aGlzLmlzUGFuZWxPcGVuO1xuICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZWRpdFZlcnNpb24oKSB7XG4gICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gdHJ1ZTtcbiAgfVxuXG4gIGZvcm1WYWxpZGF0ZWQoJGV2ZW50OiBQYXJ0aWFsPERhdGFzZXRWZXJzaW9uPikge1xuICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICB9XG5cbiAgYXNrRGVsZXRlKHZlcnNpb246IERhdGFzZXRWZXJzaW9uLCAkZXZlbnQ/OiBFdmVudCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5jb25maXJtRGVsZXRlVmVyc2lvbih7IHZlcnNpb24gfSkpO1xuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj57eyAnQHByeS5kYXRhc2V0LnJldHVyblRvTGlzdCcgfCBpMThuIH19PC9idXR0b24+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInJlZnJlc2goKVwiPlxuICAgIHt7ICdAcHJ5LmRhdGFzZXQucmVmcmVzaCcgfCBpMThuIH19XG4gICAgPHByeS1pY29uIGljb25Tdmc9XCJzeW5jaHJvXCI+PC9wcnktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1sYXlvdXRcIj5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1sYXlvdXRfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYS1wXCI+XG4gICAgICA8aDIgY2xhc3M9XCJhLWgxXCI+e3sgZGF0YXNldC5uYW1lIH19PC9oMj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWRldGFpbF9fY29udGVudFwiPlxuICAgICAgICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmRhdGFzZXQuXCIgKGNsaWNrZWRUYWJJZHgpPVwib25UYWJTd2l0Y2goJGV2ZW50KVwiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJpbmZvcm1hdGlvblwiIG5hbWU9XCJpbmZvcm1hdGlvblwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwidGFibGVcIiBuYW1lPVwiZGF0YVwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwibWFwXCIgbmFtZT1cIm1hcFwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldFZlcnNpb25zXCIgbmFtZT1cInZlcnNpb25IaXN0b3J5XCI+PC9wcnktdGFiPlxuICAgICAgICA8L3ByeS10YWItZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAoaXNQYW5lbE9wZW4pIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fcGFuZWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9faGVhZGVyIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgPGgzPnt7ICdAcHJ5LmRhdGFzZXQuaW5mb3JtYXRpb24nIHwgaTE4biB9fTwvaDM+XG4gICAgICAgIDxidXR0b24gcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFuZWxfX2NvbnRlbnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICBAaWYgKCFpc0VkaXRpbmdWZXJzaW9uKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICAgKHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/P1xuICAgICAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgIHNlbGVjdGVkVmVyc2lvbj8uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2FkbWluJywgcGFnZTogJ2xpc3QtZGF0YXNldCcsIGFjdGlvbjogJ2VkaXRfdmVyc2lvbicgfVwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdFZlcnNpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLmVkaXQnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8cHJ5LWRhdGFzZXQtdmVyc2lvbi1mb3JtXG4gICAgICAgICAgICBbdmVyc2lvbl09XCJzZWxlY3RlZFZlcnNpb25cIlxuICAgICAgICAgICAgKGZvcm1WYWxpZGF0ZWQpPVwiZm9ybVZhbGlkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9wcnktZGF0YXNldC12ZXJzaW9uLWZvcm0+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbmZvcm1hdGlvbj5cbiAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW4gby1kYXRhc2V0LWRldGFpbF9faW5mb3JtYXRpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgZGF0YXNldC5kZXNjcmlwdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoZGF0YXNldC5hY3RpdmVWZXJzaW9uKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAoZGF0YXNldC5hY3RpdmVWZXJzaW9uLnByb2R1Y3Rpb25EYXRlIHwgZGF0ZTogJ2RkLU1NLXl5eXksIEhIOm1tJykgPz9cbiAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0LmFjdGl2ZVZlcnNpb24ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2ZXJzaW9uLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgZGF0YXNldC5hY3RpdmVWZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIHwgbWRUb0h0bWxcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgPHA+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC50YWdzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXdyYXBcIj5cbiAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgZGF0YXNldC5jYXRlZ29yaWVzOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwIC1tZFwiPiB7eyBjYXRlZ29yeS5uYW1lIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiBjbGFzcz1cImRhdGFzZXQtZGV0YWlsX190YWJsZSB0YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJhLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24udGl0bGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmVyc2lvbiBvZiBkYXRhc2V0VmVyc2lvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCh2ZXJzaW9uKVwiXG4gICAgICAgICAgW2NsYXNzLi1zZWxlY3RlZF09XCJ2ZXJzaW9uLmlkID09PSBzZWxlY3RlZFZlcnNpb24/LmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7IHZlcnNpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiZGF0YXNldC5hY3RpdmVWZXJzaW9uPy5pZCA9PT0gdmVyc2lvbi5pZFwiIGljb25Tdmc9XCJjaGVja1wiIGNsYXNzPVwiY2hlY2tcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImEtdG9vbHRpcFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJ2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IHNpbmNlRGF0ZTogeyBvbmx5TG9jYWxlOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICB2ZXJzaW9uLmlkID09PSBkYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkXG4gICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnZlcnNpb24uc3RhdGUuY3VycmVudGx5QWN0aXZlJ1xuICAgICAgICAgICAgICAgIDogKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInZlcnNpb24uc3RhdGUgIT09ICdERUxFVElORydcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1tZFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAnQHByeS5kYXRhc2V0LnRvb2x0aXAuJyArIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uLCBkYXRhc2V0LmFjdGl2ZVZlcnNpb24/LmlkKSB8IGkxOG5cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0xPQURJTkcnICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdFUlJPUicgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihjYW5Nb2RpZnkkIHwgYXN5bmMpICYmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdsaXN0LWRhdGFzZXQnLCBhY3Rpb246ICdhY3RpdmF0ZScgfVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLWxnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnRvb2x0aXAuaW52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnQHByeS5kYXRhc2V0LnRvb2x0aXAudmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLmhhc1dhcm5pbmdzIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUidcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25zdWx0RXJyb3JzKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKGNhbk1vZGlmeSQgfCBhc3luYykgJiZcbiAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFza0RlbGV0ZSh2ZXJzaW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLmRlbGV0ZScgfCBpMThuIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,7 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { PryCoreModule, PryDashboardModule, PryI18nModule, PryIconModule, PryModalStatusModule, PryOverlayModule, PrySelectModule, PrySinceDateModule } from '@provoly/dashboard';
4
+ import { PryCoreModule, PryDashboardModule, PryI18nModule, PryIconModule, PryOverlayModule, PrySelectModule, PrySinceDateModule } from '@provoly/dashboard';
5
5
  import { PryDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';
6
6
  import { PryDatasetComponent } from './components/dataset.component';
7
7
  import { enTranslations } from './i18n/en.translations';
@@ -28,7 +28,6 @@ export class PryDatasetModule {
28
28
  PryI18nModule,
29
29
  FormsModule,
30
30
  PryDashboardModule,
31
- PryModalStatusModule,
32
31
  ReactiveFormsModule,
33
32
  PryTextEditorModule,
34
33
  PrySelectModule,
@@ -40,7 +39,6 @@ export class PryDatasetModule {
40
39
  PryI18nModule,
41
40
  FormsModule,
42
41
  PryDashboardModule,
43
- PryModalStatusModule,
44
42
  ReactiveFormsModule,
45
43
  PryTextEditorModule,
46
44
  PrySelectModule,
@@ -63,7 +61,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
63
61
  PryI18nModule,
64
62
  FormsModule,
65
63
  PryDashboardModule,
66
- PryModalStatusModule,
67
64
  ReactiveFormsModule,
68
65
  PryTextEditorModule,
69
66
  PrySelectModule,
@@ -72,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
72
69
  exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetDetailComponent]
73
70
  }]
74
71
  }], ctorParameters: () => [{ type: i1.PryI18nService }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9kYXRhc2V0L2RhdGFzZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUFFLGtCQUFrQixFQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQXlCaEYsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUFvQixtQkFBbUM7UUFBbkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQjtRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBSlUsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBckJ6QixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qiw4QkFBOEIsYUFHOUIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixrQkFBa0IsYUFFVixtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSx5QkFBeUI7K0dBRXJFLGdCQUFnQixZQWZ6QixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGtCQUFrQjs7MkZBSVQsZ0JBQWdCO2tCQXZCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIFByeUNvcmVNb2R1bGUsXG4gIFByeURhc2hib2FyZE1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeU1vZGFsU3RhdHVzTW9kdWxlLFxuICBQcnlPdmVybGF5TW9kdWxlLFxuICBQcnlTZWxlY3RNb2R1bGUsIFByeVNpbmNlRGF0ZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IFByeURhdGFzZXRDc3NDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlL2Nzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldFZlcnNpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGFzZXQtdmVyc2lvbi1mb3JtL2RhdGFzZXQtdmVyc2lvbi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlUZXh0RWRpdG9yTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvdGV4dC1lZGl0b3InO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcnlEYXRhc2V0Q29tcG9uZW50LFxuICAgIFByeURhdGFzZXRDc3NDb21wb25lbnQsXG4gICAgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCxcbiAgICBQcnlEYXRhc2V0VmVyc2lvbkZvcm1Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBQcnlNb2RhbFN0YXR1c01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFByeVRleHRFZGl0b3JNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeVNpbmNlRGF0ZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbUHJ5RGF0YXNldENvbXBvbmVudCwgUHJ5RGF0YXNldENzc0NvbXBvbmVudCwgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnZGF0YXNldCcsIGZyVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnZGF0YXNldCcsIGVuVHJhbnNsYXRpb25zKTtcbiAgfVxufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9kYXRhc2V0L2RhdGFzZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQUUsa0JBQWtCLEVBQ3BDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBd0JoRixNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLG1CQUFtQztRQUFuQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWdCO1FBQ3JELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs4R0FKVSxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFwQnpCLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLDhCQUE4QixhQUc5QixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2Ysa0JBQWtCLGFBRVYsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUseUJBQXlCOytHQUVyRSxnQkFBZ0IsWUFkekIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGtCQUFrQjs7MkZBSVQsZ0JBQWdCO2tCQXRCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLHlCQUF5QixDQUFDO2lCQUNsRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBQcnlDb3JlTW9kdWxlLFxuICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gIFByeUkxOG5Nb2R1bGUsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBQcnlJY29uTW9kdWxlLFxuICBQcnlPdmVybGF5TW9kdWxlLFxuICBQcnlTZWxlY3RNb2R1bGUsIFByeVNpbmNlRGF0ZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlblRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9lbi50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgZnJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2kxOG4vZnIudHJhbnNsYXRpb25zJztcbmltcG9ydCB7IFByeURhdGFzZXRDc3NDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlL2Nzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RGF0YXNldFZlcnNpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGFzZXQtdmVyc2lvbi1mb3JtL2RhdGFzZXQtdmVyc2lvbi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlUZXh0RWRpdG9yTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvdGV4dC1lZGl0b3InO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcnlEYXRhc2V0Q29tcG9uZW50LFxuICAgIFByeURhdGFzZXRDc3NDb21wb25lbnQsXG4gICAgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCxcbiAgICBQcnlEYXRhc2V0VmVyc2lvbkZvcm1Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFByeURhc2hib2FyZE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFByeVRleHRFZGl0b3JNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeVNpbmNlRGF0ZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbUHJ5RGF0YXNldENvbXBvbmVudCwgUHJ5RGF0YXNldENzc0NvbXBvbmVudCwgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnZGF0YXNldCcsIGZyVHJhbnNsYXRpb25zKTtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZW4nLCAnZGF0YXNldCcsIGVuVHJhbnNsYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -27,18 +27,6 @@ export const enTranslations = {
27
27
  since_day: 'Last update :',
28
28
  noActiveVersion: 'No active version',
29
29
  version: {
30
- title: 'Title',
31
- productionDate: 'Production date',
32
- producer: 'Data producer',
33
- additionalInformation: 'Version information',
34
- notProvided: 'Not provided',
35
- INDEXING: 'Loading',
36
- LOADING: 'Loading',
37
- INACTIVE: 'Invalid',
38
- ERROR: 'Error',
39
- ACTIVE: 'Available',
40
- DELETING: 'Deleting',
41
- currentlyActive: 'Active',
42
30
  delete: {
43
31
  title: 'Delete version',
44
32
  message: 'Deleting this version will remove associated data. Are you sure you want to delete it?'
@@ -93,4 +81,4 @@ export const enTranslations = {
93
81
  }
94
82
  }
95
83
  };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGlCQUFpQixFQUFFLG1CQUFtQjtZQUN0QyxNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLGlCQUFpQixFQUFFLGtCQUFrQjtZQUNyQyxJQUFJLEVBQUUsTUFBTTtZQUNaLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixjQUFjLEVBQUUsaUJBQWlCO1lBQ2pDLFdBQVcsRUFBRSxhQUFhO1lBQzFCLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsS0FBSztZQUNWLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtZQUMvQixPQUFPLEVBQUUsU0FBUztZQUNsQixTQUFTLEVBQUUsZUFBZTtZQUMxQixlQUFlLEVBQUUsbUJBQW1CO1lBQ3BDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsT0FBTztnQkFDZCxjQUFjLEVBQUUsaUJBQWlCO2dCQUNqQyxRQUFRLEVBQUUsZUFBZTtnQkFDekIscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxXQUFXLEVBQUUsY0FBYztnQkFDM0IsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixlQUFlLEVBQUUsUUFBUTtnQkFDekIsTUFBTSxFQUFFO29CQUNOLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLE9BQU8sRUFBRSx3RkFBd0Y7aUJBQ2xHO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLGtCQUFrQjtnQkFDOUIsSUFBSSxFQUFFLGtDQUFrQzthQUN6QztZQUNELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsUUFBUTthQUNqQjtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsZ0JBQWdCO29CQUN2QixPQUFPLEVBQUUsa0JBQWtCO2lCQUM1QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLE9BQU87b0JBQ2QsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsMkNBQTJDO29CQUN6RCxNQUFNLEVBQUUscUNBQXFDO29CQUM3QyxPQUFPLEVBQUUsMENBQTBDO29CQUNuRCxTQUFTLEVBQUUsZ0NBQWdDO29CQUMzQyxpQkFBaUIsRUFBRSx5QkFBeUI7b0JBQzVDLGFBQWEsRUFBRSx3RkFBd0Y7aUJBQ3hHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLHlGQUF5RjtnQkFDaEcsTUFBTSxFQUFFLHNHQUFzRztnQkFDOUcsUUFBUSxFQUNOLDJJQUEySTtnQkFDN0ksT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLDRIQUE0SDtnQkFDOUgsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLGdCQUFnQixFQUNkLGdUQUFnVDtnQkFDbFQsY0FBYyxFQUNaLDJQQUEyUDthQUM5UDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnVmlldycsXG4gICAgICB0aXRsZTogJ0RhdGFzZXQgY2F0YWxvZycsXG4gICAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdFbnRlciB5b3VyIHNlYXJjaCcsXG4gICAgICBmaWx0ZXI6ICdGaWx0ZXIgYnkgY2F0ZWdvcnknLFxuICAgICAgZmlsdGVyUGxhY2Vob2xkZXI6ICdFbnRlciBjYXRlZ29yaWVzJyxcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgbm9EZXNjcmlwdGlvbjogJ05vIGRlc2NyaXB0aW9uJyxcbiAgICAgIHRhZ3M6ICdUYWdzJyxcbiAgICAgIG5vVGFnczogJ05vIGFzc29jaWF0ZWQgdGFncycsXG4gICAgICBjbGFzczogJ0NsYXNzJyxcbiAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgIHN0YXR1czogJ1N0YXR1cycsXG4gICAgICB2ZXJzaW9uSGlzdG9yeTogJ1ZlcnNpb24gaGlzdG9yeScsXG4gICAgICBpbmZvcm1hdGlvbjogJ0luZm9ybWF0aW9uJyxcbiAgICAgIGRhdGE6ICdEYXRhJyxcbiAgICAgIHRhYmxlOiAnVGFibGUnLFxuICAgICAgbWFwOiAnTWFwJyxcbiAgICAgIGV4cG9ydDogJ0V4cG9ydCcsXG4gICAgICBhcGk6ICdBUEknLFxuICAgICAgcmV0dXJuVG9MaXN0OiAnQmFjayB0byBjYXRhbG9nJyxcbiAgICAgIHJlZnJlc2g6ICdSZWZyZXNoJyxcbiAgICAgIHNpbmNlX2RheTogJ0xhc3QgdXBkYXRlIDonLFxuICAgICAgbm9BY3RpdmVWZXJzaW9uOiAnTm8gYWN0aXZlIHZlcnNpb24nLFxuICAgICAgdmVyc2lvbjoge1xuICAgICAgICB0aXRsZTogJ1RpdGxlJyxcbiAgICAgICAgcHJvZHVjdGlvbkRhdGU6ICdQcm9kdWN0aW9uIGRhdGUnLFxuICAgICAgICBwcm9kdWNlcjogJ0RhdGEgcHJvZHVjZXInLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246ICdWZXJzaW9uIGluZm9ybWF0aW9uJyxcbiAgICAgICAgbm90UHJvdmlkZWQ6ICdOb3QgcHJvdmlkZWQnLFxuICAgICAgICBJTkRFWElORzogJ0xvYWRpbmcnLFxuICAgICAgICBMT0FESU5HOiAnTG9hZGluZycsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZCcsXG4gICAgICAgIEVSUk9SOiAnRXJyb3InLFxuICAgICAgICBBQ1RJVkU6ICdBdmFpbGFibGUnLFxuICAgICAgICBERUxFVElORzogJ0RlbGV0aW5nJyxcbiAgICAgICAgY3VycmVudGx5QWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgZGVsZXRlOiB7XG4gICAgICAgICAgdGl0bGU6ICdEZWxldGUgdmVyc2lvbicsXG4gICAgICAgICAgbWVzc2FnZTogJ0RlbGV0aW5nIHRoaXMgdmVyc2lvbiB3aWxsIHJlbW92ZSBhc3NvY2lhdGVkIGRhdGEuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaXQ/J1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZm9ybToge1xuICAgICAgICBvYmxpZ2F0b3J5OiAnT2JsaWdhdG9yeSBmaWVsZCcsXG4gICAgICAgIGRhdGU6ICdUaGUgZGF0ZSBjYW5ub3QgYmUgaW4gdGhlIGZ1dHVyZSdcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGF0ZScsXG4gICAgICAgIElOQUNUSVZFOiAnVmFsaWRhdGUnLFxuICAgICAgICBFUlJPUjogJ0NvbnN1bHQgZXJyb3JzJyxcbiAgICAgICAgV0FSTklORzogJ0NvbnN1bHQgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnLFxuICAgICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgICBjYW5jZWw6ICdDYW5jZWwnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBlbGVtZW50czogJ0VsZW1lbnRzJyxcbiAgICAgICAgbWVzc2FnZTogJ01lc3NhZ2UnLFxuICAgICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICAgIG1vZGFsVGl0bGU6IHtcbiAgICAgICAgICBFUlJPUjogJ0xpc3Qgb2YgZXJyb3JzJyxcbiAgICAgICAgICBXQVJOSU5HOiAnTGlzdCBvZiB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0Vycm9yJyxcbiAgICAgICAgICBXQVJOSU5HOiAnV2FybmluZydcbiAgICAgICAgfSxcbiAgICAgICAgY29kZToge1xuICAgICAgICAgIFVOUkVDT0dOSVpFRDogJ1VucmVjb2duaXplZCBhdHRyaWJ1dGV7e3BsdXJhbH19IHt7bmFtZX19JyxcbiAgICAgICAgICBGT1JNQVQ6ICdXcm9uZyBmb3JtYXQgZm9yIGF0dHJpYnV0ZSB7e25hbWV9fScsXG4gICAgICAgICAgU1RPUkFHRTogJ0luc2VydGlvbiBlcnJvciBmb3IgZWxlbWVudCB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ05vIHZhbHVlIGZvciB7e3JlY29yZElkfX0gbGluZScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6ICdVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdCcsXG4gICAgICAgICAgTk9fQVRUUklCVVRFUzogJ1RoZSBpbXBvcnRlZCBkYXRhIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gdGhlIGRhdGEgbW9kZWwgaW5kaWNhdGVkIGluIHRoZSBpbXBvcnQgdGFyZ2V0J1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjogJ0Vycm9ycyBvY2N1cnJlZCB3aGVuIGludGVncmF0aW5nIHRoZSBkYXRhIGludG8gdGhlIHNvbHV0aW9uLiBUaGUgZGF0YSBpcyBub3QgYWNjZXNzaWJsZScsXG4gICAgICAgIGFjdGl2ZTogJ1RoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IGluIHRoZSBhcHBsaWNhdGlvbiBjb3JyZXNwb25kcyB0byB0aGUgZGF0YSBpbnRlZ3JhdGVkIGluIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnVGhlIGRhdGEgZm9yIHRoaXMgdmVyc2lvbiBpcyBhdmFpbGFibGUgYnV0IG5vdCB1cGxvYWRlZCBieSBkZWZhdWx0LiBJdCBpcyBwb3NzaWJsZSB0byBkaXNwbGF5IHRoZW0gYnkgZXhwbGljaXRseSByZXF1ZXN0aW5nIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBsb2FkaW5nOiAnVGhlIGRhdGEgaXMgY3VycmVudGx5IGJlaW5nIGludGVncmF0ZWQgaW50byB0aGUgc29sdXRpb24nLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgICdUaGUgZGF0YSBpbiB0aGlzIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgc29sdXRpb24gYnV0IGlzIG5vdCByZWxldmFudC4gSXQgaXMgbm90IGF2YWlsYWJsZSBhcmUgbm90IGF2YWlsYWJsZSBmb3IgZGlzcGxheScsXG4gICAgICAgIHVua25vd246ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgaW52YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICAnQWxsb3dzIHlvdSB0byBtYWtlIHRoZSB2ZXJzaW9uXFwncyBkYXRhIHVuYXZhaWxhYmxlIGlmIGl0IGlzIGNvbnNpZGVyZWQgaXJyZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2Ygdmlldy4gSWYgdGhlIGludmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIGFjdGl2ZSB2ZXJzaW9uLCB0aGVuIHRoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IHdpbGwgYmUgdGhhdCBvZiB0aGUgbW9zdCByZWNlbnQgcHJldmlvdXMgXCJBdmFpbGFibGVcIiB2ZXJzaW9uLCB3aGljaCB3aWxsIHRodXMgY2hhbmdlIHRvIFwiQWN0aXZlXCIgc3RhdHVzLicsXG4gICAgICAgIHZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgIFwiQWxsb3dzIHRoZSB2ZXJzaW9uJ3MgZGF0YSB0byBiZSBtYWRlIGF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIHJlbGV2YW50IGZyb20gYSBidXNpbmVzcyBwb2ludCBvZiB2aWV3IGFmdGVyIGhhdmluZyBiZWVuIGludmFsaWRhdGVkLiBJZiB0aGUgdmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIG1vc3QgcmVjZW50LCBpdCB3aWxsIGJlY29tZSB0aGUgYWN0aXZlIHZlcnNpb24gYW5kIGl0cyBkYXRhIHdpbGwgYmUgdGhlIGRlZmF1bHQuXCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGlCQUFpQixFQUFFLG1CQUFtQjtZQUN0QyxNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLGlCQUFpQixFQUFFLGtCQUFrQjtZQUNyQyxJQUFJLEVBQUUsTUFBTTtZQUNaLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixjQUFjLEVBQUUsaUJBQWlCO1lBQ2pDLFdBQVcsRUFBRSxhQUFhO1lBQzFCLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsS0FBSztZQUNWLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtZQUMvQixPQUFPLEVBQUUsU0FBUztZQUNsQixTQUFTLEVBQUUsZUFBZTtZQUMxQixlQUFlLEVBQUUsbUJBQW1CO1lBQ3BDLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLGdCQUFnQjtvQkFDdkIsT0FBTyxFQUFFLHdGQUF3RjtpQkFDbEc7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsa0JBQWtCO2dCQUM5QixJQUFJLEVBQUUsa0NBQWtDO2FBQ3pDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7aUJBQzVCO2dCQUNELEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsT0FBTztvQkFDZCxPQUFPLEVBQUUsU0FBUztpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLFlBQVksRUFBRSwyQ0FBMkM7b0JBQ3pELE1BQU0sRUFBRSxxQ0FBcUM7b0JBQzdDLE9BQU8sRUFBRSwwQ0FBMEM7b0JBQ25ELFNBQVMsRUFBRSxnQ0FBZ0M7b0JBQzNDLGlCQUFpQixFQUFFLHlCQUF5QjtvQkFDNUMsYUFBYSxFQUFFLHdGQUF3RjtpQkFDeEc7YUFDRjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUseUZBQXlGO2dCQUNoRyxNQUFNLEVBQUUsc0dBQXNHO2dCQUM5RyxRQUFRLEVBQ04sMklBQTJJO2dCQUM3SSxPQUFPLEVBQUUsMERBQTBEO2dCQUNuRSxPQUFPLEVBQ0wsNEhBQTRIO2dCQUM5SCxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsZ0JBQWdCLEVBQ2QsZ1RBQWdUO2dCQUNsVCxjQUFjLEVBQ1osMlBBQTJQO2FBQzlQO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdWaWV3JyxcbiAgICAgIHRpdGxlOiAnRGF0YXNldCBjYXRhbG9nJyxcbiAgICAgIHNlYXJjaDogJ1NlYXJjaCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0VudGVyIHlvdXIgc2VhcmNoJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlciBieSBjYXRlZ29yeScsXG4gICAgICBmaWx0ZXJQbGFjZWhvbGRlcjogJ0VudGVyIGNhdGVnb3JpZXMnLFxuICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBub0Rlc2NyaXB0aW9uOiAnTm8gZGVzY3JpcHRpb24nLFxuICAgICAgdGFnczogJ1RhZ3MnLFxuICAgICAgbm9UYWdzOiAnTm8gYXNzb2NpYXRlZCB0YWdzJyxcbiAgICAgIGNsYXNzOiAnQ2xhc3MnLFxuICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgICAgIHZlcnNpb25IaXN0b3J5OiAnVmVyc2lvbiBoaXN0b3J5JyxcbiAgICAgIGluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb24nLFxuICAgICAgZGF0YTogJ0RhdGEnLFxuICAgICAgdGFibGU6ICdUYWJsZScsXG4gICAgICBtYXA6ICdNYXAnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdCYWNrIHRvIGNhdGFsb2cnLFxuICAgICAgcmVmcmVzaDogJ1JlZnJlc2gnLFxuICAgICAgc2luY2VfZGF5OiAnTGFzdCB1cGRhdGUgOicsXG4gICAgICBub0FjdGl2ZVZlcnNpb246ICdObyBhY3RpdmUgdmVyc2lvbicsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIGRlbGV0ZToge1xuICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIHZlcnNpb24nLFxuICAgICAgICAgIG1lc3NhZ2U6ICdEZWxldGluZyB0aGlzIHZlcnNpb24gd2lsbCByZW1vdmUgYXNzb2NpYXRlZCBkYXRhLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGl0PydcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZvcm06IHtcbiAgICAgICAgb2JsaWdhdG9yeTogJ09ibGlnYXRvcnkgZmllbGQnLFxuICAgICAgICBkYXRlOiAnVGhlIGRhdGUgY2Fubm90IGJlIGluIHRoZSBmdXR1cmUnXG4gICAgICB9LFxuICAgICAgYnV0dG9uQWN0aW9uOiB7XG4gICAgICAgIEFDVElWRTogJ0ludmFsaWRhdGUnLFxuICAgICAgICBJTkFDVElWRTogJ1ZhbGlkYXRlJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0IGVycm9ycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0IHdhcm5pbmdzJyxcbiAgICAgICAgTE9BRElORzogJycsXG4gICAgICAgIElOREVYSU5HOiAnJyxcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgY2FuY2VsOiAnQ2FuY2VsJ1xuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0IG9mIGVycm9ycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3Qgb2Ygd2FybmluZ3MnXG4gICAgICAgIH0sXG4gICAgICAgIGxldmVsOiB7XG4gICAgICAgICAgRVJST1I6ICdFcnJvcicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdVbnJlY29nbml6ZWQgYXR0cmlidXRle3twbHVyYWx9fSB7e25hbWV9fScsXG4gICAgICAgICAgRk9STUFUOiAnV3JvbmcgZm9ybWF0IGZvciBhdHRyaWJ1dGUge3tuYW1lfX0nLFxuICAgICAgICAgIFNUT1JBR0U6ICdJbnNlcnRpb24gZXJyb3IgZm9yIGVsZW1lbnQge3tyZWNvcmRJZH19JyxcbiAgICAgICAgICBOT19WQUxVRVM6ICdObyB2YWx1ZSBmb3Ige3tyZWNvcmRJZH19IGxpbmUnLFxuICAgICAgICAgIEZPUk1BVF9GSUxFX0VSUk9SOiAnVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXQnLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6ICdUaGUgaW1wb3J0ZWQgZGF0YSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIHRoZSBkYXRhIG1vZGVsIGluZGljYXRlZCBpbiB0aGUgaW1wb3J0IHRhcmdldCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgZXJyb3I6ICdFcnJvcnMgb2NjdXJyZWQgd2hlbiBpbnRlZ3JhdGluZyB0aGUgZGF0YSBpbnRvIHRoZSBzb2x1dGlvbi4gVGhlIGRhdGEgaXMgbm90IGFjY2Vzc2libGUnLFxuICAgICAgICBhY3RpdmU6ICdUaGUgZGF0YSByZXRyaWV2ZWQgYnkgZGVmYXVsdCBpbiB0aGUgYXBwbGljYXRpb24gY29ycmVzcG9uZHMgdG8gdGhlIGRhdGEgaW50ZWdyYXRlZCBpbiB0aGlzIHZlcnNpb24uJyxcbiAgICAgICAgaW5hY3RpdmU6XG4gICAgICAgICAgJ1RoZSBkYXRhIGZvciB0aGlzIHZlcnNpb24gaXMgYXZhaWxhYmxlIGJ1dCBub3QgdXBsb2FkZWQgYnkgZGVmYXVsdC4gSXQgaXMgcG9zc2libGUgdG8gZGlzcGxheSB0aGVtIGJ5IGV4cGxpY2l0bHkgcmVxdWVzdGluZyB0aGlzIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogJ1RoZSBkYXRhIGlzIGN1cnJlbnRseSBiZWluZyBpbnRlZ3JhdGVkIGludG8gdGhlIHNvbHV0aW9uJyxcbiAgICAgICAgaW52YWxpZDpcbiAgICAgICAgICAnVGhlIGRhdGEgaW4gdGhpcyB2ZXJzaW9uIGlzIHByZXNlbnQgaW4gdGhlIHNvbHV0aW9uIGJ1dCBpcyBub3QgcmVsZXZhbnQuIEl0IGlzIG5vdCBhdmFpbGFibGUgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGRpc3BsYXknLFxuICAgICAgICB1bmtub3duOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIGludmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgJ0FsbG93cyB5b3UgdG8gbWFrZSB0aGUgdmVyc2lvblxcJ3MgZGF0YSB1bmF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIGlycmVsZXZhbnQgZnJvbSBhIGJ1c2luZXNzIHBvaW50IG9mIHZpZXcuIElmIHRoZSBpbnZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBhY3RpdmUgdmVyc2lvbiwgdGhlbiB0aGUgZGF0YSByZXRyaWV2ZWQgYnkgZGVmYXVsdCB3aWxsIGJlIHRoYXQgb2YgdGhlIG1vc3QgcmVjZW50IHByZXZpb3VzIFwiQXZhaWxhYmxlXCIgdmVyc2lvbiwgd2hpY2ggd2lsbCB0aHVzIGNoYW5nZSB0byBcIkFjdGl2ZVwiIHN0YXR1cy4nLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIkFsbG93cyB0aGUgdmVyc2lvbidzIGRhdGEgdG8gYmUgbWFkZSBhdmFpbGFibGUgaWYgaXQgaXMgY29uc2lkZXJlZCByZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2YgdmlldyBhZnRlciBoYXZpbmcgYmVlbiBpbnZhbGlkYXRlZC4gSWYgdGhlIHZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBtb3N0IHJlY2VudCwgaXQgd2lsbCBiZWNvbWUgdGhlIGFjdGl2ZSB2ZXJzaW9uIGFuZCBpdHMgZGF0YSB3aWxsIGJlIHRoZSBkZWZhdWx0LlwiXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
@@ -27,18 +27,6 @@ export const frTranslations = {
27
27
  since_day: 'Dernière mise à jour :',
28
28
  noActiveVersion: 'Aucune version active',
29
29
  version: {
30
- title: 'Intitulé',
31
- productionDate: 'Date de production',
32
- producer: 'Producteur de données',
33
- additionalInformation: 'Informations de la version',
34
- notProvided: 'Non renseigné',
35
- INDEXING: 'En chargement',
36
- LOADING: 'En chargement',
37
- INACTIVE: 'Invalide',
38
- ERROR: 'En erreur',
39
- ACTIVE: 'Disponible',
40
- DELETING: 'En cours de suppression',
41
- currentlyActive: 'Actif',
42
30
  delete: {
43
31
  title: 'Supprimer une version',
44
32
  message: 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'
@@ -74,7 +62,7 @@ export const frTranslations = {
74
62
  WARNING: 'Warning'
75
63
  },
76
64
  code: {
77
- UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu {{plural}}',
65
+ UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu{{plural}}',
78
66
  FORMAT: "Format d'attribut {{name}} incorrect",
79
67
  STORAGE: "Erreur d'insertion pour l'élément {{recordId}}",
80
68
  NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',
@@ -95,4 +83,4 @@ export const frTranslations = {
95
83
  }
96
84
  }
97
85
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUseUJBQXlCO1lBQ2pDLGlCQUFpQixFQUFFLHdCQUF3QjtZQUMzQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLGlCQUFpQixFQUFFLHVCQUF1QjtZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGFBQWEsRUFBRSxvQkFBb0I7WUFDbkMsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixjQUFjLEVBQUUsd0JBQXdCO1lBQ3hDLFdBQVcsRUFBRSxjQUFjO1lBQzNCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLE9BQU87WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsT0FBTyxFQUFFLFlBQVk7WUFDckIsU0FBUyxFQUFFLHdCQUF3QjtZQUNuQyxlQUFlLEVBQUUsdUJBQXVCO1lBQ3hDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsY0FBYyxFQUFFLG9CQUFvQjtnQkFDcEMsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMscUJBQXFCLEVBQUUsNEJBQTRCO2dCQUNuRCxXQUFXLEVBQUUsZUFBZTtnQkFDNUIsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxlQUFlLEVBQUUsT0FBTztnQkFDeEIsTUFBTSxFQUFFO29CQUNOLEtBQUssRUFBRSx1QkFBdUI7b0JBQzlCLE9BQU8sRUFDTCxrSEFBa0g7aUJBQ3JIO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLG1CQUFtQjtnQkFDL0IsSUFBSSxFQUFFLHNEQUFzRDthQUM3RDtZQUNELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsV0FBVztnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLE9BQU8sRUFBRSxvQkFBb0I7Z0JBQzdCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUzthQUNsQjtZQUNELEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUUsU0FBUztnQkFDbEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLG1CQUFtQjtvQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtpQkFDOUI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxRQUFRO29CQUNmLE9BQU8sRUFBRSxTQUFTO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLG9EQUFvRDtvQkFDbEUsTUFBTSxFQUFFLHNDQUFzQztvQkFDOUMsT0FBTyxFQUFFLGdEQUFnRDtvQkFDekQsU0FBUyxFQUFFLDBDQUEwQztvQkFDckQsaUJBQWlCLEVBQUUsOENBQThDO29CQUNqRSxhQUFhLEVBQUUsOEZBQThGO2lCQUM5RzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFDSCxtSEFBbUg7Z0JBQ3JILE1BQU0sRUFDSix5R0FBeUc7Z0JBQzNHLFFBQVEsRUFDTix3SkFBd0o7Z0JBQzFKLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLE9BQU8sRUFDTCx3SUFBd0k7Z0JBQzFJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLGdCQUFnQixFQUNkLDhVQUE4VTtnQkFDaFYsY0FBYyxFQUNaLHNTQUFzUzthQUN6UztTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZyVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnQ29uc3VsdGVyJyxcbiAgICAgIHRpdGxlOiAnQ2F0YWxvZ3VlIGRlIGRvbm7DqWVzJyxcbiAgICAgIHNlYXJjaDogJ1JlY2hlcmNoZXIgdW5lIGRvbm7DqWUgOicsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ1NhaXNpciB2b3RyZSByZWNoZXJjaGUnLFxuICAgICAgZmlsdGVyOiAnRmlsdHJlciBwYXIgY2F0w6lnb3JpZXMgOicsXG4gICAgICBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NhaXNpciBsZXMgY2F0w6lnb3JpZXMnLFxuICAgICAgbmFtZTogJ05vbScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIG5vRGVzY3JpcHRpb246ICdQYXMgZGUgZGVzY3JpcHRpb24nLFxuICAgICAgdGFnczogJ1RhZ3MnLFxuICAgICAgbm9UYWdzOiAnUGFzIGRlIHRhZ3MgYXNzb2Npw6lzJyxcbiAgICAgIGNsYXNzOiAnTW9kw6hsZSBkZSBkb25uw6llcycsXG4gICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICBzdGF0dXM6ICdTdGF0dXQnLFxuICAgICAgdmVyc2lvbkhpc3Rvcnk6ICdIaXN0b3JpcXVlIGRlIHZlcnNpb25zJyxcbiAgICAgIGluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb25zJyxcbiAgICAgIGRhdGE6ICdEb25uw6llcycsXG4gICAgICB0YWJsZTogJ1RhYmxlYXUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdSZXRvdXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgIHJlZnJlc2g6ICdBY3R1YWxpc2VyJyxcbiAgICAgIHNpbmNlX2RheTogJ0Rlcm5pw6hyZSBtaXNlIMOgIGpvdXIgOicsXG4gICAgICBub0FjdGl2ZVZlcnNpb246ICdBdWN1bmUgdmVyc2lvbiBhY3RpdmUnLFxuICAgICAgdmVyc2lvbjoge1xuICAgICAgICB0aXRsZTogJ0ludGl0dWzDqScsXG4gICAgICAgIHByb2R1Y3Rpb25EYXRlOiAnRGF0ZSBkZSBwcm9kdWN0aW9uJyxcbiAgICAgICAgcHJvZHVjZXI6ICdQcm9kdWN0ZXVyIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiAnSW5mb3JtYXRpb25zIGRlIGxhIHZlcnNpb24nLFxuICAgICAgICBub3RQcm92aWRlZDogJ05vbiByZW5zZWlnbsOpJyxcbiAgICAgICAgSU5ERVhJTkc6ICdFbiBjaGFyZ2VtZW50JyxcbiAgICAgICAgTE9BRElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBJTkFDVElWRTogJ0ludmFsaWRlJyxcbiAgICAgICAgRVJST1I6ICdFbiBlcnJldXInLFxuICAgICAgICBBQ1RJVkU6ICdEaXNwb25pYmxlJyxcbiAgICAgICAgREVMRVRJTkc6ICdFbiBjb3VycyBkZSBzdXBwcmVzc2lvbicsXG4gICAgICAgIGN1cnJlbnRseUFjdGl2ZTogJ0FjdGlmJyxcbiAgICAgICAgZGVsZXRlOiB7XG4gICAgICAgICAgdGl0bGU6ICdTdXBwcmltZXIgdW5lIHZlcnNpb24nLFxuICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAnTGEgc3VwcHJlc3Npb24gZGUgY2V0dGUgdmVyc2lvbiBlbnRyYcOubmVyYSBsYSBzdXBwcmVzc2lvbiBkZXMgZG9ubsOpZXMgYXNzb2Npw6llcy4gQ29uZmlybWV6LXZvdXMgbGEgc3VwcHJlc3Npb24gPydcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZvcm06IHtcbiAgICAgICAgb2JsaWdhdG9yeTogJ0NoYW1wIG9ibGlnYXRvaXJlJyxcbiAgICAgICAgZGF0ZTogJ0xhIGRhdGUgZGUgcHJvZHVjdGlvbiBuZSBwZXV0IHBhcyDDqnRyZSBkYW5zIGxlIGZ1dHVyJ1xuICAgICAgfSxcbiAgICAgIGJ1dHRvbkFjdGlvbjoge1xuICAgICAgICBBQ1RJVkU6ICdJbnZhbGlkZXInLFxuICAgICAgICBJTkFDVElWRTogJ1ZhbGlkZXInLFxuICAgICAgICBFUlJPUjogJ0NvbnN1bHRlciBlcnJldXJzJyxcbiAgICAgICAgV0FSTklORzogJ0NvbnN1bHRlciB3YXJuaW5ncycsXG4gICAgICAgIExPQURJTkc6ICcnLFxuICAgICAgICBJTkRFWElORzogJycsXG4gICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICAgIGNhbmNlbDogJ0FubnVsZXInXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0ZSBkZXMgZXJyZXVycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3RlIGRlcyB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0VycmV1cicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdBdHRyaWJ1dHt7cGx1cmFsfX0ge3tuYW1lfX0gbm9uIHJlY29ubnUge3twbHVyYWx9fScsXG4gICAgICAgICAgRk9STUFUOiBcIkZvcm1hdCBkJ2F0dHJpYnV0IHt7bmFtZX19IGluY29ycmVjdFwiLFxuICAgICAgICAgIFNUT1JBR0U6IFwiRXJyZXVyIGQnaW5zZXJ0aW9uIHBvdXIgbCfDqWzDqW1lbnQge3tyZWNvcmRJZH19XCIsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnUGFzIGRlIHZhbGV1ciBwb3VyIGxhIGxpZ25lIHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6IFwiTGUgZm9ybWF0IGR1IGZpY2hpZXIgdHJhbnNtaXMgbidlc3QgcGFzIGfDqXLDqVwiLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6IFwiTGVzIGRvbm7DqWVzIGltcG9ydMOpZXMgbmUgY29ycmVzcG9uZGVudCBwYXMgYXUgbW9kw6hsZSBkZSBkb25uw6llcyBpbmRpcXXDqSBlbiBjaWJsZSBkZSBsJ2ltcG9ydFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOlxuICAgICAgICAgIFwiRGVzIGVycmV1cnMgc29udCBhcHBhcnVlcyBsb3JzIGRlIGwnaW50w6lncmF0aW9uIGRlcyBkb25uw6llcyBkYW5zIGxhIHNvbHV0aW9uLiBMZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXNcIixcbiAgICAgICAgYWN0aXZlOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXQgZGFucyBsJ2FwcGxpY2F0aW9uIGNvcnJlc3BvbmRlbnQgw6AgY2VsbGVzIGludMOpZ3LDqWVzIGRhbnMgY2V0dGUgdmVyc2lvblwiLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBkaXNwb25pYmxlcyBtYWlzIG5vbiByZW1vbnTDqWVzIHBhciBkw6lmYXV0LiBJbCBlc3QgcG9zc2libGUgZGUgbGVzIGFmZmljaGVyIGVuIGRlbWFuZGFudCBleHBsaWNpdGVtZW50IGNldHRlIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogXCJMZXMgZG9ubsOpZXMgc29udCBlbiBjb3VycyBkJ2ludMOpZ3JhdGlvbiBkYW5zIGxhIHNvbHV0aW9uXCIsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgXCJMZXMgZG9ubsOpZXMgZGUgY2V0dGUgdmVyc2lvbiBzb250IHByw6lzZW50ZXMgZGFucyBsYSBzb2x1dGlvbiBtYWlzIHNvbnQgbm9uIHBlcnRpbmVudGVzLiBFbGxlcyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBwb3VyIGwnYWZmaWNoYWdlXCIsXG4gICAgICAgIHVua25vd246ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICBpbnZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgICdQZXJtZXQgZGUgcmVuZHJlIGluZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIG5vbiBwZXJ0aW5lbnRlIGRcXCd1biBwb2ludCBkZSB2dWUgbcOpdGllci4gU2kgbGEgdmVyc2lvbiBpbnZhbGlkw6llIGVzdCBsYSB2ZXJzaW9uIGFjdGl2ZSwgYWxvcnMgbGVzIGRvbm7DqWVzIHLDqWN1cMOpcsOpZXMgcGFyIGTDqWZhdXQgc2Vyb250IGNlbGxlIGRlIGxhIHZlcnNpb24gXCJEaXNwb25pYmxlXCIgcHLDqWPDqWRlbnRlIGxhIHBsdXMgcsOpY2VudGUgcXVpIHBhc3NlcmEgYWluc2kgYXUgc3RhdHV0IFwiQWN0aXZlXCInLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIlBlcm1ldCBkZSByZW5kcmUgZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIHBlcnRpbmVudGUgZCd1biBwb2ludCBkZSB2dWUgbcOpdGllciBhcHLDqHMgYXZvaXIgw6l0w6kgaW52YWxpZGVyLiBTaSBsYSB2ZXJzaW9uIHZhbGlkw6llIGVzdCBsYSBwbHVzIHLDqWNlbnRlLCBlbGxlIGRldmllbmRyYSBhaW5zaSBsYSB2ZXJzaW9uIGFjdGl2ZSBldCBzZXMgZG9ubsOpZXMgc2Vyb250IGNlbGxlcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0XCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUseUJBQXlCO1lBQ2pDLGlCQUFpQixFQUFFLHdCQUF3QjtZQUMzQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLGlCQUFpQixFQUFFLHVCQUF1QjtZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGFBQWEsRUFBRSxvQkFBb0I7WUFDbkMsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixjQUFjLEVBQUUsd0JBQXdCO1lBQ3hDLFdBQVcsRUFBRSxjQUFjO1lBQzNCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLE9BQU87WUFDWixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsT0FBTyxFQUFFLFlBQVk7WUFDckIsU0FBUyxFQUFFLHdCQUF3QjtZQUNuQyxlQUFlLEVBQUUsdUJBQXVCO1lBQ3hDLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLHVCQUF1QjtvQkFDOUIsT0FBTyxFQUNMLGtIQUFrSDtpQkFDckg7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsbUJBQW1CO2dCQUMvQixJQUFJLEVBQUUsc0RBQXNEO2FBQzdEO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsbURBQW1EO29CQUNqRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlciB1bmUgZG9ubsOpZSA6JyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2Fpc2lyIHZvdHJlIHJlY2hlcmNoZScsXG4gICAgICBmaWx0ZXI6ICdGaWx0cmVyIHBhciBjYXTDqWdvcmllcyA6JyxcbiAgICAgIGZpbHRlclBsYWNlaG9sZGVyOiAnU2Fpc2lyIGxlcyBjYXTDqWdvcmllcycsXG4gICAgICBuYW1lOiAnTm9tJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgbm9EZXNjcmlwdGlvbjogJ1BhcyBkZSBkZXNjcmlwdGlvbicsXG4gICAgICB0YWdzOiAnVGFncycsXG4gICAgICBub1RhZ3M6ICdQYXMgZGUgdGFncyBhc3NvY2nDqXMnLFxuICAgICAgY2xhc3M6ICdNb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgIHN0YXR1czogJ1N0YXR1dCcsXG4gICAgICB2ZXJzaW9uSGlzdG9yeTogJ0hpc3RvcmlxdWUgZGUgdmVyc2lvbnMnLFxuICAgICAgaW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMnLFxuICAgICAgZGF0YTogJ0Rvbm7DqWVzJyxcbiAgICAgIHRhYmxlOiAnVGFibGVhdScsXG4gICAgICBtYXA6ICdDYXJ0ZScsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYXBpOiAnQVBJJyxcbiAgICAgIHJldHVyblRvTGlzdDogJ1JldG91ciBhdSBjYXRhbG9ndWUnLFxuICAgICAgcmVmcmVzaDogJ0FjdHVhbGlzZXInLFxuICAgICAgc2luY2VfZGF5OiAnRGVybmnDqHJlIG1pc2Ugw6Agam91ciA6JyxcbiAgICAgIG5vQWN0aXZlVmVyc2lvbjogJ0F1Y3VuZSB2ZXJzaW9uIGFjdGl2ZScsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIGRlbGV0ZToge1xuICAgICAgICAgIHRpdGxlOiAnU3VwcHJpbWVyIHVuZSB2ZXJzaW9uJyxcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgJ0xhIHN1cHByZXNzaW9uIGRlIGNldHRlIHZlcnNpb24gZW50cmHDrm5lcmEgbGEgc3VwcHJlc3Npb24gZGVzIGRvbm7DqWVzIGFzc29jacOpZXMuIENvbmZpcm1lei12b3VzIGxhIHN1cHByZXNzaW9uID8nXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIG9ibGlnYXRvcnk6ICdDaGFtcCBvYmxpZ2F0b2lyZScsXG4gICAgICAgIGRhdGU6ICdMYSBkYXRlIGRlIHByb2R1Y3Rpb24gbmUgcGV1dCBwYXMgw6p0cmUgZGFucyBsZSBmdXR1cidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnLFxuICAgICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgICBjYW5jZWw6ICdBbm51bGVyJ1xuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIEVSUk9SOiAnRXJyZXVyJyxcbiAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGVsZW1lbnRzOiAnRWxlbWVudHMnLFxuICAgICAgICBtZXNzYWdlOiAnTWVzc2FnZScsXG4gICAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgICAgbW9kYWxUaXRsZToge1xuICAgICAgICAgIEVSUk9SOiAnTGlzdGUgZGVzIGVycmV1cnMnLFxuICAgICAgICAgIFdBUk5JTkc6ICdMaXN0ZSBkZXMgd2FybmluZ3MnXG4gICAgICAgIH0sXG4gICAgICAgIGxldmVsOiB7XG4gICAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICAgIFdBUk5JTkc6ICdXYXJuaW5nJ1xuICAgICAgICB9LFxuICAgICAgICBjb2RlOiB7XG4gICAgICAgICAgVU5SRUNPR05JWkVEOiAnQXR0cmlidXR7e3BsdXJhbH19IHt7bmFtZX19IG5vbiByZWNvbm51e3twbHVyYWx9fScsXG4gICAgICAgICAgRk9STUFUOiBcIkZvcm1hdCBkJ2F0dHJpYnV0IHt7bmFtZX19IGluY29ycmVjdFwiLFxuICAgICAgICAgIFNUT1JBR0U6IFwiRXJyZXVyIGQnaW5zZXJ0aW9uIHBvdXIgbCfDqWzDqW1lbnQge3tyZWNvcmRJZH19XCIsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnUGFzIGRlIHZhbGV1ciBwb3VyIGxhIGxpZ25lIHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6IFwiTGUgZm9ybWF0IGR1IGZpY2hpZXIgdHJhbnNtaXMgbidlc3QgcGFzIGfDqXLDqVwiLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6IFwiTGVzIGRvbm7DqWVzIGltcG9ydMOpZXMgbmUgY29ycmVzcG9uZGVudCBwYXMgYXUgbW9kw6hsZSBkZSBkb25uw6llcyBpbmRpcXXDqSBlbiBjaWJsZSBkZSBsJ2ltcG9ydFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOlxuICAgICAgICAgIFwiRGVzIGVycmV1cnMgc29udCBhcHBhcnVlcyBsb3JzIGRlIGwnaW50w6lncmF0aW9uIGRlcyBkb25uw6llcyBkYW5zIGxhIHNvbHV0aW9uLiBMZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXNcIixcbiAgICAgICAgYWN0aXZlOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXQgZGFucyBsJ2FwcGxpY2F0aW9uIGNvcnJlc3BvbmRlbnQgw6AgY2VsbGVzIGludMOpZ3LDqWVzIGRhbnMgY2V0dGUgdmVyc2lvblwiLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBkaXNwb25pYmxlcyBtYWlzIG5vbiByZW1vbnTDqWVzIHBhciBkw6lmYXV0LiBJbCBlc3QgcG9zc2libGUgZGUgbGVzIGFmZmljaGVyIGVuIGRlbWFuZGFudCBleHBsaWNpdGVtZW50IGNldHRlIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogXCJMZXMgZG9ubsOpZXMgc29udCBlbiBjb3VycyBkJ2ludMOpZ3JhdGlvbiBkYW5zIGxhIHNvbHV0aW9uXCIsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgXCJMZXMgZG9ubsOpZXMgZGUgY2V0dGUgdmVyc2lvbiBzb250IHByw6lzZW50ZXMgZGFucyBsYSBzb2x1dGlvbiBtYWlzIHNvbnQgbm9uIHBlcnRpbmVudGVzLiBFbGxlcyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBwb3VyIGwnYWZmaWNoYWdlXCIsXG4gICAgICAgIHVua25vd246ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICBpbnZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgICdQZXJtZXQgZGUgcmVuZHJlIGluZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIG5vbiBwZXJ0aW5lbnRlIGRcXCd1biBwb2ludCBkZSB2dWUgbcOpdGllci4gU2kgbGEgdmVyc2lvbiBpbnZhbGlkw6llIGVzdCBsYSB2ZXJzaW9uIGFjdGl2ZSwgYWxvcnMgbGVzIGRvbm7DqWVzIHLDqWN1cMOpcsOpZXMgcGFyIGTDqWZhdXQgc2Vyb250IGNlbGxlIGRlIGxhIHZlcnNpb24gXCJEaXNwb25pYmxlXCIgcHLDqWPDqWRlbnRlIGxhIHBsdXMgcsOpY2VudGUgcXVpIHBhc3NlcmEgYWluc2kgYXUgc3RhdHV0IFwiQWN0aXZlXCInLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIlBlcm1ldCBkZSByZW5kcmUgZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIHBlcnRpbmVudGUgZCd1biBwb2ludCBkZSB2dWUgbcOpdGllciBhcHLDqHMgYXZvaXIgw6l0w6kgaW52YWxpZGVyLiBTaSBsYSB2ZXJzaW9uIHZhbGlkw6llIGVzdCBsYSBwbHVzIHLDqWNlbnRlLCBlbGxlIGRldmllbmRyYSBhaW5zaSBsYSB2ZXJzaW9uIGFjdGl2ZSBldCBzZXMgZG9ubsOpZXMgc2Vyb250IGNlbGxlcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0XCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=