@vendure/admin-ui 3.0.2 → 3.0.4

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 (430) hide show
  1. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +3 -5
  2. package/catalog/components/collection-list/collection-list.component.d.ts +1 -0
  3. package/catalog/components/facet-list/facet-list.component.d.ts +1 -0
  4. package/catalog/components/product-list/product-list.component.d.ts +2 -0
  5. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
  6. package/core/common/base-list.component.d.ts +13 -0
  7. package/core/common/version.d.ts +1 -1
  8. package/core/data/providers/base-data.service.d.ts +19 -2
  9. package/core/data/providers/collection-data.service.d.ts +2 -2
  10. package/core/data/providers/data.service.d.ts +3 -3
  11. package/core/data/query-result.d.ts +60 -4
  12. package/core/data/utils/add-custom-fields.d.ts +1 -1
  13. package/core/extension/register-route-component.d.ts +1 -1
  14. package/core/providers/alerts/alerts.service.d.ts +3 -0
  15. package/core/providers/auth/auth.service.d.ts +3 -1
  16. package/core/providers/data-table/data-table-config.service.d.ts +12 -0
  17. package/core/public_api.d.ts +1 -0
  18. package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
  19. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
  20. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  21. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +1 -1
  22. package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
  23. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  24. package/esm2022/catalog/catalog.module.mjs +5 -5
  25. package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +4 -4
  26. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +4 -4
  27. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +4 -4
  28. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -4
  29. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +4 -4
  30. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +4 -4
  31. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +11 -13
  32. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +4 -4
  33. package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +4 -4
  34. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +6 -5
  35. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +4 -4
  36. package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +4 -4
  37. package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +4 -4
  38. package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +4 -4
  39. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +4 -4
  40. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +4 -4
  41. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +4 -4
  42. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +4 -4
  43. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +6 -5
  44. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +4 -4
  45. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +4 -4
  46. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +4 -4
  47. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +4 -4
  48. package/esm2022/catalog/components/product-list/product-list.component.mjs +7 -5
  49. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +4 -4
  50. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -4
  51. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +4 -4
  52. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +4 -4
  53. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +4 -4
  54. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +4 -4
  55. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +4 -4
  56. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +4 -4
  57. package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +4 -4
  58. package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +4 -4
  59. package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +4 -4
  60. package/esm2022/core/app.component.mjs +4 -4
  61. package/esm2022/core/app.component.module.mjs +5 -5
  62. package/esm2022/core/common/base-list.component.mjs +26 -10
  63. package/esm2022/core/common/version.mjs +2 -2
  64. package/esm2022/core/components/alerts/alerts.component.mjs +4 -4
  65. package/esm2022/core/components/app-shell/app-shell.component.mjs +5 -5
  66. package/esm2022/core/components/base-nav/base-nav.component.mjs +4 -4
  67. package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +4 -4
  68. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +4 -4
  69. package/esm2022/core/components/main-nav/main-nav.component.mjs +4 -4
  70. package/esm2022/core/components/notification/notification.component.mjs +4 -4
  71. package/esm2022/core/components/overlay-host/overlay-host.component.mjs +4 -4
  72. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +4 -4
  73. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +4 -4
  74. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +4 -4
  75. package/esm2022/core/components/user-menu/user-menu.component.mjs +4 -4
  76. package/esm2022/core/core.module.mjs +5 -5
  77. package/esm2022/core/data/data.module.mjs +7 -7
  78. package/esm2022/core/data/providers/base-data.service.mjs +10 -11
  79. package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
  80. package/esm2022/core/data/providers/data.service.mjs +8 -8
  81. package/esm2022/core/data/providers/fetch-adapter.mjs +4 -4
  82. package/esm2022/core/data/providers/interceptor.mjs +4 -4
  83. package/esm2022/core/data/providers/product-data.service.mjs +4 -2
  84. package/esm2022/core/data/query-result.mjs +96 -10
  85. package/esm2022/core/data/server-config.mjs +4 -4
  86. package/esm2022/core/data/utils/add-custom-fields.mjs +48 -30
  87. package/esm2022/core/extension/components/angular-route.component.mjs +7 -7
  88. package/esm2022/core/extension/components/route.component.mjs +4 -4
  89. package/esm2022/core/extension/providers/page-metadata.service.mjs +4 -4
  90. package/esm2022/core/providers/alerts/alerts.service.mjs +16 -6
  91. package/esm2022/core/providers/auth/auth.service.mjs +13 -9
  92. package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +4 -4
  93. package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +4 -4
  94. package/esm2022/core/providers/channel/channel.service.mjs +4 -4
  95. package/esm2022/core/providers/component-registry/component-registry.service.mjs +4 -4
  96. package/esm2022/core/providers/currency/currency.service.mjs +4 -4
  97. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +4 -4
  98. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +4 -4
  99. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +4 -4
  100. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +4 -4
  101. package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
  102. package/esm2022/core/providers/guard/auth.guard.mjs +4 -4
  103. package/esm2022/core/providers/health-check/health-check.service.mjs +4 -4
  104. package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +4 -4
  105. package/esm2022/core/providers/i18n/i18n.service.mjs +4 -4
  106. package/esm2022/core/providers/job-queue/job-queue.service.mjs +4 -4
  107. package/esm2022/core/providers/local-storage/local-storage.service.mjs +4 -4
  108. package/esm2022/core/providers/localization/localization.service.mjs +4 -4
  109. package/esm2022/core/providers/modal/modal.service.mjs +4 -4
  110. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +4 -4
  111. package/esm2022/core/providers/notification/notification.service.mjs +4 -4
  112. package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +4 -4
  113. package/esm2022/core/providers/page/page.service.mjs +4 -4
  114. package/esm2022/core/providers/permissions/permissions.service.mjs +4 -4
  115. package/esm2022/core/public_api.mjs +2 -1
  116. package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +10 -10
  117. package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +4 -4
  118. package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +4 -4
  119. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +4 -4
  120. package/esm2022/core/shared/components/address-form/address-form.component.mjs +4 -4
  121. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +4 -4
  122. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +4 -4
  123. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +4 -4
  124. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +4 -4
  125. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +4 -4
  126. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  127. package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +4 -4
  128. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +4 -4
  129. package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +4 -4
  130. package/esm2022/core/shared/components/assets/assets.component.mjs +4 -4
  131. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +4 -4
  132. package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +4 -4
  133. package/esm2022/core/shared/components/card/card.component.mjs +7 -7
  134. package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +4 -4
  135. package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +4 -4
  136. package/esm2022/core/shared/components/chart/chart.component.mjs +4 -4
  137. package/esm2022/core/shared/components/chip/chip.component.mjs +4 -4
  138. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +4 -4
  139. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +4 -4
  140. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +4 -4
  141. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +4 -4
  142. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +4 -4
  143. package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +4 -4
  144. package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +4 -4
  145. package/esm2022/core/shared/components/data-table/data-table.component.mjs +4 -4
  146. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +4 -4
  147. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +4 -4
  148. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +5 -5
  149. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +4 -4
  150. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +45 -53
  151. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +4 -4
  152. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +4 -4
  153. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +4 -4
  154. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +4 -4
  155. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +25 -37
  156. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +4 -4
  157. package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +4 -4
  158. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +4 -4
  159. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +4 -4
  160. package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +4 -4
  161. package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +4 -4
  162. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +4 -4
  163. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +4 -4
  164. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +4 -4
  165. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +4 -4
  166. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +4 -4
  167. package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +4 -4
  168. package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +4 -4
  169. package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +4 -4
  170. package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +4 -4
  171. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +4 -4
  172. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +4 -4
  173. package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +4 -4
  174. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +4 -4
  175. package/esm2022/core/shared/components/form-field/form-field.component.mjs +4 -4
  176. package/esm2022/core/shared/components/form-item/form-item.component.mjs +4 -4
  177. package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +4 -4
  178. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +4 -4
  179. package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +4 -4
  180. package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +4 -4
  181. package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +4 -4
  182. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +4 -4
  183. package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +4 -4
  184. package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +4 -4
  185. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +4 -4
  186. package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +4 -4
  187. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +4 -4
  188. package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +4 -4
  189. package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +4 -4
  190. package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +4 -4
  191. package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +4 -4
  192. package/esm2022/core/shared/components/page/page.component.mjs +4 -4
  193. package/esm2022/core/shared/components/page-block/page-block.component.mjs +4 -4
  194. package/esm2022/core/shared/components/page-body/page-body.component.mjs +4 -4
  195. package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +4 -4
  196. package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +4 -4
  197. package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +4 -4
  198. package/esm2022/core/shared/components/page-header/page-header.component.mjs +4 -4
  199. package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +4 -4
  200. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +4 -4
  201. package/esm2022/core/shared/components/page-title/page-title.component.mjs +4 -4
  202. package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +4 -4
  203. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +4 -4
  204. package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +4 -4
  205. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +4 -4
  206. package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +4 -4
  207. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +4 -4
  208. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +4 -4
  209. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +4 -4
  210. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +4 -4
  211. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +4 -4
  212. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +4 -4
  213. package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +4 -4
  214. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +4 -4
  215. package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +4 -4
  216. package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +4 -4
  217. package/esm2022/core/shared/components/split-view/split-view.component.mjs +4 -4
  218. package/esm2022/core/shared/components/split-view/split-view.directive.mjs +7 -7
  219. package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +4 -4
  220. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +4 -4
  221. package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +4 -4
  222. package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +4 -4
  223. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +4 -4
  224. package/esm2022/core/shared/components/title-input/title-input.component.mjs +4 -4
  225. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +4 -4
  226. package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +4 -4
  227. package/esm2022/core/shared/directives/disabled.directive.mjs +4 -4
  228. package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +4 -4
  229. package/esm2022/core/shared/directives/if-directive-base.mjs +4 -4
  230. package/esm2022/core/shared/directives/if-multichannel.directive.mjs +4 -4
  231. package/esm2022/core/shared/directives/if-permissions.directive.mjs +4 -4
  232. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +4 -4
  233. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +4 -4
  234. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +4 -4
  235. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +4 -4
  236. package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +4 -4
  237. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +4 -4
  238. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +4 -4
  239. package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +4 -4
  240. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +4 -4
  241. package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +4 -4
  242. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +4 -4
  243. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +4 -4
  244. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +4 -4
  245. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +4 -4
  246. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +4 -4
  247. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +4 -4
  248. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +4 -4
  249. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +4 -4
  250. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +4 -4
  251. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +10 -10
  252. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +4 -4
  253. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +4 -4
  254. package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +4 -4
  255. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +4 -4
  256. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +4 -4
  257. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +4 -4
  258. package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +4 -4
  259. package/esm2022/core/shared/pipes/channel-label.pipe.mjs +4 -4
  260. package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +4 -4
  261. package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +4 -4
  262. package/esm2022/core/shared/pipes/duration.pipe.mjs +4 -4
  263. package/esm2022/core/shared/pipes/file-size.pipe.mjs +4 -4
  264. package/esm2022/core/shared/pipes/has-permission.pipe.mjs +4 -4
  265. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +6 -6
  266. package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +4 -4
  267. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +4 -4
  268. package/esm2022/core/shared/pipes/locale-date.pipe.mjs +4 -4
  269. package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +4 -4
  270. package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +4 -4
  271. package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +4 -4
  272. package/esm2022/core/shared/pipes/sort.pipe.mjs +4 -4
  273. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +4 -4
  274. package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +4 -4
  275. package/esm2022/core/shared/pipes/time-ago.pipe.mjs +4 -4
  276. package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +4 -4
  277. package/esm2022/core/shared/shared.module.mjs +5 -5
  278. package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +4 -4
  279. package/esm2022/customer/components/address-card/address-card.component.mjs +4 -4
  280. package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +4 -4
  281. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +4 -4
  282. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +4 -4
  283. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +4 -4
  284. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +7 -5
  285. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +4 -4
  286. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +4 -4
  287. package/esm2022/customer/components/customer-history/customer-history.component.mjs +4 -4
  288. package/esm2022/customer/components/customer-list/customer-list.component.mjs +6 -5
  289. package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +4 -4
  290. package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +4 -4
  291. package/esm2022/customer/customer.module.mjs +5 -5
  292. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +4 -4
  293. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -4
  294. package/esm2022/dashboard/dashboard.module.mjs +5 -5
  295. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +8 -8
  296. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +4 -4
  297. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +8 -8
  298. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +8 -8
  299. package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +8 -8
  300. package/esm2022/login/components/login/login.component.mjs +4 -4
  301. package/esm2022/login/login.module.mjs +5 -5
  302. package/esm2022/login/providers/login.guard.mjs +4 -4
  303. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +4 -4
  304. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +6 -5
  305. package/esm2022/marketing/marketing.module.mjs +5 -5
  306. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +4 -4
  307. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +4 -4
  308. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +4 -4
  309. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +4 -4
  310. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +4 -4
  311. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +4 -4
  312. package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +4 -4
  313. package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +4 -4
  314. package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +4 -4
  315. package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +4 -4
  316. package/esm2022/order/components/line-refunds/line-refunds.component.mjs +4 -4
  317. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +4 -4
  318. package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +4 -4
  319. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +4 -17
  320. package/esm2022/order/components/order-data-table/order-total-column.component.mjs +4 -4
  321. package/esm2022/order/components/order-detail/order-detail.component.mjs +5 -5
  322. package/esm2022/order/components/order-editor/order-editor.component.mjs +4 -4
  323. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +4 -4
  324. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +4 -4
  325. package/esm2022/order/components/order-history/order-history.component.mjs +4 -4
  326. package/esm2022/order/components/order-list/order-list.component.mjs +6 -5
  327. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +4 -4
  328. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +4 -4
  329. package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +4 -4
  330. package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +4 -4
  331. package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +4 -4
  332. package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +4 -4
  333. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +4 -4
  334. package/esm2022/order/components/order-table/order-table.component.mjs +4 -4
  335. package/esm2022/order/components/payment-detail/payment-detail.component.mjs +4 -4
  336. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +4 -4
  337. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +4 -4
  338. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +4 -4
  339. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +4 -4
  340. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +4 -4
  341. package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +4 -4
  342. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +4 -4
  343. package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +4 -4
  344. package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +4 -4
  345. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +4 -4
  346. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +4 -4
  347. package/esm2022/order/order.module.mjs +5 -5
  348. package/esm2022/order/providers/order-transition.service.mjs +4 -4
  349. package/esm2022/order/providers/routing/order.guard.mjs +4 -4
  350. package/esm2022/react/components/react-custom-column.component.mjs +4 -4
  351. package/esm2022/react/components/react-custom-detail.component.mjs +4 -4
  352. package/esm2022/react/components/react-form-input.component.mjs +4 -4
  353. package/esm2022/react/components/react-route.component.mjs +4 -4
  354. package/esm2022/react/directives/react-component-host.directive.mjs +4 -4
  355. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +4 -4
  356. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +4 -4
  357. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +6 -5
  358. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +4 -4
  359. package/esm2022/settings/components/channel-list/channel-list.component.mjs +6 -5
  360. package/esm2022/settings/components/country-detail/country-detail.component.mjs +4 -4
  361. package/esm2022/settings/components/country-list/country-list.component.mjs +6 -5
  362. package/esm2022/settings/components/global-settings/global-settings.component.mjs +4 -4
  363. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +4 -4
  364. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +6 -5
  365. package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +4 -4
  366. package/esm2022/settings/components/profile/profile.component.mjs +4 -4
  367. package/esm2022/settings/components/role-detail/role-detail.component.mjs +4 -4
  368. package/esm2022/settings/components/role-list/role-list.component.mjs +6 -5
  369. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +4 -4
  370. package/esm2022/settings/components/seller-list/seller-list.component.mjs +6 -5
  371. package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +4 -4
  372. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -4
  373. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +6 -5
  374. package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +4 -4
  375. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +4 -4
  376. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +6 -5
  377. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +4 -4
  378. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +6 -5
  379. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +4 -4
  380. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +6 -5
  381. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +4 -4
  382. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +4 -4
  383. package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +4 -4
  384. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +4 -4
  385. package/esm2022/settings/components/zone-list/zone-list.component.mjs +6 -5
  386. package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +4 -4
  387. package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +4 -4
  388. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +4 -4
  389. package/esm2022/settings/providers/routing/profile-resolver.mjs +4 -4
  390. package/esm2022/settings/settings.module.mjs +5 -5
  391. package/esm2022/system/components/health-check/health-check.component.mjs +4 -4
  392. package/esm2022/system/components/job-list/job-list.component.mjs +4 -4
  393. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +4 -4
  394. package/esm2022/system/system.module.mjs +5 -5
  395. package/fesm2022/vendure-admin-ui-catalog.mjs +120 -118
  396. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  397. package/fesm2022/vendure-admin-ui-core.mjs +1027 -876
  398. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  399. package/fesm2022/vendure-admin-ui-customer.mjs +48 -45
  400. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  401. package/fesm2022/vendure-admin-ui-dashboard.mjs +41 -41
  402. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  403. package/fesm2022/vendure-admin-ui-login.mjs +10 -10
  404. package/fesm2022/vendure-admin-ui-login.mjs.map +1 -1
  405. package/fesm2022/vendure-admin-ui-marketing.mjs +12 -11
  406. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  407. package/fesm2022/vendure-admin-ui-order.mjs +136 -148
  408. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  409. package/fesm2022/vendure-admin-ui-react.mjs +15 -15
  410. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  411. package/fesm2022/vendure-admin-ui-settings.mjs +131 -120
  412. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  413. package/fesm2022/vendure-admin-ui-system.mjs +13 -13
  414. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  415. package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
  416. package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
  417. package/order/components/order-list/order-list.component.d.ts +1 -0
  418. package/package.json +13 -13
  419. package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
  420. package/settings/components/channel-list/channel-list.component.d.ts +1 -0
  421. package/settings/components/country-list/country-list.component.d.ts +1 -0
  422. package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
  423. package/settings/components/role-list/role-list.component.d.ts +1 -0
  424. package/settings/components/seller-list/seller-list.component.d.ts +1 -0
  425. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
  426. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
  427. package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
  428. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
  429. package/settings/components/zone-list/zone-list.component.d.ts +1 -0
  430. package/static/theme.min.css +1 -1
@@ -1,8 +1,9 @@
1
1
  import { NetworkStatus } from '@apollo/client/core';
2
2
  import { notNullOrUndefined } from '@vendure/common/lib/shared-utils';
3
- import { merge, Subject } from 'rxjs';
4
- import { distinctUntilChanged, filter, finalize, map, skip, take, takeUntil, tap } from 'rxjs/operators';
3
+ import { merge, Observable, Subject } from 'rxjs';
4
+ import { distinctUntilChanged, filter, finalize, map, skip, take, takeUntil } from 'rxjs/operators';
5
5
  import { GET_USER_STATUS } from './definitions/client-definitions';
6
+ import { addCustomFields } from './utils/add-custom-fields';
6
7
  /**
7
8
  * @description
8
9
  * This class wraps the Apollo Angular QueryRef object and exposes some getters
@@ -12,11 +13,27 @@ import { GET_USER_STATUS } from './definitions/client-definitions';
12
13
  * @docsPage DataService
13
14
  */
14
15
  export class QueryResult {
15
- constructor(queryRef, apollo) {
16
+ constructor(queryRef, apollo, customFieldMap) {
16
17
  this.queryRef = queryRef;
17
18
  this.apollo = apollo;
19
+ this.customFieldMap = customFieldMap;
20
+ /**
21
+ * Causes any subscriptions to the QueryRef to complete, via the use
22
+ * of the `takeUntil` operator.
23
+ */
18
24
  this.completed$ = new Subject();
19
- this.valueChanges = queryRef.valueChanges;
25
+ /**
26
+ * This Subject is used to emit new values from the QueryRef.valueChanges Observable.
27
+ * We use this rather than directly subscribing to the QueryRef.valueChanges Observable
28
+ * so that we are able to change the QueryRef and re-subscribe when necessary.
29
+ */
30
+ this.valueChangeSubject = new Subject();
31
+ /**
32
+ * We keep track of the QueryRefs which have been subscribed to so that we can avoid
33
+ * re-subscribing to the same QueryRef multiple times.
34
+ */
35
+ this.queryRefSubscribed = new WeakMap();
36
+ this.lastQuery = queryRef.options.query;
20
37
  }
21
38
  /**
22
39
  * @description
@@ -28,12 +45,40 @@ export class QueryResult {
28
45
  }).valueChanges;
29
46
  const activeChannelId$ = userStatus$.pipe(map(data => data.data.userStatus.activeChannelId), filter(notNullOrUndefined), distinctUntilChanged(), skip(1), takeUntil(this.completed$));
30
47
  const loggedOut$ = userStatus$.pipe(map(data => data.data.userStatus.isLoggedIn), distinctUntilChanged(), skip(1), filter(isLoggedIn => !isLoggedIn), takeUntil(this.completed$));
31
- this.valueChanges = merge(activeChannelId$, this.queryRef.valueChanges).pipe(tap(val => {
48
+ merge(activeChannelId$, this.valueChangeSubject)
49
+ .pipe(takeUntil(loggedOut$), takeUntil(this.completed$))
50
+ .subscribe(val => {
32
51
  if (typeof val === 'string') {
33
52
  new Promise(resolve => setTimeout(resolve, 50)).then(() => this.queryRef.refetch());
34
53
  }
35
- }), filter(val => typeof val !== 'string'), takeUntil(loggedOut$), takeUntil(this.completed$));
36
- this.queryRef.valueChanges = this.valueChanges;
54
+ });
55
+ return this;
56
+ }
57
+ /**
58
+ * @description
59
+ * Re-fetch this query whenever the custom fields change, updating the query to include the
60
+ * specified custom fields.
61
+ *
62
+ * @since 3.0.4
63
+ */
64
+ refetchOnCustomFieldsChange(customFieldsToInclude$) {
65
+ customFieldsToInclude$
66
+ .pipe(filter(customFields => {
67
+ const newQuery = addCustomFields(this.lastQuery, this.customFieldMap, customFields);
68
+ const hasChanged = JSON.stringify(newQuery) !== JSON.stringify(this.lastQuery);
69
+ return hasChanged;
70
+ }), takeUntil(this.completed$))
71
+ .subscribe(customFields => {
72
+ const newQuery = addCustomFields(this.lastQuery, this.customFieldMap, customFields);
73
+ this.lastQuery = newQuery;
74
+ const queryRef = this.apollo.watchQuery({
75
+ query: newQuery,
76
+ variables: this.queryRef.variables,
77
+ fetchPolicy: this.queryRef.options.fetchPolicy,
78
+ });
79
+ this.queryRef = queryRef;
80
+ this.subscribeToQueryRef(queryRef);
81
+ });
37
82
  return this;
38
83
  }
39
84
  /**
@@ -41,7 +86,7 @@ export class QueryResult {
41
86
  * Returns an Observable which emits a single result and then completes.
42
87
  */
43
88
  get single$() {
44
- return this.valueChanges.pipe(filter(result => result.networkStatus === NetworkStatus.ready), take(1), map(result => result.data), finalize(() => {
89
+ return this.currentQueryRefValueChanges.pipe(filter(result => result.networkStatus === NetworkStatus.ready), take(1), map(result => result.data), finalize(() => {
45
90
  this.completed$.next();
46
91
  this.completed$.complete();
47
92
  }));
@@ -51,7 +96,7 @@ export class QueryResult {
51
96
  * Returns an Observable which emits until unsubscribed.
52
97
  */
53
98
  get stream$() {
54
- return this.valueChanges.pipe(filter(result => result.networkStatus === NetworkStatus.ready), map(result => result.data), finalize(() => {
99
+ return this.currentQueryRefValueChanges.pipe(filter(result => result.networkStatus === NetworkStatus.ready), map(result => result.data), finalize(() => {
55
100
  this.completed$.next();
56
101
  this.completed$.complete();
57
102
  }));
@@ -73,5 +118,46 @@ export class QueryResult {
73
118
  mapStream(mapFn) {
74
119
  return this.stream$.pipe(map(mapFn));
75
120
  }
121
+ /**
122
+ * @description
123
+ * Signals to the internal Observable subscriptions that they should complete.
124
+ */
125
+ destroy() {
126
+ this.completed$.next();
127
+ this.completed$.complete();
128
+ }
129
+ /**
130
+ * @description
131
+ * Returns an Observable which emits the current value of the QueryRef.valueChanges Observable.
132
+ *
133
+ * We wrap the valueChanges Observable in a new Observable so that we can have a lazy
134
+ * evaluation of the valueChanges Observable. That is, we only fire the HTTP request when
135
+ * the returned Observable is subscribed to.
136
+ */
137
+ get currentQueryRefValueChanges() {
138
+ return new Observable(subscriber => {
139
+ if (!this.queryRefSubscribed.get(this.queryRef)) {
140
+ this.subscribeToQueryRef(this.queryRef);
141
+ this.queryRefSubscribed.set(this.queryRef, true);
142
+ }
143
+ this.valueChangeSubject.subscribe(subscriber);
144
+ return () => {
145
+ this.queryRefSubscribed.delete(this.queryRef);
146
+ };
147
+ });
148
+ }
149
+ /**
150
+ * @description
151
+ * Subscribes to the valueChanges Observable of the given QueryRef, and stores the subscription
152
+ * so that it can be unsubscribed from when the QueryRef changes.
153
+ */
154
+ subscribeToQueryRef(queryRef) {
155
+ if (this.valueChangesSubscription) {
156
+ this.valueChangesSubscription.unsubscribe();
157
+ }
158
+ this.valueChangesSubscription = queryRef.valueChanges
159
+ .pipe(takeUntil(this.completed$))
160
+ .subscribe(this.valueChangeSubject);
161
+ }
76
162
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3F1ZXJ5LXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbkU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQW9CLFFBQXdCLEVBQVUsTUFBYztRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFJcEUsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFIN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7SUFLRDs7O09BR0c7SUFDSCxzQkFBc0I7UUFDbEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQXFCO1lBQzNELEtBQUssRUFBRSxlQUFlO1NBQ3pCLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFDakQsTUFBTSxDQUFD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QUksS0FBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcG9sbG9RdWVyeVJlc3VsdCwgTmV0d29ya1N0YXR1cyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xyXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IEFwb2xsbywgUXVlcnlSZWYgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHNraXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgR2V0VXNlclN0YXR1c1F1ZXJ5IH0gZnJvbSAnLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBHRVRfVVNFUl9TVEFUVVMgfSBmcm9tICcuL2RlZmluaXRpb25zL2NsaWVudC1kZWZpbml0aW9ucyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgY2xhc3Mgd3JhcHMgdGhlIEFwb2xsbyBBbmd1bGFyIFF1ZXJ5UmVmIG9iamVjdCBhbmQgZXhwb3NlcyBzb21lIGdldHRlcnNcclxuICogZm9yIGNvbnZlbmllbmNlLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHNlcnZpY2VzXHJcbiAqIEBkb2NzUGFnZSBEYXRhU2VydmljZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UmVzdWx0PFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeVJlZjogUXVlcnlSZWY8VCwgVj4sIHByaXZhdGUgYXBvbGxvOiBBcG9sbG8pIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcyA9IHF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcztcclxuICAgIH1cclxuXHJcbiAgICBjb21wbGV0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPEFwb2xsb1F1ZXJ5UmVzdWx0PFQ+PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUmUtZmV0Y2ggdGhpcyBxdWVyeSB3aGVuZXZlciB0aGUgYWN0aXZlIENoYW5uZWwgY2hhbmdlcy5cclxuICAgICAqL1xyXG4gICAgcmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpOiBRdWVyeVJlc3VsdDxULCBWPiB7XHJcbiAgICAgICAgY29uc3QgdXNlclN0YXR1cyQgPSB0aGlzLmFwb2xsby53YXRjaFF1ZXJ5PEdldFVzZXJTdGF0dXNRdWVyeT4oe1xyXG4gICAgICAgICAgICBxdWVyeTogR0VUX1VTRVJfU1RBVFVTLFxyXG4gICAgICAgIH0pLnZhbHVlQ2hhbmdlcztcclxuICAgICAgICBjb25zdCBhY3RpdmVDaGFubmVsSWQkID0gdXNlclN0YXR1cyQucGlwZShcclxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gZGF0YS5kYXRhLnVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKSxcclxuICAgICAgICAgICAgZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHNraXAoMSksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgbG9nZ2VkT3V0JCA9IHVzZXJTdGF0dXMkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChkYXRhID0+IGRhdGEuZGF0YS51c2VyU3RhdHVzLmlzTG9nZ2VkSW4pLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBza2lwKDEpLFxyXG4gICAgICAgICAgICBmaWx0ZXIoaXNMb2dnZWRJbiA9PiAhaXNMb2dnZWRJbiksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzID0gbWVyZ2UoYWN0aXZlQ2hhbm5lbElkJCwgdGhpcy5xdWVyeVJlZi52YWx1ZUNoYW5nZXMpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCh2YWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSkudGhlbigoKSA9PiB0aGlzLnF1ZXJ5UmVmLnJlZmV0Y2goKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBmaWx0ZXI8YW55Pih2YWwgPT4gdHlwZW9mIHZhbCAhPT0gJ3N0cmluZycpLFxyXG4gICAgICAgICAgICB0YWtlVW50aWwobG9nZ2VkT3V0JCksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5xdWVyeVJlZi52YWx1ZUNoYW5nZXMgPSB0aGlzLnZhbHVlQ2hhbmdlcztcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIGEgc2luZ2xlIHJlc3VsdCBhbmQgdGhlbiBjb21wbGV0ZXMuXHJcbiAgICAgKi9cclxuICAgIGdldCBzaW5nbGUkKCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIocmVzdWx0ID0+IHJlc3VsdC5uZXR3b3JrU3RhdHVzID09PSBOZXR3b3JrU3RhdHVzLnJlYWR5KSxcclxuICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSksXHJcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHVudGlsIHVuc3Vic2NyaWJlZC5cclxuICAgICAqL1xyXG4gICAgZ2V0IHN0cmVhbSQoKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihyZXN1bHQgPT4gcmVzdWx0Lm5ldHdvcmtTdGF0dXMgPT09IE5ldHdvcmtTdGF0dXMucmVhZHkpLFxyXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSxcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZWQkLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZWYoKTogUXVlcnlSZWY8VCwgVj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBSZXR1cm5zIGEgc2luZ2xlLXJlc3VsdCBPYnNlcnZhYmxlIGFmdGVyIGFwcGx5aW5nIHRoZSBtYXAgZnVuY3Rpb24uXHJcbiAgICAgKi9cclxuICAgIG1hcFNpbmdsZTxSPihtYXBGbjogKGl0ZW06IFQpID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaW5nbGUkLnBpcGUobWFwKG1hcEZuKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFJldHVybnMgYSBtdWx0aXBsZS1yZXN1bHQgT2JzZXJ2YWJsZSBhZnRlciBhcHBseWluZyB0aGUgbWFwIGZ1bmN0aW9uLlxyXG4gICAgICovXHJcbiAgICBtYXBTdHJlYW08Uj4obWFwRm46IChpdGVtOiBUKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtJC5waXBlKG1hcChtYXBGbikpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3F1ZXJ5LXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFDWSxRQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBZ0Q7UUFGaEQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFrQztRQUs1RDs7O1dBR0c7UUFDSyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU96Qzs7OztXQUlHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7UUFDakU7OztXQUdHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUF4QmhFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQStCRDs7O09BR0c7SUFDSCxzQkFBc0I7UUFDbEIsTUFBTSxXQUFXLEdB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Q0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcG9sbG9RdWVyeVJlc3VsdCwgTmV0d29ya1N0YXR1cyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgQXBvbGxvLCBRdWVyeVJlZiB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc2tpcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgR2V0VXNlclN0YXR1c1F1ZXJ5IH0gZnJvbSAnLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5cbmltcG9ydCB7IEdFVF9VU0VSX1NUQVRVUyB9IGZyb20gJy4vZGVmaW5pdGlvbnMvY2xpZW50LWRlZmluaXRpb25zJztcbmltcG9ydCB7IGFkZEN1c3RvbUZpZWxkcyB9IGZyb20gJy4vdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhpcyBjbGFzcyB3cmFwcyB0aGUgQXBvbGxvIEFuZ3VsYXIgUXVlcnlSZWYgb2JqZWN0IGFuZCBleHBvc2VzIHNvbWUgZ2V0dGVyc1xuICogZm9yIGNvbnZlbmllbmNlLlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgc2VydmljZXNcbiAqIEBkb2NzUGFnZSBEYXRhU2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgUXVlcnlSZXN1bHQ8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcXVlcnlSZWY6IFF1ZXJ5UmVmPFQsIFY+LFxuICAgICAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgICAgICBwcml2YXRlIGN1c3RvbUZpZWxkTWFwOiBNYXA8c3RyaW5nLCBDdXN0b21GaWVsZENvbmZpZ1tdPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5sYXN0UXVlcnkgPSBxdWVyeVJlZi5vcHRpb25zLnF1ZXJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhdXNlcyBhbnkgc3Vic2NyaXB0aW9ucyB0byB0aGUgUXVlcnlSZWYgdG8gY29tcGxldGUsIHZpYSB0aGUgdXNlXG4gICAgICogb2YgdGhlIGB0YWtlVW50aWxgIG9wZXJhdG9yLlxuICAgICAqL1xuICAgIHByaXZhdGUgY29tcGxldGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqXG4gICAgICogVGhlIHN1YnNjcmlwdGlvbiB0byB0aGUgY3VycmVudCBRdWVyeVJlZi52YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZS5cbiAgICAgKiBUaGlzIGlzIHN0b3JlZCBzbyB0aGF0IGl0IGNhbiBiZSB1bnN1YnNjcmliZWQgZnJvbSB3aGVuIHRoZSBRdWVyeVJlZlxuICAgICAqIGNoYW5nZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICAvKipcbiAgICAgKiBUaGlzIFN1YmplY3QgaXMgdXNlZCB0byBlbWl0IG5ldyB2YWx1ZXMgZnJvbSB0aGUgUXVlcnlSZWYudmFsdWVDaGFuZ2VzIE9ic2VydmFibGUuXG4gICAgICogV2UgdXNlIHRoaXMgcmF0aGVyIHRoYW4gZGlyZWN0bHkgc3Vic2NyaWJpbmcgdG8gdGhlIFF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlXG4gICAgICogc28gdGhhdCB3ZSBhcmUgYWJsZSB0byBjaGFuZ2UgdGhlIFF1ZXJ5UmVmIGFuZCByZS1zdWJzY3JpYmUgd2hlbiBuZWNlc3NhcnkuXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxBcG9sbG9RdWVyeVJlc3VsdDxUPj4oKTtcbiAgICAvKipcbiAgICAgKiBXZSBrZWVwIHRyYWNrIG9mIHRoZSBRdWVyeVJlZnMgd2hpY2ggaGF2ZSBiZWVuIHN1YnNjcmliZWQgdG8gc28gdGhhdCB3ZSBjYW4gYXZvaWRcbiAgICAgKiByZS1zdWJzY3JpYmluZyB0byB0aGUgc2FtZSBRdWVyeVJlZiBtdWx0aXBsZSB0aW1lcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHF1ZXJ5UmVmU3Vic2NyaWJlZCA9IG5ldyBXZWFrTWFwPFF1ZXJ5UmVmPFQsIFY+LCBib29sZWFuPigpO1xuICAgIC8qKlxuICAgICAqIFdlIHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IHF1ZXJ5IHNvIHRoYXQgd2UgY2FuIGNvbXBhcmUgaXQgd2l0aCB0aGUgbmV4dCBxdWVyeVxuICAgICAqIGFuZCBhdm9pZCByZS1mZXRjaGluZyB0aGUgc2FtZSBxdWVyeSBtdWx0aXBsZSB0aW1lcy4gVGhpcyBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjb2RlXG4gICAgICogcGF0aHMgdGhhdCBhY3R1YWxseSBjaGFuZ2UgdGhlIHF1ZXJ5LCBpLmUuIHJlZmV0Y2hPbkN1c3RvbUZpZWxkc0NoYW5nZSgpLlxuICAgICAqL1xuICAgIHByaXZhdGUgbGFzdFF1ZXJ5OiBEb2N1bWVudE5vZGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZS1mZXRjaCB0aGlzIHF1ZXJ5IHdoZW5ldmVyIHRoZSBhY3RpdmUgQ2hhbm5lbCBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHJlZmV0Y2hPbkNoYW5uZWxDaGFuZ2UoKTogUXVlcnlSZXN1bHQ8VCwgVj4ge1xuICAgICAgICBjb25zdCB1c2VyU3RhdHVzJCA9IHRoaXMuYXBvbGxvLndhdGNoUXVlcnk8R2V0VXNlclN0YXR1c1F1ZXJ5Pih7XG4gICAgICAgICAgICBxdWVyeTogR0VUX1VTRVJfU1RBVFVTLFxuICAgICAgICB9KS52YWx1ZUNoYW5nZXM7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWxJZCQgPSB1c2VyU3RhdHVzJC5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gZGF0YS5kYXRhLnVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKSxcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wbGV0ZWQkKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbG9nZ2VkT3V0JCA9IHVzZXJTdGF0dXMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiBkYXRhLmRhdGEudXNlclN0YXR1cy5pc0xvZ2dlZEluKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgZmlsdGVyKGlzTG9nZ2VkSW4gPT4gIWlzTG9nZ2VkSW4pLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCksXG4gICAgICAgICk7XG5cbiAgICAgICAgbWVyZ2UoYWN0aXZlQ2hhbm5lbElkJCwgdGhpcy52YWx1ZUNoYW5nZVN1YmplY3QpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobG9nZ2VkT3V0JCksIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKS50aGVuKCgpID0+IHRoaXMucXVlcnlSZWYucmVmZXRjaCgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmUtZmV0Y2ggdGhpcyBxdWVyeSB3aGVuZXZlciB0aGUgY3VzdG9tIGZpZWxkcyBjaGFuZ2UsIHVwZGF0aW5nIHRoZSBxdWVyeSB0byBpbmNsdWRlIHRoZVxuICAgICAqIHNwZWNpZmllZCBjdXN0b20gZmllbGRzLlxuICAgICAqXG4gICAgICogQHNpbmNlIDMuMC40XG4gICAgICovXG4gICAgcmVmZXRjaE9uQ3VzdG9tRmllbGRzQ2hhbmdlKGN1c3RvbUZpZWxkc1RvSW5jbHVkZSQ6IE9ic2VydmFibGU8c3RyaW5nW10+KTogUXVlcnlSZXN1bHQ8VCwgVj4ge1xuICAgICAgICBjdXN0b21GaWVsZHNUb0luY2x1ZGUkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoY3VzdG9tRmllbGRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UXVlcnkgPSBhZGRDdXN0b21GaWVsZHModGhpcy5sYXN0UXVlcnksIHRoaXMuY3VzdG9tRmllbGRNYXAsIGN1c3RvbUZpZWxkcyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBKU09OLnN0cmluZ2lmeShuZXdRdWVyeSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMubGFzdFF1ZXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc0NoYW5nZWQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGN1c3RvbUZpZWxkcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UXVlcnkgPSBhZGRDdXN0b21GaWVsZHModGhpcy5sYXN0UXVlcnksIHRoaXMuY3VzdG9tRmllbGRNYXAsIGN1c3RvbUZpZWxkcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0UXVlcnkgPSBuZXdRdWVyeTtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeVJlZiA9IHRoaXMuYXBvbGxvLndhdGNoUXVlcnk8VCwgVj4oe1xuICAgICAgICAgICAgICAgICAgICBxdWVyeTogbmV3UXVlcnksXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdGhpcy5xdWVyeVJlZi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoUG9saWN5OiB0aGlzLnF1ZXJ5UmVmLm9wdGlvbnMuZmV0Y2hQb2xpY3ksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJlZiA9IHF1ZXJ5UmVmO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9RdWVyeVJlZihxdWVyeVJlZik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIGEgc2luZ2xlIHJlc3VsdCBhbmQgdGhlbiBjb21wbGV0ZXMuXG4gICAgICovXG4gICAgZ2V0IHNpbmdsZSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWVyeVJlZlZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQubmV0d29ya1N0YXR1cyA9PT0gTmV0d29ya1N0YXR1cy5yZWFkeSksXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZWQkLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB1bnRpbCB1bnN1YnNjcmliZWQuXG4gICAgICovXG4gICAgZ2V0IHN0cmVhbSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWVyeVJlZlZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQubmV0d29ya1N0YXR1cyA9PT0gTmV0d29ya1N0YXR1cy5yZWFkeSksXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHJlZigpOiBRdWVyeVJlZjxULCBWPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYSBzaW5nbGUtcmVzdWx0IE9ic2VydmFibGUgYWZ0ZXIgYXBwbHlpbmcgdGhlIG1hcCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBtYXBTaW5nbGU8Uj4obWFwRm46IChpdGVtOiBUKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpbmdsZSQucGlwZShtYXAobWFwRm4pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZXR1cm5zIGEgbXVsdGlwbGUtcmVzdWx0IE9ic2VydmFibGUgYWZ0ZXIgYXBwbHlpbmcgdGhlIG1hcCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBtYXBTdHJlYW08Uj4obWFwRm46IChpdGVtOiBUKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmVhbSQucGlwZShtYXAobWFwRm4pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTaWduYWxzIHRvIHRoZSBpbnRlcm5hbCBPYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMgdGhhdCB0aGV5IHNob3VsZCBjb21wbGV0ZS5cbiAgICAgKi9cbiAgICBkZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNvbXBsZXRlZCQubmV4dCgpO1xuICAgICAgICB0aGlzLmNvbXBsZXRlZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogV2Ugd3JhcCB0aGUgdmFsdWVDaGFuZ2VzIE9ic2VydmFibGUgaW4gYSBuZXcgT2JzZXJ2YWJsZSBzbyB0aGF0IHdlIGNhbiBoYXZlIGEgbGF6eVxuICAgICAqIGV2YWx1YXRpb24gb2YgdGhlIHZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlLiBUaGF0IGlzLCB3ZSBvbmx5IGZpcmUgdGhlIEhUVFAgcmVxdWVzdCB3aGVuXG4gICAgICogdGhlIHJldHVybmVkIE9ic2VydmFibGUgaXMgc3Vic2NyaWJlZCB0by5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBjdXJyZW50UXVlcnlSZWZWYWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucXVlcnlSZWZTdWJzY3JpYmVkLmdldCh0aGlzLnF1ZXJ5UmVmKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9RdWVyeVJlZih0aGlzLnF1ZXJ5UmVmKTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UmVmU3Vic2NyaWJlZC5zZXQodGhpcy5xdWVyeVJlZiwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSZWZTdWJzY3JpYmVkLmRlbGV0ZSh0aGlzLnF1ZXJ5UmVmKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFN1YnNjcmliZXMgdG8gdGhlIHZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlIG9mIHRoZSBnaXZlbiBRdWVyeVJlZiwgYW5kIHN0b3JlcyB0aGUgc3Vic2NyaXB0aW9uXG4gICAgICogc28gdGhhdCBpdCBjYW4gYmUgdW5zdWJzY3JpYmVkIGZyb20gd2hlbiB0aGUgUXVlcnlSZWYgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvUXVlcnlSZWYocXVlcnlSZWY6IFF1ZXJ5UmVmPFQsIFY+KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHF1ZXJ5UmVmLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudmFsdWVDaGFuZ2VTdWJqZWN0KTtcbiAgICB9XG59XG4iXX0=
@@ -69,10 +69,10 @@ export class ServerConfigService {
69
69
  get serverConfig() {
70
70
  return this._serverConfig;
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ServerConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ServerConfigService }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ServerConfigService, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ServerConfigService, decorators: [{
76
76
  type: Injectable
77
77
  }], ctorParameters: () => [{ type: i0.Injector }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvZGF0YS9zZXJ2ZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVdyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRWhFLE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxtQkFBd0M7SUFDbEYsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixJQUFZLGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBa0IsZUFBZSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOOUIsa0JBQWEsR0FBMkQsRUFBUyxDQUFDO1FBQzFGLG9CQUFlLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckIsQ0FBQztJQUUxQzs7O09BR0c7SUFDSCxJQUFJO1FBQ0EsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNYLE9BQU8sYUFBYSxDQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBdUIsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQzlFLENBQUMsSUFBSSxDQUNGLE1BQU0sQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztZQUN4RCxLQUFLLE1BQU0sa0JBQWtCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0YsQ0FBQztRQUNMLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNGLG1FQUFtRTtRQUN2RSxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZTthQUN0QixLQUFLLENBQXlCLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUM7YUFDckUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQjtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUF5QixtQkFBbUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDO2FBQzdGLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxJQUF3RDtRQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzs4R0F2RVEsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBDdXN0b21GaWVsZHMsXHJcbiAgICBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5LFxyXG4gICAgR2V0U2VydmVyQ29uZmlnUXVlcnksXHJcbiAgICBPcmRlclByb2Nlc3NTdGF0ZSxcclxuICAgIFBlcm1pc3Npb25EZWZpbml0aW9uLFxyXG59IGZyb20gJy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgR0VUX0dMT0JBTF9TRVRUSU5HUywgR0VUX1NFUlZFUl9DT05GSUcgfSBmcm9tICcuL2RlZmluaXRpb25zL3NldHRpbmdzLWRlZmluaXRpb25zJztcclxuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXJ2ZXJDb25maWdTZXJ2aWNlKHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UpOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHNlcnZlckNvbmZpZ1NlcnZpY2UuaW5pdCgpO1xyXG59XHJcblxyXG4vKipcclxuICogQSBzZXJ2aWNlIHdoaWNoIGZldGNoZXMgdGhlIGNvbmZpZyBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBpbml0aWFsaXphdGlvbiwgYW5kIHRoZW4gcHJvdmlkZXMgdGhhdCBjb25maWdcclxuICogdG8gdGhlIGNvbXBvbmVudHMgd2hpY2ggcmVxdWlyZSBpdC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZ1NlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfc2VydmVyQ29uZmlnOiBHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXVsnc2VydmVyQ29uZmlnJ10gPSB7fSBhcyBhbnk7XHJcbiAgICBjdXN0b21GaWVsZHNNYXA6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+ID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBnZXQgYmFzZURhdGFTZXJ2aWNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldDxCYXNlRGF0YVNlcnZpY2U+KEJhc2VEYXRhU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGZXRjaGVzIHRoZSBTZXJ2ZXJDb25maWcuIFNob3VsZCBiZSBydW4gYXMgcGFydCBvZiB0aGUgYXBwIGJvb3RzdHJhcCBwcm9jZXNzIGJ5IGF0dGFjaGluZ1xyXG4gICAgICogdG8gdGhlIEFuZ3VsYXIgQVBQX0lOSVRJQUxJWkVSIHRva2VuLlxyXG4gICAgICovXHJcbiAgICBpbml0KCk6ICgpID0+IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHRoaXMuZ2V0U2VydmVyQ29uZmlnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGZXRjaCB0aGUgU2VydmVyQ29uZmlnLiBTaG91bGQgYmUgcnVuIG9uIGFwcCBpbml0IChpbiBjYXNlIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4pIGFuZCBvbiBzdWNjZXNzZnVsIGxvZ2luLlxyXG4gICAgICovXHJcbiAgICBnZXRTZXJ2ZXJDb25maWcoKSB7XHJcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFNlcnZlckNvbmZpZ1F1ZXJ5PihHRVRfU0VSVkVSX0NPTkZJRykuc2luZ2xlJCxcclxuICAgICAgICApLnRoZW4oXHJcbiAgICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXJ2ZXJDb25maWcgPSByZXN1bHQuZ2xvYmFsU2V0dGluZ3Muc2VydmVyQ29uZmlnO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbnRpdHlDdXN0b21GaWVsZHMgb2YgdGhpcy5fc2VydmVyQ29uZmlnLmVudGl0eUN1c3RvbUZpZWxkcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRzTWFwLnNldChlbnRpdHlDdXN0b21GaWVsZHMuZW50aXR5TmFtZSwgZW50aXR5Q3VzdG9tRmllbGRzLmN1c3RvbUZpZWxkcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIGVycm9yIGZhbGwgdGhyb3VnaCB0byBiZSBjYXVnaHQgYnkgdGhlIGh0dHAgaW50ZXJjZXB0b3IuXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBdmFpbGFibGVMYW5ndWFnZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5xdWVyeTxHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5PihHRVRfR0xPQkFMX1NFVFRJTkdTLCB7fSwgJ2NhY2hlLWZpcnN0JylcclxuICAgICAgICAgICAgLm1hcFNpbmdsZShyZXMgPT4gcmVzLmdsb2JhbFNldHRpbmdzLmF2YWlsYWJsZUxhbmd1YWdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuIGFueSBvZiB0aGUgR2xvYmFsU2V0dGluZ3MgYXJlIG1vZGlmaWVkLCB0aGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIHRvIHVwZGF0ZSB0aGUgQXBvbGxvIGNhY2hlLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoR2xvYmFsU2V0dGluZ3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldEdsb2JhbFNldHRpbmdzUXVlcnk+KEdFVF9HTE9CQUxfU0VUVElOR1MsIHt9LCAnbmV0d29yay1vbmx5JylcclxuICAgICAgICAgICAgLnNpbmdsZSQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1c3RvbSBmaWVsZCBjb25maWdzIGZvciB0aGUgZ2l2ZW4gZW50aXR5IHR5cGUuXHJcbiAgICAgKi9cclxuICAgIGdldEN1c3RvbUZpZWxkc0Zvcih0eXBlOiBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPiB8IHN0cmluZyk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbUZpZWxkc01hcC5nZXQodHlwZSkgfHwgW107XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0T3JkZXJQcm9jZXNzU3RhdGVzKCk6IE9yZGVyUHJvY2Vzc1N0YXRlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlckNvbmZpZy5vcmRlclByb2Nlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGVybWl0dGVkQXNzZXRUeXBlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnLnBlcm1pdHRlZEFzc2V0VHlwZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGVybWlzc2lvbkRlZmluaXRpb25zKCk6IFBlcm1pc3Npb25EZWZpbml0aW9uW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlckNvbmZpZy5wZXJtaXNzaW9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2VydmVyQ29uZmlnKCk6IEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddWydzZXJ2ZXJDb25maWcnXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcnZlckNvbmZpZztcclxuICAgIH1cclxufVxyXG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvZGF0YS9zZXJ2ZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVdyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRWhFLE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxtQkFBd0M7SUFDbEYsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixJQUFZLGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBa0IsZUFBZSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOOUIsa0JBQWEsR0FBMkQsRUFBUyxDQUFDO1FBQzFGLG9CQUFlLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFLckIsQ0FBQztJQUUxQzs7O09BR0c7SUFDSCxJQUFJO1FBQ0EsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNYLE9BQU8sYUFBYSxDQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBdUIsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQzlFLENBQUMsSUFBSSxDQUNGLE1BQU0sQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztZQUN4RCxLQUFLLE1BQU0sa0JBQWtCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0YsQ0FBQztRQUNMLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNGLG1FQUFtRTtRQUN2RSxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZTthQUN0QixLQUFLLENBQXlCLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUM7YUFDckUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQjtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUF5QixtQkFBbUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDO2FBQzdGLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxJQUF3RDtRQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzsrR0F2RVEsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBDdXN0b21GaWVsZHMsXHJcbiAgICBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5LFxyXG4gICAgR2V0U2VydmVyQ29uZmlnUXVlcnksXHJcbiAgICBPcmRlclByb2Nlc3NTdGF0ZSxcclxuICAgIFBlcm1pc3Npb25EZWZpbml0aW9uLFxyXG59IGZyb20gJy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgR0VUX0dMT0JBTF9TRVRUSU5HUywgR0VUX1NFUlZFUl9DT05GSUcgfSBmcm9tICcuL2RlZmluaXRpb25zL3NldHRpbmdzLWRlZmluaXRpb25zJztcclxuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXJ2ZXJDb25maWdTZXJ2aWNlKHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UpOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHNlcnZlckNvbmZpZ1NlcnZpY2UuaW5pdCgpO1xyXG59XHJcblxyXG4vKipcclxuICogQSBzZXJ2aWNlIHdoaWNoIGZldGNoZXMgdGhlIGNvbmZpZyBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBpbml0aWFsaXphdGlvbiwgYW5kIHRoZW4gcHJvdmlkZXMgdGhhdCBjb25maWdcclxuICogdG8gdGhlIGNvbXBvbmVudHMgd2hpY2ggcmVxdWlyZSBpdC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZ1NlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfc2VydmVyQ29uZmlnOiBHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXVsnc2VydmVyQ29uZmlnJ10gPSB7fSBhcyBhbnk7XHJcbiAgICBjdXN0b21GaWVsZHNNYXA6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+ID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBnZXQgYmFzZURhdGFTZXJ2aWNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldDxCYXNlRGF0YVNlcnZpY2U+KEJhc2VEYXRhU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGZXRjaGVzIHRoZSBTZXJ2ZXJDb25maWcuIFNob3VsZCBiZSBydW4gYXMgcGFydCBvZiB0aGUgYXBwIGJvb3RzdHJhcCBwcm9jZXNzIGJ5IGF0dGFjaGluZ1xyXG4gICAgICogdG8gdGhlIEFuZ3VsYXIgQVBQX0lOSVRJQUxJWkVSIHRva2VuLlxyXG4gICAgICovXHJcbiAgICBpbml0KCk6ICgpID0+IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHRoaXMuZ2V0U2VydmVyQ29uZmlnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGZXRjaCB0aGUgU2VydmVyQ29uZmlnLiBTaG91bGQgYmUgcnVuIG9uIGFwcCBpbml0IChpbiBjYXNlIHVzZXIgaXMgYWxyZWFkeSBsb2dnZWQgaW4pIGFuZCBvbiBzdWNjZXNzZnVsIGxvZ2luLlxyXG4gICAgICovXHJcbiAgICBnZXRTZXJ2ZXJDb25maWcoKSB7XHJcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFNlcnZlckNvbmZpZ1F1ZXJ5PihHRVRfU0VSVkVSX0NPTkZJRykuc2luZ2xlJCxcclxuICAgICAgICApLnRoZW4oXHJcbiAgICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXJ2ZXJDb25maWcgPSByZXN1bHQuZ2xvYmFsU2V0dGluZ3Muc2VydmVyQ29uZmlnO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbnRpdHlDdXN0b21GaWVsZHMgb2YgdGhpcy5fc2VydmVyQ29uZmlnLmVudGl0eUN1c3RvbUZpZWxkcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRzTWFwLnNldChlbnRpdHlDdXN0b21GaWVsZHMuZW50aXR5TmFtZSwgZW50aXR5Q3VzdG9tRmllbGRzLmN1c3RvbUZpZWxkcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBMZXQgdGhlIGVycm9yIGZhbGwgdGhyb3VnaCB0byBiZSBjYXVnaHQgYnkgdGhlIGh0dHAgaW50ZXJjZXB0b3IuXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBdmFpbGFibGVMYW5ndWFnZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5xdWVyeTxHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5PihHRVRfR0xPQkFMX1NFVFRJTkdTLCB7fSwgJ2NhY2hlLWZpcnN0JylcclxuICAgICAgICAgICAgLm1hcFNpbmdsZShyZXMgPT4gcmVzLmdsb2JhbFNldHRpbmdzLmF2YWlsYWJsZUxhbmd1YWdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuIGFueSBvZiB0aGUgR2xvYmFsU2V0dGluZ3MgYXJlIG1vZGlmaWVkLCB0aGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIHRvIHVwZGF0ZSB0aGUgQXBvbGxvIGNhY2hlLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoR2xvYmFsU2V0dGluZ3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldEdsb2JhbFNldHRpbmdzUXVlcnk+KEdFVF9HTE9CQUxfU0VUVElOR1MsIHt9LCAnbmV0d29yay1vbmx5JylcclxuICAgICAgICAgICAgLnNpbmdsZSQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1c3RvbSBmaWVsZCBjb25maWdzIGZvciB0aGUgZ2l2ZW4gZW50aXR5IHR5cGUuXHJcbiAgICAgKi9cclxuICAgIGdldEN1c3RvbUZpZWxkc0Zvcih0eXBlOiBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPiB8IHN0cmluZyk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbUZpZWxkc01hcC5nZXQodHlwZSkgfHwgW107XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0T3JkZXJQcm9jZXNzU3RhdGVzKCk6IE9yZGVyUHJvY2Vzc1N0YXRlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlckNvbmZpZy5vcmRlclByb2Nlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGVybWl0dGVkQXNzZXRUeXBlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnLnBlcm1pdHRlZEFzc2V0VHlwZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGVybWlzc2lvbkRlZmluaXRpb25zKCk6IFBlcm1pc3Npb25EZWZpbml0aW9uW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlckNvbmZpZy5wZXJtaXNzaW9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2VydmVyQ29uZmlnKCk6IEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddWydzZXJ2ZXJDb25maWcnXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcnZlckNvbmZpZztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -3,8 +3,9 @@ import { Kind, } from 'graphql';
3
3
  * Given a GraphQL AST (DocumentNode), this function looks for fragment definitions and adds and configured
4
4
  * custom fields to those fragments.
5
5
  */
6
- export function addCustomFields(documentNode, customFields) {
7
- const fragmentDefs = documentNode.definitions.filter(isFragmentDefinition);
6
+ export function addCustomFields(documentNode, customFields, includeCustomFields) {
7
+ const clone = JSON.parse(JSON.stringify(documentNode));
8
+ const fragmentDefs = clone.definitions.filter(isFragmentDefinition);
8
9
  for (const fragmentDef of fragmentDefs) {
9
10
  let entityType = fragmentDef.typeCondition.name.value;
10
11
  if (entityType === 'OrderAddress') {
@@ -18,36 +19,53 @@ export function addCustomFields(documentNode, customFields) {
18
19
  }
19
20
  const customFieldsForType = customFields.get(entityType);
20
21
  if (customFieldsForType && customFieldsForType.length) {
21
- fragmentDef.selectionSet.selections.push({
22
+ // Check if there is already a customFields field in the fragment
23
+ // to avoid duplication
24
+ const existingCustomFieldsField = fragmentDef.selectionSet.selections.find(selection => isFieldNode(selection) && selection.name.value === 'customFields');
25
+ const selectionNodes = customFieldsForType
26
+ .filter(field => !includeCustomFields || includeCustomFields.includes(field.name))
27
+ .map(customField => ({
28
+ kind: Kind.FIELD,
22
29
  name: {
23
30
  kind: Kind.NAME,
24
- value: 'customFields',
31
+ value: customField.name,
25
32
  },
26
- kind: Kind.FIELD,
27
- selectionSet: {
28
- kind: Kind.SELECTION_SET,
29
- selections: customFieldsForType.map(customField => ({
30
- kind: Kind.FIELD,
31
- name: {
32
- kind: Kind.NAME,
33
- value: customField.name,
33
+ // For "relation" custom fields, we need to also select
34
+ // all the scalar fields of the related type
35
+ ...(customField.type === 'relation'
36
+ ? {
37
+ selectionSet: {
38
+ kind: Kind.SELECTION_SET,
39
+ selections: customField.scalarFields.map(f => ({
40
+ kind: Kind.FIELD,
41
+ name: { kind: Kind.NAME, value: f },
42
+ })),
34
43
  },
35
- // For "relation" custom fields, we need to also select
36
- // all the scalar fields of the related type
37
- ...(customField.type === 'relation'
38
- ? {
39
- selectionSet: {
40
- kind: Kind.SELECTION_SET,
41
- selections: customField.scalarFields.map(f => ({
42
- kind: Kind.FIELD,
43
- name: { kind: Kind.NAME, value: f },
44
- })),
45
- },
46
- }
47
- : {}),
48
- })),
49
- },
50
- });
44
+ }
45
+ : {}),
46
+ }));
47
+ if (!existingCustomFieldsField) {
48
+ // If no customFields field exists, add one
49
+ fragmentDef.selectionSet.selections.push({
50
+ kind: Kind.FIELD,
51
+ name: {
52
+ kind: Kind.NAME,
53
+ value: 'customFields',
54
+ },
55
+ selectionSet: {
56
+ kind: Kind.SELECTION_SET,
57
+ selections: selectionNodes,
58
+ },
59
+ });
60
+ }
61
+ else {
62
+ // If a customFields field already exists, add the custom fields
63
+ // to the existing selection set
64
+ existingCustomFieldsField.selectionSet = {
65
+ kind: Kind.SELECTION_SET,
66
+ selections: selectionNodes,
67
+ };
68
+ }
51
69
  const localizedFields = customFieldsForType.filter(field => field.type === 'localeString' || field.type === 'localeText');
52
70
  const translationsField = fragmentDef.selectionSet.selections
53
71
  .filter(isFieldNode)
@@ -73,7 +91,7 @@ export function addCustomFields(documentNode, customFields) {
73
91
  }
74
92
  }
75
93
  }
76
- return documentNode;
94
+ return clone;
77
95
  }
78
96
  function isFragmentDefinition(value) {
79
97
  return value.kind === Kind.FRAGMENT_DEFINITION;
@@ -81,4 +99,4 @@ function isFragmentDefinition(value) {
81
99
  function isFieldNode(value) {
82
100
  return value.kind === Kind.FIELD;
83
101
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILElBQUksR0FFUCxNQUFNLFNBQVMsQ0FBQztBQVNqQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixZQUEwQixFQUMxQixZQUE4QztJQUU5QyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTNFLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FHL0MsQ0FBQztRQUVGLElBQUksVUFBVSxLQUFNLGNBQXNCLEVBQUUsQ0FBQztZQUN6QyxxRkFBcUY7WUFDckYsNkJBQTZCO1lBQzdCLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksVUFBVSxLQUFNLFNBQWlCLEVBQUUsQ0FBQztZQUNwQyxnQ0FBZ0M7WUFDaEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksbUJBQW1CLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkQsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUE4QixDQUFDLElBQUksQ0FBQztnQkFDMUQsSUFBSSxFQUFFO29CQUNGLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixLQUFLLEVBQUUsY0FBYztpQkFDeEI7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNoQixZQUFZLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUN4QixVQUFVLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxDQUMvQixXQUFXLENBQUMsRUFBRSxDQUNWLENBQUM7d0JBQ0csSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNoQixJQUFJLEVBQUU7NEJBQ0YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJOzRCQUNmLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSTt5QkFDMUI7d0JBQ0QsdURBQXVEO3dCQUN2RCw0Q0FBNEM7d0JBQzVDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLFVBQVU7NEJBQy9CLENBQUMsQ0FBQztnQ0FDSSxZQUFZLEVBQUU7b0NBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhO29DQUN4QixVQUFVLEVBQ04sV0FDSCxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dDQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7d0NBQ2hCLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7cUNBQ3RDLENBQUMsQ0FBQztpQ0FDTjs2QkFDSjs0QkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUNFLENBQUEsQ0FDdEI7aUJBQ0o7YUFDSixDQUFDLENBQUM7WUFFSCxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQzlDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLENBQ3hFLENBQUM7WUFFRixNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVTtpQkFDeEQsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssY0FBYyxDQUFDLENBQUM7WUFFeEQsSUFBSSxlQUFlLENBQUMsTUFBTSxJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMvRSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsVUFBOEIsQ0FBQyxJQUFJLENBQUM7b0JBQ2hFLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsS0FBSyxFQUFFLGNBQWM7cUJBQ3hCO29CQUNELElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDaEIsWUFBWSxFQUFFO3dCQUNWLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTt3QkFDeEIsVUFBVSxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQ1YsQ0FBQzs0QkFDRyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLElBQUksRUFBRTtnQ0FDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0NBQ2YsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJOzZCQUMxQjt5QkFDVSxDQUFBLENBQ3RCO3FCQUNKO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEtBQXFCO0lBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQW9CO0lBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGVmaW5pdGlvbk5vZGUsXHJcbiAgICBEb2N1bWVudE5vZGUsXHJcbiAgICBGaWVsZE5vZGUsXHJcbiAgICBGcmFnbWVudERlZmluaXRpb25Ob2RlLFxyXG4gICAgS2luZCxcclxuICAgIFNlbGVjdGlvbk5vZGUsXHJcbn0gZnJvbSAnZ3JhcGhxbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBDdXN0b21GaWVsZHMsXHJcbiAgICBFbnRpdHlDdXN0b21GaWVsZHMsXHJcbiAgICBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnQsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG4vKipcclxuICogR2l2ZW4gYSBHcmFwaFFMIEFTVCAoRG9jdW1lbnROb2RlKSwgdGhpcyBmdW5jdGlvbiBsb29rcyBmb3IgZnJhZ21lbnQgZGVmaW5pdGlvbnMgYW5kIGFkZHMgYW5kIGNvbmZpZ3VyZWRcclxuICogY3VzdG9tIGZpZWxkcyB0byB0aG9zZSBmcmFnbWVudHMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkQ3VzdG9tRmllbGRzKFxyXG4gICAgZG9jdW1lbnROb2RlOiBEb2N1bWVudE5vZGUsXHJcbiAgICBjdXN0b21GaWVsZHM6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+LFxyXG4pOiBEb2N1bWVudE5vZGUge1xyXG4gICAgY29uc3QgZnJhZ21lbnREZWZzID0gZG9jdW1lbnROb2RlLmRlZmluaXRpb25zLmZpbHRlcihpc0ZyYWdtZW50RGVmaW5pdGlvbik7XHJcblxyXG4gICAgZm9yIChjb25zdCBmcmFnbWVudERlZiBvZiBmcmFnbWVudERlZnMpIHtcclxuICAgICAgICBsZXQgZW50aXR5VHlwZSA9IGZyYWdtZW50RGVmLnR5cGVDb25kaXRpb24ubmFtZS52YWx1ZSBhcyBrZXlvZiBQaWNrPFxyXG4gICAgICAgICAgICBDdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgIEV4Y2x1ZGU8a2V5b2YgQ3VzdG9tRmllbGRzLCAnX190eXBlbmFtZSc+XHJcbiAgICAgICAgPjtcclxuXHJcbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09ICgnT3JkZXJBZGRyZXNzJyBhcyBhbnkpKSB7XHJcbiAgICAgICAgICAgIC8vIE9yZGVyQWRkcmVzcyBpcyBhIHNwZWNpYWwgY2FzZSBvZiB0aGUgQWRkcmVzcyBlbnRpdHksIGFuZCBzaGFyZXMgaXRzIGN1c3RvbSBmaWVsZHNcclxuICAgICAgICAgICAgLy8gc28gd2UgdHJlYXQgaXQgYXMgYW4gYWxpYXNcclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdBZGRyZXNzJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSAoJ0NvdW50cnknIGFzIGFueSkpIHtcclxuICAgICAgICAgICAgLy8gQ291bnRyeSBpcyBhbiBhbGlhcyBvZiBSZWdpb25cclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdSZWdpb24nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzRm9yVHlwZSA9IGN1c3RvbUZpZWxkcy5nZXQoZW50aXR5VHlwZSk7XHJcbiAgICAgICAgaWYgKGN1c3RvbUZpZWxkc0ZvclR5cGUgJiYgY3VzdG9tRmllbGRzRm9yVHlwZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgKGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBraW5kOiBLaW5kLkZJRUxELFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbnM6IGN1c3RvbUZpZWxkc0ZvclR5cGUubWFwKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLkZJRUxELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY3VzdG9tRmllbGQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBcInJlbGF0aW9uXCIgY3VzdG9tIGZpZWxkcywgd2UgbmVlZCB0byBhbHNvIHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbCB0aGUgc2NhbGFyIGZpZWxkcyBvZiB0aGUgcmVsYXRlZCB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGN1c3RvbUZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblNldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkIGFzIFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5zY2FsYXJGaWVsZHMubWFwKGYgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLkZJRUxELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHsga2luZDogS2luZC5OQU1FLCB2YWx1ZTogZiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEZpZWxkTm9kZSksXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbG9jYWxpemVkRmllbGRzID0gY3VzdG9tRmllbGRzRm9yVHlwZS5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICBmaWVsZCA9PiBmaWVsZC50eXBlID09PSAnbG9jYWxlU3RyaW5nJyB8fCBmaWVsZC50eXBlID09PSAnbG9jYWxlVGV4dCcsXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNGaWVsZCA9IGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGlzRmllbGROb2RlKVxyXG4gICAgICAgICAgICAgICAgLmZpbmQoZmllbGQgPT4gZmllbGQubmFtZS52YWx1ZSA9PT0gJ3RyYW5zbGF0aW9ucycpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGxvY2FsaXplZEZpZWxkcy5sZW5ndGggJiYgdHJhbnNsYXRpb25zRmllbGQgJiYgdHJhbnNsYXRpb25zRmllbGQuc2VsZWN0aW9uU2V0KSB7XHJcbiAgICAgICAgICAgICAgICAodHJhbnNsYXRpb25zRmllbGQuc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMgYXMgU2VsZWN0aW9uTm9kZVtdKS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiBsb2NhbGl6ZWRGaWVsZHMubWFwKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRmllbGQgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLkZJRUxELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLk5BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY3VzdG9tRmllbGQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEZpZWxkTm9kZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkb2N1bWVudE5vZGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRnJhZ21lbnREZWZpbml0aW9uKHZhbHVlOiBEZWZpbml0aW9uTm9kZSk6IHZhbHVlIGlzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRlJBR01FTlRfREVGSU5JVElPTjtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNGaWVsZE5vZGUodmFsdWU6IFNlbGVjdGlvbk5vZGUpOiB2YWx1ZSBpcyBGaWVsZE5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRklFTEQ7XHJcbn1cclxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILElBQUksR0FFUCxNQUFNLFNBQVMsQ0FBQztBQVNqQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixZQUEwQixFQUMxQixZQUE4QyxFQUM5QyxtQkFBOEI7SUFFOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFpQixDQUFDO0lBQ3ZFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFcEUsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUcvQyxDQUFDO1FBRUYsSUFBSSxVQUFVLEtBQU0sY0FBc0IsRUFBRSxDQUFDO1lBQ3pDLHFGQUFxRjtZQUNyRiw2QkFBNkI7WUFDN0IsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxVQUFVLEtBQU0sU0FBaUIsRUFBRSxDQUFDO1lBQ3BDLGdDQUFnQztZQUNoQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxtQkFBbUIsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRCxpRUFBaUU7WUFDakUsdUJBQXVCO1lBQ3ZCLE1BQU0seUJBQXlCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxD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Q0FBQyxHQUFHLENBQzNCLFdBQVcsQ0FBQyxFQUFFLENBQ1YsQ0FBQzs0QkFDRyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLElBQUksRUFBRTtnQ0FDRixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0NBQ2YsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJOzZCQUMxQjt5QkFDSixDQUFjLENBQ3RCO3FCQUNKO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEtBQXFCO0lBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQW9CO0lBQ3JDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGVmaW5pdGlvbk5vZGUsXHJcbiAgICBEb2N1bWVudE5vZGUsXHJcbiAgICBGaWVsZE5vZGUsXHJcbiAgICBGcmFnbWVudERlZmluaXRpb25Ob2RlLFxyXG4gICAgS2luZCxcclxuICAgIFNlbGVjdGlvbk5vZGUsXHJcbn0gZnJvbSAnZ3JhcGhxbCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBDdXN0b21GaWVsZHMsXHJcbiAgICBFbnRpdHlDdXN0b21GaWVsZHMsXHJcbiAgICBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnQsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG4vKipcclxuICogR2l2ZW4gYSBHcmFwaFFMIEFTVCAoRG9jdW1lbnROb2RlKSwgdGhpcyBmdW5jdGlvbiBsb29rcyBmb3IgZnJhZ21lbnQgZGVmaW5pdGlvbnMgYW5kIGFkZHMgYW5kIGNvbmZpZ3VyZWRcclxuICogY3VzdG9tIGZpZWxkcyB0byB0aG9zZSBmcmFnbWVudHMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkQ3VzdG9tRmllbGRzKFxyXG4gICAgZG9jdW1lbnROb2RlOiBEb2N1bWVudE5vZGUsXHJcbiAgICBjdXN0b21GaWVsZHM6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+LFxyXG4gICAgaW5jbHVkZUN1c3RvbUZpZWxkcz86IHN0cmluZ1tdLFxyXG4pOiBEb2N1bWVudE5vZGUge1xyXG4gICAgY29uc3QgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRvY3VtZW50Tm9kZSkpIGFzIERvY3VtZW50Tm9kZTtcclxuICAgIGNvbnN0IGZyYWdtZW50RGVmcyA9IGNsb25lLmRlZmluaXRpb25zLmZpbHRlcihpc0ZyYWdtZW50RGVmaW5pdGlvbik7XHJcblxyXG4gICAgZm9yIChjb25zdCBmcmFnbWVudERlZiBvZiBmcmFnbWVudERlZnMpIHtcclxuICAgICAgICBsZXQgZW50aXR5VHlwZSA9IGZyYWdtZW50RGVmLnR5cGVDb25kaXRpb24ubmFtZS52YWx1ZSBhcyBrZXlvZiBQaWNrPFxyXG4gICAgICAgICAgICBDdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgIEV4Y2x1ZGU8a2V5b2YgQ3VzdG9tRmllbGRzLCAnX190eXBlbmFtZSc+XHJcbiAgICAgICAgPjtcclxuXHJcbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09ICgnT3JkZXJBZGRyZXNzJyBhcyBhbnkpKSB7XHJcbiAgICAgICAgICAgIC8vIE9yZGVyQWRkcmVzcyBpcyBhIHNwZWNpYWwgY2FzZSBvZiB0aGUgQWRkcmVzcyBlbnRpdHksIGFuZCBzaGFyZXMgaXRzIGN1c3RvbSBmaWVsZHNcclxuICAgICAgICAgICAgLy8gc28gd2UgdHJlYXQgaXQgYXMgYW4gYWxpYXNcclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdBZGRyZXNzJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSAoJ0NvdW50cnknIGFzIGFueSkpIHtcclxuICAgICAgICAgICAgLy8gQ291bnRyeSBpcyBhbiBhbGlhcyBvZiBSZWdpb25cclxuICAgICAgICAgICAgZW50aXR5VHlwZSA9ICdSZWdpb24nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzRm9yVHlwZSA9IGN1c3RvbUZpZWxkcy5nZXQoZW50aXR5VHlwZSk7XHJcbiAgICAgICAgaWYgKGN1c3RvbUZpZWxkc0ZvclR5cGUgJiYgY3VzdG9tRmllbGRzRm9yVHlwZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIGN1c3RvbUZpZWxkcyBmaWVsZCBpbiB0aGUgZnJhZ21lbnRcclxuICAgICAgICAgICAgLy8gdG8gYXZvaWQgZHVwbGljYXRpb25cclxuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdDdXN0b21GaWVsZHNGaWVsZCA9IGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zLmZpbmQoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPT4gaXNGaWVsZE5vZGUoc2VsZWN0aW9uKSAmJiBzZWxlY3Rpb24ubmFtZS52YWx1ZSA9PT0gJ2N1c3RvbUZpZWxkcycsXHJcbiAgICAgICAgICAgICkgYXMgRmllbGROb2RlIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25Ob2RlczogU2VsZWN0aW9uTm9kZVtdID0gY3VzdG9tRmllbGRzRm9yVHlwZVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmaWVsZCA9PiAhaW5jbHVkZUN1c3RvbUZpZWxkcyB8fCBpbmNsdWRlQ3VzdG9tRmllbGRzLmluY2x1ZGVzKGZpZWxkLm5hbWUpKVxyXG4gICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLk5BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUZpZWxkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIFwicmVsYXRpb25cIiBjdXN0b20gZmllbGRzLCB3ZSBuZWVkIHRvIGFsc28gc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGwgdGhlIHNjYWxhciBmaWVsZHMgb2YgdGhlIHJlbGF0ZWQgdHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGN1c3RvbUZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZCBhcyBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5zY2FsYXJGaWVsZHMubWFwKGYgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB7IGtpbmQ6IEtpbmQuTkFNRSwgdmFsdWU6IGYgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIGFzIEZpZWxkTm9kZSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICghZXhpc3RpbmdDdXN0b21GaWVsZHNGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgbm8gY3VzdG9tRmllbGRzIGZpZWxkIGV4aXN0cywgYWRkIG9uZVxyXG4gICAgICAgICAgICAgICAgKGZyYWdtZW50RGVmLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogc2VsZWN0aW9uTm9kZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjdXN0b21GaWVsZHMgZmllbGQgYWxyZWFkeSBleGlzdHMsIGFkZCB0aGUgY3VzdG9tIGZpZWxkc1xyXG4gICAgICAgICAgICAgICAgLy8gdG8gdGhlIGV4aXN0aW5nIHNlbGVjdGlvbiBzZXRcclxuICAgICAgICAgICAgICAgIChleGlzdGluZ0N1c3RvbUZpZWxkc0ZpZWxkLnNlbGVjdGlvblNldCBhcyBhbnkpID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25zOiBzZWxlY3Rpb25Ob2RlcyxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsaXplZEZpZWxkcyA9IGN1c3RvbUZpZWxkc0ZvclR5cGUuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgZmllbGQgPT4gZmllbGQudHlwZSA9PT0gJ2xvY2FsZVN0cmluZycgfHwgZmllbGQudHlwZSA9PT0gJ2xvY2FsZVRleHQnLFxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zRmllbGQgPSBmcmFnbWVudERlZi5zZWxlY3Rpb25TZXQuc2VsZWN0aW9uc1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihpc0ZpZWxkTm9kZSlcclxuICAgICAgICAgICAgICAgIC5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUudmFsdWUgPT09ICd0cmFuc2xhdGlvbnMnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChsb2NhbGl6ZWRGaWVsZHMubGVuZ3RoICYmIHRyYW5zbGF0aW9uc0ZpZWxkICYmIHRyYW5zbGF0aW9uc0ZpZWxkLnNlbGVjdGlvblNldCkge1xyXG4gICAgICAgICAgICAgICAgKHRyYW5zbGF0aW9uc0ZpZWxkLnNlbGVjdGlvblNldC5zZWxlY3Rpb25zIGFzIFNlbGVjdGlvbk5vZGVbXSkucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBLaW5kLk5BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuRklFTEQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uU2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IEtpbmQuU0VMRUNUSU9OX1NFVCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uczogbG9jYWxpemVkRmllbGRzLm1hcChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5GSUVMRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogS2luZC5OQU1FLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUZpZWxkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgYXMgRmllbGROb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xvbmU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRnJhZ21lbnREZWZpbml0aW9uKHZhbHVlOiBEZWZpbml0aW9uTm9kZSk6IHZhbHVlIGlzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRlJBR01FTlRfREVGSU5JVElPTjtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNGaWVsZE5vZGUodmFsdWU6IFNlbGVjdGlvbk5vZGUpOiB2YWx1ZSBpcyBGaWVsZE5vZGUge1xyXG4gICAgcmV0dXJuIHZhbHVlLmtpbmQgPT09IEtpbmQuRklFTEQ7XHJcbn1cclxuIl19
@@ -18,10 +18,10 @@ export class DynamicComponentLoaderComponent {
18
18
  const componentRef = this.viewContainer.createComponent(this.componentType);
19
19
  this.loaded.emit(componentRef);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DynamicComponentLoaderComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DynamicComponentLoaderComponent, isStandalone: true, selector: "vdr-dynamic-component-loader", inputs: { componentType: "componentType" }, outputs: { loaded: "loaded" }, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: SharedModule }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicComponentLoaderComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DynamicComponentLoaderComponent, isStandalone: true, selector: "vdr-dynamic-component-loader", inputs: { componentType: "componentType" }, outputs: { loaded: "loaded" }, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: SharedModule }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DynamicComponentLoaderComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicComponentLoaderComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  selector: 'vdr-dynamic-component-loader',
@@ -44,14 +44,14 @@ export class AngularRouteComponent {
44
44
  canDeactivate() {
45
45
  return this.componentRef?.instance?.canDeactivate?.();
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AngularRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AngularRouteComponent, isStandalone: true, selector: "vdr-angular-route-component", ngImport: i0, template: `
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AngularRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AngularRouteComponent, isStandalone: true, selector: "vdr-angular-route-component", ngImport: i0, template: `
49
49
  <vdr-route-component>
50
50
  <vdr-dynamic-component-loader [componentType]="component" (loaded)="componentLoaded($event)" />
51
51
  </vdr-route-component>
52
52
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: RouteComponent, selector: "vdr-route-component", inputs: ["locationId", "description"] }, { kind: "component", type: DynamicComponentLoaderComponent, selector: "vdr-dynamic-component-loader", inputs: ["componentType"], outputs: ["loaded"] }] }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AngularRouteComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AngularRouteComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{
57
57
  selector: 'vdr-angular-route-component',
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
64
64
  imports: [SharedModule, RouteComponent, DynamicComponentLoaderComponent],
65
65
  }]
66
66
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1yb3V0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2V4dGVuc2lvbi9jb21wb25lbnRzL2FuZ3VsYXItcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRTVFOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTywrQkFBK0I7SUFHeEMsWUFBb0IsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRHpDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUNILENBQUM7SUFFdkQsUUFBUTtRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQVJRLCtCQUErQjtrR0FBL0IsK0JBQStCLG1LQUo5QixFQUFFLDJEQUVGLFlBQVk7OzJGQUViLCtCQUErQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQjtxRkFFWSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTs7QUFtQlgsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdjLGNBQVMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FVbkU7SUFQRyxlQUFlLENBQUMsWUFBK0I7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFDMUQsQ0FBQzs4R0FWUSxxQkFBcUI7a0dBQXJCLHFCQUFxQix1RkFScEI7Ozs7S0FJVCwyREFFUyxZQUFZLCtCQUFFLGNBQWMsdUdBbkI3QiwrQkFBK0I7OzJGQXFCL0IscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLCtCQUErQixDQUFDO2lCQUMzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBpbmplY3QsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUk9VVEVfQ09NUE9ORU5UX09QVElPTlMsIFJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9yb3V0ZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIGludGVybmFsbHkgdG8gYWxsb3cgdXMgdG8gZHluYW1pY2FsbHkgbG9hZCBhIGNvbXBvbmVudFxyXG4gKiBsaWtlIHdpdGggYCpuZ0NvbXBvbmVudE91dGxldGAsIGJ1dCB3aXRoIHRoZSBhYmlsaXR5IHRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGVcclxuICogY3JlYXRlZCBDb21wb25lbnRSZWYuIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBkZWxlZ2F0ZSBsaWZlY3ljbGUgZXZlbnRzIGxpa2VcclxuICogYGNhbkRlYWN0aXZhdGVgIHRvIHRoZSBsb2FkZWQgY29tcG9uZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWNvbXBvbmVudC1sb2FkZXInLFxyXG4gICAgdGVtcGxhdGU6IGBgLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudExvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wb25lbnRSZWY8YW55Pj4oKTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQuZW1pdChjb21wb25lbnRSZWYpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFuZ3VsYXItcm91dGUtY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHZkci1yb3V0ZS1jb21wb25lbnQ+XHJcbiAgICAgICAgICAgIDx2ZHItZHluYW1pYy1jb21wb25lbnQtbG9hZGVyIFtjb21wb25lbnRUeXBlXT1cImNvbXBvbmVudFwiIChsb2FkZWQpPVwiY29tcG9uZW50TG9hZGVkKCRldmVudClcIiAvPlxyXG4gICAgICAgIDwvdmRyLXJvdXRlLWNvbXBvbmVudD5cclxuICAgIGAsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZSwgUm91dGVDb21wb25lbnQsIER5bmFtaWNDb21wb25lbnRMb2FkZXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclJvdXRlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnQgPSBpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpLmNvbXBvbmVudDtcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICAgIGNvbXBvbmVudExvYWRlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuRGVhY3RpdmF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5jYW5EZWFjdGl2YXRlPy4oKTtcclxuICAgIH1cclxufVxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1yb3V0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2V4dGVuc2lvbi9jb21wb25lbnRzL2FuZ3VsYXItcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRTVFOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTywrQkFBK0I7SUFHeEMsWUFBb0IsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRHpDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUNILENBQUM7SUFFdkQsUUFBUTtRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQVJRLCtCQUErQjttR0FBL0IsK0JBQStCLG1LQUo5QixFQUFFLDJEQUVGLFlBQVk7OzRGQUViLCtCQUErQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQjtxRkFFWSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTs7QUFtQlgsTUFBTSxPQUFPLHFCQUFxQjtJQVZsQztRQVdjLGNBQVMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FVbkU7SUFQRyxlQUFlLENBQUMsWUFBK0I7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFDMUQsQ0FBQzsrR0FWUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1RkFScEI7Ozs7S0FJVCwyREFFUyxZQUFZLCtCQUFFLGNBQWMsdUdBbkI3QiwrQkFBK0I7OzRGQXFCL0IscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLCtCQUErQixDQUFDO2lCQUMzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBpbmplY3QsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUk9VVEVfQ09NUE9ORU5UX09QVElPTlMsIFJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9yb3V0ZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIGludGVybmFsbHkgdG8gYWxsb3cgdXMgdG8gZHluYW1pY2FsbHkgbG9hZCBhIGNvbXBvbmVudFxyXG4gKiBsaWtlIHdpdGggYCpuZ0NvbXBvbmVudE91dGxldGAsIGJ1dCB3aXRoIHRoZSBhYmlsaXR5IHRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGVcclxuICogY3JlYXRlZCBDb21wb25lbnRSZWYuIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBkZWxlZ2F0ZSBsaWZlY3ljbGUgZXZlbnRzIGxpa2VcclxuICogYGNhbkRlYWN0aXZhdGVgIHRvIHRoZSBsb2FkZWQgY29tcG9uZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWNvbXBvbmVudC1sb2FkZXInLFxyXG4gICAgdGVtcGxhdGU6IGBgLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudExvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wb25lbnRSZWY8YW55Pj4oKTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQuZW1pdChjb21wb25lbnRSZWYpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFuZ3VsYXItcm91dGUtY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHZkci1yb3V0ZS1jb21wb25lbnQ+XHJcbiAgICAgICAgICAgIDx2ZHItZHluYW1pYy1jb21wb25lbnQtbG9hZGVyIFtjb21wb25lbnRUeXBlXT1cImNvbXBvbmVudFwiIChsb2FkZWQpPVwiY29tcG9uZW50TG9hZGVkKCRldmVudClcIiAvPlxyXG4gICAgICAgIDwvdmRyLXJvdXRlLWNvbXBvbmVudD5cclxuICAgIGAsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZSwgUm91dGVDb21wb25lbnQsIER5bmFtaWNDb21wb25lbnRMb2FkZXJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclJvdXRlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnQgPSBpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpLmNvbXBvbmVudDtcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICAgIGNvbXBvbmVudExvYWRlZChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuRGVhY3RpdmF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5jYW5EZWFjdGl2YXRlPy4oKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -46,8 +46,8 @@ export class RouteComponent {
46
46
  route: tab.route ? [tab.route] : ['./'],
47
47
  }));
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RouteComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.PageService }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: RouteComponent, isStandalone: true, selector: "vdr-route-component", inputs: { locationId: "locationId", description: "description" }, providers: [PageMetadataService], ngImport: i0, template: `
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouteComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.PageService }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RouteComponent, isStandalone: true, selector: "vdr-route-component", inputs: { locationId: "locationId", description: "description" }, providers: [PageMetadataService], ngImport: i0, template: `
51
51
  <vdr-page-header>
52
52
  <vdr-page-title *ngIf="title$ | async as title" [title]="title"></vdr-page-title>
53
53
  <vdr-page-header-description *ngIf="description">{{ description }}</vdr-page-header-description>
@@ -56,7 +56,7 @@ export class RouteComponent {
56
56
  <vdr-page-body><ng-content /></vdr-page-body>
57
57
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i5.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i6.PageHeaderDescriptionComponent, selector: "vdr-page-header-description" }, { kind: "component", type: i7.PageHeaderTabsComponent, selector: "vdr-page-header-tabs", inputs: ["tabs"] }, { kind: "component", type: i8.PageBodyComponent, selector: "vdr-page-body" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: RouteComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouteComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{
62
62
  selector: 'vdr-route-component',
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
77
77
  }], description: [{
78
78
  type: Input
79
79
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vY29tcG9uZW50cy9yb3V0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBTXpFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUNyRCx5QkFBeUIsQ0FDNUIsQ0FBQztBQWdCRixNQUFNLE9BQU8sY0FBYztJQU12QixZQUNZLEtBQXFCLEVBQ3JCLFdBQXdCO1FBRHhCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSnBDLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTXpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQXlDLENBQUM7WUFDMUQsQ0FBQztZQUNELElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFnQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxVQUFVLENBQUM7WUFDdEIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNuRCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxDQUM5RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRztZQUNYLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRztZQUNkLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTztZQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs4R0E1Q1EsY0FBYztrR0FBZCxjQUFjLG9JQUZaLENBQUMsbUJBQW1CLENBQUMsMEJBVnRCOzs7Ozs7O0tBT1QsMkRBRVMsWUFBWTs7MkZBR2IsY0FBYztrQkFkMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkM7NkdBR3NCLFVBQVU7c0JBQTVCLEtBQUs7Z0JBQ2EsV0FBVztzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnZU1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9wYWdlLW1ldGFkYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmd1bGFyUm91dGVDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIZWFkZXJUYWIgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLWhlYWRlci10YWJzL3BhZ2UtaGVhZGVyLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvcGFnZS9wYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlTG9jYXRpb25JZCB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJPVVRFX0NPTVBPTkVOVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPEFuZ3VsYXJSb3V0ZUNvbXBvbmVudE9wdGlvbnM+KFxyXG4gICAgJ1JPVVRFX0NPTVBPTkVOVF9PUFRJT05TJyxcclxuKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcm91dGUtY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHZkci1wYWdlLWhlYWRlcj5cclxuICAgICAgICAgICAgPHZkci1wYWdlLXRpdGxlICpuZ0lmPVwidGl0bGUkIHwgYXN5bmMgYXMgdGl0bGVcIiBbdGl0bGVdPVwidGl0bGVcIj48L3Zkci1wYWdlLXRpdGxlPlxyXG4gICAgICAgICAgICA8dmRyLXBhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvdmRyLXBhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICA8dmRyLXBhZ2UtaGVhZGVyLXRhYnMgKm5nSWY9XCJoZWFkZXJUYWJzLmxlbmd0aCA+IDFcIiBbdGFic109XCJoZWFkZXJUYWJzXCI+PC92ZHItcGFnZS1oZWFkZXItdGFicz5cclxuICAgICAgICA8L3Zkci1wYWdlLWhlYWRlcj5cclxuICAgICAgICA8dmRyLXBhZ2UtYm9keT48bmctY29udGVudCAvPjwvdmRyLXBhZ2UtYm9keT5cclxuICAgIGAsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtQYWdlTWV0YWRhdGFTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcclxuICAgIEBJbnB1dCgpIHByb3RlY3RlZCBsb2NhdGlvbklkOiBQYWdlTG9jYXRpb25JZDtcclxuICAgIEBJbnB1dCgpIHByb3RlY3RlZCBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgaGVhZGVyVGFiczogSGVhZGVyVGFiW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIHBhZ2VTZXJ2aWNlOiBQYWdlU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJMYWJlbCQgPSB0aGlzLnJvdXRlLmRhdGEucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuYnJlYWRjcnVtYiBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icmVhZGNydW1iIGFzIE9ic2VydmFibGU8QnJlYWRjcnVtYlZhbHVlPjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YS5icmVhZGNydW1iID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnJlYWRjcnVtYihkYXRhKSBhcyBPYnNlcnZhYmxlPEJyZWFkY3J1bWJWYWx1ZT47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxyXG4gICAgICAgICAgICBtYXAoYnJlYWRjcnVtYiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGJyZWFkY3J1bWIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShicmVhZGNydW1iKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBicmVhZGNydW1iW2JyZWFkY3J1bWIubGVuZ3RoIC0gMV0ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYnJlYWRjcnVtYi5sYWJlbDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy50aXRsZSQgPSBjb21iaW5lTGF0ZXN0KFtpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpLnRpdGxlJCwgYnJlYWRjcnVtYkxhYmVsJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3RpdGxlLCBicmVhZGNydW1iTGFiZWxdKSA9PiB0aXRsZSA/PyBicmVhZGNydW1iTGFiZWwpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMubG9jYXRpb25JZCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5sb2NhdGlvbklkO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5oZWFkZXJUYWJzID0gdGhpcy5wYWdlU2VydmljZS5nZXRQYWdlVGFicyh0aGlzLmxvY2F0aW9uSWQpLm1hcCh0YWIgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IHRhYi50YWIsXHJcbiAgICAgICAgICAgIGxhYmVsOiB0YWIudGFiLFxyXG4gICAgICAgICAgICBpY29uOiB0YWIudGFiSWNvbixcclxuICAgICAgICAgICAgcm91dGU6IHRhYi5yb3V0ZSA/IFt0YWIucm91dGVdIDogWycuLyddLFxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vY29tcG9uZW50cy9yb3V0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O0FBTXpFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUNyRCx5QkFBeUIsQ0FDNUIsQ0FBQztBQWdCRixNQUFNLE9BQU8sY0FBYztJQU12QixZQUNZLEtBQXFCLEVBQ3JCLFdBQXdCO1FBRHhCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSnBDLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTXpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQXlDLENBQUM7WUFDMUQsQ0FBQztZQUNELElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFnQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxVQUFVLENBQUM7WUFDdEIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNuRCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxDQUM5RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRztZQUNYLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRztZQUNkLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTztZQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzsrR0E1Q1EsY0FBYzttR0FBZCxjQUFjLG9JQUZaLENBQUMsbUJBQW1CLENBQUMsMEJBVnRCOzs7Ozs7O0tBT1QsMkRBRVMsWUFBWTs7NEZBR2IsY0FBYztrQkFkMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkM7NkdBR3NCLFVBQVU7c0JBQTVCLEtBQUs7Z0JBQ2EsV0FBVztzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnZU1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9wYWdlLW1ldGFkYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmd1bGFyUm91dGVDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIZWFkZXJUYWIgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLWhlYWRlci10YWJzL3BhZ2UtaGVhZGVyLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvcGFnZS9wYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlTG9jYXRpb25JZCB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJPVVRFX0NPTVBPTkVOVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPEFuZ3VsYXJSb3V0ZUNvbXBvbmVudE9wdGlvbnM+KFxyXG4gICAgJ1JPVVRFX0NPTVBPTkVOVF9PUFRJT05TJyxcclxuKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcm91dGUtY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHZkci1wYWdlLWhlYWRlcj5cclxuICAgICAgICAgICAgPHZkci1wYWdlLXRpdGxlICpuZ0lmPVwidGl0bGUkIHwgYXN5bmMgYXMgdGl0bGVcIiBbdGl0bGVdPVwidGl0bGVcIj48L3Zkci1wYWdlLXRpdGxlPlxyXG4gICAgICAgICAgICA8dmRyLXBhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvdmRyLXBhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICA8dmRyLXBhZ2UtaGVhZGVyLXRhYnMgKm5nSWY9XCJoZWFkZXJUYWJzLmxlbmd0aCA+IDFcIiBbdGFic109XCJoZWFkZXJUYWJzXCI+PC92ZHItcGFnZS1oZWFkZXItdGFicz5cclxuICAgICAgICA8L3Zkci1wYWdlLWhlYWRlcj5cclxuICAgICAgICA8dmRyLXBhZ2UtYm9keT48bmctY29udGVudCAvPjwvdmRyLXBhZ2UtYm9keT5cclxuICAgIGAsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtQYWdlTWV0YWRhdGFTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcclxuICAgIEBJbnB1dCgpIHByb3RlY3RlZCBsb2NhdGlvbklkOiBQYWdlTG9jYXRpb25JZDtcclxuICAgIEBJbnB1dCgpIHByb3RlY3RlZCBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgaGVhZGVyVGFiczogSGVhZGVyVGFiW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIHBhZ2VTZXJ2aWNlOiBQYWdlU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJMYWJlbCQgPSB0aGlzLnJvdXRlLmRhdGEucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuYnJlYWRjcnVtYiBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icmVhZGNydW1iIGFzIE9ic2VydmFibGU8QnJlYWRjcnVtYlZhbHVlPjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YS5icmVhZGNydW1iID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnJlYWRjcnVtYihkYXRhKSBhcyBPYnNlcnZhYmxlPEJyZWFkY3J1bWJWYWx1ZT47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxyXG4gICAgICAgICAgICBtYXAoYnJlYWRjcnVtYiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGJyZWFkY3J1bWIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShicmVhZGNydW1iKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBicmVhZGNydW1iW2JyZWFkY3J1bWIubGVuZ3RoIC0gMV0ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYnJlYWRjcnVtYi5sYWJlbDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy50aXRsZSQgPSBjb21iaW5lTGF0ZXN0KFtpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpLnRpdGxlJCwgYnJlYWRjcnVtYkxhYmVsJF0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3RpdGxlLCBicmVhZGNydW1iTGFiZWxdKSA9PiB0aXRsZSA/PyBicmVhZGNydW1iTGFiZWwpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMubG9jYXRpb25JZCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5sb2NhdGlvbklkO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5oZWFkZXJUYWJzID0gdGhpcy5wYWdlU2VydmljZS5nZXRQYWdlVGFicyh0aGlzLmxvY2F0aW9uSWQpLm1hcCh0YWIgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IHRhYi50YWIsXHJcbiAgICAgICAgICAgIGxhYmVsOiB0YWIudGFiLFxyXG4gICAgICAgICAgICBpY29uOiB0YWIudGFiSWNvbixcclxuICAgICAgICAgICAgcm91dGU6IHRhYi5yb3V0ZSA/IFt0YWIucm91dGVdIDogWycuLyddLFxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -11,10 +11,10 @@ export class PageMetadataService {
11
11
  setBreadcrumbs(value) {
12
12
  this.routeComponentOptions.breadcrumb$.next(value);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageMetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageMetadataService }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageMetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageMetadataService }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageMetadataService, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageMetadataService, decorators: [{
18
18
  type: Injectable
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1tZXRhZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vcHJvdmlkZXJzL3BhZ2UtbWV0YWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVxQiwwQkFBcUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQVM1RTtJQVBHLFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBc0I7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FUUSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iVmFsdWUgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBST1VURV9DT01QT05FTlRfT1BUSU9OUyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcm91dGUuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBhZ2VNZXRhZGF0YVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZUNvbXBvbmVudE9wdGlvbnMgPSBpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpO1xyXG5cclxuICAgIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnJvdXRlQ29tcG9uZW50T3B0aW9ucy50aXRsZSQubmV4dCh0aXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QnJlYWRjcnVtYnModmFsdWU6IEJyZWFkY3J1bWJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMucm91dGVDb21wb25lbnRPcHRpb25zLmJyZWFkY3J1bWIkLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1tZXRhZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vcHJvdmlkZXJzL3BhZ2UtbWV0YWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVxQiwwQkFBcUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQVM1RTtJQVBHLFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBc0I7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FUUSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iVmFsdWUgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBST1VURV9DT01QT05FTlRfT1BUSU9OUyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcm91dGUuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBhZ2VNZXRhZGF0YVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZUNvbXBvbmVudE9wdGlvbnMgPSBpbmplY3QoUk9VVEVfQ09NUE9ORU5UX09QVElPTlMpO1xyXG5cclxuICAgIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnJvdXRlQ29tcG9uZW50T3B0aW9ucy50aXRsZSQubmV4dCh0aXRsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QnJlYWRjcnVtYnModmFsdWU6IEJyZWFkY3J1bWJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMucm91dGVDb21wb25lbnRPcHRpb25zLmJyZWFkY3J1bWIkLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==