@provoly/dashboard 1.4.6 → 1.4.8

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 (510) hide show
  1. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +5 -3
  2. package/esm2022/admin/admin-routing.module.mjs +4 -4
  3. package/esm2022/admin/admin.module.mjs +4 -4
  4. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +3 -3
  5. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +3 -3
  6. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +3 -3
  7. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
  9. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +3 -3
  10. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +3 -3
  11. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +3 -3
  12. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
  13. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
  14. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +3 -3
  15. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +3 -3
  16. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +3 -3
  17. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +3 -3
  18. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +3 -3
  20. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
  21. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +3 -3
  22. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +3 -3
  24. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  25. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +3 -3
  26. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +3 -3
  27. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  28. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +3 -3
  29. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +3 -3
  30. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +3 -3
  31. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +3 -3
  32. package/esm2022/admin/components/admin-dataset/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
  33. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +3 -3
  34. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +3 -3
  35. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +3 -3
  36. package/esm2022/admin/components/admin-dataset/store/admin-dataset.service.mjs +3 -3
  37. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  38. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +3 -3
  39. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +3 -3
  40. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +3 -3
  41. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +3 -3
  42. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +3 -3
  43. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +3 -3
  44. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +3 -3
  45. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +3 -3
  46. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  47. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +3 -3
  48. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +3 -3
  49. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
  50. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +3 -3
  51. package/esm2022/admin/components/admin-links/admin-links.component.mjs +3 -3
  52. package/esm2022/admin/components/admin-links/store/links.effects.mjs +3 -3
  53. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +3 -3
  54. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +3 -3
  55. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +3 -3
  56. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +3 -3
  57. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +3 -3
  58. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +3 -3
  59. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +4 -4
  60. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +3 -3
  61. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +3 -3
  62. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +3 -3
  63. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +3 -3
  64. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +3 -3
  65. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +3 -3
  66. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +3 -3
  67. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +3 -3
  68. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +3 -3
  69. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +3 -3
  70. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +3 -3
  71. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +3 -3
  72. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +3 -3
  73. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +3 -3
  74. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +3 -3
  75. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +3 -3
  76. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +3 -3
  77. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +3 -3
  78. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +3 -3
  79. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +3 -3
  80. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +3 -3
  81. package/esm2022/admin/components/admin-title/admin-title.component.mjs +3 -3
  82. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +3 -3
  83. package/esm2022/admin/components/admin-user/admin-user.component.mjs +3 -3
  84. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +3 -3
  85. package/esm2022/admin/components/admin.component.mjs +3 -3
  86. package/esm2022/admin/components/association/association.component.mjs +3 -3
  87. package/esm2022/admin/components/shared/add-category-modal/add-category-modal.component.mjs +3 -3
  88. package/esm2022/admin/store/admin.effects.mjs +3 -3
  89. package/esm2022/admin/store/admin.service.mjs +3 -3
  90. package/esm2022/components/card/card.component.mjs +18 -18
  91. package/esm2022/components/card/card.module.mjs +4 -4
  92. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  93. package/esm2022/components/checkbox/checkbox.module.mjs +4 -4
  94. package/esm2022/components/color-picker/color-picker.component.mjs +3 -3
  95. package/esm2022/components/color-picker/color-picker.module.mjs +4 -4
  96. package/esm2022/components/data-format/data-format.module.mjs +4 -4
  97. package/esm2022/components/data-format/data-format.pipe.mjs +3 -3
  98. package/esm2022/components/expand-panel/expand-panel.component.mjs +6 -6
  99. package/esm2022/components/expand-panel/expand-panel.module.mjs +4 -4
  100. package/esm2022/components/filter/filter.module.mjs +4 -4
  101. package/esm2022/components/filter/filter.pipe.mjs +3 -3
  102. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +3 -3
  103. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +4 -4
  104. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +3 -3
  105. package/esm2022/components/metadata-editor/store/metadata.service.mjs +3 -3
  106. package/esm2022/components/metadata-editor/style/css.component.mjs +3 -3
  107. package/esm2022/components/page-loader/page-loader.component.mjs +3 -3
  108. package/esm2022/components/page-loader/page-loader.module.mjs +4 -4
  109. package/esm2022/components/paginator/paginator.component.mjs +3 -3
  110. package/esm2022/components/paginator/paginator.module.mjs +4 -4
  111. package/esm2022/components/paginator/style/css.component.mjs +3 -3
  112. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +4 -4
  113. package/esm2022/components/scheme-picker/scheme-picker.module.mjs +4 -4
  114. package/esm2022/components/scheme-picker/scheme.service.mjs +3 -3
  115. package/esm2022/components/stepper/step/step.component.mjs +3 -3
  116. package/esm2022/components/stepper/step-title.directive.mjs +3 -3
  117. package/esm2022/components/stepper/stepper.component.mjs +3 -3
  118. package/esm2022/components/stepper/stepper.module.mjs +4 -4
  119. package/esm2022/components/text-editor/component/text-editor.component.mjs +3 -3
  120. package/esm2022/components/text-editor/mdToHtml.pipe.mjs +3 -3
  121. package/esm2022/components/text-editor/service/text-editor.service.mjs +3 -3
  122. package/esm2022/components/text-editor/style/css.component.mjs +3 -3
  123. package/esm2022/components/text-editor/text-editor.module.mjs +4 -4
  124. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +16 -10
  125. package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +3 -3
  126. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  127. package/esm2022/dataset/dataset.module.mjs +4 -4
  128. package/esm2022/dataset/style/css.component.mjs +3 -3
  129. package/esm2022/filters/autocomplete/autocomplete.component.mjs +8 -5
  130. package/esm2022/filters/autocomplete/autocomplete.module.mjs +4 -4
  131. package/esm2022/filters/autocomplete/style/css.component.mjs +3 -3
  132. package/esm2022/filters/date/date-filter.component.mjs +5 -5
  133. package/esm2022/filters/date/date-filter.module.mjs +4 -4
  134. package/esm2022/filters/list/list-filter.component.mjs +6 -6
  135. package/esm2022/filters/list/list-filter.module.mjs +7 -7
  136. package/esm2022/filters/list/style/css.component.mjs +3 -3
  137. package/esm2022/filters/number/number-filter.component.mjs +11 -5
  138. package/esm2022/filters/number/number-filter.module.mjs +4 -4
  139. package/esm2022/filters/text/text-filter.component.mjs +11 -5
  140. package/esm2022/filters/text/text-filter.module.mjs +4 -4
  141. package/esm2022/import/components/form/import-form.component.mjs +3 -3
  142. package/esm2022/import/components/list/import-list.component.mjs +3 -3
  143. package/esm2022/import/components/version-modal/version-modal.component.mjs +3 -3
  144. package/esm2022/import/import-routing.module.mjs +4 -4
  145. package/esm2022/import/import.module.mjs +4 -4
  146. package/esm2022/import/store/import.effects.mjs +3 -3
  147. package/esm2022/import/store/import.service.mjs +3 -3
  148. package/esm2022/import/style/css.component.mjs +3 -3
  149. package/esm2022/lib/core/access/access.directive.mjs +3 -3
  150. package/esm2022/lib/core/access/access.guard.mjs +3 -3
  151. package/esm2022/lib/core/access/access.service.mjs +3 -3
  152. package/esm2022/lib/core/auth/geoAuth.service.mjs +3 -3
  153. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  154. package/esm2022/lib/core/components/about/pry-about.module.mjs +4 -4
  155. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  156. package/esm2022/lib/core/components/accordion/accordion.component.mjs +3 -3
  157. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +3 -3
  158. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +3 -3
  159. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +3 -3
  160. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +3 -3
  161. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +3 -3
  162. package/esm2022/lib/core/components/chips-selector/chips-selector.module.mjs +4 -4
  163. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +3 -3
  164. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +4 -4
  165. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +3 -3
  166. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -3
  167. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +3 -3
  168. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +3 -3
  169. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +4 -4
  170. package/esm2022/lib/core/components/ellipsis.directive.mjs +3 -3
  171. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +3 -3
  172. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +4 -4
  173. package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
  174. package/esm2022/lib/core/components/icon/icon.module.mjs +4 -4
  175. package/esm2022/lib/core/components/modal/modal.component.mjs +3 -3
  176. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +4 -4
  177. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +3 -3
  178. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  179. package/esm2022/lib/core/components/overlay/dialog.service.mjs +3 -3
  180. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +3 -3
  181. package/esm2022/lib/core/components/overlay/overlay.module.mjs +4 -4
  182. package/esm2022/lib/core/components/range/range.component.mjs +3 -3
  183. package/esm2022/lib/core/components/range/range.module.mjs +4 -4
  184. package/esm2022/lib/core/components/select/select.component.mjs +12 -6
  185. package/esm2022/lib/core/components/select/select.module.mjs +4 -4
  186. package/esm2022/lib/core/components/select-image/select-image.component.mjs +3 -3
  187. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +4 -4
  188. package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +3 -3
  189. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -3
  190. package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +4 -4
  191. package/esm2022/lib/core/components/share/share.module.mjs +4 -4
  192. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
  193. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +4 -4
  194. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +3 -3
  195. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +3 -3
  196. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +3 -3
  197. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +3 -3
  198. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +3 -3
  199. package/esm2022/lib/core/components/sort/sort.module.mjs +4 -4
  200. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +3 -3
  201. package/esm2022/lib/core/components/status-modal/status-modal.module.mjs +4 -4
  202. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
  203. package/esm2022/lib/core/components/tabs/tab.component.mjs +3 -3
  204. package/esm2022/lib/core/components/toggle/toggle.component.mjs +3 -3
  205. package/esm2022/lib/core/components/toggle/toggle.module.mjs +4 -4
  206. package/esm2022/lib/core/components/upload/upload.component.mjs +3 -3
  207. package/esm2022/lib/core/core.module.mjs +4 -4
  208. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +3 -3
  209. package/esm2022/lib/core/i18n/i18n.module.mjs +4 -4
  210. package/esm2022/lib/core/i18n/i18n.pipe.mjs +3 -3
  211. package/esm2022/lib/core/i18n/i18n.service.mjs +3 -3
  212. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  213. package/esm2022/lib/core/pipes/get-secured-image/get-secured-image.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/since-date/since-date.module.mjs +4 -4
  215. package/esm2022/lib/core/pipes/since-date/since-date.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/translate-id/translate-id.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +3 -3
  218. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +3 -3
  219. package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +3 -3
  220. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +3 -3
  221. package/esm2022/lib/core/store/category/category.effects.mjs +3 -3
  222. package/esm2022/lib/core/store/category/category.service.mjs +3 -3
  223. package/esm2022/lib/core/store/class/class.effects.mjs +3 -3
  224. package/esm2022/lib/core/store/class/class.service.mjs +3 -3
  225. package/esm2022/lib/core/store/config/config.effects.mjs +3 -3
  226. package/esm2022/lib/core/store/config/config.service.mjs +3 -3
  227. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +3 -3
  228. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +3 -3
  229. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +3 -3
  230. package/esm2022/lib/core/store/data-source/data-source.service.mjs +3 -3
  231. package/esm2022/lib/core/store/field/field.effects.mjs +3 -3
  232. package/esm2022/lib/core/store/field/field.service.mjs +3 -3
  233. package/esm2022/lib/core/store/image/image.effects.mjs +3 -3
  234. package/esm2022/lib/core/store/image/image.service.mjs +3 -3
  235. package/esm2022/lib/core/store/item/item.effects.mjs +3 -3
  236. package/esm2022/lib/core/store/item/item.service.mjs +3 -3
  237. package/esm2022/lib/core/store/raw/raw.service.mjs +3 -3
  238. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +3 -3
  239. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +3 -3
  240. package/esm2022/lib/core/store/search/search.actions.mjs +3 -3
  241. package/esm2022/lib/core/store/search/search.effects.mjs +3 -3
  242. package/esm2022/lib/core/store/search/search.service.mjs +3 -3
  243. package/esm2022/lib/core/symbol/symbol.service.mjs +3 -3
  244. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
  245. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +3 -3
  246. package/esm2022/lib/core/ws/websocket.service.mjs +3 -3
  247. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +3 -3
  248. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +3 -3
  249. package/esm2022/lib/dashboard/base-widget.module.mjs +4 -4
  250. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +3 -3
  251. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
  252. package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -3
  253. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +3 -3
  254. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +3 -3
  255. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +3 -3
  256. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
  257. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +3 -3
  258. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +3 -3
  259. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +5 -5
  260. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +3 -3
  261. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +3 -3
  262. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +3 -3
  263. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +3 -3
  264. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +3 -3
  265. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +3 -3
  266. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +3 -3
  267. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +3 -3
  268. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +3 -3
  269. package/esm2022/lib/dashboard/dashboard.module.mjs +4 -4
  270. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +7 -4
  271. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +4 -4
  272. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +10 -7
  273. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +15 -7
  274. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +3 -3
  275. package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +15 -4
  276. package/esm2022/lib/dashboard/filter/style/css.component.mjs +3 -3
  277. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +3 -3
  278. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
  279. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -3
  280. package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -3
  281. package/esm2022/lib/dashboard/store/refresh.service.mjs +3 -3
  282. package/esm2022/lib/dashboard/store/title.service.mjs +3 -3
  283. package/esm2022/lib/dashboard/store/wms.service.mjs +3 -3
  284. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +3 -3
  285. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +4 -4
  286. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  287. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +3 -3
  288. package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +15 -4
  289. package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
  290. package/esm2022/notification/components/notification/notification.component.mjs +3 -3
  291. package/esm2022/notification/notification.module.mjs +4 -4
  292. package/esm2022/notification/store/notification.effects.mjs +3 -3
  293. package/esm2022/notification/store/notification.service.mjs +3 -3
  294. package/esm2022/notification/style/css.component.mjs +3 -3
  295. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +3 -3
  296. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +3 -3
  297. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +3 -3
  298. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +3 -3
  299. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +3 -3
  300. package/esm2022/pipeline/pipeline.module.mjs +4 -4
  301. package/esm2022/pipeline/store/pipeline.effects.mjs +3 -3
  302. package/esm2022/pipeline/store/pipeline.service.mjs +3 -3
  303. package/esm2022/pipeline/style/css.component.mjs +3 -3
  304. package/esm2022/pipeline-components/filter/component/filter.component.mjs +3 -3
  305. package/esm2022/pipeline-components/filter/filter.module.mjs +4 -4
  306. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +3 -3
  307. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +4 -4
  308. package/esm2022/pipeline-components/noop/component/noop.component.mjs +3 -3
  309. package/esm2022/pipeline-components/noop/noop.module.mjs +4 -4
  310. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +3 -3
  311. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +4 -4
  312. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +3 -3
  313. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +4 -4
  314. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
  315. package/esm2022/presentation/components/presentation.component.mjs +5 -5
  316. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  317. package/esm2022/presentation/presentation.module.mjs +4 -4
  318. package/esm2022/presentation/style/css.component.mjs +3 -3
  319. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  320. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
  321. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
  322. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  323. package/esm2022/restitution/restitution.module.mjs +4 -4
  324. package/esm2022/restitution/style/css.component.mjs +3 -3
  325. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +3 -3
  326. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +3 -3
  327. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +3 -3
  328. package/esm2022/search/components/save-query/save-query.component.mjs +3 -3
  329. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +3 -3
  330. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
  331. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +3 -3
  332. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +3 -3
  333. package/esm2022/search/search-home/search-home.component.mjs +3 -3
  334. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
  335. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  336. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +3 -3
  337. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
  338. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
  339. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +3 -3
  340. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +3 -3
  341. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +3 -3
  342. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +3 -3
  343. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +3 -3
  344. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +3 -3
  345. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +3 -3
  346. package/esm2022/search/search-tools/search-tools.component.mjs +3 -3
  347. package/esm2022/search/search.module.mjs +4 -4
  348. package/esm2022/search/style/css.component.mjs +3 -3
  349. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
  350. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
  351. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +3 -3
  352. package/esm2022/toolbox/components/delete/delete.component.mjs +3 -3
  353. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
  354. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +3 -3
  355. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +3 -3
  356. package/esm2022/toolbox/components/edit-presentation/edit-presentation.component.mjs +3 -3
  357. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
  358. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
  359. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  360. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  361. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  362. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
  363. package/esm2022/toolbox/components/share/share.component.mjs +3 -3
  364. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +3 -3
  365. package/esm2022/toolbox/components/toolbox.component.mjs +3 -3
  366. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +3 -3
  367. package/esm2022/toolbox/shared/toolbox-action/toolbox-action.component.mjs +3 -3
  368. package/esm2022/toolbox/shared/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +3 -3
  369. package/esm2022/toolbox/style/css.component.mjs +3 -3
  370. package/esm2022/toolbox/toolbox.module.mjs +4 -4
  371. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
  372. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +4 -4
  373. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +3 -3
  374. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +4 -4
  375. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +29 -15
  376. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -1
  377. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +7 -6
  378. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +3 -3
  379. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +4 -4
  380. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +3 -3
  381. package/esm2022/widgets/widget-analytic/style/css.component.mjs +3 -3
  382. package/esm2022/widgets/widget-analytic/widget-analytic.module.mjs +4 -4
  383. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +3 -3
  384. package/esm2022/widgets/widget-chart/style/css.component.mjs +3 -3
  385. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +4 -4
  386. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +3 -3
  387. package/esm2022/widgets/widget-detail/style/css.component.mjs +3 -3
  388. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +4 -4
  389. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -3
  390. package/esm2022/widgets/widget-graph/style/css.component.mjs +3 -3
  391. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +4 -4
  392. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +3 -3
  393. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +3 -3
  394. package/esm2022/widgets/widget-iframe/style/css.component.mjs +3 -3
  395. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +4 -4
  396. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +3 -3
  397. package/esm2022/widgets/widget-image/style/css.component.mjs +3 -3
  398. package/esm2022/widgets/widget-image/widget-image.module.mjs +4 -4
  399. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +3 -3
  400. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +3 -3
  401. package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +2 -1
  402. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
  403. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +5 -5
  404. package/esm2022/widgets/widget-map/style/css.component.mjs +3 -3
  405. package/esm2022/widgets/widget-map/widget-map.module.mjs +4 -4
  406. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
  407. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +3 -3
  408. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +3 -3
  409. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +3 -3
  410. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +3 -3
  411. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +3 -3
  412. package/esm2022/widgets/widget-table/style/css.component.mjs +3 -3
  413. package/esm2022/widgets/widget-table/widget-table.module.mjs +4 -4
  414. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +3 -3
  415. package/esm2022/widgets/widget-template/style/css.component.mjs +3 -3
  416. package/esm2022/widgets/widget-template/widget-template.module.mjs +4 -4
  417. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
  418. package/esm2022/widgets/widget-tile/style/css.component.mjs +3 -3
  419. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +4 -4
  420. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +3 -3
  421. package/esm2022/widgets/widget-vega/style/css.component.mjs +3 -3
  422. package/esm2022/widgets/widget-vega/widget-vega.module.mjs +4 -4
  423. package/fesm2022/provoly-dashboard-admin.mjs +267 -267
  424. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  425. package/fesm2022/provoly-dashboard-components-card.mjs +22 -22
  426. package/fesm2022/provoly-dashboard-components-checkbox.mjs +7 -7
  427. package/fesm2022/provoly-dashboard-components-color-picker.mjs +7 -7
  428. package/fesm2022/provoly-dashboard-components-data-format.mjs +7 -7
  429. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
  430. package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
  431. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +16 -16
  432. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  433. package/fesm2022/provoly-dashboard-components-page-loader.mjs +7 -7
  434. package/fesm2022/provoly-dashboard-components-paginator.mjs +10 -10
  435. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +11 -11
  436. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  437. package/fesm2022/provoly-dashboard-components-stepper.mjs +13 -13
  438. package/fesm2022/provoly-dashboard-components-text-editor.mjs +16 -16
  439. package/fesm2022/provoly-dashboard-dataset.mjs +28 -22
  440. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  441. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +14 -11
  442. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  443. package/fesm2022/provoly-dashboard-filters-date.mjs +8 -8
  444. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  445. package/fesm2022/provoly-dashboard-filters-list.mjs +14 -14
  446. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  447. package/fesm2022/provoly-dashboard-filters-number.mjs +14 -8
  448. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  449. package/fesm2022/provoly-dashboard-filters-text.mjs +14 -8
  450. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  451. package/fesm2022/provoly-dashboard-import.mjs +26 -26
  452. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  453. package/fesm2022/provoly-dashboard-notification.mjs +19 -19
  454. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +7 -7
  455. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  456. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +7 -7
  457. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  458. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +7 -7
  459. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +7 -7
  460. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  461. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +7 -7
  462. package/fesm2022/provoly-dashboard-pipeline.mjs +28 -28
  463. package/fesm2022/provoly-dashboard-presentation.mjs +18 -18
  464. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  465. package/fesm2022/provoly-dashboard-restitution.mjs +19 -19
  466. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  467. package/fesm2022/provoly-dashboard-search.mjs +73 -73
  468. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  469. package/fesm2022/provoly-dashboard-toolbox.mjs +67 -67
  470. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  471. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -7
  472. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
  473. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +42 -26
  474. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  475. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +10 -10
  476. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  477. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  478. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  479. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -10
  480. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +10 -10
  481. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  482. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +13 -13
  483. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +10 -10
  484. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +21 -20
  485. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  486. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +25 -25
  487. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  488. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +10 -10
  489. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +10 -10
  490. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  491. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +10 -10
  492. package/fesm2022/provoly-dashboard.mjs +492 -450
  493. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  494. package/filters/autocomplete/autocomplete.component.d.ts +1 -0
  495. package/filters/list/list-filter.module.d.ts +1 -1
  496. package/filters/number/number-filter.component.d.ts +1 -0
  497. package/filters/text/text-filter.component.d.ts +1 -0
  498. package/lib/core/components/select/select.component.d.ts +3 -1
  499. package/lib/core/model/filter.interface.d.ts +1 -0
  500. package/lib/core/store/search/search.actions.d.ts +4 -4
  501. package/lib/core/store/search/search.effects.d.ts +3 -3
  502. package/lib/dashboard/filter/base-filter.component.d.ts +2 -1
  503. package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +2 -1
  504. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +3 -2
  505. package/lib/dashboard/store/dashboard.actions.d.ts +2 -2
  506. package/lib/dashboard/store/dashboard.effects.d.ts +3 -3
  507. package/package.json +7 -7
  508. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -0
  509. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +1 -0
  510. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +1 -0
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
2
  import { DashboardActions, DashboardSelectors, DataSourceActions, DataSourceSelectors, PRY_ACCESS_TOKEN, PryStatusModalComponent, SearchActions, SubscriptionnerDirective, ViewMode } from '@provoly/dashboard';
3
3
  import { map, of } from 'rxjs';
4
+ import { tap } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@ngrx/store";
6
7
  import * as i2 from "@provoly/dashboard";
@@ -9,11 +10,13 @@ import * as i4 from "../dataset-version-form/dataset-version-form.component";
9
10
  import * as i5 from "@provoly/dashboard/components/text-editor";
10
11
  let nextCompId = 0;
11
12
  export class PryDatasetDetailComponent extends SubscriptionnerDirective {
12
- constructor(store, access, dialog) {
13
+ constructor(store, access, dialog, titleService, i18nService) {
13
14
  super();
14
15
  this.store = store;
15
16
  this.access = access;
16
17
  this.dialog = dialog;
18
+ this.titleService = titleService;
19
+ this.i18nService = i18nService;
17
20
  this.goToCatalog = new EventEmitter();
18
21
  this.widgetManifest = {
19
22
  table: {
@@ -57,9 +60,11 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
57
60
  excludeGeo: false,
58
61
  from: 'PryDatasetDetailComponent.ngOnInit()'
59
62
  }));
60
- this.currentDataset$ = this.store
61
- .select(DataSourceSelectors.datasets)
62
- .pipe(map((datasets) => datasets.find((currentDataset) => currentDataset.id === this.dataset.id)));
63
+ this.currentDataset$ = this.store.select(DataSourceSelectors.datasets).pipe(map((datasets) => datasets.find((currentDataset) => currentDataset.id === this.dataset.id)), tap((dataset) => {
64
+ if (dataset) {
65
+ this.titleService.changeTitle(this.i18nService.instant('title.list-dataset-d', { name: dataset.name }, false));
66
+ }
67
+ }));
63
68
  this.datasetVersions$ = this.store.select(DataSourceSelectors.datasetVersions);
64
69
  this.subscriptions.add(this.datasetVersions$.subscribe((versions) => {
65
70
  if (this.selectedVersion) {
@@ -74,6 +79,7 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
74
79
  }
75
80
  goBack() {
76
81
  this.goToCatalog.emit();
82
+ this.titleService.changeTitle(this.i18nService.instant('title.list-dataset', {}, false));
77
83
  this.store.dispatch(DataSourceActions.dataset.listVersions({}));
78
84
  }
79
85
  refresh() {
@@ -161,20 +167,20 @@ export class PryDatasetDetailComponent extends SubscriptionnerDirective {
161
167
  this.store.dispatch(DataSourceActions.dataset.confirmDeleteVersion({ version }));
162
168
  $event?.stopPropagation();
163
169
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(currentDataset$ | async)?.activeVersion?.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' + getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i2.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i2.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i2.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }, { kind: "pipe", type: i2.SinceDatePipe, name: "sinceDate" }] }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.PryDialogService }, { token: i2.PryTitleService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h1 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h1>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon\n *ngIf=\"(currentDataset$ | async)?.activeVersion?.id === version.id\"\n iconSvg=\"check\"\n class=\"check\"\n ></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' +\n getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i2.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i2.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i2.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i4.PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }, { kind: "pipe", type: i2.SinceDatePipe, name: "sinceDate" }] }); }
166
172
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
168
174
  type: Component,
169
- args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"(currentDataset$ | async)?.activeVersion?.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' + getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n" }]
175
+ args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h1 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h1>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ dataset.activeVersion.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon\n *ngIf=\"(currentDataset$ | async)?.activeVersion?.id === version.id\"\n iconSvg=\"check\"\n class=\"check\"\n ></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n <div\n *ngIf=\"version.state !== 'DELETING'\"\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' +\n getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n \"\n >\n <ng-container\n *ngIf=\"(canModify$ | async) && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\"\n >\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n <td>\n <ng-container\n *ngIf=\"\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n \"\n >\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n" }]
170
176
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryBaseAccess, decorators: [{
171
177
  type: Optional
172
178
  }, {
173
179
  type: Inject,
174
180
  args: [PRY_ACCESS_TOKEN]
175
- }] }, { type: i2.PryDialogService }], propDecorators: { dataset: [{
181
+ }] }, { type: i2.PryDialogService }, { type: i2.PryTitleService }, { type: i2.PryI18nService }], propDecorators: { dataset: [{
176
182
  type: Input
177
183
  }], goToCatalog: [{
178
184
  type: Output
179
185
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFM0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFxQ3JFLFlBQ1UsS0FBWSxFQUM0QixNQUFxQixFQUM3RCxNQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDNEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUM3RCxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQXRDeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0ws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QWUsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQStCO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF1QixFQUFFLE1BQWM7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQTVMVSx5QkFBeUIsdUNBdUNkLGdCQUFnQjtrR0F2QzNCLHlCQUF5QiwwSkMzQnRDLDR6VEFrUUE7OzJGRHZPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkEwQzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3dFQXRDN0IsT0FBTztzQkFBZixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgUmVzdWx0U2V0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZGF0YXNldC1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXNldC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXREZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhc2V0ITogRGF0YXNldDtcbiAgQE91dHB1dCgpIGdvVG9DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB3aWRnZXRNYW5pZmVzdCA9IHtcbiAgICB0YWJsZToge1xuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH0sXG4gICAgbWFwOiB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxMiwgd2lkdGg6IDEyIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogWycnXVxuICAgIH1cbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH07XG4gIHByb3RlY3RlZCByZWFkb25seSBWaWV3TW9kZSA9IFZpZXdNb2RlO1xuICBjb21wSWQ6IG51bWJlciA9IDA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgZGF0YXNldEl0ZW1zJDogT2JzZXJ2YWJsZTxSZXN1bHRTZXRzIHwgbnVsbD47XG4gIHB1YmxpYyBkYXRhc2V0VmVyc2lvbnMkITogT2JzZXJ2YWJsZTxEYXRhc2V0VmVyc2lvbltdPjtcbiAgc2VsZWN0ZWREYXRhc2V0VmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICBjYW5Nb2RpZnkkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VycmVudERhdGFzZXQkITogT2JzZXJ2YWJsZTxEYXRhc2V0IHwgdW5kZWZpbmVkPjtcblxuICBpc1BhbmVsT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFZlcnNpb24/OiBEYXRhc2V0VmVyc2lvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByb3RlY3RlZCBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRhdGFzZXRJdGVtcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXNoYm9hcmRFZGl0aW9uTW9kZSkuc3Vic2NyaWJlKChlZGl0aW9uTW9kZSkgPT4ge1xuICAgICAgICBpZiAoZWRpdGlvbk1vZGUpIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSh7fSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYW5Nb2RpZnkkID0gdGhpcy5hY2Nlc3M/LmNhbk1vZGlmeURhdGFzZXQodGhpcy5kYXRhc2V0KSA/PyBvZihmYWxzZSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9uc0J5RGF0YXNldElkKHsgaWQ6IHRoaXMuZGF0YXNldC5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlbW92ZUZpbHRlcnMoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgZXhjbHVkZUdlbzogZmFsc2UsXG4gICAgICAgIGZyb206ICdQcnlEYXRhc2V0RGV0YWlsQ29tcG9uZW50Lm5nT25Jbml0KCknXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmN1cnJlbnREYXRhc2V0JCA9IHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5kYXRhc2V0cylcbiAgICAgIC5waXBlKG1hcCgoZGF0YXNldHMpID0+IGRhdGFzZXRzLmZpbmQoKGN1cnJlbnREYXRhc2V0KSA9PiBjdXJyZW50RGF0YXNldC5pZCA9PT0gdGhpcy5kYXRhc2V0LmlkKSkpO1xuICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldFZlcnNpb25zKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kYXRhc2V0VmVyc2lvbnMkLnN1YnNjcmliZSgodmVyc2lvbnMpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWZXJzaW9uKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB7XG4gICAgICAgICAgICAuLi50aGlzLnNlbGVjdGVkVmVyc2lvbixcbiAgICAgICAgICAgIC4uLnZlcnNpb25zLmZpbmQoKHZlcnNpb24pID0+IHZlcnNpb24uaWQgPT09IHRoaXMuc2VsZWN0ZWRWZXJzaW9uPy5pZClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLndpZGdldE1hbmlmZXN0Wyd0YWJsZSddLmRhdGFzb3VyY2UgPSBbdGhpcy5kYXRhc2V0LmlkXTtcbiAgICB0aGlzLndpZGdldE1hbmlmZXN0WydtYXAnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb1RvQ2F0YWxvZy5lbWl0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucyh7fSkpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICBpZDogdGhpcy5kYXRhc2V0LmlkLFxuICAgICAgICBleGNsdWRlR2VvOiBmYWxzZSxcbiAgICAgICAgZnJvbTogJ1ByeURhdGFzZXREZXRhaWxDb21wb25lbnQucmVmcmVzaCgpJ1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5sb2FkRGF0YXNldCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zQnlEYXRhc2V0SWQoeyBpZDogdGhpcy5kYXRhc2V0LmlkIH0pKTtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudDogRXZlbnQsIHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0VmVyc2lvbiA9IHZlcnNpb247XG4gICAgc3dpdGNoICh2ZXJzaW9uLnN0YXRlKSB7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICB0aGlzLmRlYWN0aXZhdGVWZXJzaW9uKHZlcnNpb24pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0lOQUNUSVZFJzpcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3VsdEVycm9ycygkZXZlbnQ6IEV2ZW50LCB2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVN0YXR1c01vZGFsQ29tcG9uZW50LCB7IGRhdGE6IHsgdmVyc2lvbjogdmVyc2lvbiB9IH0pO1xuICB9XG5cbiAgZ2V0VmVyc2lvblRvb2x0aXBDb250ZW50KHZlcnNpb246IERhdGFzZXRWZXJzaW9uLCBhY3RpdmVWZXJzaW9uSWQ/OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0VSUk9SJzpcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XG4gICAgICBjYXNlICdBQ1RJVkUnOlxuICAgICAgICByZXR1cm4gdmVyc2lvbi5pZCA9PT0gYWN0aXZlVmVyc2lvbklkID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnO1xuICAgICAgY2FzZSAnTE9BRElORyc6XG4gICAgICBjYXNlICdJTkRFWElORyc6XG4gICAgICAgIHJldHVybiAnbG9hZGluZyc7XG4gICAgICBjYXNlICdJTkFDVElWRSc6XG4gICAgICAgIHJldHVybiAnaW52YWxpZCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3Vua25vd24nO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5kZWFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmFjdGl2YXRlRGF0YXNldFZlcnNpb24oe1xuICAgICAgICBkYXRhc2V0SWQ6IHRoaXMuZGF0YXNldC5pZCxcbiAgICAgICAgdmVyc2lvbklkOiB2ZXJzaW9uLmlkXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblRhYlN3aXRjaCgkZXZlbnQ6IG51bWJlcikge1xuICAgIGlmIChbMCwgMSwgMl0uaW5jbHVkZXMoJGV2ZW50KSkge1xuICAgICAgdGhpcy5pc1BhbmVsT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBhbmVsKHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgaWYgKHNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSBzZWxlY3RlZFZlcnNpb247XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gIXRoaXMuaXNQYW5lbE9wZW47XG4gICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBlZGl0VmVyc2lvbigpIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSB0cnVlO1xuICB9XG5cbiAgZm9ybVZhbGlkYXRlZCgkZXZlbnQ6IFBhcnRpYWw8RGF0YXNldFZlcnNpb24+KSB7XG4gICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gZmFsc2U7XG4gIH1cblxuICBhc2tEZWxldGUodmVyc2lvbjogRGF0YXNldFZlcnNpb24sICRldmVudD86IEV2ZW50KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmNvbmZpcm1EZWxldGVWZXJzaW9uKHsgdmVyc2lvbiB9KSk7XG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJnb0JhY2soKVwiPnt7ICdAcHJ5LmRhdGFzZXQucmV0dXJuVG9MaXN0JyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAge3sgJ0BwcnkuZGF0YXNldC5yZWZyZXNoJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dFwiPlxuICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImEtaDFcIj57eyAoY3VycmVudERhdGFzZXQkIHwgYXN5bmMpPy5uYW1lIH19PC9oMj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWRldGFpbF9fY29udGVudFwiPlxuICAgICAgICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmRhdGFzZXQuXCIgKGNsaWNrZWRUYWJJZHgpPVwib25UYWJTd2l0Y2goJGV2ZW50KVwiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJpbmZvcm1hdGlvblwiIG5hbWU9XCJpbmZvcm1hdGlvblwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwidGFibGVcIiBuYW1lPVwiZGF0YVwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwibWFwXCIgbmFtZT1cIm1hcFwiPjwvcHJ5LXRhYj5cbiAgICAgICAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldFZlcnNpb25zXCIgbmFtZT1cInZlcnNpb25IaXN0b3J5XCI+PC9wcnktdGFiPlxuICAgICAgICA8L3ByeS10YWItZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAoaXNQYW5lbE9wZW4pIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1kYXRhc2V0LWxheW91dF9fcGFuZWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9faGVhZGVyIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LXNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgPGgzPnt7ICdAcHJ5LmRhdGFzZXQuaW5mb3JtYXRpb24nIHwgaTE4biB9fTwvaDM+XG4gICAgICAgIDxidXR0b24gcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFuZWxfX2NvbnRlbnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtblwiPlxuICAgICAgICBAaWYgKCFpc0VkaXRpbmdWZXJzaW9uKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICAgKHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/P1xuICAgICAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjZXInIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkVmVyc2lvbj8ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgIHNlbGVjdGVkVmVyc2lvbj8uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2FkbWluJywgcGFnZTogJ2xpc3QtZGF0YXNldCcsIGFjdGlvbjogJ2VkaXRfdmVyc2lvbicgfVwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgdS1zZWxmLWVuZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdFZlcnNpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLmVkaXQnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8cHJ5LWRhdGFzZXQtdmVyc2lvbi1mb3JtXG4gICAgICAgICAgICBbdmVyc2lvbl09XCJzZWxlY3RlZFZlcnNpb25cIlxuICAgICAgICAgICAgKGZvcm1WYWxpZGF0ZWQpPVwiZm9ybVZhbGlkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9wcnktZGF0YXNldC12ZXJzaW9uLWZvcm0+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbmZvcm1hdGlvbj5cbiAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1jb2x1bW4gby1kYXRhc2V0LWRldGFpbF9faW5mb3JtYXRpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgZGF0YXNldC5kZXNjcmlwdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoZGF0YXNldC5hY3RpdmVWZXJzaW9uKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24ucHJvZHVjdGlvbkRhdGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAoZGF0YXNldC5hY3RpdmVWZXJzaW9uLnByb2R1Y3Rpb25EYXRlIHwgZGF0ZTogJ2RkLU1NLXl5eXksIEhIOm1tJykgPz9cbiAgICAgICAgICAgICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bilcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBkYXRhc2V0LmFjdGl2ZVZlcnNpb24ucHJvZHVjZXIgPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2ZXJzaW9uLWluZm9ybWF0aW9uXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgZGF0YXNldC5hY3RpdmVWZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIHwgbWRUb0h0bWxcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgPHA+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC50YWdzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXdyYXBcIj5cbiAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgZGF0YXNldC5jYXRlZ29yaWVzOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwIC1tZFwiPiB7eyBjYXRlZ29yeS5uYW1lIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ3RhYmxlJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbWFwPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWNvbnRhaW5lclwiPlxuICAgIDxwcnktZGFzaGJvYXJkIFtzdGF0aWNEYXNoYm9hcmRdPVwieyB3aWRnZXRzOiBbd2lkZ2V0TWFuaWZlc3RbJ21hcCddXSB9XCI+PC9wcnktZGFzaGJvYXJkPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RhdGFzZXRWZXJzaW9ucz5cbiAgPGRpdiBjbGFzcz1cImRhdGFzZXQtZGV0YWlsX190YWJsZSB0YWJsZS1jb250YWluZXJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJhLXRhYmxlXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24udGl0bGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmVyc2lvbiBvZiBkYXRhc2V0VmVyc2lvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCh2ZXJzaW9uKVwiXG4gICAgICAgICAgW2NsYXNzLi1zZWxlY3RlZF09XCJ2ZXJzaW9uLmlkID09PSBzZWxlY3RlZFZlcnNpb24/LmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7IHZlcnNpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiKGN1cnJlbnREYXRhc2V0JCB8IGFzeW5jKT8uYWN0aXZlVmVyc2lvbj8uaWQgPT09IHZlcnNpb24uaWRcIiBpY29uU3ZnPVwiY2hlY2tcIiBjbGFzcz1cImNoZWNrXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLXRvb2x0aXBcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwidmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IHNpbmNlRGF0ZTogeyBvbmx5TG9jYWxlOiB0cnVlIH0gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgKHZlcnNpb24uaWQgPT09IChjdXJyZW50RGF0YXNldCQgfCBhc3luYyk/LmFjdGl2ZVZlcnNpb24/LmlkXG4gICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnZlcnNpb24uc3RhdGUuY3VycmVudGx5QWN0aXZlJ1xuICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLicgKyB2ZXJzaW9uLnN0YXRlXG4gICAgICAgICAgICAgICkgfCBpMThuXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInZlcnNpb24uc3RhdGUgIT09ICdERUxFVElORydcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1tZFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAnQHByeS5kYXRhc2V0LnRvb2x0aXAuJyArIGdldFZlcnNpb25Ub29sdGlwQ29udGVudCh2ZXJzaW9uLCAoY3VycmVudERhdGFzZXQkIHwgYXN5bmMpPy5hY3RpdmVWZXJzaW9uPy5pZCkgfCBpMThuXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdMT0FESU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdJTkRFWElORycgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnRVJST1InICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0RFTEVUSU5HJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoY2FuTW9kaWZ5JCB8IGFzeW5jKSAmJiAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnYWN0aXZhdGUnIH1cIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkFjdGlvbigkZXZlbnQsIHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uJyArIHZlcnNpb24uc3RhdGUgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0taW5mby1pY29uIGEtdG9vbHRpcCAtdG9vbHRpcC13aWR0aC1sZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC50b29sdGlwLmludmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0BwcnkuZGF0YXNldC50b29sdGlwLnZhbGlkYXRlQnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB8IGkxOG5cbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPmk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmVyc2lvbi5oYXNXYXJuaW5ncyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgYS1idG4tLWljb24tdGV4dCBuZy1zdGFyLWluc2VydGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uc3VsdEVycm9ycygkZXZlbnQsIHZlcnNpb24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyA/ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLkVSUk9SJyA6ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLldBUk5JTkcnKVxuICAgICAgICAgICAgICAgICAgICB8IGkxOG5cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChjYW5Nb2RpZnkkIHwgYXN5bmMpICYmXG4gICAgICAgICAgICAgICAgKHZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUicgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0lOQUNUSVZFJylcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhc2tEZWxldGUodmVyc2lvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi5kZWxldGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9jb21wb25lbnRzL2RhdGFzZXQtZGV0YWlsL2RhdGFzZXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWRldGFpbC9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFJaEIsdUJBQXVCLEVBR3ZCLGFBQWEsRUFDYix3QkFBd0IsRUFDeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXJDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQU1uQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsd0JBQXdCO0lBcUNyRSxZQUNVLEtBQVksRUFDNEIsTUFBcUIsRUFDN0QsTUFBd0IsRUFDeEIsWUFBNkIsRUFDN0IsV0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFOQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQzRCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDN0QsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsaUJB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QUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakYsTUFBTSxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBdk1VLHlCQUF5Qix1Q0F1Q2QsZ0JBQWdCO2tHQXZDM0IseUJBQXlCLDBKQzlCdEMsMDRUQXVRQTs7MkZEek9hLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQTBDM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7bUlBdEM3QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBEYXRhc2V0LFxuICBEYXRhc2V0VmVyc2lvbixcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIFBSWV9BQ0NFU1NfVE9LRU4sXG4gIFByeUJhc2VBY2Nlc3MsXG4gIFByeURpYWxvZ1NlcnZpY2UsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgUHJ5VGl0bGVTZXJ2aWNlLFxuICBSZXN1bHRTZXRzLFxuICBTZWFyY2hBY3Rpb25zLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUsXG4gIFZpZXdNb2RlLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5sZXQgbmV4dENvbXBJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1kYXRhc2V0LWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGF0YXNldERldGFpbENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgZ29Ub0NhdGFsb2cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHdpZGdldE1hbmlmZXN0ID0ge1xuICAgIHRhYmxlOiB7XG4gICAgICBoZWFkZXI6IHRydWUsXG4gICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIGhlaWdodDogMTIsIHdpZHRoOiAxMiB9LFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfSxcbiAgICBtYXA6IHtcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgICB0eXBlOiAnbWFwJyxcbiAgICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCBoZWlnaHQ6IDEyLCB3aWR0aDogMTIgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBhdXRvbWF0aWNMYXllcnM6IHRydWVcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBbJyddXG4gICAgfVxuICB9IGFzIHsgW2tleTogc3RyaW5nXTogV2lkZ2V0TWFuaWZlc3QgfTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFZpZXdNb2RlID0gVmlld01vZGU7XG4gIGNvbXBJZDogbnVtYmVyID0gMDtcbiAgdGFiOiBudW1iZXIgPSAwO1xuICBkYXRhc2V0SXRlbXMkOiBPYnNlcnZhYmxlPFJlc3VsdFNldHMgfCBudWxsPjtcbiAgcHVibGljIGRhdGFzZXRWZXJzaW9ucyQhOiBPYnNlcnZhYmxlPERhdGFzZXRWZXJzaW9uW10+O1xuICBzZWxlY3RlZERhdGFzZXRWZXJzaW9uPzogRGF0YXNldFZlcnNpb247XG4gIHNlbGVjdGVkTW9kZTogVmlld01vZGUgPSBWaWV3TW9kZS5DT05TVUxUO1xuICBpc0VkaXRpbmdWZXJzaW9uID0gZmFsc2U7XG4gIGNhbk1vZGlmeSQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBjdXJyZW50RGF0YXNldCQhOiBPYnNlcnZhYmxlPERhdGFzZXQgfCB1bmRlZmluZWQ+O1xuXG4gIGlzUGFuZWxPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUFJZX0FDQ0VTU19UT0tFTikgcHJvdGVjdGVkIGFjY2VzczogUHJ5QmFzZUFjY2VzcyxcbiAgICBwcml2YXRlIGRpYWxvZzogUHJ5RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUHJ5VGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhc2V0SXRlbXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpO1xuICAgIHRoaXMuY29tcElkID0gbmV4dENvbXBJZCsrO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGFzaGJvYXJkRWRpdGlvbk1vZGUpLnN1YnNjcmliZSgoZWRpdGlvbk1vZGUpID0+IHtcbiAgICAgICAgaWYgKGVkaXRpb25Nb2RlKSB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudG9nZ2xlRWRpdGlvbk1vZGUoe30pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FuTW9kaWZ5JCA9IHRoaXMuYWNjZXNzPy5jYW5Nb2RpZnlEYXRhc2V0KHRoaXMuZGF0YXNldCkgPz8gb2YoZmFsc2UpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnNCeURhdGFzZXRJZCh7IGlkOiB0aGlzLmRhdGFzZXQuaWQgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZW1vdmVGaWx0ZXJzKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5uZ09uSW5pdCgpJ1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5jdXJyZW50RGF0YXNldCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKS5waXBlKFxuICAgICAgbWFwKChkYXRhc2V0cykgPT4gZGF0YXNldHMuZmluZCgoY3VycmVudERhdGFzZXQpID0+IGN1cnJlbnREYXRhc2V0LmlkID09PSB0aGlzLmRhdGFzZXQuaWQpKSxcbiAgICAgIHRhcCgoZGF0YXNldCkgPT4ge1xuICAgICAgICBpZiAoZGF0YXNldCkge1xuICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLmNoYW5nZVRpdGxlKFxuICAgICAgICAgICAgdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCd0aXRsZS5saXN0LWRhdGFzZXQtZCcsIHsgbmFtZTogZGF0YXNldC5uYW1lIH0sIGZhbHNlKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YXNldFZlcnNpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldFZlcnNpb25zKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kYXRhc2V0VmVyc2lvbnMkLnN1YnNjcmliZSgodmVyc2lvbnMpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWZXJzaW9uKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB7XG4gICAgICAgICAgICAuLi50aGlzLnNlbGVjdGVkVmVyc2lvbixcbiAgICAgICAgICAgIC4uLnZlcnNpb25zLmZpbmQoKHZlcnNpb24pID0+IHZlcnNpb24uaWQgPT09IHRoaXMuc2VsZWN0ZWRWZXJzaW9uPy5pZClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLndpZGdldE1hbmlmZXN0Wyd0YWJsZSddLmRhdGFzb3VyY2UgPSBbdGhpcy5kYXRhc2V0LmlkXTtcbiAgICB0aGlzLndpZGdldE1hbmlmZXN0WydtYXAnXS5kYXRhc291cmNlID0gW3RoaXMuZGF0YXNldC5pZF07XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb1RvQ2F0YWxvZy5lbWl0KCk7XG4gICAgdGhpcy50aXRsZVNlcnZpY2UuY2hhbmdlVGl0bGUodGhpcy5pMThuU2VydmljZS5pbnN0YW50KCd0aXRsZS5saXN0LWRhdGFzZXQnLCB7fSwgZmFsc2UpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubGlzdFZlcnNpb25zKHt9KSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgIGlkOiB0aGlzLmRhdGFzZXQuaWQsXG4gICAgICAgIGV4Y2x1ZGVHZW86IGZhbHNlLFxuICAgICAgICBmcm9tOiAnUHJ5RGF0YXNldERldGFpbENvbXBvbmVudC5yZWZyZXNoKCknXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmxvYWREYXRhc2V0KCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC5saXN0VmVyc2lvbnNCeURhdGFzZXRJZCh7IGlkOiB0aGlzLmRhdGFzZXQuaWQgfSkpO1xuICB9XG5cbiAgc3dpdGNoKG51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy50YWIgPSBudW1iZXI7XG4gIH1cblxuICBoYW5kbGVCdXR0b25BY3Rpb24oJGV2ZW50OiBFdmVudCwgdmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICBzd2l0Y2ggKHZlcnNpb24uc3RhdGUpIHtcbiAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZVZlcnNpb24odmVyc2lvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSU5BQ1RJVkUnOlxuICAgICAgICB0aGlzLmFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjb25zdWx0RXJyb3JzKCRldmVudDogRXZlbnQsIHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oUHJ5U3RhdHVzTW9kYWxDb21wb25lbnQsIHsgZGF0YTogeyB2ZXJzaW9uOiB2ZXJzaW9uIH0gfSk7XG4gIH1cblxuICBnZXRWZXJzaW9uVG9vbHRpcENvbnRlbnQodmVyc2lvbjogRGF0YXNldFZlcnNpb24sIGFjdGl2ZVZlcnNpb25JZD86IHN0cmluZykge1xuICAgIHN3aXRjaCAodmVyc2lvbi5zdGF0ZSkge1xuICAgICAgY2FzZSAnRVJST1InOlxuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgIHJldHVybiB2ZXJzaW9uLmlkID09PSBhY3RpdmVWZXJzaW9uSWQgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSc7XG4gICAgICBjYXNlICdMT0FESU5HJzpcbiAgICAgIGNhc2UgJ0lOREVYSU5HJzpcbiAgICAgICAgcmV0dXJuICdsb2FkaW5nJztcbiAgICAgIGNhc2UgJ0lOQUNUSVZFJzpcbiAgICAgICAgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWFjdGl2YXRlVmVyc2lvbih2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmRlYWN0aXZhdGVEYXRhc2V0VmVyc2lvbih7XG4gICAgICAgIGRhdGFzZXRJZDogdGhpcy5kYXRhc2V0LmlkLFxuICAgICAgICB2ZXJzaW9uSWQ6IHZlcnNpb24uaWRcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVWZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuYWN0aXZhdGVEYXRhc2V0VmVyc2lvbih7XG4gICAgICAgIGRhdGFzZXRJZDogdGhpcy5kYXRhc2V0LmlkLFxuICAgICAgICB2ZXJzaW9uSWQ6IHZlcnNpb24uaWRcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uVGFiU3dpdGNoKCRldmVudDogbnVtYmVyKSB7XG4gICAgaWYgKFswLCAxLCAyXS5pbmNsdWRlcygkZXZlbnQpKSB7XG4gICAgICB0aGlzLmlzUGFuZWxPcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlUGFuZWwoc2VsZWN0ZWRWZXJzaW9uPzogRGF0YXNldFZlcnNpb24pIHtcbiAgICBpZiAoc2VsZWN0ZWRWZXJzaW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbiA9IHNlbGVjdGVkVmVyc2lvbjtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5pc0VkaXRpbmdWZXJzaW9uID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNQYW5lbE9wZW4gPSAhdGhpcy5pc1BhbmVsT3BlbjtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGVkaXRWZXJzaW9uKCkge1xuICAgIHRoaXMuaXNFZGl0aW5nVmVyc2lvbiA9IHRydWU7XG4gIH1cblxuICBmb3JtVmFsaWRhdGVkKCRldmVudDogUGFydGlhbDxEYXRhc2V0VmVyc2lvbj4pIHtcbiAgICB0aGlzLmlzRWRpdGluZ1ZlcnNpb24gPSBmYWxzZTtcbiAgfVxuXG4gIGFza0RlbGV0ZSh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbiwgJGV2ZW50PzogRXZlbnQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuY29uZmlybURlbGV0ZVZlcnNpb24oeyB2ZXJzaW9uIH0pKTtcbiAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXRfX3Rvb2xib3hcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImdvQmFjaygpXCI+e3sgJ0BwcnkuZGF0YXNldC5yZXR1cm5Ub0xpc3QnIHwgaTE4biB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJyZWZyZXNoKClcIj5cbiAgICB7eyAnQHByeS5kYXRhc2V0LnJlZnJlc2gnIHwgaTE4biB9fVxuICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic3luY2hyb1wiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0XCI+XG4gIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImEtcFwiPlxuICAgICAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7IChjdXJyZW50RGF0YXNldCQgfCBhc3luYyk/Lm5hbWUgfX08L2gxPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tZGF0YXNldC1kZXRhaWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtZGV0YWlsX19jb250ZW50XCI+XG4gICAgICAgIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuZGF0YXNldC5cIiAoY2xpY2tlZFRhYklkeCk9XCJvblRhYlN3aXRjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImluZm9ybWF0aW9uXCIgbmFtZT1cImluZm9ybWF0aW9uXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJ0YWJsZVwiIG5hbWU9XCJkYXRhXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJtYXBcIiBuYW1lPVwibWFwXCI+PC9wcnktdGFiPlxuICAgICAgICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0VmVyc2lvbnNcIiBuYW1lPVwidmVyc2lvbkhpc3RvcnlcIj48L3ByeS10YWI+XG4gICAgICAgIDwvcHJ5LXRhYi1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChpc1BhbmVsT3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzZXQtbGF5b3V0X19wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsX19oZWFkZXIgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkuZGF0YXNldC5pbmZvcm1hdGlvbicgfCBpMThuIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvbiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbF9fY29udGVudCB1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgIEBpZiAoIWlzRWRpdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAoc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWN0aW9uRGF0ZSB8IGRhdGU6ICdkZC1NTS15eXl5LCBISDptbScpID8/XG4gICAgICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRWZXJzaW9uPy5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1pbmZvcm1hdGlvblwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWZXJzaW9uPy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gPz8gKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKSB8IG1kVG9IdG1sXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnbGlzdC1kYXRhc2V0JywgYWN0aW9uOiAnZWRpdF92ZXJzaW9uJyB9XCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSB1LXNlbGYtZW5kXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0VmVyc2lvbigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxwcnktZGF0YXNldC12ZXJzaW9uLWZvcm1cbiAgICAgICAgICAgIFt2ZXJzaW9uXT1cInNlbGVjdGVkVmVyc2lvblwiXG4gICAgICAgICAgICAoZm9ybVZhbGlkYXRlZCk9XCJmb3JtVmFsaWRhdGVkKCRldmVudClcIlxuICAgICAgICAgID48L3ByeS1kYXRhc2V0LXZlcnNpb24tZm9ybT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2luZm9ybWF0aW9uPlxuICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWNvbHVtbiBvLWRhdGFzZXQtZGV0YWlsX19pbmZvcm1hdGlvblwiPlxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8c3Bhbj57eyBkYXRhc2V0LmRlc2NyaXB0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgQGlmIChkYXRhc2V0LmFjdGl2ZVZlcnNpb24pIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgIChkYXRhc2V0LmFjdGl2ZVZlcnNpb24ucHJvZHVjdGlvbkRhdGUgfCBkYXRlOiAnZGQtTU0teXl5eSwgSEg6bW0nKSA/P1xuICAgICAgICAgICAgKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5ub3RQcm92aWRlZCcgfCBpMThuKVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y2VyJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGRhdGFzZXQuYWN0aXZlVmVyc2lvbi5wcm9kdWNlciA/PyAoJ0BwcnkuZGF0YXNldC52ZXJzaW9uLm5vdFByb3ZpZGVkJyB8IGkxOG4pIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZlcnNpb24taW5mb3JtYXRpb25cIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICBkYXRhc2V0LmFjdGl2ZVZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uID8/ICgnQHByeS5kYXRhc2V0LnZlcnNpb24ubm90UHJvdmlkZWQnIHwgaTE4bikgfCBtZFRvSHRtbFxuICAgICAgICAgIFwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cImEtcFwiPlxuICAgICAgICA8cD57eyAnQHByeS5kYXRhc2V0Lm5vQWN0aXZlVmVyc2lvbicgfCBpMThuIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5kYXRhc2V0LnRhZ3MnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtd3JhcFwiPlxuICAgICAgICBAZm9yIChjYXRlZ29yeSBvZiBkYXRhc2V0LmNhdGVnb3JpZXM7IHRyYWNrIGNhdGVnb3J5LmlkKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWNoaXAgLW1kXCI+IHt7IGNhdGVnb3J5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGU+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtY29udGFpbmVyXCI+XG4gICAgPHByeS1kYXNoYm9hcmQgW3N0YXRpY0Rhc2hib2FyZF09XCJ7IHdpZGdldHM6IFt3aWRnZXRNYW5pZmVzdFsndGFibGUnXV0gfVwiPjwvcHJ5LWRhc2hib2FyZD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNtYXA+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtY29udGFpbmVyXCI+XG4gICAgPHByeS1kYXNoYm9hcmQgW3N0YXRpY0Rhc2hib2FyZF09XCJ7IHdpZGdldHM6IFt3aWRnZXRNYW5pZmVzdFsnbWFwJ11dIH1cIj48L3ByeS1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGF0YXNldFZlcnNpb25zPlxuICA8ZGl2IGNsYXNzPVwiZGF0YXNldC1kZXRhaWxfX3RhYmxlIHRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgIDxjYXB0aW9uPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICB9fSxcbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICB9fVxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5kYXRlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LnN0YXR1cycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0clxuICAgICAgICAgICpuZ0Zvcj1cImxldCB2ZXJzaW9uIG9mIGRhdGFzZXRWZXJzaW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKHZlcnNpb24pXCJcbiAgICAgICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cInZlcnNpb24uaWQgPT09IHNlbGVjdGVkVmVyc2lvbj8uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCIoY3VycmVudERhdGFzZXQkIHwgYXN5bmMpPy5hY3RpdmVWZXJzaW9uPy5pZCA9PT0gdmVyc2lvbi5pZFwiXG4gICAgICAgICAgICAgIGljb25Tdmc9XCJjaGVja1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tcIlxuICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cInZlcnNpb24ubGFzdE1vZGlmaWVkIHwgc2luY2VEYXRlOiB7IG9ubHlMb2NhbGU6IHRydWUgfVwiXG4gICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi5sYXN0TW9kaWZpZWQgfCBzaW5jZURhdGU6IHsgb25seUxvY2FsZTogdHJ1ZSB9IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICh2ZXJzaW9uLmlkID09PSAoY3VycmVudERhdGFzZXQkIHwgYXN5bmMpPy5hY3RpdmVWZXJzaW9uPy5pZFxuICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLmN1cnJlbnRseUFjdGl2ZSdcbiAgICAgICAgICAgICAgICA6ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZVxuICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJ2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLWluZm8taWNvbiBhLXRvb2x0aXAgLXRvb2x0aXAtd2lkdGgtbWRcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgJ0BwcnkuZGF0YXNldC50b29sdGlwLicgK1xuICAgICAgICAgICAgICAgICAgZ2V0VmVyc2lvblRvb2x0aXBDb250ZW50KHZlcnNpb24sIChjdXJyZW50RGF0YXNldCQgfCBhc3luYyk/LmFjdGl2ZVZlcnNpb24/LmlkKSB8IGkxOG5cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0xPQURJTkcnICYmXG4gICAgICAgICAgICAgICAgdmVyc2lvbi5zdGF0ZSAhPT0gJ0lOREVYSU5HJyAmJlxuICAgICAgICAgICAgICAgIHZlcnNpb24uc3RhdGUgIT09ICdFUlJPUicgJiZcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLnN0YXRlICE9PSAnREVMRVRJTkcnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihjYW5Nb2RpZnkkIHwgYXN5bmMpICYmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdsaXN0LWRhdGFzZXQnLCBhY3Rpb246ICdhY3RpdmF0ZScgfVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQWN0aW9uKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmJ1dHRvbkFjdGlvbi4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZlcnNpb24uc3RhdGUgPT09ICdBQ1RJVkUnIHx8IHZlcnNpb24uc3RhdGUgPT09ICdJTkFDVElWRSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLWxnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQHByeS5kYXRhc2V0LnRvb2x0aXAuaW52YWxpZGF0ZUJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnQHByeS5kYXRhc2V0LnRvb2x0aXAudmFsaWRhdGVCdXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICApIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+aTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uLmhhc1dhcm5pbmdzIHx8IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUidcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0IG5nLXN0YXItaW5zZXJ0ZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25zdWx0RXJyb3JzKCRldmVudCwgdmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InID8gJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uRVJST1InIDogJ0BwcnkuZGF0YXNldC5idXR0b25BY3Rpb24uV0FSTklORycpXG4gICAgICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKGNhbk1vZGlmeSQgfCBhc3luYykgJiZcbiAgICAgICAgICAgICAgICAodmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScgfHwgdmVyc2lvbi5zdGF0ZSA9PT0gJ0VSUk9SJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IGEtYnRuLS1pY29uLXRleHQgbmctc3Rhci1pbnNlcnRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFza0RlbGV0ZSh2ZXJzaW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuYnV0dG9uQWN0aW9uLmRlbGV0ZScgfCBpMThuIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -55,10 +55,10 @@ export class PryDatasetVersionFormComponent {
55
55
  }
56
56
  this.formValidated.emit();
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetVersionFormComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: { version: "version" }, outputs: { formValidated: "formValidated" }, ngImport: i0, template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n <label *ngIf=\"producer?.invalid\" id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n <span *ngIf=\"producer?.errors?.['required'] ?? false\">{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n </label>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetVersionFormComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: { version: "version" }, outputs: { formValidated: "formValidated" }, ngImport: i0, template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n <label *ngIf=\"producer?.invalid\" id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n <span *ngIf=\"producer?.errors?.['required'] ?? false\">{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n </label>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetVersionFormComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetVersionFormComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'pry-dataset-version-form', template: "<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n <label *ngIf=\"producer?.invalid\" id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n <span *ngIf=\"producer?.errors?.['required'] ?? false\">{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n </label>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n" }]
64
64
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { version: [{
@@ -18,10 +18,10 @@ export class PryDatasetComponent {
18
18
  this.selectedDataset = dataset;
19
19
  this.selectedMode = ViewMode.CONSULT;
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: PryDatasetComponent, selector: "pry-dataset", ngImport: i0, template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout u-display-flex -column\">\n @switch (selectedMode) {\n @case (ViewMode.CATALOG) {\n <h1 class=\"a-h1 u-self-start\">{{ '@pry.dataset.title' | i18n }}</h1>\n <pry-datasource-list (consultedDataset)=\"consult($event)\"></pry-datasource-list>\n }\n @case (ViewMode.CONSULT) {\n @if (selectedDataset) {\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "component", type: i2.PryDatasourceListComponent, selector: "pry-datasource-list", inputs: ["mode", "selectedDatasources"], outputs: ["consultedDataset", "datasourceSelected", "searchOrCategoryChanged"] }, { kind: "component", type: i3.PryDatasetCssComponent, selector: "pry-dataset-css" }, { kind: "component", type: i4.PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: ["dataset"], outputs: ["goToCatalog"] }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryDatasetComponent, selector: "pry-dataset", ngImport: i0, template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout u-display-flex -column\">\n @switch (selectedMode) {\n @case (ViewMode.CATALOG) {\n <h1 class=\"a-h1 u-self-start\">{{ '@pry.dataset.title' | i18n }}</h1>\n <pry-datasource-list (consultedDataset)=\"consult($event)\"></pry-datasource-list>\n }\n @case (ViewMode.CONSULT) {\n @if (selectedDataset) {\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "component", type: i2.PryDatasourceListComponent, selector: "pry-datasource-list", inputs: ["mode", "selectedDatasources"], outputs: ["consultedDataset", "datasourceSelected", "searchOrCategoryChanged"] }, { kind: "component", type: i3.PryDatasetCssComponent, selector: "pry-dataset-css" }, { kind: "component", type: i4.PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: ["dataset"], outputs: ["goToCatalog"] }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'pry-dataset', template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout u-display-flex -column\">\n @switch (selectedMode) {\n @case (ViewMode.CATALOG) {\n <h1 class=\"a-h1 u-self-start\">{{ '@pry.dataset.title' | i18n }}</h1>\n <pry-datasource-list (consultedDataset)=\"consult($event)\"></pry-datasource-list>\n }\n @case (ViewMode.CONSULT) {\n @if (selectedDataset) {\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n }\n }\n }\n</div>\n" }]
27
27
  }], ctorParameters: () => [{ type: i1.Store }] });
@@ -17,8 +17,8 @@ export class PryDatasetModule {
17
17
  this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);
18
18
  this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetModule, declarations: [PryDatasetComponent,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetModule, declarations: [PryDatasetComponent,
22
22
  PryDatasetCssComponent,
23
23
  PryDatasetDetailComponent,
24
24
  PryDatasetVersionFormComponent], imports: [CommonModule,
@@ -32,7 +32,7 @@ export class PryDatasetModule {
32
32
  PryTextEditorModule,
33
33
  PrySelectModule,
34
34
  PrySinceDateModule], exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetDetailComponent] }); }
35
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetModule, imports: [CommonModule,
35
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetModule, imports: [CommonModule,
36
36
  PryIconModule,
37
37
  PryCoreModule,
38
38
  PryOverlayModule,
@@ -44,7 +44,7 @@ export class PryDatasetModule {
44
44
  PrySelectModule,
45
45
  PrySinceDateModule] }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetModule, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetModule, decorators: [{
48
48
  type: NgModule,
49
49
  args: [{
50
50
  declarations: [
@@ -1,10 +1,10 @@
1
1
  import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryDatasetCssComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-dataset-layout{overflow:hidden;height:100%;padding:.625rem 1.25rem 3.125rem}.o-dataset-layout pry-datasource-list{height:100%}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__content{height:100%;margin:0 2rem}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group .o-tabs{height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-dataset-layout{overflow:hidden;height:100%;padding:.625rem 1.25rem 3.125rem}.o-dataset-layout pry-datasource-list{height:100%}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__content{height:100%;margin:0 2rem}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group .o-tabs{height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryDatasetCssComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryDatasetCssComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'pry-dataset-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-dataset-layout{overflow:hidden;height:100%;padding:.625rem 1.25rem 3.125rem}.o-dataset-layout pry-datasource-list{height:100%}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__content{height:100%;margin:0 2rem}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group .o-tabs{height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"] }]
10
10
  }] });
@@ -67,14 +67,17 @@ export class AutocompleteComponent extends BaseFilterComponent {
67
67
  clear() {
68
68
  this.search$.next('');
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i1.Store }, { token: i2.SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: AutocompleteComponent, selector: "pry-autocomplete", viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n #select\n ></pry-select>\n </div>\n}\n", dependencies: [{ 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: "component", type: i2.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"] }, { kind: "component", type: i4.PryAutocompleteCssComponent, selector: "pry-autocomplete-css" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
70
+ enterPressed($event) {
71
+ this.pressedEnter.next();
72
+ }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i1.Store }, { token: i2.SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: AutocompleteComponent, selector: "pry-autocomplete", viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n (pressedEnter)=\"enterPressed($event)\"\n #select\n ></pry-select>\n </div>\n}\n", dependencies: [{ 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: "component", type: i2.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: "component", type: i4.PryAutocompleteCssComponent, selector: "pry-autocomplete-css" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
72
75
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AutocompleteComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AutocompleteComponent, decorators: [{
74
77
  type: Component,
75
- args: [{ selector: 'pry-autocomplete', template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n #select\n ></pry-select>\n </div>\n}\n" }]
78
+ args: [{ selector: 'pry-autocomplete', template: "<pry-autocomplete-css></pry-autocomplete-css>\n@if (filter) {\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" (keyup)=\"updateSearch($event)\" #ref>\n @if (filter.name) {\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n }\n <pry-select\n [id]=\"filter.name\"\n [items]=\"items$ | async\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n [externalAutocompleteService]=\"true\"\n aria-labelledby=\"item-label\"\n (blur)=\"updateSearch($event)\"\n [elementRef]=\"ref\"\n (cleared)=\"clear()\"\n [loading]=\"loader\"\n (clicked)=\"resetAutocompleteValues()\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n (pressedEnter)=\"enterPressed($event)\"\n #select\n ></pry-select>\n </div>\n}\n" }]
76
79
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.SearchService }], propDecorators: { select: [{
77
80
  type: ViewChild,
78
81
  args: ['select']
79
82
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9maWx0ZXJzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLGVBQWUsRUFFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9yQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBVTVELFlBQ0UsS0FBWSxFQUNKLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUZMLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWHRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUUxQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLFdBQU0s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QUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OEdBckZVLHFCQUFxQjtrR0FBckIscUJBQXFCLGlMQy9CbEMsNjBCQXdCQTs7MkZET2EscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLGtCQUFrQjtzR0FXUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgUHJ5U2VsZWN0Q29tcG9uZW50LFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZWFyY2hTZWxlY3RvcnMsXG4gIFNlYXJjaFNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc2tpcFVudGlsLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcFxufSBmcm9tICdyeGpzJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC90b29sYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBhdXRvY29tcGxldGUkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2ZW50SW5pdENhbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcG9zc2libGVGaWx0ZXJWYWx1ZXMkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIHBvc3NpYmxlRmlsdGVyVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICBpdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcpIHNlbGVjdCE6IFByeVNlbGVjdENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnR5cGUgPSAnYXV0b2NvbXBsZXRlJztcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoU2VsZWN0b3JzLnBvc3NpYmxlRmlsdGVyVmFsdWVzKHRoaXMuZmlsdGVyPy5pZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyQuc3Vic2NyaWJlKCh2YWx1ZXMpID0+ICh0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzID0gdmFsdWVzKSkpO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0UG9zc2libGVGaWx0ZXJWYWx1ZXMoe1xuICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcj8uaWQgPz8gJycsXG4gICAgICAgICAgYXR0cmlidXRlczogKHRoaXMuZmlsdGVyPy5hdHRyaWJ1dGVzIGFzIE9taXQ8QXR0cmlidXRlLCAnY3VzdG9tSWQnPltdKS5maWx0ZXIoXG4gICAgICAgICAgICAoYSkgPT4gISFhLmRhdGFzb3VyY2UgJiYgISFhLmlkXG4gICAgICAgICAgKSxcbiAgICAgICAgICBsaW1pdDogdGhpcy5maWx0ZXI/LmxpbWl0ID8/IDEwXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoJC5uZXh0KGAke3RoaXMuX3ZhbHVlfWApO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlJCA9IHRoaXMuc2VhcmNoJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHYpID0+IGVxdWFsKHAsIHYpKSxcbiAgICAgIHNraXBVbnRpbCh0aGlzLnByZXZlbnRJbml0Q2FsbCQpLFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaCkgPT4ge1xuICAgICAgICBpZiAoISFzZWFyY2ggJiYgc2VhcmNoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pdGVtcyQubmV4dChbXSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5hdXRvY29tcGxldGUodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMsIHNlYXJjaCwgdGhpcy5maWx0ZXI/LmxpbWl0KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRlciA9IGZhbHNlKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignQXV0b2NvbXBsZXRlIGZhaWxlZCcsIGVycik7XG4gICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoW10gYXMgc3RyaW5nW10pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wcmV2ZW50SW5pdENhbGwkLm5leHQoKSwgMjAwKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzJCwgdGhpcy5hdXRvY29tcGxldGUkLnBpcGUoc3RhcnRXaXRoKG51bGwpKV0pXG4gICAgICAgIC5waXBlKG1hcCgoW3Bvc3NpYmxlVmFsdWVzLCBhdXRvY29tcGxldGVdKSA9PiAoISFhdXRvY29tcGxldGUgPyBhdXRvY29tcGxldGUgOiBwb3NzaWJsZVZhbHVlcykpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHRoaXMuaXRlbXMkLm5leHQodmFsdWVzKSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRBdXRvY29tcGxldGVWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMkLmdldFZhbHVlKCk/Lmxlbmd0aCAhPT0gdGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmZpbHRlcj8udmFsdWUpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZUZpbHRlcih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VhcmNoKCRldmVudD86IEV2ZW50KSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHZhbHVlID0gJGV2ZW50ID8gJGV2ZW50LnRhcmdldCEudmFsdWUgOiAnJztcbiAgICB0aGlzLnNlYXJjaCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gIH1cbn1cbiIsIjxwcnktYXV0b2NvbXBsZXRlLWNzcz48L3ByeS1hdXRvY29tcGxldGUtY3NzPlxuQGlmIChmaWx0ZXIpIHtcbiAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dC13cmFwcGVyIG0tZmlsdGVyX19pbnB1dC13cmFwcGVyLS1kcm9wZG93blwiIChrZXl1cCk9XCJ1cGRhdGVTZWFyY2goJGV2ZW50KVwiICNyZWY+XG4gICAgQGlmIChmaWx0ZXIubmFtZSkge1xuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBtLWZpbHRlcl9fbGFiZWxcIiBmb3I9XCJ7eyBmaWx0ZXIubmFtZSB9fVwiPnt7IGZpbHRlci5uYW1lIH19Jm5ic3A7OiZuYnNwOzwvbGFiZWw+XG4gICAgfVxuICAgIDxwcnktc2VsZWN0XG4gICAgICBbaWRdPVwiZmlsdGVyLm5hbWVcIlxuICAgICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcbiAgICAgIFtuZ01vZGVsXT1cImZpbHRlci52YWx1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCJcbiAgICAgIFtleHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2VdPVwidHJ1ZVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICAgIChibHVyKT1cInVwZGF0ZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgIFtlbGVtZW50UmVmXT1cInJlZlwiXG4gICAgICAoY2xlYXJlZCk9XCJjbGVhcigpXCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRlclwiXG4gICAgICAoY2xpY2tlZCk9XCJyZXNldEF1dG9jb21wbGV0ZVZhbHVlcygpXCJcbiAgICAgICNzZWxlY3RcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9maWx0ZXJzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFDTCxtQkFBbUIsRUFFbkIsYUFBYSxFQUNiLGVBQWUsRUFFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9yQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBVTVELFlBQ0UsS0FBWSxFQUNKLGFBQTRCO1FBRXBDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUZMLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWHRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUUxQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLFdBQU0s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QUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBWTtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBekZVLHFCQUFxQjtrR0FBckIscUJBQXFCLGlMQy9CbEMsczhCQTBCQTs7MkZES2EscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLGtCQUFrQjtzR0FXUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgUHJ5U2VsZWN0Q29tcG9uZW50LFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZWFyY2hTZWxlY3RvcnMsXG4gIFNlYXJjaFNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc2tpcFVudGlsLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcFxufSBmcm9tICdyeGpzJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC90b29sYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBhdXRvY29tcGxldGUkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2ZW50SW5pdENhbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcG9zc2libGVGaWx0ZXJWYWx1ZXMkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIHBvc3NpYmxlRmlsdGVyVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICBpdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcpIHNlbGVjdCE6IFByeVNlbGVjdENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnR5cGUgPSAnYXV0b2NvbXBsZXRlJztcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoU2VsZWN0b3JzLnBvc3NpYmxlRmlsdGVyVmFsdWVzKHRoaXMuZmlsdGVyPy5pZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcyQuc3Vic2NyaWJlKCh2YWx1ZXMpID0+ICh0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzID0gdmFsdWVzKSkpO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0UG9zc2libGVGaWx0ZXJWYWx1ZXMoe1xuICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcj8uaWQgPz8gJycsXG4gICAgICAgICAgYXR0cmlidXRlczogKHRoaXMuZmlsdGVyPy5hdHRyaWJ1dGVzIGFzIE9taXQ8QXR0cmlidXRlLCAnY3VzdG9tSWQnPltdKS5maWx0ZXIoXG4gICAgICAgICAgICAoYSkgPT4gISFhLmRhdGFzb3VyY2UgJiYgISFhLmlkXG4gICAgICAgICAgKSxcbiAgICAgICAgICBsaW1pdDogdGhpcy5maWx0ZXI/LmxpbWl0ID8/IDEwXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoJC5uZXh0KGAke3RoaXMuX3ZhbHVlfWApO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlJCA9IHRoaXMuc2VhcmNoJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHYpID0+IGVxdWFsKHAsIHYpKSxcbiAgICAgIHNraXBVbnRpbCh0aGlzLnByZXZlbnRJbml0Q2FsbCQpLFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaCkgPT4ge1xuICAgICAgICBpZiAoISFzZWFyY2ggJiYgc2VhcmNoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pdGVtcyQubmV4dChbXSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5hdXRvY29tcGxldGUodGhpcy5maWx0ZXI/LmF0dHJpYnV0ZXMsIHNlYXJjaCwgdGhpcy5maWx0ZXI/LmxpbWl0KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLmxvYWRlciA9IGZhbHNlKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignQXV0b2NvbXBsZXRlIGZhaWxlZCcsIGVycik7XG4gICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoW10gYXMgc3RyaW5nW10pO1xuICAgICAgfSlcbiAgICApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wcmV2ZW50SW5pdENhbGwkLm5leHQoKSwgMjAwKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBvc3NpYmxlRmlsdGVyVmFsdWVzJCwgdGhpcy5hdXRvY29tcGxldGUkLnBpcGUoc3RhcnRXaXRoKG51bGwpKV0pXG4gICAgICAgIC5waXBlKG1hcCgoW3Bvc3NpYmxlVmFsdWVzLCBhdXRvY29tcGxldGVdKSA9PiAoISFhdXRvY29tcGxldGUgPyBhdXRvY29tcGxldGUgOiBwb3NzaWJsZVZhbHVlcykpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHRoaXMuaXRlbXMkLm5leHQodmFsdWVzKSlcbiAgICApO1xuICB9XG5cbiAgcmVzZXRBdXRvY29tcGxldGVWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMkLmdldFZhbHVlKCk/Lmxlbmd0aCAhPT0gdGhpcy5wb3NzaWJsZUZpbHRlclZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMucG9zc2libGVGaWx0ZXJWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmZpbHRlcj8udmFsdWUpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZUZpbHRlcih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VhcmNoKCRldmVudD86IEV2ZW50KSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHZhbHVlID0gJGV2ZW50ID8gJGV2ZW50LnRhcmdldCEudmFsdWUgOiAnJztcbiAgICB0aGlzLnNlYXJjaCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gIH1cblxuICBlbnRlclByZXNzZWQoJGV2ZW50OiB2b2lkKSB7XG4gICAgdGhpcy5wcmVzc2VkRW50ZXIubmV4dCgpO1xuICB9XG59XG4iLCI8cHJ5LWF1dG9jb21wbGV0ZS1jc3M+PC9wcnktYXV0b2NvbXBsZXRlLWNzcz5cbkBpZiAoZmlsdGVyKSB7XG4gIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd25cIiAoa2V5dXApPVwidXBkYXRlU2VhcmNoKCRldmVudClcIiAjcmVmPlxuICAgIEBpZiAoZmlsdGVyLm5hbWUpIHtcbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwie3sgZmlsdGVyLm5hbWUgfX1cIj57eyBmaWx0ZXIubmFtZSB9fSZuYnNwOzombmJzcDs8L2xhYmVsPlxuICAgIH1cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgW2lkXT1cImZpbHRlci5uYW1lXCJcbiAgICAgIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXG4gICAgICBbbmdNb2RlbF09XCJmaWx0ZXIudmFsdWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0RmlsdGVyKCRldmVudClcIlxuICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiXG4gICAgICBbZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlXT1cInRydWVcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgICAoYmx1cik9XCJ1cGRhdGVTZWFyY2goJGV2ZW50KVwiXG4gICAgICBbZWxlbWVudFJlZl09XCJyZWZcIlxuICAgICAgKGNsZWFyZWQpPVwiY2xlYXIoKVwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkZXJcIlxuICAgICAgKGNsaWNrZWQpPVwicmVzZXRBdXRvY29tcGxldGVWYWx1ZXMoKVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLnBsYWNlaG9sZGVyID8/ICcnIHwgaTE4bjogeyB3YXJuOiBmYWxzZSB9XCJcbiAgICAgIChwcmVzc2VkRW50ZXIpPVwiZW50ZXJQcmVzc2VkKCRldmVudClcIlxuICAgICAgI3NlbGVjdFxuICAgID48L3ByeS1zZWxlY3Q+XG4gIDwvZGl2PlxufVxuIl19
@@ -9,11 +9,11 @@ export class PryAutocompleteModule extends BaseFilterModule {
9
9
  getComponent() {
10
10
  return AutocompleteComponent;
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryAutocompleteModule, deps: null, target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: PryAutocompleteModule, declarations: [AutocompleteComponent, PryAutocompleteCssComponent], imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule], exports: [AutocompleteComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryAutocompleteModule, imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryAutocompleteModule, deps: null, target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: PryAutocompleteModule, declarations: [AutocompleteComponent, PryAutocompleteCssComponent], imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule], exports: [AutocompleteComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryAutocompleteModule, imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryIconModule, PryI18nModule] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PryAutocompleteModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryAutocompleteModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  declarations: [AutocompleteComponent, PryAutocompleteCssComponent],