@provoly/dashboard 1.4.14 → 1.4.16

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 (203) hide show
  1. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +7 -7
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +7 -7
  4. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +10 -10
  5. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +6 -6
  6. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
  7. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +10 -10
  9. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +10 -15
  10. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +8 -8
  11. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
  12. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
  13. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +6 -6
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  16. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
  17. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +6 -6
  18. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
  20. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -6
  21. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -7
  22. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
  24. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
  25. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
  26. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
  27. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  28. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
  29. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
  30. package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
  31. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +5 -5
  32. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
  33. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
  34. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -5
  35. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -6
  36. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
  37. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
  38. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -5
  39. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
  40. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
  41. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
  42. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
  43. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
  44. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
  45. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -5
  46. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
  47. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +6 -6
  48. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +6 -6
  49. package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
  50. package/esm2022/admin/components/association/association.component.mjs +4 -5
  51. package/esm2022/components/card/card.component.mjs +5 -6
  52. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +6 -6
  53. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +7 -7
  54. package/esm2022/components/stepper/stepper.component.mjs +3 -4
  55. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
  56. package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +6 -7
  57. package/esm2022/filters/date/date-filter.component.mjs +5 -6
  58. package/esm2022/filters/list/list-filter.component.mjs +6 -7
  59. package/esm2022/filters/number/number-filter.component.mjs +5 -6
  60. package/esm2022/filters/text/text-filter.component.mjs +5 -6
  61. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  62. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +7 -7
  63. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +6 -6
  64. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +6 -6
  65. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +6 -7
  66. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  67. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -4
  68. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +6 -6
  69. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +7 -8
  70. package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
  71. package/esm2022/lib/core/components/modal/modal.component.mjs +5 -6
  72. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
  73. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  74. package/esm2022/lib/core/components/range/range.component.mjs +5 -6
  75. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  76. package/esm2022/lib/core/components/select-image/select-image.component.mjs +5 -5
  77. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +6 -6
  78. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
  79. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +5 -5
  80. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
  81. package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
  82. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +9 -9
  83. package/esm2022/lib/core/store/search/search.effects.mjs +4 -2
  84. package/esm2022/lib/core/store/search/search.service.mjs +3 -7
  85. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
  86. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +2 -2
  87. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +8 -8
  88. package/esm2022/lib/dashboard/components/dashboard.component.mjs +12 -12
  89. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
  90. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -6
  91. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
  92. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +6 -6
  93. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -10
  94. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +2 -2
  95. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +2 -2
  96. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +7 -7
  97. package/esm2022/lib/dashboard/resultset-utils.mjs +7 -8
  98. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +4 -4
  99. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +13 -24
  100. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  101. package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
  102. package/esm2022/notification/components/notification/notification.component.mjs +5 -5
  103. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +7 -7
  104. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +2 -2
  105. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
  106. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +9 -9
  107. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
  108. package/esm2022/presentation/components/presentation.component.mjs +6 -6
  109. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  110. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  111. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +9 -9
  112. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  113. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
  114. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -9
  115. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
  116. package/esm2022/search/search-home/search-home.component.mjs +3 -3
  117. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
  118. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  119. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +8 -8
  120. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +6 -6
  121. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
  122. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +7 -7
  123. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +6 -6
  124. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +7 -7
  125. package/esm2022/search/search-tools/search-tools.component.mjs +13 -13
  126. package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
  127. package/esm2022/toolbox/components/save-view/save-view.component.mjs +10 -10
  128. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +8 -8
  129. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +5 -6
  130. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
  131. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -4
  132. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  133. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -12
  134. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +13 -7
  135. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +7 -7
  136. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +7 -7
  137. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +2 -2
  138. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +10 -10
  139. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
  140. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
  141. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -5
  142. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +7 -7
  143. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -10
  144. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +9 -9
  145. package/fesm2022/provoly-dashboard-admin.mjs +171 -175
  146. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  147. package/fesm2022/provoly-dashboard-components-card.mjs +4 -5
  148. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  149. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
  150. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  151. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +6 -6
  152. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  153. package/fesm2022/provoly-dashboard-components-stepper.mjs +2 -3
  154. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  155. package/fesm2022/provoly-dashboard-dataset.mjs +14 -14
  156. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  157. package/fesm2022/provoly-dashboard-filters-date.mjs +4 -5
  158. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  159. package/fesm2022/provoly-dashboard-filters-list.mjs +4 -5
  160. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  161. package/fesm2022/provoly-dashboard-filters-number.mjs +4 -5
  162. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  163. package/fesm2022/provoly-dashboard-filters-text.mjs +4 -5
  164. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  165. package/fesm2022/provoly-dashboard-notification.mjs +4 -4
  166. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  167. package/fesm2022/provoly-dashboard-pipeline.mjs +21 -21
  168. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  169. package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
  170. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  171. package/fesm2022/provoly-dashboard-restitution.mjs +6 -6
  172. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  173. package/fesm2022/provoly-dashboard-search.mjs +35 -35
  174. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  175. package/fesm2022/provoly-dashboard-toolbox.mjs +25 -25
  176. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  177. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +2 -2
  178. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  179. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +3 -3
  180. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  181. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  182. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  183. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  184. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  185. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +11 -5
  186. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  187. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +5 -5
  188. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  189. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +8 -8
  190. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  191. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +9 -9
  192. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  193. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +6 -6
  194. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  195. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +7 -7
  196. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  197. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +11 -11
  198. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  199. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +7 -7
  200. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  201. package/fesm2022/provoly-dashboard.mjs +204 -219
  202. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  203. package/package.json +1 -1
@@ -9,8 +9,7 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngrx/store";
10
10
  import * as i2 from "@angular/router";
11
11
  import * as i3 from "@angular/forms";
12
- import * as i4 from "@angular/common";
13
- import * as i5 from "@provoly/dashboard";
12
+ import * as i4 from "@provoly/dashboard";
14
13
  export class FormMetadataComponent {
15
14
  constructor(store, router, route, formBuilder) {
16
15
  this.store = store;
@@ -111,11 +110,11 @@ export class FormMetadataComponent {
111
110
  return path.toString();
112
111
  }
113
112
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FormMetadataComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n @if (isSubmitted && metaForm.get('name')?.invalid) {\n <label\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n @if (metaForm.get('name')?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (metaForm.get('name')?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (metaForm.get('name')?.hasError('pattern')) {\n <span>{{ '@pry.admin.classes.formatName' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n @if (metaForm.value.type === 'LIST') {\n @if (metadataList.controls.length > 0) {\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n @for (control of metadataList.controls; track control; let i = $index) {\n <div class=\"o-datas-list metadata-list\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n @if (isSubmitted && control.invalid) {\n <label\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n }\n </div>\n <div class=\"m-btn-group m-btn-group--input-actions\">\n @if (i === metadataList.controls.length - 1) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n }\n @if (i !== 0 && !metadataList.controls[i].disabled) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n }\n </div>\n </div>\n </div>\n }\n </fieldset>\n </div>\n }\n }\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
115
114
  }
116
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FormMetadataComponent, decorators: [{
117
116
  type: Component,
118
- args: [{ selector: 'pry-form-metadata', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n" }]
117
+ args: [{ selector: 'pry-form-metadata', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n @if (isSubmitted && metaForm.get('name')?.invalid) {\n <label\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n @if (metaForm.get('name')?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (metaForm.get('name')?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (metaForm.get('name')?.hasError('pattern')) {\n <span>{{ '@pry.admin.classes.formatName' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"metadata-type\"\n formControlName=\"type\"\n [items]=\"metaOptions\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n @if (metaForm.value.type === 'LIST') {\n @if (metadataList.controls.length > 0) {\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n @for (control of metadataList.controls; track control; let i = $index) {\n <div class=\"o-datas-list metadata-list\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n @if (isSubmitted && control.invalid) {\n <label\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n }\n </div>\n <div class=\"m-btn-group m-btn-group--input-actions\">\n @if (i === metadataList.controls.length - 1) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n }\n @if (i !== 0 && !metadataList.controls[i].disabled) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n }\n </div>\n </div>\n </div>\n }\n </fieldset>\n </div>\n }\n }\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n" }]
119
118
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.UntypedFormBuilder }], propDecorators: { titleForm: [{
120
119
  type: Input
121
120
  }], isMetaSimpleEdit: [{
@@ -127,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
127
126
  }], submitMetadata$: [{
128
127
  type: Output
129
128
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCO1FBSC9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENB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QUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQXpIVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixvT0NkbEMsb2hMQW1JQTs7MkZEckhhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUI7NkpBZXBCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEsIE1FVEFfT1BUSU9OUyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNZXRhZGF0YVNlbGVjdG9ycyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1mb3JtLW1ldGFkYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NZXRhZGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbWV0YUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1ldGFPcHRpb25zID0gTUVUQV9PUFRJT05TO1xuICBjdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gJyc7XG5cbiAgbWV0YWRhdGFOYW1lcyQ/OiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgbmFtZUFscmVhZHlFeGlzdHMkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0aXRsZUZvcm06IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpc01ldGFTaW1wbGVFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzTWV0YVVzZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgbWV0YWRhdGE/OiBJTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHN1Ym1pdE1ldGFkYXRhJDogRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHRoaXMubWV0YUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbeyB2YWx1ZTogdXVpZCgpLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgIG5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHR5cGU6IFt0aGlzLm1ldGFPcHRpb25zWzBdLnZhclR5cGVdLFxuICAgICAgZGVzY3JpcHRpb246IFtdLFxuICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTWV0YVVzZXIpIHtcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMudXNlclByb2ZpbGUpXG4gICAgICAgIC5waXBlKG1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm5hbWUudG9Mb3dlckNhc2UoKSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJCA9IHRoaXMuc3RvcmVcbiAgICAgICAgLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5tZXRhZGF0YSlcbiAgICAgICAgLnBpcGUobWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubWFwKChtZXRhZGF0YTogSU1ldGFkYXRhKSA9PiBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubWV0YUZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlQ2hhbmdlcyBhcyBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkXG4gICAgXSkucGlwZShtYXAoKFt2YWx1ZSwgbWV0YU5hbWVzXSkgPT4gbWV0YU5hbWVzLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpICYmIHZhbHVlICE9IHRoaXMubWV0YWRhdGE/Lm5hbWUpKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm5hbWVBbHJlYWR5RXhpc3RzJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMubWV0YUZvcm0uY29udHJvbHNbJ25hbWUnXS5zZXRFcnJvcnMoeyAnc2FtZS1uYW1lJzogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgY29uc3QgdHlwZSA9IE1FVEFfT1BUSU9OUy5maW5kKChlbCkgPT4gZWwudmFyVHlwZSA9PT0gdGhpcy5tZXRhZGF0YT8udHlwZSk7XG4gICAgICB0aGlzLmN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSB0eXBlID8gdHlwZS50cmFuc2xhdGlvbiA6IE1FVEFfT1BUSU9OU1swXS50cmFuc2xhdGlvbjtcbiAgICAgIHRoaXMubWV0YUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIGlkOiB0aGlzLm1ldGFkYXRhLmlkLFxuICAgICAgICBuYW1lOiB0aGlzLm1ldGFkYXRhLm5hbWUsXG4gICAgICAgIHR5cGU6IHRoaXMubWV0YWRhdGEudHlwZSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMubWV0YWRhdGEuZGVzY3JpcHRpb25cbiAgICAgIH0pO1xuICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1sndHlwZSddLmRpc2FibGUoKTtcbiAgICAgIGlmICh0aGlzLmlzTWV0YVNpbXBsZUVkaXQpIHtcbiAgICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1snbmFtZSddLmRpc2FibGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiBpdGVtLCBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IG1ldGFkYXRhTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhRm9ybS5jb250cm9sc1snYWxsb3dlZFZhbHVlcyddIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBhZGRNZXRhZGF0YSgpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5tZXRhRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0YUZvcm0uZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLmFsbG93ZWRWYWx1ZXMuZmlsdGVyKCh4OiBzdHJpbmcpID0+IHggIT09IG51bGwpXG4gICAgICB9O1xuICAgICAgdGhpcy5zdWJtaXRNZXRhZGF0YSQuZW1pdChwYXlsb2FkKTtcbiAgICAgIHRoaXMuZ29CYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbUxpc3QodHlwZT86IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnTElTVCcgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTGlzdC5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtTGlzdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aXRsZUZvcm0gfX08L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJtZXRhRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRNZXRhZGF0YSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIm5hbWUtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1uYW1lXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtbmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCIhbWV0YWRhdGFcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgICBmb3I9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3NhbWUtbmFtZScpXCI+e3sgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YUZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuZm9ybWF0TmFtZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLW1kXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwibWV0YWRhdGFfZGVzY3JpcHRpb25cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm1ldGFkYXRhLXR5cGVcIiBpZD1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEudHlwZScgfCBpMThuIH19ICpcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cIm1ldGFkYXRhLXR5cGVcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcbiAgICAgICAgW2l0ZW1zXT1cIm1ldGFPcHRpb25zXCJcbiAgICAgICAgYmluZFZhbHVlPVwidmFyVHlwZVwiXG4gICAgICAgIGJpbmRMYWJlbD1cInRyYW5zbGF0aW9uXCJcbiAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiYWRkSXRlbUxpc3QoJGV2ZW50KVwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZXRhRm9ybS52YWx1ZS50eXBlID09PSAnTElTVCdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3Qtd3JhcHBlclwiIGZvcm1BcnJheU5hbWU9XCJhbGxvd2VkVmFsdWVzXCIgKm5nSWY9XCJtZXRhZGF0YUxpc3QuY29udHJvbHMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWRtaW4udmFyVHlwZS5saXN0JyB8IGkxOG4gfX08L2xlZ2VuZD5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3QgbWV0YWRhdGEtbGlzdFwiICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIG1ldGFkYXRhTGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXMtbGlzdF9fZmllbGRzIG1ldGFkYXRhLWlucHV0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWV0YWRhdGEtbGlzdC1sYWJlbFwiIGZvcj1cIm1ldGFkYXRhLWxpc3RcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxpc3RMYWJlbCcgfCBpMThuIH19ICpcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGEtbGlzdFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgY29udHJvbD8uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgICAgICAgICAgIGlzU3VibWl0dGVkICYmIGNvbnRyb2w/LmludmFsaWQgPyAnbWV0YWRhdGEtbGlzdC1sYWJlbCBtZXRhZGF0YS1saXN0LWVycm9yJyA6ICdtZXRhZGF0YS1saXN0LWxhYmVsJ1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1saXN0LWVycm9yXCJcbiAgICAgICAgICAgICAgICAgIGZvcj1cIm1ldGFkYXRhLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIG0tYnRuLWdyb3VwLS1pbnB1dC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pbnB1dC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpID09PSBtZXRhZGF0YUxpc3QuY29udHJvbHMubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udHJvbC52YWx1ZS50cmltKCkgIT09ICcnID8gYWRkSXRlbUxpc3QoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmFkZFZhbHVlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taW5wdXQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSAhPT0gMCAmJiAhbWV0YWRhdGFMaXN0LmNvbnRyb2xzW2ldLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtTGlzdChpKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLnJlbW92ZVZhbHVlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImRlbGV0ZVwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLXNtXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIihtZXRhZGF0YSA/ICdAcHJ5LmFkbWluLmVkaXQnIDogJ0BwcnkuYWRtaW4uY3JlYXRlJykgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFNL0QsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsWUFDVSxLQUFpQixFQUNqQixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsV0FBK0I7UUFIL0IsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FB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QUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBekhVLHFCQUFxQjtrR0FBckIscUJBQXFCLG9PQ2RsQyxxN0xBK0lBOzsyRkRqSWEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjs2SkFlcEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSwgTUVUQV9PUFRJT05TIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE1ldGFkYXRhU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWZvcm0tbWV0YWRhdGEnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1ldGFkYXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBtZXRhRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgbWV0YU9wdGlvbnMgPSBNRVRBX09QVElPTlM7XG4gIGN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSAnJztcblxuICBtZXRhZGF0YU5hbWVzJD86IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBuYW1lQWxyZWFkeUV4aXN0cyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRpdGxlRm9ybTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlzTWV0YVNpbXBsZUVkaXQgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNNZXRhVXNlciA9IGZhbHNlO1xuICBASW5wdXQoKSBtZXRhZGF0YT86IElNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgc3VibWl0TWV0YWRhdGEkOiBFdmVudEVtaXR0ZXI8SU1ldGFkYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXI8SU1ldGFkYXRhPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5tZXRhRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFt7IHZhbHVlOiB1dWlkKCksIGRpc2FibGVkOiB0cnVlIH1dLFxuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgdHlwZTogW3RoaXMubWV0YU9wdGlvbnNbMF0udmFyVHlwZV0sXG4gICAgICBkZXNjcmlwdGlvbjogW10sXG4gICAgICBhbGxvd2VkVmFsdWVzOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNNZXRhVXNlcikge1xuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJCA9IHRoaXMuc3RvcmVcbiAgICAgICAgLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy51c2VyUHJvZmlsZSlcbiAgICAgICAgLnBpcGUobWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkID0gdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLm1ldGFkYXRhKVxuICAgICAgICAucGlwZShtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5tYXAoKG1ldGFkYXRhOiBJTWV0YWRhdGEpID0+IG1ldGFkYXRhLm5hbWUudG9Mb3dlckNhc2UoKSkpKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hbWVBbHJlYWR5RXhpc3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5tZXRhRm9ybS5nZXQoJ25hbWUnKT8udmFsdWVDaGFuZ2VzIGFzIE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyRcbiAgICBdKS5waXBlKG1hcCgoW3ZhbHVlLCBtZXRhTmFtZXNdKSA9PiBtZXRhTmFtZXMuaW5jbHVkZXModmFsdWUudG9Mb3dlckNhc2UoKSkgJiYgdmFsdWUgIT0gdGhpcy5tZXRhZGF0YT8ubmFtZSkpO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1snbmFtZSddLnNldEVycm9ycyh7ICdzYW1lLW5hbWUnOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm1ldGFkYXRhKSB7XG4gICAgICBjb25zdCB0eXBlID0gTUVUQV9PUFRJT05TLmZpbmQoKGVsKSA9PiBlbC52YXJUeXBlID09PSB0aGlzLm1ldGFkYXRhPy50eXBlKTtcbiAgICAgIHRoaXMuY3VycmVudFR5cGVUcmFuc2xhdGlvbiA9IHR5cGUgPyB0eXBlLnRyYW5zbGF0aW9uIDogTUVUQV9PUFRJT05TWzBdLnRyYW5zbGF0aW9uO1xuICAgICAgdGhpcy5tZXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgaWQ6IHRoaXMubWV0YWRhdGEuaWQsXG4gICAgICAgIG5hbWU6IHRoaXMubWV0YWRhdGEubmFtZSxcbiAgICAgICAgdHlwZTogdGhpcy5tZXRhZGF0YS50eXBlLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5tZXRhZGF0YS5kZXNjcmlwdGlvblxuICAgICAgfSk7XG4gICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyd0eXBlJ10uZGlzYWJsZSgpO1xuICAgICAgaWYgKHRoaXMuaXNNZXRhU2ltcGxlRWRpdCkge1xuICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyduYW1lJ10uZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tZXRhZGF0YS5hbGxvd2VkVmFsdWVzKSB7XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5tZXRhZGF0YS5hbGxvd2VkVmFsdWVzKSB7XG4gICAgICAgICAgdGhpcy5tZXRhZGF0YUxpc3QucHVzaChuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IGl0ZW0sIGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXQgbWV0YWRhdGFMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWydhbGxvd2VkVmFsdWVzJ10gYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhKCkge1xuICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLm1ldGFGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgICAgLi4udGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgICBhbGxvd2VkVmFsdWVzOiB0aGlzLm1ldGFGb3JtLmdldFJhd1ZhbHVlKCkuYWxsb3dlZFZhbHVlcy5maWx0ZXIoKHg6IHN0cmluZykgPT4geCAhPT0gbnVsbClcbiAgICAgIH07XG4gICAgICB0aGlzLnN1Ym1pdE1ldGFkYXRhJC5lbWl0KHBheWxvYWQpO1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICB9XG4gIH1cblxuICBhZGRJdGVtTGlzdCh0eXBlPzogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgPT09ICdMSVNUJyB8fCB0eXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUl0ZW1MaXN0KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1ldGFkYXRhTGlzdC5yZW1vdmVBdChpbmRleCk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHRoaXMuZ2V0UGF0aCgpIH0pKTtcbiAgfVxuXG4gIGdldFBhdGgoKSB7XG4gICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIGlmICh0aGlzLm1ldGFkYXRhKSB7XG4gICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGgudG9TdHJpbmcoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXJcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7IHRpdGxlRm9ybSB9fTwvaDE+XG5cbiAgPGZvcm0gY2xhc3M9XCJvLWZvcm1cIiBbZm9ybUdyb3VwXT1cIm1ldGFGb3JtXCIgKG5nU3VibWl0KT1cImFkZE1ldGFkYXRhKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGlkPVwibmFtZS1sYWJlbFwiIGZvcj1cIm1ldGFkYXRhLW5hbWVcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEubGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIiFtZXRhZGF0YVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCA/ICduYW1lLWxhYmVsIG5hbWUtZXJyb3InIDogJ25hbWUtbGFiZWwnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzU3VibWl0dGVkICYmIG1ldGFGb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgICAgLz5cbiAgICAgIEBpZiAoaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgaWQ9XCJuYW1lLWVycm9yXCJcbiAgICAgICAgICBmb3I9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgID5cbiAgICAgICAgICBAaWYgKG1ldGFGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignc2FtZS1uYW1lJykpIHtcbiAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmFkbWluLmV4aXN0cycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG1ldGFGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5mb3JtYXROYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtbWRcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIHJvd3M9XCI1XCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBpZD1cIm1ldGFkYXRhX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICA8bGFiZWwgZm9yPVwibWV0YWRhdGEtdHlwZVwiIGlkPVwibWV0YWRhdGEtdHlwZS1sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS50eXBlJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwibWV0YWRhdGEtdHlwZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxuICAgICAgICBbaXRlbXNdPVwibWV0YU9wdGlvbnNcIlxuICAgICAgICBiaW5kVmFsdWU9XCJ2YXJUeXBlXCJcbiAgICAgICAgYmluZExhYmVsPVwidHJhbnNsYXRpb25cIlxuICAgICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhZGRJdGVtTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwibWV0YWRhdGEtdHlwZS1sYWJlbFwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChtZXRhRm9ybS52YWx1ZS50eXBlID09PSAnTElTVCcpIHtcbiAgICAgIEBpZiAobWV0YWRhdGFMaXN0LmNvbnRyb2xzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXMtbGlzdC13cmFwcGVyXCIgZm9ybUFycmF5TmFtZT1cImFsbG93ZWRWYWx1ZXNcIj5cbiAgICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi52YXJUeXBlLmxpc3QnIHwgaTE4biB9fTwvbGVnZW5kPlxuICAgICAgICAgICAgQGZvciAoY29udHJvbCBvZiBtZXRhZGF0YUxpc3QuY29udHJvbHM7IHRyYWNrIGNvbnRyb2w7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3QgbWV0YWRhdGEtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3RfX2ZpZWxkcyBtZXRhZGF0YS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWV0YWRhdGEtbGlzdC1sYWJlbFwiIGZvcj1cIm1ldGFkYXRhLWxpc3RcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5saXN0TGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGEtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3sgaSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiFjb250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgY29udHJvbD8uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgICAgICAgICAgIGlzU3VibWl0dGVkICYmIGNvbnRyb2w/LmludmFsaWQgPyAnbWV0YWRhdGEtbGlzdC1sYWJlbCBtZXRhZGF0YS1saXN0LWVycm9yJyA6ICdtZXRhZGF0YS1saXN0LWxhYmVsJ1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1saXN0LWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cIm1ldGFkYXRhLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCBtLWJ0bi1ncm91cC0taW5wdXQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGkgPT09IG1ldGFkYXRhTGlzdC5jb250cm9scy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pbnB1dC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRyb2wudmFsdWUudHJpbSgpICE9PSAnJyA/IGFkZEl0ZW1MaXN0KCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmFkZFZhbHVlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaSAhPT0gMCAmJiAhbWV0YWRhdGFMaXN0LmNvbnRyb2xzW2ldLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pbnB1dC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW1MaXN0KGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5yZW1vdmVWYWx1ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkZWxldGVcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCAtd2lkdGgtc21cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2FuY2VsJyB8IGkxOG5cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiKG1ldGFkYXRhID8gJ0BwcnkuYWRtaW4uZWRpdCcgOiAnQHByeS5hZG1pbi5jcmVhdGUnKSB8IGkxOG5cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { META_OPTIONS } from '@provoly/dashboard';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@provoly/dashboard";
6
- import * as i3 from "@angular/forms";
4
+ import * as i1 from "@provoly/dashboard";
5
+ import * as i2 from "@angular/forms";
7
6
  export class PryListMetadataComponent {
8
7
  constructor() {
9
8
  this.sortActive = 'name';
@@ -56,11 +55,11 @@ export class PryListMetadataComponent {
56
55
  return META_OPTIONS.find((el) => el.varType === type)?.translation || 'undefined';
57
56
  }
58
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryListMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: PryListMetadataComponent, selector: "pry-list-metadata", inputs: { sortActive: "sortActive", sortDirection: "sortDirection", configHeader: "configHeader", metadata: "metadata", selectedMetadata: "selectedMetadata", labelMetadataSelected: "labelMetadataSelected", editable: "editable" }, outputs: { editClicked$: "editClicked$", submitModal$: "submitModal$", cancelAction$: "cancelAction$", rowClicked$: "rowClicked$" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n>\n <caption>\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n\n <thead>\n <tr>\n <th style=\"width: 30px\"></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let metadata of metadata | prySortData: sortActive : sortDirection\"\n (click)=\"goToDetails(metadata.id)\"\n [class.is-selected]=\"selectedMetadata === metadata.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta' + metadata.name\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"selectedMetadata === metadata.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-' + metadata.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadata.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadata.name }}</td>\n <td>{{ getTranslationType(metadata.type) | i18n }}</td>\n </tr>\n </tbody>\n</table>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i2.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryListMetadataComponent, selector: "pry-list-metadata", inputs: { sortActive: "sortActive", sortDirection: "sortDirection", configHeader: "configHeader", metadata: "metadata", selectedMetadata: "selectedMetadata", labelMetadataSelected: "labelMetadataSelected", editable: "editable" }, outputs: { editClicked$: "editClicked$", submitModal$: "submitModal$", cancelAction$: "cancelAction$", rowClicked$: "rowClicked$" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n\n <thead>\n <tr>\n <th style=\"width: 30px\"></th>\n @for (conf of configHeader; track conf) {\n <th [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (metadata of metadata | prySortData: sortActive : sortDirection; track metadata) {\n <tr\n (click)=\"goToDetails(metadata.id)\"\n [class.is-selected]=\"selectedMetadata === metadata.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta' + metadata.name\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"selectedMetadata === metadata.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-' + metadata.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadata.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadata.name }}</td>\n <td>{{ getTranslationType(metadata.type) | i18n }}</td>\n </tr>\n }\n </tbody>\n</table>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n >\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "component", type: i1.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i1.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i1.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i1.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
60
59
  }
61
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryListMetadataComponent, decorators: [{
62
61
  type: Component,
63
- args: [{ selector: 'pry-list-metadata', template: "<table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n>\n <caption>\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n\n <thead>\n <tr>\n <th style=\"width: 30px\"></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let metadata of metadata | prySortData: sortActive : sortDirection\"\n (click)=\"goToDetails(metadata.id)\"\n [class.is-selected]=\"selectedMetadata === metadata.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta' + metadata.name\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"selectedMetadata === metadata.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-' + metadata.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadata.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadata.name }}</td>\n <td>{{ getTranslationType(metadata.type) | i18n }}</td>\n </tr>\n </tbody>\n</table>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
62
+ args: [{ selector: 'pry-list-metadata', template: "<table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n\n <thead>\n <tr>\n <th style=\"width: 30px\"></th>\n @for (conf of configHeader; track conf) {\n <th [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (metadata of metadata | prySortData: sortActive : sortDirection; track metadata) {\n <tr\n (click)=\"goToDetails(metadata.id)\"\n [class.is-selected]=\"selectedMetadata === metadata.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta' + metadata.name\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"selectedMetadata === metadata.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-' + metadata.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadata.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadata.name }}</td>\n <td>{{ getTranslationType(metadata.type) | i18n }}</td>\n </tr>\n }\n </tbody>\n</table>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n >\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
64
63
  }], ctorParameters: () => [], propDecorators: { input: [{
65
64
  type: ViewChild,
66
65
  args: ['input']
@@ -87,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
87
86
  }], rowClicked$: [{
88
87
  type: Output
89
88
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ5LWxpc3QtbWV0YWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvbGlzdC1tZXRhZGF0YS9wcnktbGlzdC1tZXRhZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9saXN0LW1ldGFkYXRhL3ByeS1saXN0LW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFXN0QsTUFBTSxPQUFPLHdCQUF3QjtJQW9DbkM7UUFqQ1MsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUVyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUV2QixpQkFBWSxHQUF5QixFQUFFLENBQUM7UUFFeEMsYUFBUSxHQUE0QixFQUFFLENBQUM7UUFFdkMscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUV2QywwQkFBcUIsR0FBVyxFQUFFLENBQUM7UUFFbkMsYUFBUSxHQUFZLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRWhGOztXQUVHO1FBQ08saUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVoRSxrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZFOztXQUVHO1FBQ08sZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6RSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBTTFCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBbUI7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQjtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQVc7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDN0IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxFQUFFLFdBQVcsSUFBSSxXQUFXLENBQUM7SUFDcEYsQ0FBQzs4R0ExRVUsd0JBQXdCO2tHQUF4Qix3QkFBd0Isb2dCQ1pyQyw2L0RBZ0VBOzsyRkRwRGEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLG1CQUFtQjt3REFJVCxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBRVQsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFLRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSwgTUVUQV9PUFRJT05TIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnSGVhZGVyIHtcbiAgaGVhZGVyVHlwZTogJ2xhYmVsJyB8ICdpY29uJztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWxpc3QtbWV0YWRhdGEnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJ5LWxpc3QtbWV0YWRhdGEuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUxpc3RNZXRhZGF0YUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHNvcnRBY3RpdmU/ID0gJ25hbWUnO1xuXG4gIEBJbnB1dCgpIHNvcnREaXJlY3Rpb24/ID0gJ2FzYyc7XG5cbiAgQElucHV0KCkgY29uZmlnSGVhZGVyOiBBcnJheTxJQ29uZmlnSGVhZGVyPiA9IFtdO1xuXG4gIEBJbnB1dCgpIG1ldGFkYXRhOiBBcnJheTxJTWV0YWRhdGE+IHwgbnVsbCA9IFtdO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkTWV0YWRhdGE6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIGxhYmVsTWV0YWRhdGFTZWxlY3RlZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBlZGl0Q2xpY2tlZCQ6IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+KCk7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzdHJpbmc6IG5ld0xhYmVsIGxhYmVsIGZvciB0aGUgbWV0YWRhdGEgZWRpdGVkXG4gICAqL1xuICBAT3V0cHV0KCkgc3VibWl0TW9kYWwkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKSBjYW5jZWxBY3Rpb24kOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzdHJpbmdcbiAgICovXG4gIEBPdXRwdXQoKSByb3dDbGlja2VkJDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBlZGl0T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdmFsaWRhdGVBY3Rpb246ICgpID0+IHZvaWQ7XG4gIGNhbmNlbEFjdGlvbjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnZhbGlkYXRlQWN0aW9uID0gKCkgPT4gdGhpcy52YWxpZGF0ZU5hbWUodGhpcy5sYWJlbE1ldGFkYXRhU2VsZWN0ZWQpO1xuICAgIHRoaXMuY2FuY2VsQWN0aW9uID0gKCkgPT4gdGhpcy5jYW5jZWxFZGl0aW9uKCk7XG4gIH1cblxuICBvcGVuRWRpdE1ldGFkYXRhKG1ldGFkYXRhOiBJTWV0YWRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRDbGlja2VkJC5lbWl0KG1ldGFkYXRhKTtcbiAgfVxuXG4gIGNhbmNlbEVkaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxBY3Rpb24kLmVtaXQoKTtcbiAgICB0aGlzLnRvZ2dsZUVkaXRpb25NZXRhZGF0YSgpO1xuICB9XG5cbiAgdG9nZ2xlRWRpdGlvbk1ldGFkYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE9wZW5lZCA9ICF0aGlzLmVkaXRPcGVuZWQ7XG4gICAgaWYgKHRoaXMuZWRpdE9wZW5lZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfSwgMTApO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlTmFtZShuZXdMYWJlbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXRNb2RhbCQuZW1pdChuZXdMYWJlbCk7XG4gICAgdGhpcy50b2dnbGVFZGl0aW9uTWV0YWRhdGEoKTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5sYWJlbE1ldGFkYXRhU2VsZWN0ZWQgPSAkZXZlbnQ7XG4gIH1cblxuICBnb1RvRGV0YWlscyhpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5yb3dDbGlja2VkJC5lbWl0KGlkKTtcbiAgfVxuXG4gIGdldFRyYW5zbGF0aW9uVHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gTUVUQV9PUFRJT05TLmZpbmQoKGVsKSA9PiBlbC52YXJUeXBlID09PSB0eXBlKT8udHJhbnNsYXRpb24gfHwgJ3VuZGVmaW5lZCc7XG4gIH1cbn1cbiIsIjx0YWJsZVxuICBjbGFzcz1cImEtdGFibGVcIlxuICBwcnlTb3J0VGFibGVcbiAgcHJ5U29ydEFjdGl2ZT1cIm5hbWVcIlxuICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgKHByeVNvcnRDaGFuZ2UpPVwic29ydEFjdGl2ZSA9ICRldmVudC5hY3RpdmU7IHNvcnREaXJlY3Rpb24gPSAkZXZlbnQuZGlyZWN0aW9uXCJcbj5cbiAgPGNhcHRpb24+XG4gICAge3tcbiAgICAgICdAcHJ5LmFjdGlvbi5zb3J0YWJsZUNvbHVtbkhlYWRlcicgfCBpMThuXG4gICAgfX1cbiAgPC9jYXB0aW9uPlxuXG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMzBweFwiPjwvdGg+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGNvbmYgb2YgY29uZmlnSGVhZGVyXCIgW3ByeVNvcnRIZWFkZXJdPVwiY29uZi5sYWJlbFwiPnt7IGNvbmYubGFiZWwgfX08L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHJcbiAgICAgICpuZ0Zvcj1cImxldCBtZXRhZGF0YSBvZiBtZXRhZGF0YSB8IHByeVNvcnREYXRhOiBzb3J0QWN0aXZlIDogc29ydERpcmVjdGlvblwiXG4gICAgICAoY2xpY2spPVwiZ29Ub0RldGFpbHMobWV0YWRhdGEuaWQpXCJcbiAgICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCJzZWxlY3RlZE1ldGFkYXRhID09PSBtZXRhZGF0YS5pZFwiXG4gICAgPlxuICAgICAgPHRkIGNsYXNzPVwidmlldy1kZXRhaWxzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWRdPVwiJ2J1dHRvbi1tZXRhJyArIG1ldGFkYXRhLm5hbWVcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyAnQHByeS5hY3Rpb24udmlld0RldGFpbHMnIHwgaTE4biB9fVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzZWxlY3RlZE1ldGFkYXRhID09PSBtZXRhZGF0YS5pZFwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cFxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3BhbmVsLW1ldGEtJyArIG1ldGFkYXRhLmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBtZXRhZGF0YS5uYW1lIH19LCB7eyAnQHByeS5hY3Rpb24udmlld0RldGFpbHMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQ+e3sgbWV0YWRhdGEubmFtZSB9fTwvdGQ+XG4gICAgICA8dGQ+e3sgZ2V0VHJhbnNsYXRpb25UeXBlKG1ldGFkYXRhLnR5cGUpIHwgaTE4biB9fTwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxwcnktbW9kYWxcbiAgW3RpdGxlTW9kYWxdPVwiJ0BwcnkudG9vbGJveC5yZW5hbWUnIHwgaTE4blwiXG4gIFt2YWxpZGF0ZUxhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2hlY2snIHwgaTE4blwiXG4gIFt2YWxpZGF0ZUFjdGlvbl09XCJ2YWxpZGF0ZUFjdGlvblwiXG4gIFtjYW5jZWxMYWJlbF09XCInQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG5cIlxuICBbY2FuY2VsQWN0aW9uXT1cImNhbmNlbEFjdGlvblwiXG4gIFtvcGVuZWRdPVwidGhpcy5lZGl0T3BlbmVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkX19pbnB1dFwiPlxuICAgIDxzcGFuPnt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QubmFtZScgfCBpMThuIH19PC9zcGFuPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgKGtleXVwLmVudGVyKT1cInZhbGlkYXRlTmFtZShpbnB1dC52YWx1ZSlcIlxuICAgICAgW25nTW9kZWxdPVwibGFiZWxNZXRhZGF0YVNlbGVjdGVkXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZVZhbHVlKCRldmVudClcIlxuICAgICAgI2lucHV0XG4gICAgLz5cbiAgPC9kaXY+XG48L3ByeS1tb2RhbD5cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ5LWxpc3QtbWV0YWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvbGlzdC1tZXRhZGF0YS9wcnktbGlzdC1tZXRhZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9saXN0LW1ldGFkYXRhL3ByeS1saXN0LW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVc3RCxNQUFNLE9BQU8sd0JBQXdCO0lBb0NuQztRQWpDUyxlQUFVLEdBQUksTUFBTSxDQUFDO1FBRXJCLGtCQUFhLEdBQUksS0FBSyxDQUFDO1FBRXZCLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztRQUV4QyxhQUFRLEdBQTRCLEVBQUUsQ0FBQztRQUV2QyxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBRXZDLDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUVuQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRXhCLGlCQUFZLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7UUFFaEY7O1dBRUc7UUFDTyxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhFLGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdkU7O1dBRUc7UUFDTyxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpFLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFNMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFtQjtRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNULENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVztRQUNyQixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWTtRQUM3QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLEVBQUUsV0FBVyxJQUFJLFdBQVcsQ0FBQztJQUNwRixDQUFDOzhHQTFFVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixvZ0JDWnJDLHNsRUFtRUE7OzJGRHZEYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsbUJBQW1CO3dEQUlULEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFFVCxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUtHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNRVRBX09QVElPTlMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdIZWFkZXIge1xuICBoZWFkZXJUeXBlOiAnbGFiZWwnIHwgJ2ljb24nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktbGlzdC1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcnktbGlzdC1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5TGlzdE1ldGFkYXRhQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgc29ydEFjdGl2ZT8gPSAnbmFtZSc7XG5cbiAgQElucHV0KCkgc29ydERpcmVjdGlvbj8gPSAnYXNjJztcblxuICBASW5wdXQoKSBjb25maWdIZWFkZXI6IEFycmF5PElDb25maWdIZWFkZXI+ID0gW107XG5cbiAgQElucHV0KCkgbWV0YWRhdGE6IEFycmF5PElNZXRhZGF0YT4gfCBudWxsID0gW107XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRNZXRhZGF0YTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCkgbGFiZWxNZXRhZGF0YVNlbGVjdGVkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGVkaXRDbGlja2VkJDogRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4oKTtcblxuICAvKipcbiAgICogQHBhcmFtIHN0cmluZzogbmV3TGFiZWwgbGFiZWwgZm9yIHRoZSBtZXRhZGF0YSBlZGl0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzdWJtaXRNb2RhbCQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpIGNhbmNlbEFjdGlvbiQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKi9cbiAgQE91dHB1dCgpIHJvd0NsaWNrZWQkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGVkaXRPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB2YWxpZGF0ZUFjdGlvbjogKCkgPT4gdm9pZDtcbiAgY2FuY2VsQWN0aW9uOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudmFsaWRhdGVBY3Rpb24gPSAoKSA9PiB0aGlzLnZhbGlkYXRlTmFtZSh0aGlzLmxhYmVsTWV0YWRhdGFTZWxlY3RlZCk7XG4gICAgdGhpcy5jYW5jZWxBY3Rpb24gPSAoKSA9PiB0aGlzLmNhbmNlbEVkaXRpb24oKTtcbiAgfVxuXG4gIG9wZW5FZGl0TWV0YWRhdGEobWV0YWRhdGE6IElNZXRhZGF0YSk6IHZvaWQge1xuICAgIHRoaXMuZWRpdENsaWNrZWQkLmVtaXQobWV0YWRhdGEpO1xuICB9XG5cbiAgY2FuY2VsRWRpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbEFjdGlvbiQuZW1pdCgpO1xuICAgIHRoaXMudG9nZ2xlRWRpdGlvbk1ldGFkYXRhKCk7XG4gIH1cblxuICB0b2dnbGVFZGl0aW9uTWV0YWRhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0T3BlbmVkID0gIXRoaXMuZWRpdE9wZW5lZDtcbiAgICBpZiAodGhpcy5lZGl0T3BlbmVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVOYW1lKG5ld0xhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdE1vZGFsJC5lbWl0KG5ld0xhYmVsKTtcbiAgICB0aGlzLnRvZ2dsZUVkaXRpb25NZXRhZGF0YSgpO1xuICB9XG5cbiAgY2hhbmdlVmFsdWUoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmxhYmVsTWV0YWRhdGFTZWxlY3RlZCA9ICRldmVudDtcbiAgfVxuXG4gIGdvVG9EZXRhaWxzKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvd0NsaWNrZWQkLmVtaXQoaWQpO1xuICB9XG5cbiAgZ2V0VHJhbnNsYXRpb25UeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiBNRVRBX09QVElPTlMuZmluZCgoZWwpID0+IGVsLnZhclR5cGUgPT09IHR5cGUpPy50cmFuc2xhdGlvbiB8fCAndW5kZWZpbmVkJztcbiAgfVxufVxuIiwiPHRhYmxlXG4gIGNsYXNzPVwiYS10YWJsZVwiXG4gIHByeVNvcnRUYWJsZVxuICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gIHByeVNvcnREaXJlY3Rpb249XCJhc2NcIlxuICAocHJ5U29ydENoYW5nZSk9XCJzb3J0QWN0aXZlID0gJGV2ZW50LmFjdGl2ZTsgc29ydERpcmVjdGlvbiA9ICRldmVudC5kaXJlY3Rpb25cIlxuICA+XG4gIDxjYXB0aW9uPlxuICAgIHt7XG4gICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICB9fVxuICA8L2NhcHRpb24+XG5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAzMHB4XCI+PC90aD5cbiAgICAgIEBmb3IgKGNvbmYgb2YgY29uZmlnSGVhZGVyOyB0cmFjayBjb25mKSB7XG4gICAgICAgIDx0aCBbcHJ5U29ydEhlYWRlcl09XCJjb25mLmxhYmVsXCI+e3sgY29uZi5sYWJlbCB9fTwvdGg+XG4gICAgICB9XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIEBmb3IgKG1ldGFkYXRhIG9mIG1ldGFkYXRhIHwgcHJ5U29ydERhdGE6IHNvcnRBY3RpdmUgOiBzb3J0RGlyZWN0aW9uOyB0cmFjayBtZXRhZGF0YSkge1xuICAgICAgPHRyXG4gICAgICAgIChjbGljayk9XCJnb1RvRGV0YWlscyhtZXRhZGF0YS5pZClcIlxuICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwic2VsZWN0ZWRNZXRhZGF0YSA9PT0gbWV0YWRhdGEuaWRcIlxuICAgICAgICA+XG4gICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtpZF09XCInYnV0dG9uLW1ldGEnICsgbWV0YWRhdGEubmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgICB0aXRsZT1cInt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VsZWN0ZWRNZXRhZGF0YSA9PT0gbWV0YWRhdGEuaWRcIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtbWV0YS0nICsgbWV0YWRhdGEuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7IG1ldGFkYXRhLm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJleWVcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPnt7IG1ldGFkYXRhLm5hbWUgfX08L3RkPlxuICAgICAgICA8dGQ+e3sgZ2V0VHJhbnNsYXRpb25UeXBlKG1ldGFkYXRhLnR5cGUpIHwgaTE4biB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgIH1cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxwcnktbW9kYWxcbiAgW3RpdGxlTW9kYWxdPVwiJ0BwcnkudG9vbGJveC5yZW5hbWUnIHwgaTE4blwiXG4gIFt2YWxpZGF0ZUxhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2hlY2snIHwgaTE4blwiXG4gIFt2YWxpZGF0ZUFjdGlvbl09XCJ2YWxpZGF0ZUFjdGlvblwiXG4gIFtjYW5jZWxMYWJlbF09XCInQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG5cIlxuICBbY2FuY2VsQWN0aW9uXT1cImNhbmNlbEFjdGlvblwiXG4gIFtvcGVuZWRdPVwidGhpcy5lZGl0T3BlbmVkXCJcbiAgPlxuICA8ZGl2IGNsYXNzPVwiZmllbGRfX2lucHV0XCI+XG4gICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwidmFsaWRhdGVOYW1lKGlucHV0LnZhbHVlKVwiXG4gICAgICBbbmdNb2RlbF09XCJsYWJlbE1ldGFkYXRhU2VsZWN0ZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAjaW5wdXRcbiAgICAgIC8+XG4gIDwvZGl2PlxuPC9wcnktbW9kYWw+XG4iXX0=
@@ -7,8 +7,8 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/store";
8
8
  import * as i2 from "@provoly/dashboard";
9
9
  import * as i3 from "@angular/router";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@angular/forms";
10
+ import * as i4 from "@angular/forms";
11
+ import * as i5 from "@angular/common";
12
12
  export class AdminMetadataRulesComponent {
13
13
  constructor(store, translateService, router, route) {
14
14
  this.store = store;
@@ -74,13 +74,13 @@ export class AdminMetadataRulesComponent {
74
74
  return META_OPTIONS.find((el) => el.varType === type)?.translation || 'undefined';
75
75
  }
76
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminMetadataRulesComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i3.Router }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AdminMetadataRulesComponent, selector: "pry-admin-metadata-rules", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.metadata-rules.title' | i18n }}</h1>\n <ng-container *ngIf=\"metadataRulesList$ | async as metadataRulesList\">\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.metadata-rules.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let metadataRules of metadataRulesList | prySortData: sortActive : sortDirection\"\n (click)=\"selectMetadata(metadataRules)\"\n [class.is-selected]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta-rule-' + metadataRules.id\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-rule-' + metadataRules.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadataRules.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadataRules.name }}</td>\n <td>{{ metadataRules.metadataItem?.name }}</td>\n <td>{{ metadataRules.metadataUser?.name }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.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: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i2.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: AdminMetadataRulesComponent, selector: "pry-admin-metadata-rules", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.metadata-rules.title' | i18n }}</h1>\n @if (metadataRulesList$ | async; as metadataRulesList) {\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.metadata-rules.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n @for (conf of configHeader; track conf) {\n <th [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (metadataRules of metadataRulesList | prySortData: sortActive : sortDirection; track metadataRules) {\n <tr\n (click)=\"selectMetadata(metadataRules)\"\n [class.is-selected]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta-rule-' + metadataRules.id\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-rule-' + metadataRules.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadataRules.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadataRules.name }}</td>\n <td>{{ metadataRules.metadataItem?.name }}</td>\n <td>{{ metadataRules.metadataUser?.name }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n >\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i2.PryModalComponent, selector: "pry-modal", inputs: ["titleModal", "opened", "validateLabel", "validateAction", "cancelLabel", "cancelAction"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminMetadataRulesComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'pry-admin-metadata-rules', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.metadata-rules.title' | i18n }}</h1>\n <ng-container *ngIf=\"metadataRulesList$ | async as metadataRulesList\">\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.metadata-rules.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th *ngFor=\"let conf of configHeader\" [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let metadataRules of metadataRulesList | prySortData: sortActive : sortDirection\"\n (click)=\"selectMetadata(metadataRules)\"\n [class.is-selected]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta-rule-' + metadataRules.id\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-rule-' + metadataRules.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadataRules.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadataRules.name }}</td>\n <td>{{ metadataRules.metadataItem?.name }}</td>\n <td>{{ metadataRules.metadataUser?.name }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n>\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
81
+ args: [{ selector: 'pry-admin-metadata-rules', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.metadata-rules.title' | i18n }}</h1>\n @if (metadataRulesList$ | async; as metadataRulesList) {\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.metadata-rules.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n @for (conf of configHeader; track conf) {\n <th [prySortHeader]=\"conf.label\">{{ conf.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (metadataRules of metadataRulesList | prySortData: sortActive : sortDirection; track metadataRules) {\n <tr\n (click)=\"selectMetadata(metadataRules)\"\n [class.is-selected]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n >\n <td class=\"view-details\">\n <button\n [id]=\"'button-meta-rule-' + metadataRules.id\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedMetadataRules$ | async) === metadataRules.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-meta-rule-' + metadataRules.id\"\n >\n <span class=\"u-visually-hidden\">{{ metadataRules.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>{{ metadataRules.name }}</td>\n <td>{{ metadataRules.metadataItem?.name }}</td>\n <td>{{ metadataRules.metadataUser?.name }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n</div>\n\n<pry-modal\n [titleModal]=\"'@pry.toolbox.rename' | i18n\"\n [validateLabel]=\"'@pry.toolbox.manifest.check' | i18n\"\n [validateAction]=\"validateAction\"\n [cancelLabel]=\"'@pry.toolbox.manifest.close' | i18n\"\n [cancelAction]=\"cancelAction\"\n [opened]=\"this.editOpened\"\n >\n <div class=\"field__input\">\n <span>{{ '@pry.toolbox.manifest.name' | i18n }}</span>\n <input\n type=\"text\"\n (keyup.enter)=\"validateName(input.value)\"\n [ngModel]=\"labelMetadataSelected\"\n (ngModelChange)=\"changeValue($event)\"\n #input\n />\n </div>\n</pry-modal>\n" }]
82
82
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryI18nService }, { type: i3.Router }, { type: i3.ActivatedRoute }], propDecorators: { input: [{
83
83
  type: ViewChild,
84
84
  args: ['input']
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9hZG1pbi1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxZQUFZLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBTTFFLE1BQU0sT0FBTywyQkFBMkI7SUFzQnRDLFlBQ1UsS0FBZ0MsRUFDaEMsZ0JBQWdDLEVBQ2hDLE1BQWMsRUFDZCxLQUFxQjtRQUhyQixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQW5CL0IsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUVyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUV2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQVksS0FB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LENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDO0lBQ3BGLENBQUM7OEdBekZVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdLQ2Z4Qyw4akZBd0VBOzsyRkR6RGEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjt5SkFJaEIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBNRVRBX09QVElPTlMsIE1ldGFkYXRhUnVsZXMsIFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgSUNvbmZpZ0hlYWRlciB9IGZyb20gJy4uL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9saXN0LW1ldGFkYXRhL3ByeS1saXN0LW1ldGFkYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zIH0gZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE1ldGFkYXRhUnVsZXNTdGF0ZSB9IGZyb20gJy4vc3RvcmUvbWV0YWRhdGEtcnVsZXMucmVkdWNlcic7XG5pbXBvcnQgeyBNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluTWV0YWRhdGFSdWxlc0NvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gIG1ldGFkYXRhUnVsZXNMaXN0JDogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+O1xuXG4gIHNlbGVjdGVkTWV0YWRhdGFSdWxlcyQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBzb3J0QWN0aXZlPyA9ICduYW1lJztcblxuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBjb25maWdIZWFkZXI6IEFycmF5PElDb25maWdIZWFkZXI+O1xuXG4gIGxhYmVsTWV0YWRhdGFTZWxlY3RlZDogc3RyaW5nID0gJyc7XG5cbiAgZWRpdE9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHZhbGlkYXRlQWN0aW9uOiAoKSA9PiB2b2lkO1xuICBjYW5jZWxBY3Rpb246ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8TWV0YWRhdGFSdWxlc1N0YXRlPixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7XG4gICAgdGhpcy52YWxpZGF0ZUFjdGlvbiA9ICgpID0+IHRoaXMudmFsaWRhdGVOYW1lKHRoaXMubGFiZWxNZXRhZGF0YVNlbGVjdGVkKTtcbiAgICB0aGlzLmNhbmNlbEFjdGlvbiA9ICgpID0+IHRoaXMuY2FuY2VsRWRpdGlvbigpO1xuICAgIHRoaXMuY29uZmlnSGVhZGVyID0gW1xuICAgICAgeyBoZWFkZXJUeXBlOiAnbGFiZWwnLCBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubGFiZWwnKSB9LFxuICAgICAgeyBoZWFkZXJUeXBlOiAnbGFiZWwnLCBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubWV0YWRhdGEtaXRlbS5uYW1lJykgfSxcbiAgICAgIHsgaGVhZGVyVHlwZTogJ2xhYmVsJywgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLXVzZXIubmFtZScpIH1cbiAgICBdO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMubWV0YWRhdGFSdWxlc0xpc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFSdWxlc1NlbGVjdG9ycy5tZXRhZGF0YVJ1bGVzTGlzdCk7XG4gICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhUnVsZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFSdWxlc1NlbGVjdG9ycy5tZXRhZGF0YVJ1bGVzU2VsZWN0ZWRJZCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnVuc2VsZWN0TWV0YWRhdGEoKSk7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWyduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLm9wZW5OZXdNZXRhZGF0YVJ1bGVzKHsgcm91dGU6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNhbmNlbEVkaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVFZGl0aW9uTWV0YWRhdGEoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMudW5zZWxlY3RNZXRhZGF0YSgpKTtcbiAgfVxuXG4gIHRvZ2dsZUVkaXRpb25NZXRhZGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRPcGVuZWQgPSAhdGhpcy5lZGl0T3BlbmVkO1xuICAgIGlmICh0aGlzLmVkaXRPcGVuZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0sIDEwKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZU5hbWUobmV3TGFiZWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlRWRpdGlvbk1ldGFkYXRhKCk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubGFiZWxNZXRhZGF0YVNlbGVjdGVkID0gJGV2ZW50O1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGEobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlcykge1xuICAgIHRoaXMub3BlbkRldGFpbChtZXRhZGF0YVJ1bGVzKTtcbiAgfVxuXG4gIG9wZW5EZXRhaWwobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlcykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5zZWxlY3RNZXRhZGF0YSh7IG1ldGFkYXRhUnVsZXMgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnNlbGVjdENvbXBvbmVudFR5cGUoeyBjb21wb25lbnRUeXBlOiAnQWRtaW5TZWxlY3RNZXRhZGF0YVJ1bGVzQ29tcG9uZW50JyB9KSk7XG4gIH1cblxuICBnZXRUcmFuc2xhdGlvblR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIE1FVEFfT1BUSU9OUy5maW5kKChlbCkgPT4gZWwudmFyVHlwZSA9PT0gdHlwZSk/LnRyYW5zbGF0aW9uIHx8ICd1bmRlZmluZWQnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1iYXNlLWNvbnRhaW5lclwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMudGl0bGUnIHwgaTE4biB9fTwvaDE+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZXRhZGF0YVJ1bGVzTGlzdCQgfCBhc3luYyBhcyBtZXRhZGF0YVJ1bGVzTGlzdFwiPlxuICAgIDx0YWJsZVxuICAgICAgY2xhc3M9XCJhLXRhYmxlXCJcbiAgICAgIHByeVNvcnRUYWJsZVxuICAgICAgcHJ5U29ydEFjdGl2ZT1cIm5hbWVcIlxuICAgICAgcHJ5U29ydERpcmVjdGlvbj1cImFzY1wiXG4gICAgICAocHJ5U29ydENoYW5nZSk9XCJzb3J0QWN0aXZlID0gJGV2ZW50LmFjdGl2ZTsgc29ydERpcmVjdGlvbiA9ICRldmVudC5kaXJlY3Rpb25cIlxuICAgID5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29uZiBvZiBjb25maWdIZWFkZXJcIiBbcHJ5U29ydEhlYWRlcl09XCJjb25mLmxhYmVsXCI+e3sgY29uZi5sYWJlbCB9fTwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgbWV0YWRhdGFSdWxlcyBvZiBtZXRhZGF0YVJ1bGVzTGlzdCB8IHByeVNvcnREYXRhOiBzb3J0QWN0aXZlIDogc29ydERpcmVjdGlvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1ldGFkYXRhKG1ldGFkYXRhUnVsZXMpXCJcbiAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkTWV0YWRhdGFSdWxlcyQgfCBhc3luYykgPT09IG1ldGFkYXRhUnVsZXMuaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkIGNsYXNzPVwidmlldy1kZXRhaWxzXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFtpZF09XCInYnV0dG9uLW1ldGEtcnVsZS0nICsgbWV0YWRhdGFSdWxlcy5pZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIoc2VsZWN0ZWRNZXRhZGF0YVJ1bGVzJCB8IGFzeW5jKSA9PT0gbWV0YWRhdGFSdWxlcy5pZFwiXG4gICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXBcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtbWV0YS1ydWxlLScgKyBtZXRhZGF0YVJ1bGVzLmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7IG1ldGFkYXRhUnVsZXMubmFtZSB9fSwge3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZXllXCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD57eyBtZXRhZGF0YVJ1bGVzLm5hbWUgfX08L3RkPlxuICAgICAgICAgIDx0ZD57eyBtZXRhZGF0YVJ1bGVzLm1ldGFkYXRhSXRlbT8ubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkPnt7IG1ldGFkYXRhUnVsZXMubWV0YWRhdGFVc2VyPy5uYW1lIH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHByeS1tb2RhbFxuICBbdGl0bGVNb2RhbF09XCInQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuXCJcbiAgW3ZhbGlkYXRlTGFiZWxdPVwiJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuXCJcbiAgW3ZhbGlkYXRlQWN0aW9uXT1cInZhbGlkYXRlQWN0aW9uXCJcbiAgW2NhbmNlbExhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4blwiXG4gIFtjYW5jZWxBY3Rpb25dPVwiY2FuY2VsQWN0aW9uXCJcbiAgW29wZW5lZF09XCJ0aGlzLmVkaXRPcGVuZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGRfX2lucHV0XCI+XG4gICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwidmFsaWRhdGVOYW1lKGlucHV0LnZhbHVlKVwiXG4gICAgICBbbmdNb2RlbF09XCJsYWJlbE1ldGFkYXRhU2VsZWN0ZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAjaW5wdXRcbiAgICAvPlxuICA8L2Rpdj5cbjwvcHJ5LW1vZGFsPlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9hZG1pbi1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxZQUFZLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBTTFFLE1BQU0sT0FBTywyQkFBMkI7SUFzQnRDLFlBQ1UsS0FBZ0MsRUFDaEMsZ0JBQWdDLEVBQ2hDLE1BQWMsRUFDZCxLQUFxQjtRQUhyQixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQW5CL0IsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUVyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUV2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQVksS0FB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LENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDO0lBQ3BGLENBQUM7OEdBekZVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdLQ2Z4Qywwb0ZBMkVBOzsyRkQ1RGEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjt5SkFJaEIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBNRVRBX09QVElPTlMsIE1ldGFkYXRhUnVsZXMsIFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgSUNvbmZpZ0hlYWRlciB9IGZyb20gJy4uL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9saXN0LW1ldGFkYXRhL3ByeS1saXN0LW1ldGFkYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zIH0gZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE1ldGFkYXRhUnVsZXNTdGF0ZSB9IGZyb20gJy4vc3RvcmUvbWV0YWRhdGEtcnVsZXMucmVkdWNlcic7XG5pbXBvcnQgeyBNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluTWV0YWRhdGFSdWxlc0NvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gIG1ldGFkYXRhUnVsZXNMaXN0JDogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+O1xuXG4gIHNlbGVjdGVkTWV0YWRhdGFSdWxlcyQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBzb3J0QWN0aXZlPyA9ICduYW1lJztcblxuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBjb25maWdIZWFkZXI6IEFycmF5PElDb25maWdIZWFkZXI+O1xuXG4gIGxhYmVsTWV0YWRhdGFTZWxlY3RlZDogc3RyaW5nID0gJyc7XG5cbiAgZWRpdE9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHZhbGlkYXRlQWN0aW9uOiAoKSA9PiB2b2lkO1xuICBjYW5jZWxBY3Rpb246ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8TWV0YWRhdGFSdWxlc1N0YXRlPixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7XG4gICAgdGhpcy52YWxpZGF0ZUFjdGlvbiA9ICgpID0+IHRoaXMudmFsaWRhdGVOYW1lKHRoaXMubGFiZWxNZXRhZGF0YVNlbGVjdGVkKTtcbiAgICB0aGlzLmNhbmNlbEFjdGlvbiA9ICgpID0+IHRoaXMuY2FuY2VsRWRpdGlvbigpO1xuICAgIHRoaXMuY29uZmlnSGVhZGVyID0gW1xuICAgICAgeyBoZWFkZXJUeXBlOiAnbGFiZWwnLCBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubGFiZWwnKSB9LFxuICAgICAgeyBoZWFkZXJUeXBlOiAnbGFiZWwnLCBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubWV0YWRhdGEtaXRlbS5uYW1lJykgfSxcbiAgICAgIHsgaGVhZGVyVHlwZTogJ2xhYmVsJywgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLXVzZXIubmFtZScpIH1cbiAgICBdO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMubWV0YWRhdGFSdWxlc0xpc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFSdWxlc1NlbGVjdG9ycy5tZXRhZGF0YVJ1bGVzTGlzdCk7XG4gICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhUnVsZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFSdWxlc1NlbGVjdG9ycy5tZXRhZGF0YVJ1bGVzU2VsZWN0ZWRJZCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnVuc2VsZWN0TWV0YWRhdGEoKSk7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWyduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLm9wZW5OZXdNZXRhZGF0YVJ1bGVzKHsgcm91dGU6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNhbmNlbEVkaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVFZGl0aW9uTWV0YWRhdGEoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMudW5zZWxlY3RNZXRhZGF0YSgpKTtcbiAgfVxuXG4gIHRvZ2dsZUVkaXRpb25NZXRhZGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRPcGVuZWQgPSAhdGhpcy5lZGl0T3BlbmVkO1xuICAgIGlmICh0aGlzLmVkaXRPcGVuZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0sIDEwKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZU5hbWUobmV3TGFiZWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlRWRpdGlvbk1ldGFkYXRhKCk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubGFiZWxNZXRhZGF0YVNlbGVjdGVkID0gJGV2ZW50O1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGEobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlcykge1xuICAgIHRoaXMub3BlbkRldGFpbChtZXRhZGF0YVJ1bGVzKTtcbiAgfVxuXG4gIG9wZW5EZXRhaWwobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlcykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5zZWxlY3RNZXRhZGF0YSh7IG1ldGFkYXRhUnVsZXMgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnNlbGVjdENvbXBvbmVudFR5cGUoeyBjb21wb25lbnRUeXBlOiAnQWRtaW5TZWxlY3RNZXRhZGF0YVJ1bGVzQ29tcG9uZW50JyB9KSk7XG4gIH1cblxuICBnZXRUcmFuc2xhdGlvblR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIE1FVEFfT1BUSU9OUy5maW5kKChlbCkgPT4gZWwudmFyVHlwZSA9PT0gdHlwZSk/LnRyYW5zbGF0aW9uIHx8ICd1bmRlZmluZWQnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1iYXNlLWNvbnRhaW5lclwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMudGl0bGUnIHwgaTE4biB9fTwvaDE+XG4gIEBpZiAobWV0YWRhdGFSdWxlc0xpc3QkIHwgYXN5bmM7IGFzIG1ldGFkYXRhUnVsZXNMaXN0KSB7XG4gICAgPHRhYmxlXG4gICAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgICA+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIEBmb3IgKGNvbmYgb2YgY29uZmlnSGVhZGVyOyB0cmFjayBjb25mKSB7XG4gICAgICAgICAgICA8dGggW3ByeVNvcnRIZWFkZXJdPVwiY29uZi5sYWJlbFwiPnt7IGNvbmYubGFiZWwgfX08L3RoPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIEBmb3IgKG1ldGFkYXRhUnVsZXMgb2YgbWV0YWRhdGFSdWxlc0xpc3QgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb247IHRyYWNrIG1ldGFkYXRhUnVsZXMpIHtcbiAgICAgICAgICA8dHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RNZXRhZGF0YShtZXRhZGF0YVJ1bGVzKVwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkTWV0YWRhdGFSdWxlcyQgfCBhc3luYykgPT09IG1ldGFkYXRhUnVsZXMuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidmlldy1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2J1dHRvbi1tZXRhLXJ1bGUtJyArIG1ldGFkYXRhUnVsZXMuaWRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQHByeS5hY3Rpb24udmlld0RldGFpbHMnIHwgaTE4biB9fVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIoc2VsZWN0ZWRNZXRhZGF0YVJ1bGVzJCB8IGFzeW5jKSA9PT0gbWV0YWRhdGFSdWxlcy5pZFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cFxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3BhbmVsLW1ldGEtcnVsZS0nICsgbWV0YWRhdGFSdWxlcy5pZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBtZXRhZGF0YVJ1bGVzLm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZXllXCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZD57eyBtZXRhZGF0YVJ1bGVzLm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkPnt7IG1ldGFkYXRhUnVsZXMubWV0YWRhdGFJdGVtPy5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD57eyBtZXRhZGF0YVJ1bGVzLm1ldGFkYXRhVXNlcj8ubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICB9XG48L2Rpdj5cblxuPHByeS1tb2RhbFxuICBbdGl0bGVNb2RhbF09XCInQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuXCJcbiAgW3ZhbGlkYXRlTGFiZWxdPVwiJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuXCJcbiAgW3ZhbGlkYXRlQWN0aW9uXT1cInZhbGlkYXRlQWN0aW9uXCJcbiAgW2NhbmNlbExhYmVsXT1cIidAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4blwiXG4gIFtjYW5jZWxBY3Rpb25dPVwiY2FuY2VsQWN0aW9uXCJcbiAgW29wZW5lZF09XCJ0aGlzLmVkaXRPcGVuZWRcIlxuICA+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZF9faW5wdXRcIj5cbiAgICA8c3Bhbj57eyAnQHByeS50b29sYm94Lm1hbmlmZXN0Lm5hbWUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJ2YWxpZGF0ZU5hbWUoaW5wdXQudmFsdWUpXCJcbiAgICAgIFtuZ01vZGVsXT1cImxhYmVsTWV0YWRhdGFTZWxlY3RlZFwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICNpbnB1dFxuICAgICAgLz5cbiAgPC9kaXY+XG48L3ByeS1tb2RhbD5cbiJdfQ==
@@ -6,8 +6,8 @@ import { MetadataRulesSelectors } from '../store/metadata-rules.selectors';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/store";
8
8
  import * as i2 from "@angular/router";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@provoly/dashboard";
9
+ import * as i3 from "@provoly/dashboard";
10
+ import * as i4 from "@angular/common";
11
11
  export class AdminSelectMetadataRulesComponent {
12
12
  static { this.id = 'AdminSelectMetadataRulesComponent'; }
13
13
  constructor(store, router, route) {
@@ -74,10 +74,10 @@ export class AdminSelectMetadataRulesComponent {
74
74
  }));
75
75
  }
76
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminSelectMetadataRulesComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AdminSelectMetadataRulesComponent, selector: "pry-admin-select-metadata-rules", ngImport: i0, template: "<div\n *ngIf=\"metadataRulesSelected$ | async as metadataRules\"\n [id]=\"'panel-meta-rule-' + metadataRules.id\"\n [attr.aria-labelledby]=\"'button-meta-rule-' + metadataRules.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"metadataRuleDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #metadataRuleDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} :\n <strong>{{ metadataRules.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.name' | i18n }} :\n <strong>{{ metadataRules.metadata.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.metadata.description\">\n {{ '@pry.admin.metadata-rules.metadata-item.description' | i18n }} :\n <strong>{{ metadataRules.metadata.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.type' | i18n }} :\n <strong>{{ metadataRules.metadata.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.metadata.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.metadata.allowedValues\">{{ item }}</p>\n </ng-container>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.name' | i18n }} :\n <strong>{{ metadataRules.userProfile.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.userProfile.description\">\n {{ '@pry.admin.metadata-rules.metadata-user.description' | i18n }} :\n <strong>{{ metadataRules.userProfile.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.type' | i18n }} :\n <strong>{{ metadataRules.userProfile.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.userProfile.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.userProfile.allowedValues\">{{ item }}</p>\n </ng-container>\n </ng-template>\n</div>\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: i4.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i4.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: AdminSelectMetadataRulesComponent, selector: "pry-admin-select-metadata-rules", ngImport: i0, template: "@if (metadataRulesSelected$ | async; as metadataRules) {\n <div\n [id]=\"'panel-meta-rule-' + metadataRules.id\"\n [attr.aria-labelledby]=\"'button-meta-rule-' + metadataRules.id\"\n class=\"o-panel\"\n >\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"metadataRuleDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n <ng-template #metadataRuleDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} :\n <strong>{{ metadataRules.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.name' | i18n }} :\n <strong>{{ metadataRules.metadata.name }}</strong>\n </p>\n @if (metadataRules.metadata.description) {\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.description' | i18n }} :\n <strong>{{ metadataRules.metadata.description }}</strong>\n </p>\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.type' | i18n }} :\n <strong>{{ metadataRules.metadata.type }}</strong>\n </p>\n @if (metadataRules.metadata.allowedValues) {\n @for (item of metadataRules.metadata.allowedValues; track item) {\n <p class=\"a-p\">{{ item }}</p>\n }\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.name' | i18n }} :\n <strong>{{ metadataRules.userProfile.name }}</strong>\n </p>\n @if (metadataRules.userProfile.description) {\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.description' | i18n }} :\n <strong>{{ metadataRules.userProfile.description }}</strong>\n </p>\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.type' | i18n }} :\n <strong>{{ metadataRules.userProfile.type }}</strong>\n </p>\n @if (metadataRules.userProfile.allowedValues) {\n @for (item of metadataRules.userProfile.allowedValues; track item) {\n <p class=\"a-p\">{{ item }}</p>\n }\n }\n </ng-template>\n </div>\n}\n", dependencies: [{ 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.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminSelectMetadataRulesComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'pry-admin-select-metadata-rules', template: "<div\n *ngIf=\"metadataRulesSelected$ | async as metadataRules\"\n [id]=\"'panel-meta-rule-' + metadataRules.id\"\n [attr.aria-labelledby]=\"'button-meta-rule-' + metadataRules.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"metadataRuleDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #metadataRuleDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} :\n <strong>{{ metadataRules.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.name' | i18n }} :\n <strong>{{ metadataRules.metadata.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.metadata.description\">\n {{ '@pry.admin.metadata-rules.metadata-item.description' | i18n }} :\n <strong>{{ metadataRules.metadata.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.type' | i18n }} :\n <strong>{{ metadataRules.metadata.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.metadata.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.metadata.allowedValues\">{{ item }}</p>\n </ng-container>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.name' | i18n }} :\n <strong>{{ metadataRules.userProfile.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.userProfile.description\">\n {{ '@pry.admin.metadata-rules.metadata-user.description' | i18n }} :\n <strong>{{ metadataRules.userProfile.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.type' | i18n }} :\n <strong>{{ metadataRules.userProfile.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.userProfile.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.userProfile.allowedValues\">{{ item }}</p>\n </ng-container>\n </ng-template>\n</div>\n" }]
81
+ args: [{ selector: 'pry-admin-select-metadata-rules', template: "@if (metadataRulesSelected$ | async; as metadataRules) {\n <div\n [id]=\"'panel-meta-rule-' + metadataRules.id\"\n [attr.aria-labelledby]=\"'button-meta-rule-' + metadataRules.id\"\n class=\"o-panel\"\n >\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"metadataRuleDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n <ng-template #metadataRuleDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} :\n <strong>{{ metadataRules.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.name' | i18n }} :\n <strong>{{ metadataRules.metadata.name }}</strong>\n </p>\n @if (metadataRules.metadata.description) {\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.description' | i18n }} :\n <strong>{{ metadataRules.metadata.description }}</strong>\n </p>\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.type' | i18n }} :\n <strong>{{ metadataRules.metadata.type }}</strong>\n </p>\n @if (metadataRules.metadata.allowedValues) {\n @for (item of metadataRules.metadata.allowedValues; track item) {\n <p class=\"a-p\">{{ item }}</p>\n }\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.name' | i18n }} :\n <strong>{{ metadataRules.userProfile.name }}</strong>\n </p>\n @if (metadataRules.userProfile.description) {\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.description' | i18n }} :\n <strong>{{ metadataRules.userProfile.description }}</strong>\n </p>\n }\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.type' | i18n }} :\n <strong>{{ metadataRules.userProfile.type }}</strong>\n </p>\n @if (metadataRules.userProfile.allowedValues) {\n @for (item of metadataRules.userProfile.allowedValues; track item) {\n <p class=\"a-p\">{{ item }}</p>\n }\n }\n </ng-template>\n </div>\n}\n" }]
82
82
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tbWV0YWRhdGEtcnVsZXMvYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzL2FkbWluLXNlbGVjdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLXNlbGVjdC1tZXRhZGF0YS1ydWxlcy9hZG1pbi1zZWxlY3QtbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJN0QsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQU0zRSxNQUFNLE9BQU8saUNBQWlDO2FBQ3JDLE9BQUUsR0FBRyxtQ0FBbUMsQUFBdEMsQ0FBdUM7SUFLaEQsWUFBb0IsS0FBaUIsRUFBVSxNQUFjLEVBQVUsS0FBcUI7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUg1RixRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFHMUIs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RCxLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLFVBQVUsRUFBRSxnQkFBZ0I7b0JBQzVCLFlBQVksRUFBRSxPQUFPO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXhFVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1RUNiOUMsZzdFQTJEQTs7MkZEOUNhLGlDQUFpQztrQkFKN0MsU0FBUzsrQkFDRSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlcyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1zZWxlY3QtbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblNlbGVjdE1ldGFkYXRhUnVsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblNlbGVjdE1ldGFkYXRhUnVsZXNDb21wb25lbnQnO1xuICBtZXRhZGF0YVJ1bGVzU2VsZWN0ZWQkOiBPYnNlcnZhYmxlPE1ldGFkYXRhUnVsZXMgfCBudWxsPjtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBjdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCQuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgICAgICBjb25zdCBlZGl0UGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ21ldGFkYXRhLXJ1bGVzJywgJ2VkaXQnLCBtZXRhZGF0YS5pZF0sIHtcbiAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBtZXRhZGF0YVBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdtZXRhZGF0YS1ydWxlcyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgY29uc3QgYWRkUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogZWRpdFBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbWV0YWRhdGEuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlOiBtZXRhZGF0YVBhdGgudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWRkUm91dGU6IGFkZFBhdGgudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsb3NlUGFuZWwoKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ21ldGFkYXRhLXJ1bGVzJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnVuc2VsZWN0TWV0YWRhdGEoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMudG9nZ2xlUGFuZWwoeyBwYW5lbE9wZW46IGZhbHNlIH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJtZXRhZGF0YVJ1bGVzU2VsZWN0ZWQkIHwgYXN5bmMgYXMgbWV0YWRhdGFSdWxlc1wiXG4gIFtpZF09XCIncGFuZWwtbWV0YS1ydWxlLScgKyBtZXRhZGF0YVJ1bGVzLmlkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIididXR0b24tbWV0YS1ydWxlLScgKyBtZXRhZGF0YVJ1bGVzLmlkXCJcbiAgY2xhc3M9XCJvLXBhbmVsXCJcbj5cbiAgPGRpdiBjbGFzcz1cIm8tcGFuZWxfX2hlYWRlclwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hY3Rpb24uY2xvc2VQYW5lbCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aDMgY2xhc3M9XCJhLWgzXCI+XG4gICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXRhaWxzJyB8IGkxOG4gfX1cbiAgICA8L2gzPlxuICA8L2Rpdj5cblxuICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmFkbWluLlwiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtZXRhZGF0YVJ1bGVEZXRhaWxzXCIgbmFtZT1cImRldGFpbHNcIj48L3ByeS10YWI+XG4gIDwvcHJ5LXRhYi1ncm91cD5cblxuICA8bmctdGVtcGxhdGUgI21ldGFkYXRhUnVsZURldGFpbHM+XG4gICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLnByb3BlcnRpZXMnIHwgaTE4biB9fTwvaDQ+XG4gICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmxhYmVsJyB8IGkxOG4gfX0gOlxuICAgICAgPHN0cm9uZz57eyBtZXRhZGF0YVJ1bGVzLm5hbWUgfX08L3N0cm9uZz5cbiAgICA8L3A+XG4gICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLWl0ZW0ubmFtZScgfCBpMThuIH19IDpcbiAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy5tZXRhZGF0YS5uYW1lIH19PC9zdHJvbmc+XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiYS1wXCIgKm5nSWY9XCJtZXRhZGF0YVJ1bGVzLm1ldGFkYXRhLmRlc2NyaXB0aW9uXCI+XG4gICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX0gOlxuICAgICAgPHN0cm9uZz57eyBtZXRhZGF0YVJ1bGVzLm1ldGFkYXRhLmRlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLnR5cGUnIHwgaTE4biB9fSA6XG4gICAgICA8c3Ryb25nPnt7IG1ldGFkYXRhUnVsZXMubWV0YWRhdGEudHlwZSB9fTwvc3Ryb25nPlxuICAgIDwvcD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YWRhdGFSdWxlcy5tZXRhZGF0YS5hbGxvd2VkVmFsdWVzXCI+XG4gICAgICA8cCBjbGFzcz1cImEtcFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1ldGFkYXRhUnVsZXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlc1wiPnt7IGl0ZW0gfX08L3A+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLm1ldGFkYXRhLXVzZXIubmFtZScgfCBpMThuIH19IDpcbiAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy51c2VyUHJvZmlsZS5uYW1lIH19PC9zdHJvbmc+XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiYS1wXCIgKm5nSWY9XCJtZXRhZGF0YVJ1bGVzLnVzZXJQcm9maWxlLmRlc2NyaXB0aW9uXCI+XG4gICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS11c2VyLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX0gOlxuICAgICAgPHN0cm9uZz57eyBtZXRhZGF0YVJ1bGVzLnVzZXJQcm9maWxlLmRlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS11c2VyLnR5cGUnIHwgaTE4biB9fSA6XG4gICAgICA8c3Ryb25nPnt7IG1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUudHlwZSB9fTwvc3Ryb25nPlxuICAgIDwvcD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YWRhdGFSdWxlcy51c2VyUHJvZmlsZS5hbGxvd2VkVmFsdWVzXCI+XG4gICAgICA8cCBjbGFzcz1cImEtcFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUuYWxsb3dlZFZhbHVlc1wiPnt7IGl0ZW0gfX08L3A+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tbWV0YWRhdGEtcnVsZXMvYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzL2FkbWluLXNlbGVjdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLXNlbGVjdC1tZXRhZGF0YS1ydWxlcy9hZG1pbi1zZWxlY3QtbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJN0QsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQU0zRSxNQUFNLE9BQU8saUNBQWlDO2FBQ3JDLE9BQUUsR0FBRyxtQ0FBbUMsQUFBdEMsQ0FBdUM7SUFLaEQsWUFBb0IsS0FBaUIsRUFBVSxNQUFjLEVBQVUsS0FBcUI7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUg1RixRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFHMUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FDVixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUN2RixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7aUJBQ3ZCLENBQUMsQ0FBQztnQkFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLFlBQVksQ0FBQyxXQUFXLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxNQUFNLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzs0QkFDM0QsS0FBSyxFQUFFLE1BQU07NEJBQ2IsSUFBSSxFQUFFLE1BQU07NEJBQ1osWUFBWSxFQUFFLE9BQU87NEJBQ3JCLFVBQVUsRUFBRSxnQkFBZ0I7NEJBQzVCLFlBQVksRUFBRSxPQUFPO3lCQUN0Qjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDO2dDQUN2QyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0NBQ2pCLEtBQUssRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFO2dDQUM5QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRTs2QkFDN0IsQ0FBQzs0QkFDRixLQUFLLEVBQUUsUUFBUTs0QkFDZixJQUFJLEVBQUUsUUFBUTs0QkFDZCxZQUFZLEVBQUUsT0FBTzs0QkFDckIsVUFBVSxFQUFFLGdCQUFnQjs0QkFDNUIsWUFBWSxFQUFFLE9BQU87eUJBQ3RCO3FCQUNGO2lCQUNGLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDdkIsT0FBTyxFQUFFO2dCQUNQO29CQUNFLE1BQU0sRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO29CQUN2RCxLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLFVBQVUsRUFBRSxnQkFBZ0I7b0JBQzVCLFlBQVksRUFBRSxPQUFPO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXhFVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1RUNiOUMsZ2tGQWlFQTs7MkZEcERhLGlDQUFpQztrQkFKN0MsU0FBUzsrQkFDRSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlcyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1zZWxlY3QtbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tc2VsZWN0LW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblNlbGVjdE1ldGFkYXRhUnVsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblNlbGVjdE1ldGFkYXRhUnVsZXNDb21wb25lbnQnO1xuICBtZXRhZGF0YVJ1bGVzU2VsZWN0ZWQkOiBPYnNlcnZhYmxlPE1ldGFkYXRhUnVsZXMgfCBudWxsPjtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBjdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm1ldGFkYXRhUnVsZXNTZWxlY3RlZCQuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgICAgICBjb25zdCBlZGl0UGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ21ldGFkYXRhLXJ1bGVzJywgJ2VkaXQnLCBtZXRhZGF0YS5pZF0sIHtcbiAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBtZXRhZGF0YVBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdtZXRhZGF0YS1ydWxlcyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgY29uc3QgYWRkUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogZWRpdFBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbWV0YWRhdGEuaWQsXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlOiBtZXRhZGF0YVBhdGgudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWRkUm91dGU6IGFkZFBhdGgudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsb3NlUGFuZWwoKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ21ldGFkYXRhLXJ1bGVzJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnVuc2VsZWN0TWV0YWRhdGEoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMudG9nZ2xlUGFuZWwoeyBwYW5lbE9wZW46IGZhbHNlIH0pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnbWV0YWRhdGFfcnVsZXMnLFxuICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIkBpZiAobWV0YWRhdGFSdWxlc1NlbGVjdGVkJCB8IGFzeW5jOyBhcyBtZXRhZGF0YVJ1bGVzKSB7XG4gIDxkaXZcbiAgICBbaWRdPVwiJ3BhbmVsLW1ldGEtcnVsZS0nICsgbWV0YWRhdGFSdWxlcy5pZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIididXR0b24tbWV0YS1ydWxlLScgKyBtZXRhZGF0YVJ1bGVzLmlkXCJcbiAgICBjbGFzcz1cIm8tcGFuZWxcIlxuICAgID5cbiAgICA8ZGl2IGNsYXNzPVwiby1wYW5lbF9faGVhZGVyXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2xvc2VQYW5lbCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hY3Rpb24uY2xvc2VQYW5lbCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXRhaWxzJyB8IGkxOG4gfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG4gICAgPHByeS10YWItZ3JvdXAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5hZG1pbi5cIj5cbiAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtZXRhZGF0YVJ1bGVEZXRhaWxzXCIgbmFtZT1cImRldGFpbHNcIj48L3ByeS10YWI+XG4gICAgPC9wcnktdGFiLWdyb3VwPlxuICAgIDxuZy10ZW1wbGF0ZSAjbWV0YWRhdGFSdWxlRGV0YWlscz5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5wcm9wZXJ0aWVzJyB8IGkxOG4gfX08L2g0PlxuICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubGFiZWwnIHwgaTE4biB9fSA6XG4gICAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy5uYW1lIH19PC9zdHJvbmc+XG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLm5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy5tZXRhZGF0YS5uYW1lIH19PC9zdHJvbmc+XG4gICAgICA8L3A+XG4gICAgICBAaWYgKG1ldGFkYXRhUnVsZXMubWV0YWRhdGEuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX0gOlxuICAgICAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy5tZXRhZGF0YS5kZXNjcmlwdGlvbiB9fTwvc3Ryb25nPlxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLnR5cGUnIHwgaTE4biB9fSA6XG4gICAgICAgIDxzdHJvbmc+e3sgbWV0YWRhdGFSdWxlcy5tZXRhZGF0YS50eXBlIH19PC9zdHJvbmc+XG4gICAgICA8L3A+XG4gICAgICBAaWYgKG1ldGFkYXRhUnVsZXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBAZm9yIChpdGVtIG9mIG1ldGFkYXRhUnVsZXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+e3sgaXRlbSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubWV0YWRhdGEtdXNlci5uYW1lJyB8IGkxOG4gfX0gOlxuICAgICAgICA8c3Ryb25nPnt7IG1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgPC9wPlxuICAgICAgQGlmIChtZXRhZGF0YVJ1bGVzLnVzZXJQcm9maWxlLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubWV0YWRhdGEtdXNlci5kZXNjcmlwdGlvbicgfCBpMThuIH19IDpcbiAgICAgICAgICA8c3Ryb25nPnt7IG1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUuZGVzY3JpcHRpb24gfX08L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgfVxuICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMubWV0YWRhdGEtdXNlci50eXBlJyB8IGkxOG4gfX0gOlxuICAgICAgICA8c3Ryb25nPnt7IG1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUudHlwZSB9fTwvc3Ryb25nPlxuICAgICAgPC9wPlxuICAgICAgQGlmIChtZXRhZGF0YVJ1bGVzLnVzZXJQcm9maWxlLmFsbG93ZWRWYWx1ZXMpIHtcbiAgICAgICAgQGZvciAoaXRlbSBvZiBtZXRhZGF0YVJ1bGVzLnVzZXJQcm9maWxlLmFsbG93ZWRWYWx1ZXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPnt7IGl0ZW0gfX08L3A+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbn1cbiJdfQ==