geonetwork-ui 2.4.0-alpha.2.d6fa0bfa → 2.4.0-alpha.2.f396dd72d

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 (266) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +15 -3
  2. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +11 -18
  3. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +14 -9
  4. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +3 -3
  5. package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
  6. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +15 -8
  7. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -3
  8. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +4 -7
  9. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +13 -7
  10. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +7 -8
  11. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +14 -7
  12. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +9 -7
  13. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +14 -6
  14. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +10 -8
  15. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +8 -6
  16. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -65
  17. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +22 -12
  18. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  19. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +14 -10
  20. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
  21. package/esm2022/libs/ui/catalog/src/index.mjs +1 -2
  22. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -3
  23. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  24. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +15 -5
  25. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -3
  26. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +25 -7
  27. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -3
  28. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +15 -4
  29. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +12 -6
  30. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +22 -4
  31. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +15 -7
  32. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +5 -4
  33. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +25 -5
  34. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +3 -2
  35. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +37 -13
  36. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +11 -7
  37. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +7 -5
  38. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +27 -7
  39. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +17 -5
  40. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +13 -8
  41. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +16 -7
  42. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -140
  43. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +27 -9
  44. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +7 -4
  45. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +5 -5
  46. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +6 -4
  47. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -25
  48. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +7 -5
  49. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +6 -4
  50. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -2
  51. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +6 -2
  52. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +5 -26
  53. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -4
  54. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -3
  55. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +7 -5
  56. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +5 -4
  57. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  58. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +3 -3
  59. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -26
  60. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +3 -1
  61. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  62. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  63. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +17 -17
  64. package/esm2022/translations/de.json +1 -0
  65. package/esm2022/translations/en.json +1 -0
  66. package/esm2022/translations/es.json +1 -0
  67. package/esm2022/translations/fr.json +2 -1
  68. package/esm2022/translations/it.json +1 -0
  69. package/esm2022/translations/nl.json +1 -0
  70. package/esm2022/translations/pt.json +1 -0
  71. package/fesm2022/geonetwork-ui.mjs +1587 -1699
  72. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  73. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts +7 -2
  74. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  75. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +8 -9
  76. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  77. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +1 -1
  78. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  79. package/libs/feature/dataviz/src/index.d.ts +0 -1
  80. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  81. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +1 -1
  82. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  83. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts +1 -1
  84. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  85. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +1 -1
  86. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  87. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
  88. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  89. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -1
  90. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  91. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +1 -1
  92. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  93. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +1 -1
  94. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  95. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -1
  96. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  97. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +1 -1
  98. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  99. package/libs/feature/record/src/lib/feature-record.module.d.ts +14 -25
  100. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -1
  102. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  103. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  104. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  105. package/libs/feature/search/src/lib/feature-search.module.d.ts +16 -14
  106. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  107. package/libs/ui/catalog/src/index.d.ts +0 -1
  108. package/libs/ui/catalog/src/index.d.ts.map +1 -1
  109. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts +1 -1
  110. package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts.map +1 -1
  111. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts +1 -1
  112. package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts.map +1 -1
  113. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +1 -1
  114. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts.map +1 -1
  115. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts +1 -1
  116. package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts.map +1 -1
  117. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +1 -1
  118. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  119. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts +1 -1
  120. package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts.map +1 -1
  121. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  122. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  124. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  125. package/libs/ui/elements/src/lib/error/error.component.d.ts +1 -1
  126. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  127. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +1 -1
  128. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -1
  129. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts +1 -1
  130. package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts.map +1 -1
  131. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -1
  132. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  133. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts +2 -2
  134. package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts.map +1 -1
  135. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -1
  136. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  137. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +1 -1
  138. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  139. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts +1 -1
  140. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  141. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts +1 -1
  142. package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts.map +1 -1
  143. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts +1 -1
  144. package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +1 -1
  145. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  146. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  147. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +1 -1
  148. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  149. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -37
  150. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  151. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -1
  152. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
  153. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts +1 -1
  154. package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts.map +1 -1
  155. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +1 -1
  156. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +1 -1
  157. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +1 -1
  158. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  159. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +28 -31
  160. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  161. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +1 -1
  162. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  163. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts +1 -1
  164. package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts.map +1 -1
  165. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +2 -1
  166. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -1
  167. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  168. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +6 -8
  169. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  170. package/libs/ui/search/src/lib/ui-search.module.d.ts +2 -1
  171. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  172. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts +1 -1
  173. package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts.map +1 -1
  174. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  175. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  176. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts +1 -1
  177. package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts.map +1 -1
  178. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -12
  179. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  180. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  181. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  182. package/libs/util/app-config/src/lib/model.d.ts +1 -0
  183. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  184. package/libs/util/shared/src/lib/links/link-utils.d.ts +16 -16
  185. package/package.json +1 -1
  186. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +11 -3
  187. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -9
  188. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +19 -0
  189. package/src/libs/feature/dataviz/src/index.ts +0 -1
  190. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +20 -2
  191. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +3 -1
  192. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +6 -1
  193. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +15 -2
  194. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +2 -2
  195. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +15 -0
  196. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +5 -0
  197. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +16 -1
  198. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +5 -0
  199. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +8 -1
  200. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -43
  201. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +24 -0
  202. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +3 -0
  203. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -5
  204. package/src/libs/ui/catalog/src/index.ts +0 -1
  205. package/src/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.ts +3 -0
  206. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +3 -0
  207. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +11 -0
  208. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +3 -0
  209. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +0 -1
  210. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +19 -0
  211. package/src/libs/ui/elements/src/lib/content-ghost/content-ghost.component.ts +3 -0
  212. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +11 -0
  213. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +11 -1
  214. package/src/libs/ui/elements/src/lib/error/error.component.ts +19 -0
  215. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -2
  216. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  217. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +4 -1
  218. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +24 -0
  219. package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +2 -1
  220. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +37 -0
  221. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +16 -1
  222. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -0
  223. package/src/libs/ui/elements/src/lib/pagination/pagination.component.html +0 -2
  224. package/src/libs/ui/elements/src/lib/pagination/pagination.component.ts +23 -0
  225. package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.ts +12 -0
  226. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +15 -0
  227. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -1
  228. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +15 -0
  229. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -97
  230. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +22 -0
  231. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +0 -1
  232. package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.ts +7 -0
  233. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +4 -1
  234. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +6 -0
  235. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +2 -19
  236. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +8 -2
  237. package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.ts +6 -0
  238. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +1 -0
  239. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +5 -1
  240. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +3 -26
  241. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -7
  242. package/src/libs/ui/search/src/lib/ui-search.module.ts +6 -2
  243. package/src/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.ts +4 -6
  244. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +1 -0
  245. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.ts +1 -0
  246. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -16
  247. package/src/libs/util/app-config/src/lib/app-config.ts +2 -0
  248. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  249. package/src/libs/util/app-config/src/lib/model.ts +1 -0
  250. package/src/libs/util/shared/src/lib/links/link-utils.ts +16 -16
  251. package/translations/de.json +1 -0
  252. package/translations/en.json +1 -0
  253. package/translations/es.json +1 -0
  254. package/translations/fr.json +2 -1
  255. package/translations/it.json +1 -0
  256. package/translations/nl.json +1 -0
  257. package/translations/pt.json +1 -0
  258. package/translations/sk.json +1 -0
  259. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +0 -74
  260. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +0 -73
  261. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +0 -22
  262. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +0 -1
  263. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +0 -17
  264. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +0 -1
  265. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +0 -48
  266. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -43
@@ -5,6 +5,8 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ngx-translate/core";
6
6
  export const DEFAULT_GN4_LOGIN_URL = `/geonetwork/srv/\${lang3}/catalog.signin?redirect=\${current_url}`;
7
7
  export const LOGIN_URL = new InjectionToken('loginUrl');
8
+ export const DEFAULT_GN4_LOGOUT_URL = `/geonetwork/signout`;
9
+ export const LOGOUT_URL = new InjectionToken('logoutUrl');
8
10
  export class AuthService {
9
11
  get loginUrl() {
10
12
  let baseUrl = this.baseLoginUrl;
@@ -18,12 +20,17 @@ export class AuthService {
18
20
  .replace('${lang2}', this.translateService.currentLang)
19
21
  .replace('${lang3}', LANG_2_TO_3_MAPPER[this.translateService.currentLang]);
20
22
  }
21
- constructor(baseLoginUrlToken, translateService) {
23
+ get logoutUrl() {
24
+ return this.baseLogoutUrl;
25
+ }
26
+ constructor(baseLoginUrlToken, baseLogoutUrlToken, translateService) {
22
27
  this.baseLoginUrlToken = baseLoginUrlToken;
28
+ this.baseLogoutUrlToken = baseLogoutUrlToken;
23
29
  this.translateService = translateService;
24
30
  this.baseLoginUrl = this.baseLoginUrlToken || DEFAULT_GN4_LOGIN_URL;
31
+ this.baseLogoutUrl = this.baseLogoutUrlToken || DEFAULT_GN4_LOGOUT_URL;
25
32
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, deps: [{ token: LOGIN_URL, optional: true }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, deps: [{ token: LOGIN_URL, optional: true }, { token: LOGOUT_URL, optional: true }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
34
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, providedIn: 'root' }); }
28
35
  }
29
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, decorators: [{
@@ -36,5 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
36
43
  }, {
37
44
  type: Inject,
38
45
  args: [LOGIN_URL]
46
+ }] }, { type: undefined, decorators: [{
47
+ type: Optional
48
+ }, {
49
+ type: Inject,
50
+ args: [LOGOUT_URL]
39
51
  }] }, { type: i1.TranslateService }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFFdEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsbUVBQW1FLENBQUE7QUFDeEcsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLFVBQVUsQ0FBQyxDQUFBO0FBSy9ELE1BQU0sT0FBTyxXQUFXO0lBRXRCLElBQUksUUFBUTtRQUNWLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUE7UUFDL0IsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7UUFDdkQsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLHNCQUFzQixFQUFFO1lBQ25FLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtTQUNwQztRQUNELE9BQU8sT0FBTzthQUNYLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3JELE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQzthQUN0RCxPQUFPLENBQ04sVUFBVSxFQUNWLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FDdEQsQ0FBQTtJQUNMLENBQUM7SUFDRCxZQUdVLGlCQUF5QixFQUN6QixnQkFBa0M7UUFEbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQjVDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLHFCQUFxQixDQUFBO0lBcUIzRCxDQUFDOytHQXRCTyxXQUFXLGtCQW1CWixTQUFTO21IQW5CUixXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW1CSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMQU5HXzJfVE9fM19NQVBQRVIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfR040X0xPR0lOX1VSTCA9IGAvZ2VvbmV0d29yay9zcnYvXFwke2xhbmczfS9jYXRhbG9nLnNpZ25pbj9yZWRpcmVjdD1cXCR7Y3VycmVudF91cmx9YFxuZXhwb3J0IGNvbnN0IExPR0lOX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdsb2dpblVybCcpXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIGJhc2VMb2dpblVybCA9IHRoaXMuYmFzZUxvZ2luVXJsVG9rZW4gfHwgREVGQVVMVF9HTjRfTE9HSU5fVVJMXG4gIGdldCBsb2dpblVybCgpIHtcbiAgICBsZXQgYmFzZVVybCA9IHRoaXMuYmFzZUxvZ2luVXJsXG4gICAgY29uc3QgbG9jYXRpb25IYXNRdWVyeVBhcmFtcyA9ICEhd2luZG93LmxvY2F0aW9uLnNlYXJjaFxuICAgIC8vIHRoaXMgaXMgc3BlY2lmaWMgdG8gZ2VvcmNoZXN0cmEgbG9naW4gVVJMIGJhc2VkIG9uIGEgP2xvZ2luIHF1ZXJ5IHBhcmFtXG4gICAgaWYgKGJhc2VVcmwuc3RhcnRzV2l0aCgnJHtjdXJyZW50X3VybH0/JykgJiYgbG9jYXRpb25IYXNRdWVyeVBhcmFtcykge1xuICAgICAgYmFzZVVybCA9IGJhc2VVcmwucmVwbGFjZSgnPycsICcmJylcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VVcmxcbiAgICAgIC5yZXBsYWNlKCcke2N1cnJlbnRfdXJsfScsIHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKVxuICAgICAgLnJlcGxhY2UoJyR7bGFuZzJ9JywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke2xhbmczfScsXG4gICAgICAgIExBTkdfMl9UT18zX01BUFBFUlt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmddXG4gICAgICApXG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KExPR0lOX1VSTClcbiAgICBwcml2YXRlIGJhc2VMb2dpblVybFRva2VuOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFFdEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsbUVBQW1FLENBQUE7QUFDeEcsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLFVBQVUsQ0FBQyxDQUFBO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHFCQUFxQixDQUFBO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxXQUFXLENBQUMsQ0FBQTtBQUtqRSxNQUFNLE9BQU8sV0FBVztJQUd0QixJQUFJLFFBQVE7UUFDVixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQy9CLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFBO1FBQ3ZELDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxzQkFBc0IsRUFBRTtZQUNuRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7U0FDcEM7UUFDRCxPQUFPLE9BQU87YUFDWCxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyRCxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7YUFDdEQsT0FBTyxDQUNOLFVBQVUsRUFDVixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQ3RELENBQUE7SUFDTCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUN5QyxpQkFBeUIsRUFDeEIsa0JBQTBCLEVBQzFELGdCQUFrQztRQUZILHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFDMUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCNUMsaUJBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUkscUJBQXFCLENBQUE7UUFDOUQsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLElBQUksc0JBQXNCLENBQUE7SUF5QjlELENBQUM7K0dBM0JPLFdBQVcsa0JBd0JBLFNBQVMsNkJBQ1QsVUFBVTttSEF6QnJCLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBeUJJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUzs7MEJBQzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExBTkdfMl9UT18zX01BUFBFUiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9HTjRfTE9HSU5fVVJMID0gYC9nZW9uZXR3b3JrL3Nydi9cXCR7bGFuZzN9L2NhdGFsb2cuc2lnbmluP3JlZGlyZWN0PVxcJHtjdXJyZW50X3VybH1gXG5leHBvcnQgY29uc3QgTE9HSU5fVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2xvZ2luVXJsJylcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfR040X0xPR09VVF9VUkwgPSBgL2dlb25ldHdvcmsvc2lnbm91dGBcbmV4cG9ydCBjb25zdCBMT0dPVVRfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2xvZ291dFVybCcpXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIGJhc2VMb2dpblVybCA9IHRoaXMuYmFzZUxvZ2luVXJsVG9rZW4gfHwgREVGQVVMVF9HTjRfTE9HSU5fVVJMXG4gIGJhc2VMb2dvdXRVcmwgPSB0aGlzLmJhc2VMb2dvdXRVcmxUb2tlbiB8fCBERUZBVUxUX0dONF9MT0dPVVRfVVJMXG4gIGdldCBsb2dpblVybCgpIHtcbiAgICBsZXQgYmFzZVVybCA9IHRoaXMuYmFzZUxvZ2luVXJsXG4gICAgY29uc3QgbG9jYXRpb25IYXNRdWVyeVBhcmFtcyA9ICEhd2luZG93LmxvY2F0aW9uLnNlYXJjaFxuICAgIC8vIHRoaXMgaXMgc3BlY2lmaWMgdG8gZ2VvcmNoZXN0cmEgbG9naW4gVVJMIGJhc2VkIG9uIGEgP2xvZ2luIHF1ZXJ5IHBhcmFtXG4gICAgaWYgKGJhc2VVcmwuc3RhcnRzV2l0aCgnJHtjdXJyZW50X3VybH0/JykgJiYgbG9jYXRpb25IYXNRdWVyeVBhcmFtcykge1xuICAgICAgYmFzZVVybCA9IGJhc2VVcmwucmVwbGFjZSgnPycsICcmJylcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VVcmxcbiAgICAgIC5yZXBsYWNlKCcke2N1cnJlbnRfdXJsfScsIHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKVxuICAgICAgLnJlcGxhY2UoJyR7bGFuZzJ9JywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgICcke2xhbmczfScsXG4gICAgICAgIExBTkdfMl9UT18zX01BUFBFUlt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmddXG4gICAgICApXG4gIH1cblxuICBnZXQgbG9nb3V0VXJsKCkge1xuICAgIHJldHVybiB0aGlzLmJhc2VMb2dvdXRVcmxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTE9HSU5fVVJMKSBwcml2YXRlIGJhc2VMb2dpblVybFRva2VuOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChMT0dPVVRfVVJMKSBwcml2YXRlIGJhc2VMb2dvdXRVcmxUb2tlbjogc3RyaW5nLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG59XG4iXX0=
@@ -1,11 +1,10 @@
1
1
  import { InjectionToken, NgModule } from '@angular/core';
2
2
  import { SiteTitleComponent } from './site-title/site-title.component';
3
- import { OrganisationsFilterComponent, UiCatalogModule, } from '../../../../../libs/ui/catalog/src';
3
+ import { CatalogTitleComponent, OrganisationsFilterComponent, } from '../../../../../libs/ui/catalog/src';
4
4
  import { GroupsApiService, SearchApiService, } from '../../../../../libs/data-access/gn4/src';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { SourceLabelComponent } from './source-label/source-label.component';
7
7
  import { LangService, UtilI18nModule } from '../../../../../libs/util/i18n/src';
8
- import { OrganisationsComponent } from './organisations/organisations.component';
9
8
  import { UiLayoutModule } from '../../../../../libs/ui/layout/src';
10
9
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
11
10
  import { UiElementsModule } from '../../../../../libs/ui/elements/src';
@@ -21,13 +20,11 @@ const organizationsServiceFactory = (strategy, esService, searchApiService, grou
21
20
  : new OrganizationsFromMetadataService(esService, searchApiService, groupsApiService, platformService, langService);
22
21
  export class FeatureCatalogModule {
23
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FeatureCatalogModule, declarations: [SiteTitleComponent,
25
- SourceLabelComponent,
26
- OrganisationsComponent], imports: [UiCatalogModule,
27
- UiLayoutModule,
23
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FeatureCatalogModule, declarations: [SiteTitleComponent, SourceLabelComponent], imports: [UiLayoutModule,
28
24
  CommonModule,
29
25
  UtilI18nModule, i1.TranslateModule, UiElementsModule,
30
- OrganisationsFilterComponent], exports: [SiteTitleComponent, SourceLabelComponent, OrganisationsComponent] }); }
26
+ OrganisationsFilterComponent,
27
+ CatalogTitleComponent], exports: [SiteTitleComponent, SourceLabelComponent] }); }
31
28
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureCatalogModule, providers: [
32
29
  {
33
30
  provide: OrganizationsServiceInterface,
@@ -42,32 +39,28 @@ export class FeatureCatalogModule {
42
39
  LangService,
43
40
  ],
44
41
  },
45
- ], imports: [UiCatalogModule,
46
- UiLayoutModule,
42
+ ], imports: [UiLayoutModule,
47
43
  CommonModule,
48
44
  UtilI18nModule,
49
45
  TranslateModule.forChild(),
50
46
  UiElementsModule,
51
- OrganisationsFilterComponent] }); }
47
+ OrganisationsFilterComponent,
48
+ CatalogTitleComponent] }); }
52
49
  }
53
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureCatalogModule, decorators: [{
54
51
  type: NgModule,
55
52
  args: [{
56
- declarations: [
57
- SiteTitleComponent,
58
- SourceLabelComponent,
59
- OrganisationsComponent,
60
- ],
53
+ declarations: [SiteTitleComponent, SourceLabelComponent],
61
54
  imports: [
62
- UiCatalogModule,
63
55
  UiLayoutModule,
64
56
  CommonModule,
65
57
  UtilI18nModule,
66
58
  TranslateModule.forChild(),
67
59
  UiElementsModule,
68
60
  OrganisationsFilterComponent,
61
+ CatalogTitleComponent,
69
62
  ],
70
- exports: [SiteTitleComponent, SourceLabelComponent, OrganisationsComponent],
63
+ exports: [SiteTitleComponent, SourceLabelComponent],
71
64
  providers: [
72
65
  {
73
66
  provide: OrganizationsServiceInterface,
@@ -85,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
78
  ],
86
79
  }]
87
80
  }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jYXRhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9jYXRhbG9nL3NyYy9saWIvZmVhdHVyZS1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN0RSxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLGVBQWUsR0FDaEIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUMzQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLHlDQUF5QyxDQUFBO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkVBQTJFLENBQUE7QUFDekgsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsOEJBQThCLEVBQzlCLGdDQUFnQyxHQUVqQyxNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNFQUFzRSxDQUFBOzs7QUFFL0csc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQTtBQUVELE1BQU0sMkJBQTJCLEdBQUcsQ0FDbEMsUUFBK0IsRUFDL0IsU0FBK0IsRUFDL0IsZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxnQkFBa0MsRUFDbEMsZUFBeUMsRUFDekMsV0FBd0IsRUFDeEIsRUFBRSxDQUNGLFFBQVEsS0FBSyxRQUFRO0lBQ25CLENBQUMsQ0FBQyxJQUFJLDhCQUE4QixDQUNoQyxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixnQkFBZ0IsQ0FDakI7SUFDSCxDQUFDLENBQUMsSUFBSSxnQ0FBZ0MsQ0FDbEMsU0FBUyxFQUNULGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFdBQVcsQ0FDWixDQUFBO0FBa0NQLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQTlCN0Isa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixzQkFBc0IsYUFHdEIsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1lBQ1osY0FBYyxzQkFFZCxnQkFBZ0I7WUFDaEIsNEJBQTRCLGFBRXBCLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLHNCQUFzQjtnSEFpQi9ELG9CQUFvQixhQWhCcEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxVQUFVLEVBQUUsMkJBQTJCO2dCQUN2QyxJQUFJLEVBQUU7b0JBQ0osc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLHdCQUF3QjtvQkFDeEIsV0FBVztpQkFDWjthQUNGO1NBQ0YsWUF2QkMsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsZ0JBQWdCO1lBQ2hCLDRCQUE0Qjs7NEZBbUJuQixvQkFBb0I7a0JBaENoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7b0JBQzNFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNkJBQTZCOzRCQUN0QyxVQUFVLEVBQUUsMkJBQTJCOzRCQUN2QyxJQUFJLEVBQUU7Z0NBQ0osc0JBQXNCO2dDQUN0QixvQkFBb0I7Z0NBQ3BCLGdCQUFnQjtnQ0FDaEIsZ0JBQWdCO2dDQUNoQixnQkFBZ0I7Z0NBQ2hCLHdCQUF3QjtnQ0FDeEIsV0FBVzs2QkFDWjt5QkFDRjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTaXRlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL3NpdGUtdGl0bGUvc2l0ZS10aXRsZS5jb21wb25lbnQnXG5pbXBvcnQge1xuICBPcmdhbmlzYXRpb25zRmlsdGVyQ29tcG9uZW50LFxuICBVaUNhdGFsb2dNb2R1bGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvY2F0YWxvZy9zcmMnXG5pbXBvcnQge1xuICBHcm91cHNBcGlTZXJ2aWNlLFxuICBTZWFyY2hBcGlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBTb3VyY2VMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vc291cmNlLWxhYmVsL3NvdXJjZS1sYWJlbC5jb21wb25lbnQnXG5pbXBvcnQgeyBMYW5nU2VydmljZSwgVXRpbEkxOG5Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBPcmdhbmlzYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9vcmdhbmlzYXRpb25zL29yZ2FuaXNhdGlvbnMuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVWlFbGVtZW50c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gIE9yZ2FuaXphdGlvbnNGcm9tR3JvdXBzU2VydmljZSxcbiAgT3JnYW5pemF0aW9uc0Zyb21NZXRhZGF0YVNlcnZpY2UsXG4gIE9yZ2FuaXphdGlvbnNTdHJhdGVneSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcblxuLy8gZXhwZWN0cyB0aGUgcmVwbGFjZW1lbnQga2V5ICR7bmFtZX1cbmV4cG9ydCBjb25zdCBPUkdBTklaQVRJT05fVVJMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdvcmdhbml6YXRpb24tdXJsLXRva2VuJ1xuKVxuXG5jb25zdCBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnkgPSAoXG4gIHN0cmF0ZWd5OiBPcmdhbml6YXRpb25zU3RyYXRlZ3ksXG4gIGVzU2VydmljZTogRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gIHNlYXJjaEFwaVNlcnZpY2U6IFNlYXJjaEFwaVNlcnZpY2UsXG4gIGdyb3Vwc0FwaVNlcnZpY2U6IEdyb3Vwc0FwaVNlcnZpY2UsXG4gIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHBsYXRmb3JtU2VydmljZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2VcbikgPT5cbiAgc3RyYXRlZ3kgPT09ICdncm91cHMnXG4gICAgPyBuZXcgT3JnYW5pemF0aW9uc0Zyb21Hcm91cHNTZXJ2aWNlKFxuICAgICAgICBlc1NlcnZpY2UsXG4gICAgICAgIHNlYXJjaEFwaVNlcnZpY2UsXG4gICAgICAgIGdyb3Vwc0FwaVNlcnZpY2UsXG4gICAgICAgIHRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIClcbiAgICA6IG5ldyBPcmdhbml6YXRpb25zRnJvbU1ldGFkYXRhU2VydmljZShcbiAgICAgICAgZXNTZXJ2aWNlLFxuICAgICAgICBzZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBncm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBwbGF0Zm9ybVNlcnZpY2UsXG4gICAgICAgIGxhbmdTZXJ2aWNlXG4gICAgICApXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNpdGVUaXRsZUNvbXBvbmVudCxcbiAgICBTb3VyY2VMYWJlbENvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25zQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgVWlDYXRhbG9nTW9kdWxlLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBVdGlsSTE4bk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE9yZ2FuaXNhdGlvbnNGaWx0ZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtTaXRlVGl0bGVDb21wb25lbnQsIFNvdXJjZUxhYmVsQ29tcG9uZW50LCBPcmdhbmlzYXRpb25zQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgICB1c2VGYWN0b3J5OiBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG4gICAgICBkZXBzOiBbXG4gICAgICAgIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gICAgICAgIEVsYXN0aWNzZWFyY2hTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBHcm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICAgIExhbmdTZXJ2aWNlLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlQ2F0YWxvZ01vZHVsZSB7fVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jYXRhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9jYXRhbG9nL3NyYy9saWIvZmVhdHVyZS1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUN0RSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUM3QixNQUFNLG9DQUFvQyxDQUFBO0FBQzNDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQTtBQUN6SCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0Qiw4QkFBOEIsRUFDOUIsZ0NBQWdDLEdBRWpDLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0VBQXNFLENBQUE7OztBQUUvRyxzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHdCQUF3QixDQUN6QixDQUFBO0FBRUQsTUFBTSwyQkFBMkIsR0FBRyxDQUNsQyxRQUErQixFQUMvQixTQUErQixFQUMvQixnQkFBa0MsRUFDbEMsZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxlQUF5QyxFQUN6QyxXQUF3QixFQUN4QixFQUFFLENBQ0YsUUFBUSxLQUFLLFFBQVE7SUFDbkIsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQ2hDLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixDQUNqQjtJQUNILENBQUMsQ0FBQyxJQUFJLGdDQUFnQyxDQUNsQyxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxDQUNaLENBQUE7QUE4QlAsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBM0JoQixrQkFBa0IsRUFBRSxvQkFBb0IsYUFFckQsY0FBYztZQUNkLFlBQVk7WUFDWixjQUFjLHNCQUVkLGdCQUFnQjtZQUNoQiw0QkFBNEI7WUFDNUIscUJBQXFCLGFBRWIsa0JBQWtCLEVBQUUsb0JBQW9CO2dIQWlCdkMsb0JBQW9CLGFBaEJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSw2QkFBNkI7Z0JBQ3RDLFVBQVUsRUFBRSwyQkFBMkI7Z0JBQ3ZDLElBQUksRUFBRTtvQkFDSixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsd0JBQXdCO29CQUN4QixXQUFXO2lCQUNaO2FBQ0Y7U0FDRixZQXZCQyxjQUFjO1lBQ2QsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLGdCQUFnQjtZQUNoQiw0QkFBNEI7WUFDNUIscUJBQXFCOzs0RkFtQlosb0JBQW9CO2tCQTVCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQztvQkFDeEQsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGdCQUFnQjt3QkFDaEIsNEJBQTRCO3dCQUM1QixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDO29CQUNuRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsVUFBVSxFQUFFLDJCQUEyQjs0QkFDdkMsSUFBSSxFQUFFO2dDQUNKLHNCQUFzQjtnQ0FDdEIsb0JBQW9CO2dDQUNwQixnQkFBZ0I7Z0NBQ2hCLGdCQUFnQjtnQ0FDaEIsZ0JBQWdCO2dDQUNoQix3QkFBd0I7Z0NBQ3hCLFdBQVc7NkJBQ1o7eUJBQ0Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU2l0ZVRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaXRlLXRpdGxlL3NpdGUtdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1RpdGxlQ29tcG9uZW50LFxuICBPcmdhbmlzYXRpb25zRmlsdGVyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2NhdGFsb2cvc3JjJ1xuaW1wb3J0IHtcbiAgR3JvdXBzQXBpU2VydmljZSxcbiAgU2VhcmNoQXBpU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgU291cmNlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL3NvdXJjZS1sYWJlbC9zb3VyY2UtbGFiZWwuY29tcG9uZW50J1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UsIFV0aWxJMThuTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgVWlMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVWlFbGVtZW50c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gIE9yZ2FuaXphdGlvbnNGcm9tR3JvdXBzU2VydmljZSxcbiAgT3JnYW5pemF0aW9uc0Zyb21NZXRhZGF0YVNlcnZpY2UsXG4gIE9yZ2FuaXphdGlvbnNTdHJhdGVneSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcblxuLy8gZXhwZWN0cyB0aGUgcmVwbGFjZW1lbnQga2V5ICR7bmFtZX1cbmV4cG9ydCBjb25zdCBPUkdBTklaQVRJT05fVVJMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdvcmdhbml6YXRpb24tdXJsLXRva2VuJ1xuKVxuXG5jb25zdCBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnkgPSAoXG4gIHN0cmF0ZWd5OiBPcmdhbml6YXRpb25zU3RyYXRlZ3ksXG4gIGVzU2VydmljZTogRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gIHNlYXJjaEFwaVNlcnZpY2U6IFNlYXJjaEFwaVNlcnZpY2UsXG4gIGdyb3Vwc0FwaVNlcnZpY2U6IEdyb3Vwc0FwaVNlcnZpY2UsXG4gIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHBsYXRmb3JtU2VydmljZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2VcbikgPT5cbiAgc3RyYXRlZ3kgPT09ICdncm91cHMnXG4gICAgPyBuZXcgT3JnYW5pemF0aW9uc0Zyb21Hcm91cHNTZXJ2aWNlKFxuICAgICAgICBlc1NlcnZpY2UsXG4gICAgICAgIHNlYXJjaEFwaVNlcnZpY2UsXG4gICAgICAgIGdyb3Vwc0FwaVNlcnZpY2UsXG4gICAgICAgIHRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIClcbiAgICA6IG5ldyBPcmdhbml6YXRpb25zRnJvbU1ldGFkYXRhU2VydmljZShcbiAgICAgICAgZXNTZXJ2aWNlLFxuICAgICAgICBzZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBncm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBwbGF0Zm9ybVNlcnZpY2UsXG4gICAgICAgIGxhbmdTZXJ2aWNlXG4gICAgICApXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NpdGVUaXRsZUNvbXBvbmVudCwgU291cmNlTGFiZWxDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgVWlMYXlvdXRNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFV0aWxJMThuTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFVpRWxlbWVudHNNb2R1bGUsXG4gICAgT3JnYW5pc2F0aW9uc0ZpbHRlckNvbXBvbmVudCxcbiAgICBDYXRhbG9nVGl0bGVDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtTaXRlVGl0bGVDb21wb25lbnQsIFNvdXJjZUxhYmVsQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgICB1c2VGYWN0b3J5OiBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG4gICAgICBkZXBzOiBbXG4gICAgICAgIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gICAgICAgIEVsYXN0aWNzZWFyY2hTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBHcm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICAgIExhbmdTZXJ2aWNlLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlQ2F0YWxvZ01vZHVsZSB7fVxuIl19
@@ -4,14 +4,12 @@ import { map, startWith, tap } from 'rxjs/operators';
4
4
  import { OrganizationsServiceInterface } from '../../../../../../libs/common/domain/src/lib/organizations.service.interface';
5
5
  import { createFuzzyFilter } from '../../../../../../libs/util/shared/src';
6
6
  import { ORGANIZATION_PAGE_URL_TOKEN } from '../organization-url.token';
7
+ import { ContentGhostComponent, PaginationComponent, } from '../../../../../../libs/ui/elements/src';
8
+ import { CommonModule } from '@angular/common';
9
+ import { OrganisationPreviewComponent, OrganisationsFilterComponent, OrganisationsResultComponent, } from '../../../../../../libs/ui/catalog/src';
7
10
  import * as i0 from "@angular/core";
8
11
  import * as i1 from "../../../../../../libs/common/domain/src/lib/organizations.service.interface";
9
- import * as i2 from "../../../../../ui/catalog/src/lib/organisation-preview/organisation-preview.component";
10
- import * as i3 from "../../../../../ui/catalog/src/lib/organisations-result/organisations-result.component";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "../../../../../ui/elements/src/lib/content-ghost/content-ghost.component";
13
- import * as i6 from "../../../../../ui/elements/src/lib/pagination/pagination.component";
14
- import * as i7 from "../../../../../ui/catalog/src/lib/organisations-filter/organisations-filter.component";
12
+ import * as i2 from "@angular/common";
15
13
  export class OrganisationsComponent {
16
14
  constructor(organisationsService, urlTemplate) {
17
15
  this.organisationsService = organisationsService;
@@ -84,11 +82,18 @@ export class OrganisationsComponent {
84
82
  return this.urlTemplate.replace('${name}', organisation.name);
85
83
  }
86
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, deps: [{ token: i1.OrganizationsServiceInterface }, { token: ORGANIZATION_PAGE_URL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i2.OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: ["organization", "organisationUrl"], outputs: ["clickedOrganisation"] }, { kind: "component", type: i3.OrganisationsResultComponent, selector: "gn-ui-organisations-result", inputs: ["hits", "total"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: i6.PaginationComponent, selector: "gn-ui-pagination", inputs: ["currentPage", "nPages", "hideButton"], outputs: ["newCurrentPageEvent"] }, { kind: "component", type: i7.OrganisationsFilterComponent, selector: "gn-ui-organisations-filter", outputs: ["sortBy", "filterBy"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, isStandalone: true, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: OrganisationsFilterComponent, selector: "gn-ui-organisations-filter", outputs: ["sortBy", "filterBy"] }, { kind: "component", type: OrganisationsResultComponent, selector: "gn-ui-organisations-result", inputs: ["hits", "total"] }, { kind: "component", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: ["organization", "organisationUrl"], outputs: ["clickedOrganisation"] }, { kind: "component", type: PaginationComponent, selector: "gn-ui-pagination", inputs: ["currentPage", "nPages", "hideButton"], outputs: ["newCurrentPageEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
86
  }
89
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, decorators: [{
90
88
  type: Component,
91
- args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n" }]
89
+ args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
90
+ CommonModule,
91
+ ContentGhostComponent,
92
+ OrganisationsFilterComponent,
93
+ OrganisationsResultComponent,
94
+ OrganisationPreviewComponent,
95
+ PaginationComponent,
96
+ ], template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n" }]
92
97
  }], ctorParameters: function () { return [{ type: i1.OrganizationsServiceInterface }, { type: undefined, decorators: [{
93
98
  type: Optional
94
99
  }, {
@@ -99,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
99
104
  }], orgSelect: [{
100
105
  type: Output
101
106
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFBOzs7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLG9CQUFtRCxFQUduRCxXQUFtQjtRQUhuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBR25ELGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBUHBCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFBO1FBVXRELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFckMsWUFBTyxHQUFpQyxJQUFJLGVB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bEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs7MEJBUTVDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMkJBQTJCOzRDQU41QixXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPcmdhbml6YXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgU29ydEJ5RmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBjcmVhdGVGdXp6eUZpbHRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgT1JHQU5JWkFUSU9OX1BBR0VfVVJMX1RPS0VOIH0gZnJvbSAnLi4vb3JnYW5pemF0aW9uLXVybC50b2tlbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktb3JnYW5pc2F0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbmlzYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXNPblBhZ2UgPSAxMlxuICBAT3V0cHV0KCkgb3JnU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxPcmdhbml6YXRpb24+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9yZ2FuaXNhdGlvbnNTZXJ2aWNlOiBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoT1JHQU5JWkFUSU9OX1BBR0VfVVJMX1RPS0VOKVxuICAgIHByaXZhdGUgdXJsVGVtcGxhdGU6IHN0cmluZ1xuICApIHt9XG5cbiAgdG90YWxQYWdlczogbnVtYmVyXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSlcbiAgb3JnYW5pc2F0aW9uUmVzdWx0czogbnVtYmVyXG4gIHNvcnRCeSQ6IEJlaGF2aW9yU3ViamVjdDxTb3J0QnlGaWVsZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFsnYXNjJywgJ25hbWUnXSlcbiAgZmlsdGVyQnkkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpXG4gIG9yZ2FuaXNhdGlvbnNUb3RhbCQgPSB0aGlzLm9yZ2FuaXNhdGlvbnNTZXJ2aWNlLm9yZ2FuaXNhdGlvbnNDb3VudCRcbiAgb3JnYW5pc2F0aW9uc0ZpbHRlcmVkQW5kU29ydGVkJDogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnNTZXJ2aWNlLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICBzdGFydFdpdGgoQXJyYXkodGhpcy5pdGVtc09uUGFnZSkuZmlsbCh7fSkpXG4gICAgKSxcbiAgICB0aGlzLnNvcnRCeSQsXG4gICAgdGhpcy5maWx0ZXJCeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbb3JnYW5pc2F0aW9ucywgc29ydEJ5LCBmaWx0ZXJCeV0pID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3JnYW5pc2F0aW9ucyA9IHRoaXMuZmlsdGVyT3JnYW5pc2F0aW9ucyhcbiAgICAgICAgb3JnYW5pc2F0aW9ucyxcbiAgICAgICAgZmlsdGVyQnlcbiAgICAgIClcbiAgICAgIHJldHVybiB0aGlzLnNvcnRPcmdhbmlzYXRpb25zKGZpbHRlcmVkT3JnYW5pc2F0aW9ucywgc29ydEJ5KVxuICAgIH0pXG4gIClcblxuICBvcmdhbmlzYXRpb25zJDogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnNGaWx0ZXJlZEFuZFNvcnRlZCQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbb3JnYW5pc2F0aW9uc10pID0+IHtcbiAgICAgIHRoaXMub3JnYW5pc2F0aW9uUmVzdWx0cyA9IG9yZ2FuaXNhdGlvbnMubGVuZ3RoXG4gICAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwob3JnYW5pc2F0aW9ucy5sZW5ndGggLyB0aGlzLml0ZW1zT25QYWdlKVxuICAgIH0pLFxuICAgIG1hcCgoW29yZ2FuaXNhdGlvbnMsIHBhZ2VdKSA9PlxuICAgICAgb3JnYW5pc2F0aW9ucy5zbGljZShcbiAgICAgICAgKHBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNPblBhZ2UsXG4gICAgICAgIHBhZ2UgKiB0aGlzLml0ZW1zT25QYWdlXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgcHJvdGVjdGVkIHNldEN1cnJlbnRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2UkLm5leHQocGFnZSlcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRGaWx0ZXJCeSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dCgxKVxuICAgIHRoaXMuZmlsdGVyQnkkLm5leHQodmFsdWUpXG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0U29ydEJ5KHZhbHVlOiBTb3J0QnlGaWVsZCk6IHZvaWQge1xuICAgIHRoaXMuc29ydEJ5JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJPcmdhbmlzYXRpb25zKG9yZ2FuaXNhdGlvbnM6IE9yZ2FuaXphdGlvbltdLCBmaWx0ZXJCeTogc3RyaW5nKSB7XG4gICAgaWYgKCFmaWx0ZXJCeSkgcmV0dXJuIG9yZ2FuaXNhdGlvbnNcbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVGdXp6eUZpbHRlcihmaWx0ZXJCeSlcbiAgICByZXR1cm4gb3JnYW5pc2F0aW9ucy5maWx0ZXIoKG9yZykgPT4gZmlsdGVyKG9yZy5uYW1lKSlcbiAgfVxuXG4gIHByaXZhdGUgc29ydE9yZ2FuaXNhdGlvbnMoXG4gICAgb3JnYW5pc2F0aW9uczogT3JnYW5pemF0aW9uW10sXG4gICAgc29ydEJ5OiBTb3J0QnlGaWVsZFxuICApOiBPcmdhbml6YXRpb25bXSB7XG4gICAgbGV0IG9yZGVyOiAnYXNjJyB8ICdkZXNjJ1xuICAgIGxldCBhdHRyaWJ1dGU6IHN0cmluZ1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNvcnRCeVswXSkpIHtcbiAgICAgIG9yZGVyID0gc29ydEJ5WzBdWzBdXG4gICAgICBhdHRyaWJ1dGUgPSBzb3J0QnlbMF1bMV1cbiAgICB9IGVsc2Uge1xuICAgICAgb3JkZXIgPSBzb3J0QnlbMF1cbiAgICAgIGF0dHJpYnV0ZSA9IHNvcnRCeVsxXSBhcyBzdHJpbmdcbiAgICB9XG4gICAgY29uc3QgZGlyZWN0aW9uID0gb3JkZXIgPT09ICdhc2MnID8gMSA6IC0xXG4gICAgcmV0dXJuIFsuLi5vcmdhbmlzYXRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZUEgPSBhW2F0dHJpYnV0ZV1cbiAgICAgIGNvbnN0IHZhbHVlQiA9IGJbYXR0cmlidXRlXVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZUEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZUIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBkaXJlY3Rpb24gKiB2YWx1ZUEubG9jYWxlQ29tcGFyZSh2YWx1ZUIpXG4gICAgICB9XG4gICAgICByZXR1cm4gZGlyZWN0aW9uICogTWF0aC5zaWduKHZhbHVlQSAtIHZhbHVlQilcbiAgICB9KVxuICB9XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gaW5kZXhcbiAgfVxuXG4gIGdldE9yZ2FuaXNhdGlvblVybChvcmdhbmlzYXRpb246IE9yZ2FuaXphdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVybFRlbXBsYXRlKSByZXR1cm4gbnVsbFxuICAgIHJldHVybiB0aGlzLnVybFRlbXBsYXRlLnJlcGxhY2UoJyR7bmFtZX0nLCBvcmdhbmlzYXRpb24ubmFtZSlcbiAgfVxufVxuIiwiPGduLXVpLW9yZ2FuaXNhdGlvbnMtZmlsdGVyXG4gIChzb3J0QnkpPVwic2V0U29ydEJ5KCRldmVudClcIlxuICAoZmlsdGVyQnkpPVwic2V0RmlsdGVyQnkoJGV2ZW50KVwiXG4+PC9nbi11aS1vcmdhbmlzYXRpb25zLWZpbHRlcj5cbjxkaXYgY2xhc3M9XCJtdC02IHJvdW5kZWQtbGcgdGV4dC1ncmF5LTgwMCBwLTQgYmctc2xhdGUtMTAwXCI+XG4gIDxnbi11aS1vcmdhbmlzYXRpb25zLXJlc3VsdFxuICAgICpuZ0lmPVwib3JnYW5pc2F0aW9uc1RvdGFsJCB8IGFzeW5jXCJcbiAgICBbaGl0c109XCJvcmdhbmlzYXRpb25SZXN1bHRzXCJcbiAgICBbdG90YWxdPVwib3JnYW5pc2F0aW9uc1RvdGFsJCB8IGFzeW5jXCJcbiAgPjwvZ24tdWktb3JnYW5pc2F0aW9ucy1yZXN1bHQ+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG10LTYgZ2FwLXgtNiBnYXAteS04IHNtOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zXCJcbj5cbiAgPGduLXVpLWNvbnRlbnQtZ2hvc3RcbiAgICBjbGFzcz1cImgtWzMwMHB4XVwiXG4gICAgZ2hvc3RDbGFzcz1cImgtZnVsbCBtYi0zNlwiXG4gICAgKm5nRm9yPVwibGV0IG9yZ2FuaXNhdGlvbiBvZiBvcmdhbmlzYXRpb25zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgIFtzaG93Q29udGVudF09XCIhIW9yZ2FuaXNhdGlvbi5uYW1lXCJcbiAgPlxuICAgIDxnbi11aS1vcmdhbmlzYXRpb24tcHJldmlld1xuICAgICAgW29yZ2FuaXphdGlvbl09XCJvcmdhbmlzYXRpb25cIlxuICAgICAgW29yZ2FuaXNhdGlvblVybF09XCJnZXRPcmdhbmlzYXRpb25Vcmwob3JnYW5pc2F0aW9uKVwiXG4gICAgICAoY2xpY2tlZE9yZ2FuaXNhdGlvbik9XCJvcmdTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1vcmdhbmlzYXRpb24tcHJldmlldz5cbiAgPC9nbi11aS1jb250ZW50LWdob3N0PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHktMjBcIj5cbiAgPGduLXVpLXBhZ2luYXRpb25cbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtuUGFnZXNdPVwidG90YWxQYWdlc1wiXG4gICAgKG5ld0N1cnJlbnRQYWdlRXZlbnQpPVwic2V0Q3VycmVudFBhZ2UoJGV2ZW50KVwiXG4gID48L2duLXVpLXBhZ2luYXRpb24+XG48L2Rpdj5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3ZFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsbUJBQW1CLEdBQ3BCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDRCQUE0QixHQUM3QixNQUFNLHVDQUF1QyxDQUFBOzs7O0FBaUI5QyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1Usb0JBQW1ELEVBR25ELFdBQW1CO1FBSG5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBK0I7UUFHbkQsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFQcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDZixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUE7UUFVdEQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVyQyxZQUFPLEdBQWlDLElBQUksZUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDNUUsY0FBUyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM1RCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUE7UUFDbkUsb0NBQStCLEdBQStCLGFBQWEsQ0FBQztZQUMxRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzVDO1lBQ0QsSUFBSSxDQUFDLE9BQU87WUFDWixJQUFJLENBQUMsU0FBUztTQUNmLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ3BELGFBQWEsRUFDYixRQUFRLENBQ1QsQ0FBQTtZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUNILENBQUE7UUFFRCxtQkFBYyxHQUErQixhQUFhLENBQUM7WUFDekQsSUFBSSxDQUFDLCtCQUErQjtZQUNwQyxJQUFJLENBQUMsWUFBWTtTQUNsQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDdEUsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUM1QixhQUFhLENBQUMsS0FBSyxDQUNqQixDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUM3QixJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FDeEIsQ0FDRixDQUNGLENBQUE7SUF0Q0UsQ0FBQztJQXdDTSxjQUFjLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsYUFBNkIsRUFBRSxRQUFnQjtRQUN6RSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sYUFBYSxDQUFBO1FBQ25DLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzFDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsYUFBNkIsRUFDN0IsTUFBbUI7UUFFbkIsSUFBSSxLQUFxQixDQUFBO1FBQ3pCLElBQUksU0FBaUIsQ0FBQTtRQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNwQixTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3pCO2FBQU07WUFDTCxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2pCLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFXLENBQUE7U0FDaEM7UUFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDM0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzNCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDNUQsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTthQUNoRDtZQUNELE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBO1FBQy9DLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGtCQUFrQixDQUFDLFlBQTBCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sSUFBSSxDQUFBO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvRCxDQUFDOytHQW5HVSxzQkFBc0IsK0RBT3ZCLDJCQUEyQjttR0FQMUIsc0JBQXNCLDRKQzFDbkMseW9DQWtDQSx5RERBSSxZQUFZLHFUQUNaLHFCQUFxQix1R0FDckIsNEJBQTRCLHdHQUM1Qiw0QkFBNEIsa0dBQzVCLDRCQUE0QixzSkFDNUIsbUJBQW1COzs0RkFHVixzQkFBc0I7a0JBZmxDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixtQkFBbUI7cUJBQ3BCOzswQkFRRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLDJCQUEyQjs0Q0FONUIsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvb3JnYW5pemF0aW9ucy5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IFNvcnRCeUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHsgY3JlYXRlRnV6enlGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IE9SR0FOSVpBVElPTl9QQUdFX1VSTF9UT0tFTiB9IGZyb20gJy4uL29yZ2FuaXphdGlvbi11cmwudG9rZW4nXG5pbXBvcnQge1xuICBDb250ZW50R2hvc3RDb21wb25lbnQsXG4gIFBhZ2luYXRpb25Db21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgT3JnYW5pc2F0aW9uUHJldmlld0NvbXBvbmVudCxcbiAgT3JnYW5pc2F0aW9uc0ZpbHRlckNvbXBvbmVudCxcbiAgT3JnYW5pc2F0aW9uc1Jlc3VsdENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9jYXRhbG9nL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktb3JnYW5pc2F0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbmlzYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvbnRlbnRHaG9zdENvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25zRmlsdGVyQ29tcG9uZW50LFxuICAgIE9yZ2FuaXNhdGlvbnNSZXN1bHRDb21wb25lbnQsXG4gICAgT3JnYW5pc2F0aW9uUHJldmlld0NvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXNPblBhZ2UgPSAxMlxuICBAT3V0cHV0KCkgb3JnU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxPcmdhbml6YXRpb24+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9yZ2FuaXNhdGlvbnNTZXJ2aWNlOiBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoT1JHQU5JWkFUSU9OX1BBR0VfVVJMX1RPS0VOKVxuICAgIHByaXZhdGUgdXJsVGVtcGxhdGU6IHN0cmluZ1xuICApIHt9XG5cbiAgdG90YWxQYWdlczogbnVtYmVyXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSlcbiAgb3JnYW5pc2F0aW9uUmVzdWx0czogbnVtYmVyXG4gIHNvcnRCeSQ6IEJlaGF2aW9yU3ViamVjdDxTb3J0QnlGaWVsZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFsnYXNjJywgJ25hbWUnXSlcbiAgZmlsdGVyQnkkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpXG4gIG9yZ2FuaXNhdGlvbnNUb3RhbCQgPSB0aGlzLm9yZ2FuaXNhdGlvbnNTZXJ2aWNlLm9yZ2FuaXNhdGlvbnNDb3VudCRcbiAgb3JnYW5pc2F0aW9uc0ZpbHRlcmVkQW5kU29ydGVkJDogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnNTZXJ2aWNlLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICBzdGFydFdpdGgoQXJyYXkodGhpcy5pdGVtc09uUGFnZSkuZmlsbCh7fSkpXG4gICAgKSxcbiAgICB0aGlzLnNvcnRCeSQsXG4gICAgdGhpcy5maWx0ZXJCeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbb3JnYW5pc2F0aW9ucywgc29ydEJ5LCBmaWx0ZXJCeV0pID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3JnYW5pc2F0aW9ucyA9IHRoaXMuZmlsdGVyT3JnYW5pc2F0aW9ucyhcbiAgICAgICAgb3JnYW5pc2F0aW9ucyxcbiAgICAgICAgZmlsdGVyQnlcbiAgICAgIClcbiAgICAgIHJldHVybiB0aGlzLnNvcnRPcmdhbmlzYXRpb25zKGZpbHRlcmVkT3JnYW5pc2F0aW9ucywgc29ydEJ5KVxuICAgIH0pXG4gIClcblxuICBvcmdhbmlzYXRpb25zJDogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnNGaWx0ZXJlZEFuZFNvcnRlZCQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbb3JnYW5pc2F0aW9uc10pID0+IHtcbiAgICAgIHRoaXMub3JnYW5pc2F0aW9uUmVzdWx0cyA9IG9yZ2FuaXNhdGlvbnMubGVuZ3RoXG4gICAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwob3JnYW5pc2F0aW9ucy5sZW5ndGggLyB0aGlzLml0ZW1zT25QYWdlKVxuICAgIH0pLFxuICAgIG1hcCgoW29yZ2FuaXNhdGlvbnMsIHBhZ2VdKSA9PlxuICAgICAgb3JnYW5pc2F0aW9ucy5zbGljZShcbiAgICAgICAgKHBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNPblBhZ2UsXG4gICAgICAgIHBhZ2UgKiB0aGlzLml0ZW1zT25QYWdlXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgcHJvdGVjdGVkIHNldEN1cnJlbnRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2UkLm5leHQocGFnZSlcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRGaWx0ZXJCeSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dCgxKVxuICAgIHRoaXMuZmlsdGVyQnkkLm5leHQodmFsdWUpXG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0U29ydEJ5KHZhbHVlOiBTb3J0QnlGaWVsZCk6IHZvaWQge1xuICAgIHRoaXMuc29ydEJ5JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJPcmdhbmlzYXRpb25zKG9yZ2FuaXNhdGlvbnM6IE9yZ2FuaXphdGlvbltdLCBmaWx0ZXJCeTogc3RyaW5nKSB7XG4gICAgaWYgKCFmaWx0ZXJCeSkgcmV0dXJuIG9yZ2FuaXNhdGlvbnNcbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVGdXp6eUZpbHRlcihmaWx0ZXJCeSlcbiAgICByZXR1cm4gb3JnYW5pc2F0aW9ucy5maWx0ZXIoKG9yZykgPT4gZmlsdGVyKG9yZy5uYW1lKSlcbiAgfVxuXG4gIHByaXZhdGUgc29ydE9yZ2FuaXNhdGlvbnMoXG4gICAgb3JnYW5pc2F0aW9uczogT3JnYW5pemF0aW9uW10sXG4gICAgc29ydEJ5OiBTb3J0QnlGaWVsZFxuICApOiBPcmdhbml6YXRpb25bXSB7XG4gICAgbGV0IG9yZGVyOiAnYXNjJyB8ICdkZXNjJ1xuICAgIGxldCBhdHRyaWJ1dGU6IHN0cmluZ1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNvcnRCeVswXSkpIHtcbiAgICAgIG9yZGVyID0gc29ydEJ5WzBdWzBdXG4gICAgICBhdHRyaWJ1dGUgPSBzb3J0QnlbMF1bMV1cbiAgICB9IGVsc2Uge1xuICAgICAgb3JkZXIgPSBzb3J0QnlbMF1cbiAgICAgIGF0dHJpYnV0ZSA9IHNvcnRCeVsxXSBhcyBzdHJpbmdcbiAgICB9XG4gICAgY29uc3QgZGlyZWN0aW9uID0gb3JkZXIgPT09ICdhc2MnID8gMSA6IC0xXG4gICAgcmV0dXJuIFsuLi5vcmdhbmlzYXRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZUEgPSBhW2F0dHJpYnV0ZV1cbiAgICAgIGNvbnN0IHZhbHVlQiA9IGJbYXR0cmlidXRlXVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZUEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZUIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBkaXJlY3Rpb24gKiB2YWx1ZUEubG9jYWxlQ29tcGFyZSh2YWx1ZUIpXG4gICAgICB9XG4gICAgICByZXR1cm4gZGlyZWN0aW9uICogTWF0aC5zaWduKHZhbHVlQSAtIHZhbHVlQilcbiAgICB9KVxuICB9XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gaW5kZXhcbiAgfVxuXG4gIGdldE9yZ2FuaXNhdGlvblVybChvcmdhbmlzYXRpb246IE9yZ2FuaXphdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVybFRlbXBsYXRlKSByZXR1cm4gbnVsbFxuICAgIHJldHVybiB0aGlzLnVybFRlbXBsYXRlLnJlcGxhY2UoJyR7bmFtZX0nLCBvcmdhbmlzYXRpb24ubmFtZSlcbiAgfVxufVxuIiwiPGduLXVpLW9yZ2FuaXNhdGlvbnMtZmlsdGVyXG4gIChzb3J0QnkpPVwic2V0U29ydEJ5KCRldmVudClcIlxuICAoZmlsdGVyQnkpPVwic2V0RmlsdGVyQnkoJGV2ZW50KVwiXG4+PC9nbi11aS1vcmdhbmlzYXRpb25zLWZpbHRlcj5cbjxkaXYgY2xhc3M9XCJtdC02IHJvdW5kZWQtbGcgdGV4dC1ncmF5LTgwMCBwLTQgYmctc2xhdGUtMTAwXCI+XG4gIDxnbi11aS1vcmdhbmlzYXRpb25zLXJlc3VsdFxuICAgICpuZ0lmPVwib3JnYW5pc2F0aW9uc1RvdGFsJCB8IGFzeW5jXCJcbiAgICBbaGl0c109XCJvcmdhbmlzYXRpb25SZXN1bHRzXCJcbiAgICBbdG90YWxdPVwib3JnYW5pc2F0aW9uc1RvdGFsJCB8IGFzeW5jXCJcbiAgPjwvZ24tdWktb3JnYW5pc2F0aW9ucy1yZXN1bHQ+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG10LTYgZ2FwLXgtNiBnYXAteS04IHNtOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zXCJcbj5cbiAgPGduLXVpLWNvbnRlbnQtZ2hvc3RcbiAgICBjbGFzcz1cImgtWzMwMHB4XVwiXG4gICAgZ2hvc3RDbGFzcz1cImgtZnVsbCBtYi0zNlwiXG4gICAgKm5nRm9yPVwibGV0IG9yZ2FuaXNhdGlvbiBvZiBvcmdhbmlzYXRpb25zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgIFtzaG93Q29udGVudF09XCIhIW9yZ2FuaXNhdGlvbi5uYW1lXCJcbiAgPlxuICAgIDxnbi11aS1vcmdhbmlzYXRpb24tcHJldmlld1xuICAgICAgW29yZ2FuaXphdGlvbl09XCJvcmdhbmlzYXRpb25cIlxuICAgICAgW29yZ2FuaXNhdGlvblVybF09XCJnZXRPcmdhbmlzYXRpb25Vcmwob3JnYW5pc2F0aW9uKVwiXG4gICAgICAoY2xpY2tlZE9yZ2FuaXNhdGlvbik9XCJvcmdTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1vcmdhbmlzYXRpb24tcHJldmlldz5cbiAgPC9nbi11aS1jb250ZW50LWdob3N0PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHktMjBcIj5cbiAgPGduLXVpLXBhZ2luYXRpb25cbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtuUGFnZXNdPVwidG90YWxQYWdlc1wiXG4gICAgKG5ld0N1cnJlbnRQYWdlRXZlbnQpPVwic2V0Q3VycmVudFBhZ2UoJGV2ZW50KVwiXG4gID48L2duLXVpLXBhZ2luYXRpb24+XG48L2Rpdj5cbiJdfQ==
@@ -3,8 +3,8 @@ import { SiteApiService, } from '../../../../../../libs/data-access/gn4/src';
3
3
  import { shareReplay } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../../../../../libs/data-access/gn4/src";
6
- import * as i2 from "../../../../../ui/catalog/src/lib/catalog-title/catalog-title.component";
7
- import * as i3 from "@angular/common";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../../../../ui/catalog/src/lib/catalog-title/catalog-title.component";
8
8
  export class SiteTitleComponent {
9
9
  constructor(siteApiService) {
10
10
  this.siteApiService = siteApiService;
@@ -13,7 +13,7 @@ export class SiteTitleComponent {
13
13
  .pipe(shareReplay(1));
14
14
  }
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SiteTitleComponent, deps: [{ token: i1.SiteApiService }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SiteTitleComponent, selector: "gn-ui-site-title", ngImport: i0, template: "<gn-ui-catalog-title\n *ngIf=\"info$ | async as info\"\n [name]=\"info['system/site/name']\"\n [tooltip]=\"info['system/site/organization']\"\n></gn-ui-catalog-title>\n", styles: [""], dependencies: [{ kind: "component", type: i2.CatalogTitleComponent, selector: "gn-ui-catalog-title", inputs: ["name", "tooltip", "description"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SiteTitleComponent, selector: "gn-ui-site-title", ngImport: i0, template: "<gn-ui-catalog-title\n *ngIf=\"info$ | async as info\"\n [name]=\"info['system/site/name']\"\n [tooltip]=\"info['system/site/organization']\"\n></gn-ui-catalog-title>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CatalogTitleComponent, selector: "gn-ui-catalog-title", inputs: ["name", "tooltip", "description"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SiteTitleComponent, decorators: [{
19
19
  type: Component,
@@ -1,7 +1,6 @@
1
- export * from './lib/feature-dataviz.module';
2
1
  export * from './lib/service/data.service';
3
2
  export * from './lib/chart-view/chart-view.component';
4
3
  export * from './lib/figure/figure-container/figure-container.component';
5
4
  export * from './lib/geo-table-view/geo-table-view.component';
6
5
  export * from './lib/table-view/table-view.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUNBQXVDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLWRhdGF2aXoubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9kYXRhLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC12aWV3L2NoYXJ0LXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlndXJlL2ZpZ3VyZS1jb250YWluZXIvZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW8tdGFibGUtdmlldy9nZW8tdGFibGUtdmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS12aWV3L3RhYmxlLXZpZXcuY29tcG9uZW50J1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsMERBQTBELENBQUE7QUFDeEUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHVDQUF1QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9kYXRhLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC12aWV3L2NoYXJ0LXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlndXJlL2ZpZ3VyZS1jb250YWluZXIvZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW8tdGFibGUtdmlldy9nZW8tdGFibGUtdmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS12aWV3L3RhYmxlLXZpZXcuY29tcG9uZW50J1xuIl19
@@ -1,18 +1,18 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Output, } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { FetchError, getJsonDataItemsProxy, } from '../../../../../../libs/util/data-fetcher/src';
4
+ import { DropdownSelectorComponent, } from '../../../../../../libs/ui/inputs/src';
4
5
  import { BehaviorSubject, combineLatest, EMPTY } from 'rxjs';
5
6
  import { catchError, filter, map, shareReplay, startWith, switchMap, tap, } from 'rxjs/operators';
6
7
  import { DataService } from '../service/data.service';
7
- import { TranslateService } from '@ngx-translate/core';
8
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
9
+ import { CommonModule } from '@angular/common';
10
+ import { ChartComponent } from '../../../../../../libs/ui/dataviz/src';
11
+ import { LoadingMaskComponent, PopupAlertComponent, } from '../../../../../../libs/ui/widgets/src';
8
12
  import * as i0 from "@angular/core";
9
13
  import * as i1 from "../service/data.service";
10
14
  import * as i2 from "@ngx-translate/core";
11
15
  import * as i3 from "@angular/common";
12
- import * as i4 from "../../../../../ui/widgets/src/lib/loading-mask/loading-mask.component";
13
- import * as i5 from "../../../../../ui/dataviz/src/lib/chart/chart.component";
14
- import * as i6 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
15
- import * as i7 from "../../../../../ui/widgets/src/lib/popup-alert/popup-alert.component";
16
16
  marker('chart.type.bar');
17
17
  marker('chart.type.barHorizontal');
18
18
  marker('chart.type.line');
@@ -166,11 +166,18 @@ export class ChartViewComponent {
166
166
  this.changeDetector.detectChanges();
167
167
  }
168
168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: i5.ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: i6.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i7.PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
170
170
  }
171
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, decorators: [{
172
172
  type: Component,
173
- args: [{ selector: 'gn-ui-chart-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
173
+ args: [{ selector: 'gn-ui-chart-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
174
+ CommonModule,
175
+ DropdownSelectorComponent,
176
+ TranslateModule,
177
+ ChartComponent,
178
+ LoadingMaskComponent,
179
+ PopupAlertComponent,
180
+ ], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
174
181
  }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }, { type: i2.TranslateService }]; }, propDecorators: { link: [{
175
182
  type: Input
176
183
  }], aggregation: [{
@@ -184,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
184
191
  }], chartConfig$: [{
185
192
  type: Output
186
193
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUVMLFVBQVUsRUFFVixxQkFBcUIsR0FDdEIsTUFBTSw4Q0FBOEMsQ0FBQTtBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDeEUsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUdyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7Ozs7O0FBRXRELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBQ2xDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ3pCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBQy9CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLE1BQU0s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S08sU0FBUztzQkFBckIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQUtPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgQmFzZVJlYWRlcixcbiAgRmV0Y2hFcnJvcixcbiAgRmllbGRBZ2dyZWdhdGlvbixcbiAgZ2V0SnNvbkRhdGFJdGVtc1Byb3h5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7IERyb3Bkb3duQ2hvaWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2RhdGEuc2VydmljZSdcbmltcG9ydCB7IElucHV0Q2hhcnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxubWFya2VyKCdjaGFydC50eXBlLmJhcicpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUuYmFySG9yaXpvbnRhbCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZScpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUubGluZVNtb290aCcpXG5tYXJrZXIoJ2NoYXJ0LnR5cGUucGllJylcblxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5zdW0nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5tYXgnKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5taW4nKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5hdmVyYWdlJylcbm1hcmtlcignY2hhcnQuYWdncmVnYXRpb24uY291bnQnKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jaGFydC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Vmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBsaW5rKHZhbHVlOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpIHtcbiAgICB0aGlzLmN1cnJlbnRMaW5rJC5uZXh0KHZhbHVlKVxuICB9XG4gIHByaXZhdGUgY3VycmVudExpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhc2V0T25saW5lUmVzb3VyY2U+KG51bGwpXG5cbiAgQElucHV0KCkgc2V0IGFnZ3JlZ2F0aW9uKHZhbHVlOiBGaWVsZEFnZ3JlZ2F0aW9uWzBdKSB7XG4gICAgdGhpcy5hZ2dyZWdhdGlvbiQubmV4dCh2YWx1ZSlcbiAgfVxuICBhZ2dyZWdhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpZWxkQWdncmVnYXRpb25bMF0+KCdzdW0nKVxuXG4gIEBJbnB1dCgpIHNldCB4UHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMueFByb3BlcnR5JC5uZXh0KHZhbHVlKVxuICB9XG4gIHhQcm9wZXJ0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKVxuXG4gIEBJbnB1dCgpIHNldCB5UHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMueVByb3BlcnR5JC5uZXh0KHZhbHVlKVxuICB9XG4gIHlQcm9wZXJ0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKVxuXG4gIEBJbnB1dCgpIHNldCBjaGFydFR5cGUodmFsdWU6IElucHV0Q2hhcnRUeXBlKSB7XG4gICAgdGhpcy5jaGFydFR5cGUkLm5leHQodmFsdWUpXG4gIH1cbiAgY2hhcnRUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5wdXRDaGFydFR5cGU+KCdiYXInKVxuXG4gIEBPdXRwdXQoKSBjaGFydENvbmZpZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnhQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy55UHJvcGVydHkkLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgIHRoaXMuYWdncmVnYXRpb24kLFxuICAgIHRoaXMuY2hhcnRUeXBlJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt4UHJvcGVydHksIHlQcm9wZXJ0eSwgYWdncmVnYXRpb24sIGNoYXJ0VHlwZV0pID0+ICh7XG4gICAgICBhZ2dyZWdhdGlvbixcbiAgICAgIHhQcm9wZXJ0eSxcbiAgICAgIHlQcm9wZXJ0eSxcbiAgICAgIGNoYXJ0VHlwZSxcbiAgICB9KSlcbiAgKVxuXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBlcnJvciA9IG51bGxcbiAgZXJyb3JJbmZvID0gbnVsbFxuXG4gIHR5cGVDaG9pY2VzOiBEcm9wZG93bkNob2ljZVtdID0gW1xuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmJhcicsIHZhbHVlOiAnYmFyJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmJhckhvcml6b250YWwnLCB2YWx1ZTogJ2Jhci1ob3Jpem9udGFsJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmxpbmUnLCB2YWx1ZTogJ2xpbmUnIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUubGluZVNtb290aCcsIHZhbHVlOiAnbGluZS1pbnRlcnBvbGF0ZWQnIH0sXG4gICAgeyBsYWJlbDogJ2NoYXJ0LnR5cGUucGllJywgdmFsdWU6ICdwaWUnIH0sXG4gIF1cblxuICBnZXQgYWdncmVnYXRpb25DaG9pY2VzKCkge1xuICAgIGlmICghdGhpcy55UHJvcGVydHkkLnZhbHVlKSB7XG4gICAgICByZXR1cm4gW3sgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5jb3VudCcsIHZhbHVlOiAnY291bnQnIH1dXG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uc3VtJywgdmFsdWU6ICdzdW0nIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24ubWF4JywgdmFsdWU6ICdtYXgnIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24ubWluJywgdmFsdWU6ICdtaW4nIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uYXZlcmFnZScsIHZhbHVlOiAnYXZlcmFnZScgfSxcbiAgICAgIHsgbGFiZWw6ICdjaGFydC5hZ2dyZWdhdGlvbi5jb3VudCcsIHZhbHVlOiAnY291bnQnIH0sXG4gICAgXSBhcyBEcm9wZG93bkNob2ljZVtdXG4gIH1cblxuICBkYXRhc2V0JDogT2JzZXJ2YWJsZTxCYXNlUmVhZGVyPiA9IHRoaXMuY3VycmVudExpbmskLnBpcGUoXG4gICAgZmlsdGVyKChsaW5rKSA9PiAhIWxpbmspLFxuICAgIHN3aXRjaE1hcCgobGluaykgPT4ge1xuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmdldERhdGFzZXQobGluaykucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICAgIHJldHVybiBFTVBUWVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcbiAgcHJvcGVydGllcyQgPSB0aGlzLmRhdGFzZXQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChkYXRhc2V0KSA9PlxuICAgICAgZGF0YXNldC5wcm9wZXJ0aWVzLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH0pXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG4gIHlDaG9pY2VzJCA9IHRoaXMucHJvcGVydGllcyQucGlwZShcbiAgICBtYXAoKHByb3BlcnRpZXMpID0+XG4gICAgICBwcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoKHByb3ApID0+IHByb3AudHlwZSA9PT0gJ251bWJlcicgfHwgcHJvcC50eXBlID09PSAnZGF0ZScpXG4gICAgICAgIC5tYXAoKHByb3ApID0+ICh7IHZhbHVlOiBwcm9wLm5hbWUsIGxhYmVsOiBwcm9wLmxhYmVsIHx8IHByb3AubmFtZSB9KSlcbiAgICApLFxuICAgIHRhcCgoY2hvaWNlcykgPT4ge1xuICAgICAgaWYgKCFjaG9pY2VzLmZpbmQoKGNob2ljZSkgPT4gY2hvaWNlLnZhbHVlID09PSB0aGlzLnlQcm9wZXJ0eSQudmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3AgPSBjaG9pY2VzWzBdPy52YWx1ZSB8fCAnJ1xuICAgICAgICBpZiAoIW5ld1Byb3AgJiYgdGhpcy5hZ2dyZWdhdGlvbiQudmFsdWUgIT09ICdjb3VudCcpIHtcbiAgICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9uJC5uZXh0KCdjb3VudCcpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy55UHJvcGVydHkkLm5leHQobmV3UHJvcClcbiAgICAgIH1cbiAgICB9KVxuICApXG4gIHhDaG9pY2VzJCA9IHRoaXMucHJvcGVydGllcyQucGlwZShcbiAgICBtYXAoKHByb3BlcnRpZXMpID0+XG4gICAgICBwcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoKHByb3ApID0+IHByb3AudHlwZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIC5tYXAoKHByb3ApID0+ICh7XG4gICAgICAgICAgdmFsdWU6IHByb3AubmFtZSxcbiAgICAgICAgICBsYWJlbDogcHJvcC5sYWJlbCB8fCBwcm9wLm5hbWUsXG4gICAgICAgIH0pKVxuICAgICksXG4gICAgdGFwKChjaG9pY2VzKSA9PiB7XG4gICAgICBpZiAoIWNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMueFByb3BlcnR5JC52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy54UHJvcGVydHkkLm5leHQoY2hvaWNlc1swXT8udmFsdWUgfHwgJycpXG4gICAgICB9XG4gICAgfSlcbiAgKVxuXG4gIGNoYXJ0RGF0YSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRhdGFzZXQkLFxuICAgIHRoaXMueFByb3BlcnR5JC5waXBlKGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSxcbiAgICB0aGlzLnlQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy5hZ2dyZWdhdGlvbiQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZGF0YXNldCwgeFByb3AsIHlQcm9wLCBhZ2dyZWdhdGlvbl0pID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkQWdnOiBGaWVsZEFnZ3JlZ2F0aW9uID1cbiAgICAgICAgYWdncmVnYXRpb24gPT09ICdjb3VudCcgPyBbJ2NvdW50J10gOiBbYWdncmVnYXRpb24sIHlQcm9wXVxuICAgICAgcmV0dXJuIGRhdGFzZXRcbiAgICAgICAgLmdyb3VwQnkoWydkaXN0aW5jdCcsIHhQcm9wXSlcbiAgICAgICAgLmFnZ3JlZ2F0ZShmaWVsZEFnZylcbiAgICAgICAgLnJlYWQoKVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIH0pXG4gICAgfSksXG4gICAgbWFwKGdldEpzb25EYXRhSXRlbXNQcm94eSksXG4gICAgc3RhcnRXaXRoKFtdKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgZ2V0IGxhYmVsUHJvcGVydHkoKSB7XG4gICAgaWYgKCF0aGlzLnhQcm9wZXJ0eSQudmFsdWUpIHJldHVybiAnJ1xuICAgIHJldHVybiBgZGlzdGluY3QoJHt0aGlzLnhQcm9wZXJ0eSQudmFsdWV9KWBcbiAgfVxuICBnZXQgdmFsdWVQcm9wZXJ0eSgpIHtcbiAgICBpZiAodGhpcy5pc0NvdW50QWdncmVnYXRpb24pIHJldHVybiAnY291bnQoKSdcbiAgICByZXR1cm4gYCR7dGhpcy5hZ2dyZWdhdGlvbiQudmFsdWV9KCR7dGhpcy55UHJvcGVydHkkLnZhbHVlfSlgXG4gIH1cbiAgZ2V0IGlzQ291bnRBZ2dyZWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hZ2dyZWdhdGlvbiQudmFsdWUgPT09ICdjb3VudCdcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvciB8IHN0cmluZykge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvci5tZXNzYWdlKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLnN0YWNrIHx8IGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMiBzbTpmbGV4LXJvdyBzbTpzcGFjZS15LTAgc206c3BhY2UteC0yIGp1c3RpZnktYmV0d2VlbiB0ZXh0LVsxM3B4XVwiXG4gID5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgIFtjaG9pY2VzXT1cInR5cGVDaG9pY2VzXCJcbiAgICAgIFtleHRyYUJ0bkNsYXNzXT1cIidzZWNvbmRhcnkgbWluLXctZnVsbCdcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cImNoYXJ0VHlwZSQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJjaGFydFR5cGUkLnZhbHVlXCJcbiAgICAgIFt0aXRsZV09XCInY2hhcnQuZHJvcGRvd24udHlwZScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJiYXNpcy0xLzRcIlxuICAgICAgW2Nob2ljZXNdPVwieENob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgW2V4dHJhQnRuQ2xhc3NdPVwiJ3NlY29uZGFyeSBtaW4tdy1mdWxsJ1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwieFByb3BlcnR5JC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInhQcm9wZXJ0eSQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi54UHJvcGVydHknIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgICpuZ0lmPVwiIWlzQ291bnRBZ2dyZWdhdGlvblwiXG4gICAgICBbY2hvaWNlc109XCJ5Q2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwieVByb3BlcnR5JC5uZXh0KCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInlQcm9wZXJ0eSQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi55UHJvcGVydHknIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwic2VsZWN0LXktcHJvcFwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cImJhc2lzLTEvNFwiXG4gICAgICBbY2hvaWNlc109XCJhZ2dyZWdhdGlvbkNob2ljZXNcIlxuICAgICAgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jaG9pY2VzXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJhZ2dyZWdhdGlvbiQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJhZ2dyZWdhdGlvbiQudmFsdWVcIlxuICAgICAgW3RpdGxlXT1cIidjaGFydC5kcm9wZG93bi5hZ2dyZWdhdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmVsYXRpdmUgaC1mdWxsIG10LTIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gID5cbiAgICA8Z24tdWktY2hhcnRcbiAgICAgIFtkYXRhXT1cImNoYXJ0RGF0YSQgfCBhc3luY1wiXG4gICAgICBbdHlwZV09XCJjaGFydFR5cGUkLnZhbHVlXCJcbiAgICAgIFtsYWJlbFByb3BlcnR5XT1cImxhYmVsUHJvcGVydHlcIlxuICAgICAgW3ZhbHVlUHJvcGVydHldPVwidmFsdWVQcm9wZXJ0eVwiXG4gICAgPjwvZ24tdWktY2hhcnQ+XG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICBbbWVzc2FnZV09XCInY2hhcnQubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2NoYXJ0LXZpZXcvY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUVMLFVBQVUsRUFFVixxQkFBcUIsR0FDdEIsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNyRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ3hFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDdEUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixtQkFBbUIsR0FDcEIs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LENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3JDLENBQUM7K0dBdExVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFQQ2xFL0IsOG5FQThEQSx5RERMSSxZQUFZLHdMQUNaLHlCQUF5QixvTkFDekIsZUFBZSw0RkFDZixjQUFjLDhJQUNkLG9CQUFvQixvRkFDcEIsbUJBQW1COzs0RkFJVixrQkFBa0I7a0JBZjlCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG1CQUFtQjtxQkFDcEIsY0FDVyxJQUFJO2lLQUdILElBQUk7c0JBQWhCLEtBQUs7Z0JBS08sV0FBVztzQkFBdkIsS0FBSztnQkFLTyxTQUFTO3NCQUFyQixLQUFLO2dCQUtPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBS08sU0FBUztzQkFBckIsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBCYXNlUmVhZGVyLFxuICBGZXRjaEVycm9yLFxuICBGaWVsZEFnZ3JlZ2F0aW9uLFxuICBnZXRKc29uRGF0YUl0ZW1zUHJveHksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjJ1xuaW1wb3J0IHtcbiAgRHJvcGRvd25DaG9pY2UsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9kYXRhLnNlcnZpY2UnXG5pbXBvcnQgeyBJbnB1dENoYXJ0VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL2RhdGF2aXovZGF0YXZpei1jb25maWd1cmF0aW9uLm1vZGVsJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuXG5tYXJrZXIoJ2NoYXJ0LnR5cGUuYmFyJylcbm1hcmtlcignY2hhcnQudHlwZS5iYXJIb3Jpem9udGFsJylcbm1hcmtlcignY2hhcnQudHlwZS5saW5lJylcbm1hcmtlcignY2hhcnQudHlwZS5saW5lU21vb3RoJylcbm1hcmtlcignY2hhcnQudHlwZS5waWUnKVxuXG5tYXJrZXIoJ2NoYXJ0LmFnZ3JlZ2F0aW9uLnN1bScpXG5tYXJrZXIoJ2NoYXJ0LmFnZ3JlZ2F0aW9uLm1heCcpXG5tYXJrZXIoJ2NoYXJ0LmFnZ3JlZ2F0aW9uLm1pbicpXG5tYXJrZXIoJ2NoYXJ0LmFnZ3JlZ2F0aW9uLmF2ZXJhZ2UnKVxubWFya2VyKCdjaGFydC5hZ2dyZWdhdGlvbi5jb3VudCcpXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWNoYXJ0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDaGFydENvbXBvbmVudCxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBzZXQgbGluayh2YWx1ZTogRGF0YXNldE9ubGluZVJlc291cmNlKSB7XG4gICAgdGhpcy5jdXJyZW50TGluayQubmV4dCh2YWx1ZSlcbiAgfVxuICBwcml2YXRlIGN1cnJlbnRMaW5rJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXNldE9ubGluZVJlc291cmNlPihudWxsKVxuXG4gIEBJbnB1dCgpIHNldCBhZ2dyZWdhdGlvbih2YWx1ZTogRmllbGRBZ2dyZWdhdGlvblswXSkge1xuICAgIHRoaXMuYWdncmVnYXRpb24kLm5leHQodmFsdWUpXG4gIH1cbiAgYWdncmVnYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWVsZEFnZ3JlZ2F0aW9uWzBdPignc3VtJylcblxuICBASW5wdXQoKSBzZXQgeFByb3BlcnR5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnhQcm9wZXJ0eSQubmV4dCh2YWx1ZSlcbiAgfVxuICB4UHJvcGVydHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKSBzZXQgeVByb3BlcnR5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnlQcm9wZXJ0eSQubmV4dCh2YWx1ZSlcbiAgfVxuICB5UHJvcGVydHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKSBzZXQgY2hhcnRUeXBlKHZhbHVlOiBJbnB1dENoYXJ0VHlwZSkge1xuICAgIHRoaXMuY2hhcnRUeXBlJC5uZXh0KHZhbHVlKVxuICB9XG4gIGNoYXJ0VHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElucHV0Q2hhcnRUeXBlPignYmFyJylcblxuICBAT3V0cHV0KCkgY2hhcnRDb25maWckID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy54UHJvcGVydHkkLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgIHRoaXMueVByb3BlcnR5JC5waXBlKGZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSxcbiAgICB0aGlzLmFnZ3JlZ2F0aW9uJCxcbiAgICB0aGlzLmNoYXJ0VHlwZSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbeFByb3BlcnR5LCB5UHJvcGVydHksIGFnZ3JlZ2F0aW9uLCBjaGFydFR5cGVdKSA9PiAoe1xuICAgICAgYWdncmVnYXRpb24sXG4gICAgICB4UHJvcGVydHksXG4gICAgICB5UHJvcGVydHksXG4gICAgICBjaGFydFR5cGUsXG4gICAgfSkpXG4gIClcblxuICBsb2FkaW5nID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG4gIGVycm9ySW5mbyA9IG51bGxcblxuICB0eXBlQ2hvaWNlczogRHJvcGRvd25DaG9pY2VbXSA9IFtcbiAgICB7IGxhYmVsOiAnY2hhcnQudHlwZS5iYXInLCB2YWx1ZTogJ2JhcicgfSxcbiAgICB7IGxhYmVsOiAnY2hhcnQudHlwZS5iYXJIb3Jpem9udGFsJywgdmFsdWU6ICdiYXItaG9yaXpvbnRhbCcgfSxcbiAgICB7IGxhYmVsOiAnY2hhcnQudHlwZS5saW5lJywgdmFsdWU6ICdsaW5lJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLmxpbmVTbW9vdGgnLCB2YWx1ZTogJ2xpbmUtaW50ZXJwb2xhdGVkJyB9LFxuICAgIHsgbGFiZWw6ICdjaGFydC50eXBlLnBpZScsIHZhbHVlOiAncGllJyB9LFxuICBdXG5cbiAgZ2V0IGFnZ3JlZ2F0aW9uQ2hvaWNlcygpIHtcbiAgICBpZiAoIXRoaXMueVByb3BlcnR5JC52YWx1ZSkge1xuICAgICAgcmV0dXJuIFt7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uY291bnQnLCB2YWx1ZTogJ2NvdW50JyB9XVxuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLnN1bScsIHZhbHVlOiAnc3VtJyB9LFxuICAgICAgeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLm1heCcsIHZhbHVlOiAnbWF4JyB9LFxuICAgICAgeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLm1pbicsIHZhbHVlOiAnbWluJyB9LFxuICAgICAgeyBsYWJlbDogJ2NoYXJ0LmFnZ3JlZ2F0aW9uLmF2ZXJhZ2UnLCB2YWx1ZTogJ2F2ZXJhZ2UnIH0sXG4gICAgICB7IGxhYmVsOiAnY2hhcnQuYWdncmVnYXRpb24uY291bnQnLCB2YWx1ZTogJ2NvdW50JyB9LFxuICAgIF0gYXMgRHJvcGRvd25DaG9pY2VbXVxuICB9XG5cbiAgZGF0YXNldCQ6IE9ic2VydmFibGU8QmFzZVJlYWRlcj4gPSB0aGlzLmN1cnJlbnRMaW5rJC5waXBlKFxuICAgIGZpbHRlcigobGluaykgPT4gISFsaW5rKSxcbiAgICBzd2l0Y2hNYXAoKGxpbmspID0+IHtcbiAgICAgIHRoaXMuZXJyb3IgPSBudWxsXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5nZXREYXRhc2V0KGxpbmspLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG4gIHByb3BlcnRpZXMkID0gdGhpcy5kYXRhc2V0JC5waXBlKFxuICAgIHN3aXRjaE1hcCgoZGF0YXNldCkgPT5cbiAgICAgIGRhdGFzZXQucHJvcGVydGllcy5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgICAgcmV0dXJuIFtdXG4gICAgICB9KVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuICB5Q2hvaWNlcyQgPSB0aGlzLnByb3BlcnRpZXMkLnBpcGUoXG4gICAgbWFwKChwcm9wZXJ0aWVzKSA9PlxuICAgICAgcHJvcGVydGllc1xuICAgICAgICAuZmlsdGVyKChwcm9wKSA9PiBwcm9wLnR5cGUgPT09ICdudW1iZXInIHx8IHByb3AudHlwZSA9PT0gJ2RhdGUnKVxuICAgICAgICAubWFwKChwcm9wKSA9PiAoeyB2YWx1ZTogcHJvcC5uYW1lLCBsYWJlbDogcHJvcC5sYWJlbCB8fCBwcm9wLm5hbWUgfSkpXG4gICAgKSxcbiAgICB0YXAoKGNob2ljZXMpID0+IHtcbiAgICAgIGlmICghY2hvaWNlcy5maW5kKChjaG9pY2UpID0+IGNob2ljZS52YWx1ZSA9PT0gdGhpcy55UHJvcGVydHkkLnZhbHVlKSkge1xuICAgICAgICBjb25zdCBuZXdQcm9wID0gY2hvaWNlc1swXT8udmFsdWUgfHwgJydcbiAgICAgICAgaWYgKCFuZXdQcm9wICYmIHRoaXMuYWdncmVnYXRpb24kLnZhbHVlICE9PSAnY291bnQnKSB7XG4gICAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbiQubmV4dCgnY291bnQnKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMueVByb3BlcnR5JC5uZXh0KG5ld1Byb3ApXG4gICAgICB9XG4gICAgfSlcbiAgKVxuICB4Q2hvaWNlcyQgPSB0aGlzLnByb3BlcnRpZXMkLnBpcGUoXG4gICAgbWFwKChwcm9wZXJ0aWVzKSA9PlxuICAgICAgcHJvcGVydGllc1xuICAgICAgICAuZmlsdGVyKChwcm9wKSA9PiBwcm9wLnR5cGUgPT09ICdzdHJpbmcnKVxuICAgICAgICAubWFwKChwcm9wKSA9PiAoe1xuICAgICAgICAgIHZhbHVlOiBwcm9wLm5hbWUsXG4gICAgICAgICAgbGFiZWw6IHByb3AubGFiZWwgfHwgcHJvcC5uYW1lLFxuICAgICAgICB9KSlcbiAgICApLFxuICAgIHRhcCgoY2hvaWNlcykgPT4ge1xuICAgICAgaWYgKCFjaG9pY2VzLmZpbmQoKGNob2ljZSkgPT4gY2hvaWNlLnZhbHVlID09PSB0aGlzLnhQcm9wZXJ0eSQudmFsdWUpKSB7XG4gICAgICAgIHRoaXMueFByb3BlcnR5JC5uZXh0KGNob2ljZXNbMF0/LnZhbHVlIHx8ICcnKVxuICAgICAgfVxuICAgIH0pXG4gIClcblxuICBjaGFydERhdGEkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kYXRhc2V0JCxcbiAgICB0aGlzLnhQcm9wZXJ0eSQucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSksXG4gICAgdGhpcy55UHJvcGVydHkkLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgIHRoaXMuYWdncmVnYXRpb24kLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2RhdGFzZXQsIHhQcm9wLCB5UHJvcCwgYWdncmVnYXRpb25dKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZEFnZzogRmllbGRBZ2dyZWdhdGlvbiA9XG4gICAgICAgIGFnZ3JlZ2F0aW9uID09PSAnY291bnQnID8gWydjb3VudCddIDogW2FnZ3JlZ2F0aW9uLCB5UHJvcF1cbiAgICAgIHJldHVybiBkYXRhc2V0XG4gICAgICAgIC5ncm91cEJ5KFsnZGlzdGluY3QnLCB4UHJvcF0pXG4gICAgICAgIC5hZ2dyZWdhdGUoZmllbGRBZ2cpXG4gICAgICAgIC5yZWFkKClcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICB9KVxuICAgIH0pLFxuICAgIG1hcChnZXRKc29uRGF0YUl0ZW1zUHJveHkpLFxuICAgIHN0YXJ0V2l0aChbXSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGdldCBsYWJlbFByb3BlcnR5KCkge1xuICAgIGlmICghdGhpcy54UHJvcGVydHkkLnZhbHVlKSByZXR1cm4gJydcbiAgICByZXR1cm4gYGRpc3RpbmN0KCR7dGhpcy54UHJvcGVydHkkLnZhbHVlfSlgXG4gIH1cbiAgZ2V0IHZhbHVlUHJvcGVydHkoKSB7XG4gICAgaWYgKHRoaXMuaXNDb3VudEFnZ3JlZ2F0aW9uKSByZXR1cm4gJ2NvdW50KCknXG4gICAgcmV0dXJuIGAke3RoaXMuYWdncmVnYXRpb24kLnZhbHVlfSgke3RoaXMueVByb3BlcnR5JC52YWx1ZX0pYFxuICB9XG4gIGdldCBpc0NvdW50QWdncmVnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWdncmVnYXRpb24kLnZhbHVlID09PSAnY291bnQnXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGhhbmRsZUVycm9yKGVycm9yOiBGZXRjaEVycm9yIHwgRXJyb3IgfCBzdHJpbmcpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBGZXRjaEVycm9yKSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBkYXRhc2V0LmVycm9yLiR7ZXJyb3IudHlwZX1gLFxuICAgICAgICB7XG4gICAgICAgICAgaW5mbzogZXJyb3IuaW5mbyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLm1lc3NhZ2UpXG4gICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IubWVzc2FnZSlcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5zdGFjayB8fCBlcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yKVxuICAgIH1cbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2xcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBzcGFjZS15LTIgc206ZmxleC1yb3cgc206c3BhY2UteS0wIHNtOnNwYWNlLXgtMiBqdXN0aWZ5LWJldHdlZW4gdGV4dC1bMTNweF1cIlxuICA+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cImJhc2lzLTEvNFwiXG4gICAgICBbY2hvaWNlc109XCJ0eXBlQ2hvaWNlc1wiXG4gICAgICBbZXh0cmFCdG5DbGFzc109XCInc2Vjb25kYXJ5IG1pbi13LWZ1bGwnXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJjaGFydFR5cGUkLm5leHQoJGV2ZW50KVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiY2hhcnRUeXBlJC52YWx1ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2NoYXJ0LmRyb3Bkb3duLnR5cGUnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgIGNsYXNzPVwiYmFzaXMtMS80XCJcbiAgICAgIFtjaG9pY2VzXT1cInhDaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgIFtleHRyYUJ0bkNsYXNzXT1cIidzZWNvbmRhcnkgbWluLXctZnVsbCdcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInhQcm9wZXJ0eSQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJ4UHJvcGVydHkkLnZhbHVlXCJcbiAgICAgIFt0aXRsZV09XCInY2hhcnQuZHJvcGRvd24ueFByb3BlcnR5JyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBjbGFzcz1cImJhc2lzLTEvNFwiXG4gICAgICAqbmdJZj1cIiFpc0NvdW50QWdncmVnYXRpb25cIlxuICAgICAgW2Nob2ljZXNdPVwieUNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInlQcm9wZXJ0eSQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJ5UHJvcGVydHkkLnZhbHVlXCJcbiAgICAgIFt0aXRsZV09XCInY2hhcnQuZHJvcGRvd24ueVByb3BlcnR5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICBjbGFzcz1cInNlbGVjdC15LXByb3BcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJiYXNpcy0xLzRcIlxuICAgICAgW2Nob2ljZXNdPVwiYWdncmVnYXRpb25DaG9pY2VzXCJcbiAgICAgIGNsYXNzPVwiYWdncmVnYXRpb24tY2hvaWNlc1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwiYWdncmVnYXRpb24kLm5leHQoJGV2ZW50KVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiYWdncmVnYXRpb24kLnZhbHVlXCJcbiAgICAgIFt0aXRsZV09XCInY2hhcnQuZHJvcGRvd24uYWdncmVnYXRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIGgtZnVsbCBtdC0yIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW5cIlxuICA+XG4gICAgPGduLXVpLWNoYXJ0XG4gICAgICBbZGF0YV09XCJjaGFydERhdGEkIHwgYXN5bmNcIlxuICAgICAgW3R5cGVdPVwiY2hhcnRUeXBlJC52YWx1ZVwiXG4gICAgICBbbGFiZWxQcm9wZXJ0eV09XCJsYWJlbFByb3BlcnR5XCJcbiAgICAgIFt2YWx1ZVByb3BlcnR5XT1cInZhbHVlUHJvcGVydHlcIlxuICAgID48L2duLXVpLWNoYXJ0PlxuICAgIDxnbi11aS1sb2FkaW5nLW1hc2tcbiAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTBcIlxuICAgICAgW21lc3NhZ2VdPVwiJ2NoYXJ0LmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { UiDatavizModule } from '../../../../../../../libs/ui/dataviz/src';
2
3
  import { FigureService } from '../figure.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../figure.service";
@@ -15,11 +16,11 @@ export class FigureContainerComponent {
15
16
  this.figure = parseFloat(figure).toString();
16
17
  }
17
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureContainerComponent, deps: [{ token: i1.FigureService }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureContainerComponent, selector: "gn-ui-figure-container", inputs: { dataset: "dataset", expression: "expression", icon: "icon", title: "title", unit: "unit", digits: "digits" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n", styles: [""], dependencies: [{ kind: "component", type: i2.FigureComponent, selector: "gn-ui-figure", inputs: ["icon", "title", "figure", "unit", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureContainerComponent, isStandalone: true, selector: "gn-ui-figure-container", inputs: { dataset: "dataset", expression: "expression", icon: "icon", title: "title", unit: "unit", digits: "digits" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiDatavizModule }, { kind: "component", type: i2.FigureComponent, selector: "gn-ui-figure", inputs: ["icon", "title", "figure", "unit", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
20
  }
20
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureContainerComponent, decorators: [{
21
22
  type: Component,
22
- args: [{ selector: 'gn-ui-figure-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n" }]
23
+ args: [{ selector: 'gn-ui-figure-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [UiDatavizModule], template: "<gn-ui-figure\n [figure]=\"figure\"\n [icon]=\"icon\"\n [title]=\"title\"\n [unit]=\"unit\"\n></gn-ui-figure>\n" }]
23
24
  }], ctorParameters: function () { return [{ type: i1.FigureService }]; }, propDecorators: { dataset: [{
24
25
  type: Input
25
26
  }], expression: [{
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
34
  }], digits: [{
34
35
  type: Input
35
36
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUtY29udGFpbmVyL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9maWd1cmUvZmlndXJlLWNvbnRhaW5lci9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFRakQsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBSGpDLFdBQU0sR0FBWSxDQUFDLENBQUE7SUFHaUIsQ0FBQztJQUU5QyxXQUFXO1FBQ1QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzdDLENBQUM7K0dBaEJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJNQ2ZyQyxxSEFNQTs7NEZEU2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTtvR0FHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRhYmxlSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7IEZpZ3VyZVNlcnZpY2UgfSBmcm9tICcuLi9maWd1cmUuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZmlndXJlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWd1cmVDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhc2V0OiBUYWJsZUl0ZW1Nb2RlbFtdXG4gIEBJbnB1dCgpIGV4cHJlc3Npb246IHN0cmluZ1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmdcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSB1bml0OiBzdHJpbmdcbiAgQElucHV0KCkgZGlnaXRzPzogbnVtYmVyID0gMlxuICBmaWd1cmU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogRmlndXJlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWd1cmUgPSB0aGlzLnNlcnZpY2VcbiAgICAgIC5jb21wdXRlKHRoaXMuZXhwcmVzc2lvbiwgdGhpcy5kYXRhc2V0KVxuICAgICAgLnRvRml4ZWQodGhpcy5kaWdpdHMpXG4gICAgdGhpcy5maWd1cmUgPSBwYXJzZUZsb2F0KGZpZ3VyZSkudG9TdHJpbmcoKVxuICB9XG59XG4iLCI8Z24tdWktZmlndXJlXG4gIFtmaWd1cmVdPVwiZmlndXJlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFt1bml0XT1cInVuaXRcIlxuPjwvZ24tdWktZmlndXJlPlxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlndXJlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL2ZpZ3VyZS9maWd1cmUtY29udGFpbmVyL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9maWd1cmUvZmlndXJlLWNvbnRhaW5lci9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQVVqRCxNQUFNLE9BQU8sd0JBQXdCO0lBU25DLFlBQW9CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFIakMsV0FBTSxHQUFZLENBQUMsQ0FBQTtJQUdpQixDQUFDO0lBRTlDLFdBQVc7UUFDVCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTzthQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDN0MsQ0FBQzsrR0FoQlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsK05DakJyQyxxSEFNQSx5RERTWSxlQUFlOzs0RkFFZCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQztvR0FHakIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRhYmxlSXRlbU1vZGVsLCBVaURhdGF2aXpNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRmlndXJlU2VydmljZSB9IGZyb20gJy4uL2ZpZ3VyZS5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1maWd1cmUtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZ3VyZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWd1cmUtY29udGFpbmVyLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtVaURhdGF2aXpNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWd1cmVDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhc2V0OiBUYWJsZUl0ZW1Nb2RlbFtdXG4gIEBJbnB1dCgpIGV4cHJlc3Npb246IHN0cmluZ1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmdcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSB1bml0OiBzdHJpbmdcbiAgQElucHV0KCkgZGlnaXRzPzogbnVtYmVyID0gMlxuICBmaWd1cmU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogRmlndXJlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWd1cmUgPSB0aGlzLnNlcnZpY2VcbiAgICAgIC5jb21wdXRlKHRoaXMuZXhwcmVzc2lvbiwgdGhpcy5kYXRhc2V0KVxuICAgICAgLnRvRml4ZWQodGhpcy5kaWdpdHMpXG4gICAgdGhpcy5maWd1cmUgPSBwYXJzZUZsb2F0KGZpZ3VyZSkudG9TdHJpbmcoKVxuICB9XG59XG4iLCI8Z24tdWktZmlndXJlXG4gIFtmaWd1cmVdPVwiZmlndXJlXCJcbiAgW2ljb25dPVwiaWNvblwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFt1bml0XT1cInVuaXRcIlxuPjwvZ24tdWktZmlndXJlPlxuIl19