@vendure/admin-ui 3.0.3 → 3.0.5

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 (427) 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 +3 -1
  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/providers/alerts/alerts.service.d.ts +3 -0
  14. package/core/providers/auth/auth.service.d.ts +3 -1
  15. package/core/providers/data-table/data-table-config.service.d.ts +12 -0
  16. package/core/public_api.d.ts +1 -0
  17. package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
  18. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
  19. package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
  20. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  21. package/esm2022/catalog/catalog.module.mjs +5 -5
  22. package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +4 -4
  23. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +4 -4
  24. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +4 -4
  25. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -4
  26. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +4 -4
  27. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +4 -4
  28. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +11 -13
  29. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +4 -4
  30. package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +4 -4
  31. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +6 -5
  32. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +4 -4
  33. package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +4 -4
  34. package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +4 -4
  35. package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +4 -4
  36. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +4 -4
  37. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +4 -4
  38. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +4 -4
  39. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +4 -4
  40. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +16 -15
  41. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +4 -4
  42. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +4 -4
  43. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +4 -4
  44. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +4 -4
  45. package/esm2022/catalog/components/product-list/product-list.component.mjs +7 -5
  46. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +4 -4
  47. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -4
  48. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +4 -4
  49. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +4 -4
  50. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +4 -4
  51. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +4 -4
  52. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +4 -4
  53. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +4 -4
  54. package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +4 -4
  55. package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +4 -4
  56. package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +4 -4
  57. package/esm2022/core/app.component.mjs +4 -4
  58. package/esm2022/core/app.component.module.mjs +5 -5
  59. package/esm2022/core/common/base-list.component.mjs +26 -10
  60. package/esm2022/core/common/version.mjs +2 -2
  61. package/esm2022/core/components/alerts/alerts.component.mjs +4 -4
  62. package/esm2022/core/components/app-shell/app-shell.component.mjs +5 -5
  63. package/esm2022/core/components/base-nav/base-nav.component.mjs +4 -4
  64. package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +4 -4
  65. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +4 -4
  66. package/esm2022/core/components/main-nav/main-nav.component.mjs +4 -4
  67. package/esm2022/core/components/notification/notification.component.mjs +4 -4
  68. package/esm2022/core/components/overlay-host/overlay-host.component.mjs +4 -4
  69. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +4 -4
  70. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +4 -4
  71. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +4 -4
  72. package/esm2022/core/components/user-menu/user-menu.component.mjs +4 -4
  73. package/esm2022/core/core.module.mjs +5 -5
  74. package/esm2022/core/data/data.module.mjs +7 -7
  75. package/esm2022/core/data/providers/base-data.service.mjs +10 -11
  76. package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
  77. package/esm2022/core/data/providers/data.service.mjs +8 -8
  78. package/esm2022/core/data/providers/fetch-adapter.mjs +4 -4
  79. package/esm2022/core/data/providers/interceptor.mjs +4 -4
  80. package/esm2022/core/data/providers/product-data.service.mjs +4 -2
  81. package/esm2022/core/data/query-result.mjs +98 -10
  82. package/esm2022/core/data/server-config.mjs +4 -4
  83. package/esm2022/core/data/utils/add-custom-fields.mjs +48 -30
  84. package/esm2022/core/extension/components/angular-route.component.mjs +7 -7
  85. package/esm2022/core/extension/components/route.component.mjs +4 -4
  86. package/esm2022/core/extension/providers/page-metadata.service.mjs +4 -4
  87. package/esm2022/core/providers/alerts/alerts.service.mjs +16 -6
  88. package/esm2022/core/providers/auth/auth.service.mjs +13 -9
  89. package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +4 -4
  90. package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +4 -4
  91. package/esm2022/core/providers/channel/channel.service.mjs +4 -4
  92. package/esm2022/core/providers/component-registry/component-registry.service.mjs +4 -4
  93. package/esm2022/core/providers/currency/currency.service.mjs +4 -4
  94. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +4 -4
  95. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +4 -4
  96. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +4 -4
  97. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +4 -4
  98. package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
  99. package/esm2022/core/providers/guard/auth.guard.mjs +4 -4
  100. package/esm2022/core/providers/health-check/health-check.service.mjs +4 -4
  101. package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +4 -4
  102. package/esm2022/core/providers/i18n/i18n.service.mjs +4 -4
  103. package/esm2022/core/providers/job-queue/job-queue.service.mjs +4 -4
  104. package/esm2022/core/providers/local-storage/local-storage.service.mjs +4 -4
  105. package/esm2022/core/providers/localization/localization.service.mjs +4 -4
  106. package/esm2022/core/providers/modal/modal.service.mjs +4 -4
  107. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +4 -4
  108. package/esm2022/core/providers/notification/notification.service.mjs +4 -4
  109. package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +4 -4
  110. package/esm2022/core/providers/page/page.service.mjs +4 -4
  111. package/esm2022/core/providers/permissions/permissions.service.mjs +4 -4
  112. package/esm2022/core/public_api.mjs +2 -1
  113. package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +10 -10
  114. package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +4 -4
  115. package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +4 -4
  116. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +4 -4
  117. package/esm2022/core/shared/components/address-form/address-form.component.mjs +4 -4
  118. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +4 -4
  119. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +4 -4
  120. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +4 -4
  121. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +4 -4
  122. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +4 -4
  123. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  124. package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +4 -4
  125. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +4 -4
  126. package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +4 -4
  127. package/esm2022/core/shared/components/assets/assets.component.mjs +4 -4
  128. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +4 -4
  129. package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +4 -4
  130. package/esm2022/core/shared/components/card/card.component.mjs +7 -7
  131. package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +4 -4
  132. package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +4 -4
  133. package/esm2022/core/shared/components/chart/chart.component.mjs +4 -4
  134. package/esm2022/core/shared/components/chip/chip.component.mjs +4 -4
  135. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +4 -4
  136. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +4 -4
  137. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +4 -4
  138. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +4 -4
  139. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +4 -4
  140. package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +4 -4
  141. package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +4 -4
  142. package/esm2022/core/shared/components/data-table/data-table.component.mjs +4 -4
  143. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +4 -4
  144. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +4 -4
  145. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +5 -5
  146. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +4 -4
  147. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +45 -53
  148. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +4 -4
  149. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +4 -4
  150. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +4 -4
  151. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +4 -4
  152. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +25 -37
  153. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +4 -4
  154. package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +4 -4
  155. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +4 -4
  156. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +4 -4
  157. package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +4 -4
  158. package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +4 -4
  159. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +4 -4
  160. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +4 -4
  161. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +4 -4
  162. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +4 -4
  163. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +4 -4
  164. package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +4 -4
  165. package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +4 -4
  166. package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +4 -4
  167. package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +4 -4
  168. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +4 -4
  169. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +4 -4
  170. package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +4 -4
  171. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +4 -4
  172. package/esm2022/core/shared/components/form-field/form-field.component.mjs +4 -4
  173. package/esm2022/core/shared/components/form-item/form-item.component.mjs +4 -4
  174. package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +4 -4
  175. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +4 -4
  176. package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +4 -4
  177. package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +4 -4
  178. package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +4 -4
  179. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +4 -4
  180. package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +4 -4
  181. package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +4 -4
  182. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +4 -4
  183. package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +4 -4
  184. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +4 -4
  185. package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +4 -4
  186. package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +4 -4
  187. package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +4 -4
  188. package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +4 -4
  189. package/esm2022/core/shared/components/page/page.component.mjs +4 -4
  190. package/esm2022/core/shared/components/page-block/page-block.component.mjs +4 -4
  191. package/esm2022/core/shared/components/page-body/page-body.component.mjs +4 -4
  192. package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +4 -4
  193. package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +4 -4
  194. package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +4 -4
  195. package/esm2022/core/shared/components/page-header/page-header.component.mjs +4 -4
  196. package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +4 -4
  197. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +4 -4
  198. package/esm2022/core/shared/components/page-title/page-title.component.mjs +4 -4
  199. package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +4 -4
  200. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +4 -4
  201. package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +4 -4
  202. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +4 -4
  203. package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +4 -4
  204. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +4 -4
  205. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +4 -4
  206. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +4 -4
  207. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +4 -4
  208. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +4 -4
  209. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +4 -4
  210. package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +4 -4
  211. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +4 -4
  212. package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +4 -4
  213. package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +4 -4
  214. package/esm2022/core/shared/components/split-view/split-view.component.mjs +4 -4
  215. package/esm2022/core/shared/components/split-view/split-view.directive.mjs +7 -7
  216. package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +4 -4
  217. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +4 -4
  218. package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +4 -4
  219. package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +4 -4
  220. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +4 -4
  221. package/esm2022/core/shared/components/title-input/title-input.component.mjs +4 -4
  222. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +4 -4
  223. package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +4 -4
  224. package/esm2022/core/shared/directives/disabled.directive.mjs +4 -4
  225. package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +4 -4
  226. package/esm2022/core/shared/directives/if-directive-base.mjs +4 -4
  227. package/esm2022/core/shared/directives/if-multichannel.directive.mjs +4 -4
  228. package/esm2022/core/shared/directives/if-permissions.directive.mjs +4 -4
  229. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +4 -4
  230. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +4 -4
  231. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +4 -4
  232. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +4 -4
  233. package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +4 -4
  234. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +4 -4
  235. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +4 -4
  236. package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +4 -4
  237. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +4 -4
  238. package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +4 -4
  239. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +4 -4
  240. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +4 -4
  241. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +4 -4
  242. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +4 -4
  243. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +4 -4
  244. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +4 -4
  245. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +4 -4
  246. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +4 -4
  247. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +4 -4
  248. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +10 -10
  249. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +4 -4
  250. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +4 -4
  251. package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +4 -4
  252. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +4 -4
  253. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +4 -4
  254. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +4 -4
  255. package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +4 -4
  256. package/esm2022/core/shared/pipes/channel-label.pipe.mjs +4 -4
  257. package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +4 -4
  258. package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +4 -4
  259. package/esm2022/core/shared/pipes/duration.pipe.mjs +4 -4
  260. package/esm2022/core/shared/pipes/file-size.pipe.mjs +4 -4
  261. package/esm2022/core/shared/pipes/has-permission.pipe.mjs +4 -4
  262. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +6 -6
  263. package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +4 -4
  264. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +4 -4
  265. package/esm2022/core/shared/pipes/locale-date.pipe.mjs +4 -4
  266. package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +4 -4
  267. package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +4 -4
  268. package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +4 -4
  269. package/esm2022/core/shared/pipes/sort.pipe.mjs +4 -4
  270. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +4 -4
  271. package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +4 -4
  272. package/esm2022/core/shared/pipes/time-ago.pipe.mjs +4 -4
  273. package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +4 -4
  274. package/esm2022/core/shared/shared.module.mjs +5 -5
  275. package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +4 -4
  276. package/esm2022/customer/components/address-card/address-card.component.mjs +4 -4
  277. package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +4 -4
  278. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +4 -4
  279. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +4 -4
  280. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +4 -4
  281. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +17 -15
  282. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +4 -4
  283. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +4 -4
  284. package/esm2022/customer/components/customer-history/customer-history.component.mjs +4 -4
  285. package/esm2022/customer/components/customer-list/customer-list.component.mjs +29 -28
  286. package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +4 -4
  287. package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +4 -4
  288. package/esm2022/customer/customer.module.mjs +5 -5
  289. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +4 -4
  290. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -4
  291. package/esm2022/dashboard/dashboard.module.mjs +5 -5
  292. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +8 -8
  293. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +4 -4
  294. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +8 -8
  295. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +8 -8
  296. package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +8 -8
  297. package/esm2022/login/components/login/login.component.mjs +4 -4
  298. package/esm2022/login/login.module.mjs +5 -5
  299. package/esm2022/login/providers/login.guard.mjs +4 -4
  300. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +4 -4
  301. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +16 -15
  302. package/esm2022/marketing/marketing.module.mjs +5 -5
  303. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +4 -4
  304. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +4 -4
  305. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +4 -4
  306. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +4 -4
  307. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +4 -4
  308. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +4 -4
  309. package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +4 -4
  310. package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +4 -4
  311. package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +4 -4
  312. package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +4 -4
  313. package/esm2022/order/components/line-refunds/line-refunds.component.mjs +4 -4
  314. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +4 -4
  315. package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +4 -4
  316. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +4 -17
  317. package/esm2022/order/components/order-data-table/order-total-column.component.mjs +4 -4
  318. package/esm2022/order/components/order-detail/order-detail.component.mjs +4 -4
  319. package/esm2022/order/components/order-editor/order-editor.component.mjs +4 -4
  320. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +4 -4
  321. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +4 -4
  322. package/esm2022/order/components/order-history/order-history.component.mjs +4 -4
  323. package/esm2022/order/components/order-list/order-list.component.mjs +6 -5
  324. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +4 -4
  325. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +4 -4
  326. package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +4 -4
  327. package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +4 -4
  328. package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +4 -4
  329. package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +4 -4
  330. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +4 -4
  331. package/esm2022/order/components/order-table/order-table.component.mjs +4 -4
  332. package/esm2022/order/components/payment-detail/payment-detail.component.mjs +4 -4
  333. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +4 -4
  334. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +4 -4
  335. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +4 -4
  336. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +4 -4
  337. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +4 -4
  338. package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +4 -4
  339. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +4 -4
  340. package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +4 -4
  341. package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +4 -4
  342. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +4 -4
  343. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +4 -4
  344. package/esm2022/order/order.module.mjs +5 -5
  345. package/esm2022/order/providers/order-transition.service.mjs +4 -4
  346. package/esm2022/order/providers/routing/order.guard.mjs +4 -4
  347. package/esm2022/react/components/react-custom-column.component.mjs +4 -4
  348. package/esm2022/react/components/react-custom-detail.component.mjs +4 -4
  349. package/esm2022/react/components/react-form-input.component.mjs +4 -4
  350. package/esm2022/react/components/react-route.component.mjs +4 -4
  351. package/esm2022/react/directives/react-component-host.directive.mjs +4 -4
  352. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +4 -4
  353. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +4 -4
  354. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +35 -34
  355. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +4 -4
  356. package/esm2022/settings/components/channel-list/channel-list.component.mjs +16 -15
  357. package/esm2022/settings/components/country-detail/country-detail.component.mjs +4 -4
  358. package/esm2022/settings/components/country-list/country-list.component.mjs +24 -23
  359. package/esm2022/settings/components/global-settings/global-settings.component.mjs +4 -4
  360. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +4 -4
  361. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +24 -23
  362. package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +4 -4
  363. package/esm2022/settings/components/profile/profile.component.mjs +4 -4
  364. package/esm2022/settings/components/role-detail/role-detail.component.mjs +4 -4
  365. package/esm2022/settings/components/role-list/role-list.component.mjs +16 -15
  366. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +4 -4
  367. package/esm2022/settings/components/seller-list/seller-list.component.mjs +21 -20
  368. package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +4 -4
  369. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -4
  370. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +24 -23
  371. package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +4 -4
  372. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +4 -4
  373. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +22 -21
  374. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +4 -4
  375. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +16 -15
  376. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +4 -4
  377. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +16 -15
  378. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +4 -4
  379. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +4 -4
  380. package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +4 -4
  381. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +4 -4
  382. package/esm2022/settings/components/zone-list/zone-list.component.mjs +21 -20
  383. package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +4 -4
  384. package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +4 -4
  385. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +4 -4
  386. package/esm2022/settings/providers/routing/profile-resolver.mjs +4 -4
  387. package/esm2022/settings/settings.module.mjs +5 -5
  388. package/esm2022/system/components/health-check/health-check.component.mjs +4 -4
  389. package/esm2022/system/components/job-list/job-list.component.mjs +4 -4
  390. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +4 -4
  391. package/esm2022/system/system.module.mjs +5 -5
  392. package/fesm2022/vendure-admin-ui-catalog.mjs +130 -128
  393. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  394. package/fesm2022/vendure-admin-ui-core.mjs +1029 -876
  395. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  396. package/fesm2022/vendure-admin-ui-customer.mjs +81 -78
  397. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  398. package/fesm2022/vendure-admin-ui-dashboard.mjs +41 -41
  399. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  400. package/fesm2022/vendure-admin-ui-login.mjs +10 -10
  401. package/fesm2022/vendure-admin-ui-login.mjs.map +1 -1
  402. package/fesm2022/vendure-admin-ui-marketing.mjs +22 -21
  403. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  404. package/fesm2022/vendure-admin-ui-order.mjs +135 -147
  405. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  406. package/fesm2022/vendure-admin-ui-react.mjs +15 -15
  407. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  408. package/fesm2022/vendure-admin-ui-settings.mjs +300 -289
  409. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  410. package/fesm2022/vendure-admin-ui-system.mjs +13 -13
  411. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  412. package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
  413. package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
  414. package/order/components/order-list/order-list.component.d.ts +1 -0
  415. package/package.json +13 -13
  416. package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
  417. package/settings/components/channel-list/channel-list.component.d.ts +1 -0
  418. package/settings/components/country-list/country-list.component.d.ts +1 -0
  419. package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
  420. package/settings/components/role-list/role-list.component.d.ts +1 -0
  421. package/settings/components/seller-list/seller-list.component.d.ts +1 -0
  422. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
  423. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
  424. package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
  425. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
  426. package/settings/components/zone-list/zone-list.component.d.ts +1 -0
  427. package/static/theme.min.css +1 -1
@@ -69,10 +69,10 @@ export class ZoneMemberListComponent {
69
69
  refresh() {
70
70
  this.refresh$.next();
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ZoneMemberListComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ZoneMemberListComponent, selector: "vdr-zone-member-list", inputs: { locationId: "locationId", members: "members", selectedMemberIds: "selectedMemberIds", activeZone: "activeZone" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ZoneMemberListHeaderDirective, descendants: true }, { propertyName: "controlsTemplate", first: true, predicate: ZoneMemberControlsDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<vdr-data-table-2\r\n [id]=\"locationId\"\r\n [items]=\"filteredMembers$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [currentPage]=\"currentPage\"\r\n (itemsPerPageChange)=\"itemsPerPage = $event\"\r\n (pageChange)=\"currentPage = $event\"\r\n>\r\n <vdr-bulk-action-menu\r\n [locationId]=\"locationId\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n ></vdr-bulk-action-menu>\r\n <vdr-dt2-search\r\n [searchTermControl]=\"filterTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n ></vdr-dt2-search>\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.updated-at' | translate\" id=\"updated-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.name' | translate\" id=\"name\" [optional]=\"false\">\r\n <ng-template let-member=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['/settings/countries', member.id]\"\r\n ><span> {{ member.name }}</span>\r\n <clr-icon shape=\"arrow right\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.code' | translate\" id=\"code\">\r\n <ng-template let-member=\"item\">\r\n {{ member.code }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\r\n <ng-template let-member=\"item\">\r\n <vdr-chip *ngIf=\"member.enabled\" colorType=\"success\">{{ 'common.enabled' | translate }}</vdr-chip>\r\n <vdr-chip *ngIf=\"!member.enabled\" colorType=\"warning\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n</vdr-data-table-2>\r\n", styles: [".members-header{background-color:var(--color-component-bg-100);position:sticky;top:0;padding:6px;z-index:5;border-bottom:1px solid var(--color-component-border-200)}.members-header .header-title-row{display:flex;justify-content:space-between;align-items:center}.members-header .clr-input{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.BulkActionMenuComponent, selector: "vdr-bulk-action-menu", inputs: ["locationId", "selectionManager", "hostComponent"] }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex"], outputs: ["pageChange", "itemsPerPageChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.DataTable2SearchComponent, selector: "vdr-dt2-search", inputs: ["searchTermControl", "searchTermPlaceholder"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneMemberListComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ZoneMemberListComponent, selector: "vdr-zone-member-list", inputs: { locationId: "locationId", members: "members", selectedMemberIds: "selectedMemberIds", activeZone: "activeZone" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ZoneMemberListHeaderDirective, descendants: true }, { propertyName: "controlsTemplate", first: true, predicate: ZoneMemberControlsDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<vdr-data-table-2\r\n [id]=\"locationId\"\r\n [items]=\"filteredMembers$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [currentPage]=\"currentPage\"\r\n (itemsPerPageChange)=\"itemsPerPage = $event\"\r\n (pageChange)=\"currentPage = $event\"\r\n>\r\n <vdr-bulk-action-menu\r\n [locationId]=\"locationId\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n ></vdr-bulk-action-menu>\r\n <vdr-dt2-search\r\n [searchTermControl]=\"filterTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n ></vdr-dt2-search>\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.updated-at' | translate\" id=\"updated-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.name' | translate\" id=\"name\" [optional]=\"false\">\r\n <ng-template let-member=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['/settings/countries', member.id]\"\r\n ><span> {{ member.name }}</span>\r\n <clr-icon shape=\"arrow right\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.code' | translate\" id=\"code\">\r\n <ng-template let-member=\"item\">\r\n {{ member.code }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\r\n <ng-template let-member=\"item\">\r\n <vdr-chip *ngIf=\"member.enabled\" colorType=\"success\">{{ 'common.enabled' | translate }}</vdr-chip>\r\n <vdr-chip *ngIf=\"!member.enabled\" colorType=\"warning\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n</vdr-data-table-2>\r\n", styles: [".members-header{background-color:var(--color-component-bg-100);position:sticky;top:0;padding:6px;z-index:5;border-bottom:1px solid var(--color-component-border-200)}.members-header .header-title-row{display:flex;justify-content:space-between;align-items:center}.members-header .clr-input{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.BulkActionMenuComponent, selector: "vdr-bulk-action-menu", inputs: ["locationId", "selectionManager", "hostComponent"] }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.DataTable2SearchComponent, selector: "vdr-dt2-search", inputs: ["searchTermControl", "searchTermPlaceholder"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ZoneMemberListComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneMemberListComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: 'vdr-zone-member-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-data-table-2\r\n [id]=\"locationId\"\r\n [items]=\"filteredMembers$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [currentPage]=\"currentPage\"\r\n (itemsPerPageChange)=\"itemsPerPage = $event\"\r\n (pageChange)=\"currentPage = $event\"\r\n>\r\n <vdr-bulk-action-menu\r\n [locationId]=\"locationId\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n ></vdr-bulk-action-menu>\r\n <vdr-dt2-search\r\n [searchTermControl]=\"filterTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n ></vdr-dt2-search>\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.updated-at' | translate\" id=\"updated-at\" [hiddenByDefault]=\"true\">\r\n <ng-template let-member=\"item\">\r\n {{ member.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.name' | translate\" id=\"name\" [optional]=\"false\">\r\n <ng-template let-member=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['/settings/countries', member.id]\"\r\n ><span> {{ member.name }}</span>\r\n <clr-icon shape=\"arrow right\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.code' | translate\" id=\"code\">\r\n <ng-template let-member=\"item\">\r\n {{ member.code }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\r\n <ng-template let-member=\"item\">\r\n <vdr-chip *ngIf=\"member.enabled\" colorType=\"success\">{{ 'common.enabled' | translate }}</vdr-chip>\r\n <vdr-chip *ngIf=\"!member.enabled\" colorType=\"warning\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n</vdr-data-table-2>\r\n", styles: [".members-header{background-color:var(--color-component-bg-100);position:sticky;top:0;padding:6px;z-index:5;border-bottom:1px solid var(--color-component-border-200)}.members-header .header-title-row{display:flex;justify-content:space-between;align-items:center}.members-header .clr-input{width:100%}\n"] }]
78
78
  }], ctorParameters: () => [{ type: i1.DataService }], propDecorators: { locationId: [{
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
92
92
  type: ContentChild,
93
93
  args: [ZoneMemberControlsDirective]
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFJSCxzQkFBc0IsRUFHdEIsZ0JBQWdCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7OztBQVVwRixNQUFNLE9BQU8sdUJBQXVCO0lBd0JoQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXJCbkMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUl6RCxzQkFBaUIs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QUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNzQyxjQUFjO3NCQUExRCxZQUFZO3VCQUFDLDZCQUE2QjtnQkFDQSxnQkFBZ0I7c0JBQTFELFlBQVk7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEJ1bGtBY3Rpb25Mb2NhdGlvbklkLFxyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBHZXRab25lTGlzdFF1ZXJ5LFxyXG4gICAgR2V0Wm9uZU1lbWJlcnNEb2N1bWVudCxcclxuICAgIEdldFpvbmVNZW1iZXJzUXVlcnksXHJcbiAgICBJdGVtT2YsXHJcbiAgICBTZWxlY3Rpb25NYW5hZ2VyLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL3pvbmUtbWVtYmVyLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi96b25lLW1lbWJlci1saXN0LWhlYWRlci5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZU1lbWJlciA9IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBjb2RlOiBzdHJpbmcgfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItem9uZS1tZW1iZXItbGlzdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBsb2NhdGlvbklkOiBCdWxrQWN0aW9uTG9jYXRpb25JZDtcclxuICAgIEBJbnB1dCgpIG1lbWJlcnM/OiBab25lTWVtYmVyW107XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1lbWJlcklkczogc3RyaW5nW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZVpvbmU6IEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPjtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xyXG4gICAgQENvbnRlbnRDaGlsZChab25lTWVtYmVyTGlzdEhlYWRlckRpcmVjdGl2ZSkgaGVhZGVyVGVtcGxhdGU6IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlO1xyXG4gICAgQENvbnRlbnRDaGlsZChab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUpIGNvbnRyb2xzVGVtcGxhdGU6IFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZTtcclxuICAgIG1lbWJlcnMkOiBPYnNlcnZhYmxlPE5vbk51bGxhYmxlPEdldFpvbmVNZW1iZXJzUXVlcnlbJ3pvbmUnXT5bJ21lbWJlcnMnXSB8IFpvbmVNZW1iZXJbXT47XHJcbiAgICBmaWx0ZXJUZXJtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcbiAgICBmaWx0ZXJlZE1lbWJlcnMkOiBPYnNlcnZhYmxlPFpvbmVNZW1iZXJbXT47XHJcbiAgICB0b3RhbEl0ZW1zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgaXRlbXNQZXJQYWdlID0gMTA7XHJcbiAgICBzZWxlY3Rpb25NYW5hZ2VyID0gbmV3IFNlbGVjdGlvbk1hbmFnZXI8Wm9uZU1lbWJlcj4oe1xyXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxyXG4gICAgICAgIGl0ZW1zQXJlRXF1YWw6IChhLCBiKSA9PiBhLmlkID09PSBiLmlkLFxyXG4gICAgICAgIGFkZGl0aXZlTW9kZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgcHJpdmF0ZSBtZW1iZXJzSW5wdXQkID0gbmV3IFN1YmplY3Q8Wm9uZU1lbWJlcltdPigpO1xyXG4gICAgcHJpdmF0ZSBhY3RpdmVab25lSW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJdGVtT2Y8R2V0Wm9uZUxpc3RRdWVyeSwgJ3pvbmVzJz4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZVpvbmVNZW1iZXJzJCA9IG1lcmdlKHRoaXMuYWN0aXZlWm9uZUlucHV0JCwgdGhpcy5yZWZyZXNoJCkucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGFjdGl2ZVpvbmUgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlWm9uZVxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5kYXRhU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5xdWVyeShHZXRab25lTWVtYmVyc0RvY3VtZW50LCB7IHpvbmVJZDogdGhpcy5hY3RpdmVab25lLmlkIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcFNpbmdsZSgoeyB6b25lIH0pID0+IHpvbmU/Lm1lbWJlcnMgPz8gW10pXHJcbiAgICAgICAgICAgICAgICAgICAgOiBvZihbXSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLm1lbWJlcnMkID0gbWVyZ2UoYWN0aXZlWm9uZU1lbWJlcnMkLCB0aGlzLm1lbWJlcnNJbnB1dCQpO1xyXG5cclxuICAgICAgICB0aGlzLm1lbWJlcnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1lbWJlcnMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXIuc2V0Q3VycmVudEl0ZW1zKFxyXG4gICAgICAgICAgICAgICAgbWVtYmVycz8uZmlsdGVyKG0gPT4gdGhpcy5zZWxlY3RlZE1lbWJlcklkcy5pbmNsdWRlcyhtLmlkKSkgPz8gW10sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdGlvbkNoYW5nZXMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoc2VsZWN0aW9uID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChzZWxlY3Rpb24ubWFwKHMgPT4gcy5pZCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRNZW1iZXJzJCA9IGNvbWJpbmVMYXRlc3QoXHJcbiAgICAgICAgICAgIHRoaXMubWVtYmVycyQsXHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVGVybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksXHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFttZW1iZXJzLCBmaWx0ZXJUZXJtXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlclRlcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXJtID0gZmlsdGVyVGVybT8udG9Mb2NhbGVMb3dlckNhc2UoKSA/PyAnJztcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVtYmVycy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG0gPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVtYmVycztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkID0gdGhpcy5maWx0ZXJlZE1lbWJlcnMkLnBpcGUobWFwKG1lbWJlcnMgPT4gbWVtYmVycy5sZW5ndGgpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKCdtZW1iZXJzJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVtYmVyc0lucHV0JC5uZXh0KHRoaXMubWVtYmVycyA/PyBbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgnYWN0aXZlWm9uZScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVpvbmVJbnB1dCQubmV4dCh0aGlzLmFjdGl2ZVpvbmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaCgpIHtcclxuICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWRhdGEtdGFibGUtMlxyXG4gICAgW2lkXT1cImxvY2F0aW9uSWRcIlxyXG4gICAgW2l0ZW1zXT1cImZpbHRlcmVkTWVtYmVycyQgfCBhc3luY1wiXHJcbiAgICBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zJCB8IGFzeW5jXCJcclxuICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCJcclxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cIml0ZW1zUGVyUGFnZSA9ICRldmVudFwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSA9ICRldmVudFwiXHJcbj5cclxuICAgIDx2ZHItYnVsay1hY3Rpb24tbWVudVxyXG4gICAgICAgIFtsb2NhdGlvbklkXT1cImxvY2F0aW9uSWRcIlxyXG4gICAgICAgIFtob3N0Q29tcG9uZW50XT1cInRoaXNcIlxyXG4gICAgICAgIFtzZWxlY3Rpb25NYW5hZ2VyXT1cInNlbGVjdGlvbk1hbmFnZXJcIlxyXG4gICAgPjwvdmRyLWJ1bGstYWN0aW9uLW1lbnU+XHJcbiAgICA8dmRyLWR0Mi1zZWFyY2hcclxuICAgICAgICBbc2VhcmNoVGVybUNvbnRyb2xdPVwiZmlsdGVyVGVybUNvbnRyb2xcIlxyXG4gICAgICAgIFtzZWFyY2hUZXJtUGxhY2Vob2xkZXJdPVwiJ2NvbW1vbi5zZWFyY2gtYnktbmFtZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgPjwvdmRyLWR0Mi1zZWFyY2g+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBpZD1cImlkXCIgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIHt7IG1lbWJlci5pZCB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIiBpZD1cImNyZWF0ZWQtYXRcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAge3sgbWVtYmVyLmNyZWF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi51cGRhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiIGlkPVwidXBkYXRlZC1hdFwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlXCIgaWQ9XCJuYW1lXCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uLWdob3N0XCIgW3JvdXRlckxpbmtdPVwiWycvc2V0dGluZ3MvY291bnRyaWVzJywgbWVtYmVyLmlkXVwiXHJcbiAgICAgICAgICAgICAgICA+PHNwYW4+IHt7IG1lbWJlci5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiYXJyb3cgcmlnaHRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5jb2RlJyB8IHRyYW5zbGF0ZVwiIGlkPVwiY29kZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuY29kZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uZW5hYmxlZCcgfCB0cmFuc2xhdGVcIiBpZD1cImVuYWJsZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPHZkci1jaGlwICAqbmdJZj1cIm1lbWJlci5lbmFibGVkXCIgY29sb3JUeXBlPVwic3VjY2Vzc1wiPnt7ICdjb21tb24uZW5hYmxlZCcgfCB0cmFuc2xhdGUgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgICpuZ0lmPVwiIW1lbWJlci5lbmFibGVkXCIgY29sb3JUeXBlPVwid2FybmluZ1wiPnt7ICdjb21tb24uZGlzYWJsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuPC92ZHItZGF0YS10YWJsZS0yPlxyXG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFJSCxzQkFBc0IsRUFHdEIsZ0JBQWdCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7OztBQVVwRixNQUFNLE9BQU8sdUJBQXVCO0lBd0JoQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXJCbkMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUl6RCxzQkFBaUIs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QUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNzQyxjQUFjO3NCQUExRCxZQUFZO3VCQUFDLDZCQUE2QjtnQkFDQSxnQkFBZ0I7c0JBQTFELFlBQVk7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEJ1bGtBY3Rpb25Mb2NhdGlvbklkLFxyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBHZXRab25lTGlzdFF1ZXJ5LFxyXG4gICAgR2V0Wm9uZU1lbWJlcnNEb2N1bWVudCxcclxuICAgIEdldFpvbmVNZW1iZXJzUXVlcnksXHJcbiAgICBJdGVtT2YsXHJcbiAgICBTZWxlY3Rpb25NYW5hZ2VyLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL3pvbmUtbWVtYmVyLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi96b25lLW1lbWJlci1saXN0LWhlYWRlci5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZU1lbWJlciA9IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBjb2RlOiBzdHJpbmcgfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItem9uZS1tZW1iZXItbGlzdCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBsb2NhdGlvbklkOiBCdWxrQWN0aW9uTG9jYXRpb25JZDtcclxuICAgIEBJbnB1dCgpIG1lbWJlcnM/OiBab25lTWVtYmVyW107XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1lbWJlcklkczogc3RyaW5nW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZVpvbmU6IEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPjtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xyXG4gICAgQENvbnRlbnRDaGlsZChab25lTWVtYmVyTGlzdEhlYWRlckRpcmVjdGl2ZSkgaGVhZGVyVGVtcGxhdGU6IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlO1xyXG4gICAgQENvbnRlbnRDaGlsZChab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUpIGNvbnRyb2xzVGVtcGxhdGU6IFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZTtcclxuICAgIG1lbWJlcnMkOiBPYnNlcnZhYmxlPE5vbk51bGxhYmxlPEdldFpvbmVNZW1iZXJzUXVlcnlbJ3pvbmUnXT5bJ21lbWJlcnMnXSB8IFpvbmVNZW1iZXJbXT47XHJcbiAgICBmaWx0ZXJUZXJtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcbiAgICBmaWx0ZXJlZE1lbWJlcnMkOiBPYnNlcnZhYmxlPFpvbmVNZW1iZXJbXT47XHJcbiAgICB0b3RhbEl0ZW1zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgaXRlbXNQZXJQYWdlID0gMTA7XHJcbiAgICBzZWxlY3Rpb25NYW5hZ2VyID0gbmV3IFNlbGVjdGlvbk1hbmFnZXI8Wm9uZU1lbWJlcj4oe1xyXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxyXG4gICAgICAgIGl0ZW1zQXJlRXF1YWw6IChhLCBiKSA9PiBhLmlkID09PSBiLmlkLFxyXG4gICAgICAgIGFkZGl0aXZlTW9kZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgcHJpdmF0ZSBtZW1iZXJzSW5wdXQkID0gbmV3IFN1YmplY3Q8Wm9uZU1lbWJlcltdPigpO1xyXG4gICAgcHJpdmF0ZSBhY3RpdmVab25lSW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJdGVtT2Y8R2V0Wm9uZUxpc3RRdWVyeSwgJ3pvbmVzJz4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZVpvbmVNZW1iZXJzJCA9IG1lcmdlKHRoaXMuYWN0aXZlWm9uZUlucHV0JCwgdGhpcy5yZWZyZXNoJCkucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGFjdGl2ZVpvbmUgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlWm9uZVxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5kYXRhU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5xdWVyeShHZXRab25lTWVtYmVyc0RvY3VtZW50LCB7IHpvbmVJZDogdGhpcy5hY3RpdmVab25lLmlkIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcFNpbmdsZSgoeyB6b25lIH0pID0+IHpvbmU/Lm1lbWJlcnMgPz8gW10pXHJcbiAgICAgICAgICAgICAgICAgICAgOiBvZihbXSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLm1lbWJlcnMkID0gbWVyZ2UoYWN0aXZlWm9uZU1lbWJlcnMkLCB0aGlzLm1lbWJlcnNJbnB1dCQpO1xyXG5cclxuICAgICAgICB0aGlzLm1lbWJlcnMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG1lbWJlcnMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXIuc2V0Q3VycmVudEl0ZW1zKFxyXG4gICAgICAgICAgICAgICAgbWVtYmVycz8uZmlsdGVyKG0gPT4gdGhpcy5zZWxlY3RlZE1lbWJlcklkcy5pbmNsdWRlcyhtLmlkKSkgPz8gW10sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdGlvbkNoYW5nZXMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoc2VsZWN0aW9uID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChzZWxlY3Rpb24ubWFwKHMgPT4gcy5pZCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRNZW1iZXJzJCA9IGNvbWJpbmVMYXRlc3QoXHJcbiAgICAgICAgICAgIHRoaXMubWVtYmVycyQsXHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVGVybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSksXHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFttZW1iZXJzLCBmaWx0ZXJUZXJtXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlclRlcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXJtID0gZmlsdGVyVGVybT8udG9Mb2NhbGVMb3dlckNhc2UoKSA/PyAnJztcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVtYmVycy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG0gPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVtYmVycztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkID0gdGhpcy5maWx0ZXJlZE1lbWJlcnMkLnBpcGUobWFwKG1lbWJlcnMgPT4gbWVtYmVycy5sZW5ndGgpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKCdtZW1iZXJzJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVtYmVyc0lucHV0JC5uZXh0KHRoaXMubWVtYmVycyA/PyBbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgnYWN0aXZlWm9uZScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVpvbmVJbnB1dCQubmV4dCh0aGlzLmFjdGl2ZVpvbmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaCgpIHtcclxuICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWRhdGEtdGFibGUtMlxyXG4gICAgW2lkXT1cImxvY2F0aW9uSWRcIlxyXG4gICAgW2l0ZW1zXT1cImZpbHRlcmVkTWVtYmVycyQgfCBhc3luY1wiXHJcbiAgICBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zJCB8IGFzeW5jXCJcclxuICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCJcclxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cIml0ZW1zUGVyUGFnZSA9ICRldmVudFwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSA9ICRldmVudFwiXHJcbj5cclxuICAgIDx2ZHItYnVsay1hY3Rpb24tbWVudVxyXG4gICAgICAgIFtsb2NhdGlvbklkXT1cImxvY2F0aW9uSWRcIlxyXG4gICAgICAgIFtob3N0Q29tcG9uZW50XT1cInRoaXNcIlxyXG4gICAgICAgIFtzZWxlY3Rpb25NYW5hZ2VyXT1cInNlbGVjdGlvbk1hbmFnZXJcIlxyXG4gICAgPjwvdmRyLWJ1bGstYWN0aW9uLW1lbnU+XHJcbiAgICA8dmRyLWR0Mi1zZWFyY2hcclxuICAgICAgICBbc2VhcmNoVGVybUNvbnRyb2xdPVwiZmlsdGVyVGVybUNvbnRyb2xcIlxyXG4gICAgICAgIFtzZWFyY2hUZXJtUGxhY2Vob2xkZXJdPVwiJ2NvbW1vbi5zZWFyY2gtYnktbmFtZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgPjwvdmRyLWR0Mi1zZWFyY2g+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBpZD1cImlkXCIgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIHt7IG1lbWJlci5pZCB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIiBpZD1cImNyZWF0ZWQtYXRcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAge3sgbWVtYmVyLmNyZWF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi51cGRhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiIGlkPVwidXBkYXRlZC1hdFwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlXCIgaWQ9XCJuYW1lXCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnV0dG9uLWdob3N0XCIgW3JvdXRlckxpbmtdPVwiWycvc2V0dGluZ3MvY291bnRyaWVzJywgbWVtYmVyLmlkXVwiXHJcbiAgICAgICAgICAgICAgICA+PHNwYW4+IHt7IG1lbWJlci5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiYXJyb3cgcmlnaHRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5jb2RlJyB8IHRyYW5zbGF0ZVwiIGlkPVwiY29kZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuY29kZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uZW5hYmxlZCcgfCB0cmFuc2xhdGVcIiBpZD1cImVuYWJsZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPHZkci1jaGlwICAqbmdJZj1cIm1lbWJlci5lbmFibGVkXCIgY29sb3JUeXBlPVwic3VjY2Vzc1wiPnt7ICdjb21tb24uZW5hYmxlZCcgfCB0cmFuc2xhdGUgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgICpuZ0lmPVwiIW1lbWJlci5lbmFibGVkXCIgY29sb3JUeXBlPVwid2FybmluZ1wiPnt7ICdjb21tb24uZGlzYWJsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuPC92ZHItZGF0YS10YWJsZS0yPlxyXG4iXX0=
@@ -18,13 +18,13 @@ export class ProfileResolver extends BaseEntityResolver {
18
18
  .getActiveAdministrator()
19
19
  .mapStream(data => data.activeAdministrator));
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProfileResolver, deps: [{ token: i1.Router }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProfileResolver, providedIn: 'root' }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProfileResolver, deps: [{ token: i1.Router }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProfileResolver, providedIn: 'root' }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ProfileResolver, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProfileResolver, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root',
28
28
  }]
29
29
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.DataService }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2V0dGluZ3Mvc3JjL3Byb3ZpZGVycy9yb3V0aW5nL3Byb2ZpbGUtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQXlCLGtCQUFrQixFQUFlLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLaEcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQXlDO0lBQzFFLFlBQVksTUFBYyxFQUFFLFdBQXdCO1FBQ2hELEtBQUssQ0FDRCxNQUFNLEVBQ047WUFDSSxVQUFVLEVBQUUsZUFBd0I7WUFDcEMsRUFBRSxFQUFFLEVBQUU7WUFDTixTQUFTLEVBQUUsRUFBRTtZQUNiLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQVM7U0FDN0IsRUFDRCxFQUFFLENBQUMsRUFBRSxDQUNELFdBQVcsQ0FBQyxhQUFhO2FBQ3BCLHNCQUFzQixFQUFFO2FBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUN2RCxDQUFDO0lBQ04sQ0FBQzs4R0FuQlEsZUFBZTtrSEFBZixlQUFlLGNBRlosTUFBTTs7MkZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0b3JGcmFnbWVudCwgQmFzZUVudGl0eVJlc29sdmVyLCBEYXRhU2VydmljZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVJlc29sdmVyIGV4dGVuZHMgQmFzZUVudGl0eVJlc29sdmVyPEFkbWluaXN0cmF0b3JGcmFnbWVudD4ge1xyXG4gICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIsIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKFxyXG4gICAgICAgICAgICByb3V0ZXIsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6ICdBZG1pbmlzdHJhdG9yJyBhcyBjb25zdCxcclxuICAgICAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogJycsXHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgZW1haWxBZGRyZXNzOiAnJyxcclxuICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBsYXN0TmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICB1c2VyOiB7IHJvbGVzOiBbXSB9IGFzIGFueSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaWQgPT5cclxuICAgICAgICAgICAgICAgIGRhdGFTZXJ2aWNlLmFkbWluaXN0cmF0b3JcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0QWN0aXZlQWRtaW5pc3RyYXRvcigpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQWRtaW5pc3RyYXRvciksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2V0dGluZ3Mvc3JjL3Byb3ZpZGVycy9yb3V0aW5nL3Byb2ZpbGUtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQXlCLGtCQUFrQixFQUFlLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLaEcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQXlDO0lBQzFFLFlBQVksTUFBYyxFQUFFLFdBQXdCO1FBQ2hELEtBQUssQ0FDRCxNQUFNLEVBQ047WUFDSSxVQUFVLEVBQUUsZUFBd0I7WUFDcEMsRUFBRSxFQUFFLEVBQUU7WUFDTixTQUFTLEVBQUUsRUFBRTtZQUNiLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQVM7U0FDN0IsRUFDRCxFQUFFLENBQUMsRUFBRSxDQUNELFdBQVcsQ0FBQyxhQUFhO2FBQ3BCLHNCQUFzQixFQUFFO2FBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUN2RCxDQUFDO0lBQ04sQ0FBQzsrR0FuQlEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFkbWluaXN0cmF0b3JGcmFnbWVudCwgQmFzZUVudGl0eVJlc29sdmVyLCBEYXRhU2VydmljZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVJlc29sdmVyIGV4dGVuZHMgQmFzZUVudGl0eVJlc29sdmVyPEFkbWluaXN0cmF0b3JGcmFnbWVudD4ge1xyXG4gICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIsIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKFxyXG4gICAgICAgICAgICByb3V0ZXIsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6ICdBZG1pbmlzdHJhdG9yJyBhcyBjb25zdCxcclxuICAgICAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogJycsXHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgZW1haWxBZGRyZXNzOiAnJyxcclxuICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBsYXN0TmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICB1c2VyOiB7IHJvbGVzOiBbXSB9IGFzIGFueSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaWQgPT5cclxuICAgICAgICAgICAgICAgIGRhdGFTZXJ2aWNlLmFkbWluaXN0cmF0b3JcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0QWN0aXZlQWRtaW5pc3RyYXRvcigpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQWRtaW5pc3RyYXRvciksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -370,8 +370,8 @@ export class SettingsModule {
370
370
  });
371
371
  SettingsModule.hasRegisteredTabsAndBulkActions = true;
372
372
  }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SettingsModule, deps: [{ token: i1.BulkActionRegistryService }, { token: i1.PageService }], target: i0.ɵɵFactoryTarget.NgModule }); }
374
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SettingsModule, declarations: [TaxCategoryListComponent,
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, deps: [{ token: i1.BulkActionRegistryService }, { token: i1.PageService }], target: i0.ɵɵFactoryTarget.NgModule }); }
374
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, declarations: [TaxCategoryListComponent,
375
375
  TaxCategoryDetailComponent,
376
376
  AdministratorListComponent,
377
377
  RoleListComponent,
@@ -405,7 +405,7 @@ export class SettingsModule {
405
405
  ZoneDetailComponent,
406
406
  StockLocationListComponent,
407
407
  StockLocationDetailComponent], imports: [SharedModule, i2.RouterModule] }); }
408
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SettingsModule, providers: [
408
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, providers: [
409
409
  {
410
410
  provide: ROUTES,
411
411
  useFactory: (pageService) => createRoutes(pageService),
@@ -414,7 +414,7 @@ export class SettingsModule {
414
414
  },
415
415
  ], imports: [SharedModule, RouterModule.forChild([])] }); }
416
416
  }
417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SettingsModule, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, decorators: [{
418
418
  type: NgModule,
419
419
  args: [{
420
420
  imports: [SharedModule, RouterModule.forChild([])],
@@ -464,4 +464,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
464
464
  ],
465
465
  }]
466
466
  }], ctorParameters: () => [{ type: i1.BulkActionRegistryService }, { type: i1.PageService }] });
467
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFFSCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsWUFBWSxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDL0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENB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TyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO29CQUNELFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLCtCQUErQjt3QkFDL0IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7cUJBQy9CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyLFxyXG4gICAgR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q2hhbm5lbERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UGF5bWVudE1ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Um9sZURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U2VsbGVyRGV0YWlsRG9jdW1lbnQsXHJcbiAgICBHZXRTaGlwcGluZ01ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U3RvY2tMb2NhdGlvbkRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0VGF4Q2F0ZWdvcnlEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFpvbmVEZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NIQU5ORUxfQ09ERSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLWNvbnN0YW50cyc7XHJcblxyXG5pbXBvcnQgeyBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkbWluRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluLWRldGFpbC9hZG1pbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluaXN0cmF0b3ItbGlzdC9hZG1pbmlzdHJhdG9yLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQWRtaW5pc3RyYXRvckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRtaW5pc3RyYXRvci1saXN0L2FkbWluaXN0cmF0b3ItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFubmVsRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtZGV0YWlsL2NoYW5uZWwtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZUNoYW5uZWxzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYW5uZWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291bnRyeURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3VudHJ5LWRldGFpbC9jb3VudHJ5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdW50cnktbGlzdC9jb3VudHJ5LWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ291bnRyeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nbG9iYWwtc2V0dGluZ3MvZ2xvYmFsLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRNZXRob2REZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1tZXRob2QtZGV0YWlsL3BheW1lbnQtbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlUGF5bWVudE1ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtbWV0aG9kLWxpc3QvcGF5bWVudC1tZXRob2QtbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXltZW50LW1ldGhvZC1saXN0L3BheW1lbnQtbWV0aG9kLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVybWlzc2lvbi1ncmlkL3Blcm1pc3Npb24tZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb2xlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtZGV0YWlsL3JvbGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVJvbGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9yb2xlLWxpc3Qvcm9sZS1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFJvbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsbGVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1kZXRhaWwvc2VsbGVyLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVTZWxsZXJzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxsZXItbGlzdC9zZWxsZXItbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxsZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1saXN0L3NlbGxlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nRWxpZ2liaWxpdHlUZXN0UmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0L3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVNoaXBwaW5nTWV0aG9kc0J1bGtBY3Rpb24sXHJcbiAgICByZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1saXN0L3NoaXBwaW5nLW1ldGhvZC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGlwcGluZy1tZXRob2QtbGlzdC9zaGlwcGluZy1tZXRob2QtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFRlc3RSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hpcHBpbmctbWV0aG9kLXRlc3QtcmVzdWx0L3NoaXBwaW5nLW1ldGhvZC10ZXN0LXJlc3VsdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWRldGFpbC9zdG9jay1sb2NhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVN0b2NrTG9jYXRpb25zRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgU3RvY2tMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tbGlzdC9zdG9jay1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRheENhdGVnb3J5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RheC1jYXRlZ29yeS1kZXRhaWwvdGF4LWNhdGVnb3J5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVUYXhDYXRlZ29yaWVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtY2F0ZWdvcnktbGlzdC90YXgtY2F0ZWdvcnktbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LWNhdGVnb3J5LWxpc3QvdGF4LWNhdGVnb3J5LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGF4UmF0ZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1kZXRhaWwvdGF4LXJhdGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVRheFJhdGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1saXN0L3RheC1yYXRlLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgVGF4UmF0ZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LXJhdGUtbGlzdC90YXgtcmF0ZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlc3RBZGRyZXNzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LWFkZHJlc3MtZm9ybS90ZXN0LWFkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXN0T3JkZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlc3Qtb3JkZXItYnVpbGRlci90ZXN0LW9yZGVyLWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LXNoaXBwaW5nLW1ldGhvZHMvdGVzdC1zaGlwcGluZy1tZXRob2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1kZXRhaWwvem9uZS1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlWm9uZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgWm9uZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1jb250cm9scy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyByZW1vdmVab25lTWVtYmVyc0J1bGtBY3Rpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC1oZWFkZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcyB9IGZyb20gJy4vc2V0dGluZ3Mucm91dGVzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVTLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKSA9PiBjcmVhdGVSb3V0ZXMocGFnZVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgZGVwczogW1BhZ2VTZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRheENhdGVnb3J5TGlzdENvbXBvbmVudCxcclxuICAgICAgICBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEFkbWluRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFBlcm1pc3Npb25HcmlkQ29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ01ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RPcmRlckJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGVzdEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTZWxsZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kVGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ0VsaWdpYmlsaXR5VGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBab25lTGlzdENvbXBvbmVudCxcclxuICAgICAgICBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlLFxyXG4gICAgICAgIFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSxcclxuICAgICAgICBQcm9maWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RTaGlwcGluZ01ldGhvZHNDb21wb25lbnQsXHJcbiAgICAgICAgWm9uZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzTW9kdWxlIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGhhc1JlZ2lzdGVyZWRUYWJzQW5kQnVsa0FjdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlOiBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLCBwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpIHtcclxuICAgICAgICBpZiAoU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVNlbGxlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQ2hhbm5lbHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUm9sZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVTaGlwcGluZ01ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQYXltZW50TWV0aG9kc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlVGF4Q2F0ZWdvcmllc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVUYXhSYXRlc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlWm9uZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlWm9uZU1lbWJlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVTdG9ja0xvY2F0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2VsbGVyLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2VsbGVycycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2VsbGVyTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzZWxsZXItZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5zZWxsZXInKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTZWxsZXJEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NlbGxlcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctc2VsbGVyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdjaGFubmVsLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuY2hhbm5lbCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ2hhbm5lbERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRDaGFubmVsRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdjaGFubmVsJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbnRpdHkuY29kZSA9PT0gREVGQVVMVF9DSEFOTkVMX0NPREVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdjb21tb24uZGVmYXVsdC1jaGFubmVsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW50aXR5LmNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1jaGFubmVsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnYWRtaW5pc3RyYXRvci1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmFkbWluaXN0cmF0b3JzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdhZG1pbmlzdHJhdG9yLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuYWRtaW5pc3RyYXRvcicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQWRtaW5EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnYWRtaW5pc3RyYXRvcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7ZW50aXR5LmZpcnN0TmFtZX0gJHtlbnRpdHkubGFzdE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfKCdhZG1pbi5jcmVhdGUtbmV3LWFkbWluaXN0cmF0b3InKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdyb2xlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucm9sZXMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFJvbGVMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3JvbGUtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5yb2xlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFJvbGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3JvbGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5LmRlc2NyaXB0aW9uIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1yb2xlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2hpcHBpbmctbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2RMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnNoaXBwaW5nLW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2REZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0U2hpcHBpbmdNZXRob2REZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NoaXBwaW5nTWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1zaGlwcGluZy1tZXRob2QnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzaGlwcGluZy1tZXRob2QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGVzdC1zaGlwcGluZy1tZXRob2RzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAndGVzdCcsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwYXltZW50LW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncGF5bWVudC1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRQYXltZW50TWV0aG9kRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwYXltZW50TWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1jYXRlZ29yeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnRheC1jYXRlZ29yaWVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAndGF4LWNhdGVnb3J5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGF4LWNhdGVnb3J5JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRUYXhDYXRlZ29yeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAndGF4Q2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1jYXRlZ29yeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1yYXRlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICd0YXgtcmF0ZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnRheC1yYXRlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3RheFJhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1yYXRlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNvdW50cmllcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQ291bnRyeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLmNvdW50cnknKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnY291bnRyeScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctY291bnRyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3pvbmUtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi56b25lcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogWm9uZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnem9uZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnpvbmUnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFpvbmVEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Wm9uZURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnem9uZScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi5nbG9iYWwtc2V0dGluZ3MnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2ZpbGUnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucHJvZmlsZScpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZmlsZUNvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc3RvY2stbG9jYXRpb24tbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3N0b2NrLWxvY2F0aW9uLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3RvY2tMb2NhdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTdG9ja0xvY2F0aW9uRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdzdG9ja0xvY2F0aW9uJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LXN0b2NrLWxvY2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
467
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFFSCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsWUFBWSxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDL0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENB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TyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO29CQUNELFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLCtCQUErQjt3QkFDL0IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7cUJBQy9CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyLFxyXG4gICAgR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q2hhbm5lbERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UGF5bWVudE1ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Um9sZURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U2VsbGVyRGV0YWlsRG9jdW1lbnQsXHJcbiAgICBHZXRTaGlwcGluZ01ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U3RvY2tMb2NhdGlvbkRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0VGF4Q2F0ZWdvcnlEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFpvbmVEZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NIQU5ORUxfQ09ERSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLWNvbnN0YW50cyc7XHJcblxyXG5pbXBvcnQgeyBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkbWluRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluLWRldGFpbC9hZG1pbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluaXN0cmF0b3ItbGlzdC9hZG1pbmlzdHJhdG9yLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQWRtaW5pc3RyYXRvckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRtaW5pc3RyYXRvci1saXN0L2FkbWluaXN0cmF0b3ItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFubmVsRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtZGV0YWlsL2NoYW5uZWwtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZUNoYW5uZWxzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYW5uZWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291bnRyeURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3VudHJ5LWRldGFpbC9jb3VudHJ5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdW50cnktbGlzdC9jb3VudHJ5LWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ291bnRyeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nbG9iYWwtc2V0dGluZ3MvZ2xvYmFsLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRNZXRob2REZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1tZXRob2QtZGV0YWlsL3BheW1lbnQtbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlUGF5bWVudE1ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtbWV0aG9kLWxpc3QvcGF5bWVudC1tZXRob2QtbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXltZW50LW1ldGhvZC1saXN0L3BheW1lbnQtbWV0aG9kLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVybWlzc2lvbi1ncmlkL3Blcm1pc3Npb24tZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb2xlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtZGV0YWlsL3JvbGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVJvbGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9yb2xlLWxpc3Qvcm9sZS1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFJvbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsbGVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1kZXRhaWwvc2VsbGVyLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVTZWxsZXJzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxsZXItbGlzdC9zZWxsZXItbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxsZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1saXN0L3NlbGxlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nRWxpZ2liaWxpdHlUZXN0UmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0L3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVNoaXBwaW5nTWV0aG9kc0J1bGtBY3Rpb24sXHJcbiAgICByZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1saXN0L3NoaXBwaW5nLW1ldGhvZC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGlwcGluZy1tZXRob2QtbGlzdC9zaGlwcGluZy1tZXRob2QtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFRlc3RSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hpcHBpbmctbWV0aG9kLXRlc3QtcmVzdWx0L3NoaXBwaW5nLW1ldGhvZC10ZXN0LXJlc3VsdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWRldGFpbC9zdG9jay1sb2NhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVN0b2NrTG9jYXRpb25zRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgU3RvY2tMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tbGlzdC9zdG9jay1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRheENhdGVnb3J5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RheC1jYXRlZ29yeS1kZXRhaWwvdGF4LWNhdGVnb3J5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVUYXhDYXRlZ29yaWVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtY2F0ZWdvcnktbGlzdC90YXgtY2F0ZWdvcnktbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LWNhdGVnb3J5LWxpc3QvdGF4LWNhdGVnb3J5LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGF4UmF0ZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1kZXRhaWwvdGF4LXJhdGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVRheFJhdGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1saXN0L3RheC1yYXRlLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgVGF4UmF0ZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LXJhdGUtbGlzdC90YXgtcmF0ZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlc3RBZGRyZXNzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LWFkZHJlc3MtZm9ybS90ZXN0LWFkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXN0T3JkZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlc3Qtb3JkZXItYnVpbGRlci90ZXN0LW9yZGVyLWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LXNoaXBwaW5nLW1ldGhvZHMvdGVzdC1zaGlwcGluZy1tZXRob2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1kZXRhaWwvem9uZS1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlWm9uZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgWm9uZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1jb250cm9scy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyByZW1vdmVab25lTWVtYmVyc0J1bGtBY3Rpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC1oZWFkZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcyB9IGZyb20gJy4vc2V0dGluZ3Mucm91dGVzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVTLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKSA9PiBjcmVhdGVSb3V0ZXMocGFnZVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgZGVwczogW1BhZ2VTZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRheENhdGVnb3J5TGlzdENvbXBvbmVudCxcclxuICAgICAgICBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEFkbWluRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFBlcm1pc3Npb25HcmlkQ29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ01ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RPcmRlckJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGVzdEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTZWxsZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kVGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ0VsaWdpYmlsaXR5VGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBab25lTGlzdENvbXBvbmVudCxcclxuICAgICAgICBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlLFxyXG4gICAgICAgIFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSxcclxuICAgICAgICBQcm9maWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RTaGlwcGluZ01ldGhvZHNDb21wb25lbnQsXHJcbiAgICAgICAgWm9uZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzTW9kdWxlIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGhhc1JlZ2lzdGVyZWRUYWJzQW5kQnVsa0FjdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlOiBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLCBwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpIHtcclxuICAgICAgICBpZiAoU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVNlbGxlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQ2hhbm5lbHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUm9sZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVTaGlwcGluZ01ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQYXltZW50TWV0aG9kc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlVGF4Q2F0ZWdvcmllc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVUYXhSYXRlc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlWm9uZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlWm9uZU1lbWJlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVTdG9ja0xvY2F0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2VsbGVyLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2VsbGVycycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2VsbGVyTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzZWxsZXItZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5zZWxsZXInKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTZWxsZXJEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NlbGxlcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctc2VsbGVyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdjaGFubmVsLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuY2hhbm5lbCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ2hhbm5lbERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRDaGFubmVsRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdjaGFubmVsJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbnRpdHkuY29kZSA9PT0gREVGQVVMVF9DSEFOTkVMX0NPREVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdjb21tb24uZGVmYXVsdC1jaGFubmVsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW50aXR5LmNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1jaGFubmVsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnYWRtaW5pc3RyYXRvci1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmFkbWluaXN0cmF0b3JzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdhZG1pbmlzdHJhdG9yLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuYWRtaW5pc3RyYXRvcicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQWRtaW5EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnYWRtaW5pc3RyYXRvcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7ZW50aXR5LmZpcnN0TmFtZX0gJHtlbnRpdHkubGFzdE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfKCdhZG1pbi5jcmVhdGUtbmV3LWFkbWluaXN0cmF0b3InKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdyb2xlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucm9sZXMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFJvbGVMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3JvbGUtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5yb2xlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFJvbGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3JvbGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5LmRlc2NyaXB0aW9uIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1yb2xlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2hpcHBpbmctbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2RMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnNoaXBwaW5nLW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2REZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0U2hpcHBpbmdNZXRob2REZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NoaXBwaW5nTWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1zaGlwcGluZy1tZXRob2QnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzaGlwcGluZy1tZXRob2QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGVzdC1zaGlwcGluZy1tZXRob2RzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAndGVzdCcsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwYXltZW50LW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncGF5bWVudC1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRQYXltZW50TWV0aG9kRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwYXltZW50TWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1jYXRlZ29yeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnRheC1jYXRlZ29yaWVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAndGF4LWNhdGVnb3J5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGF4LWNhdGVnb3J5JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRUYXhDYXRlZ29yeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAndGF4Q2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1jYXRlZ29yeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1yYXRlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICd0YXgtcmF0ZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnRheC1yYXRlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3RheFJhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1yYXRlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNvdW50cmllcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQ291bnRyeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLmNvdW50cnknKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnY291bnRyeScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctY291bnRyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3pvbmUtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi56b25lcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogWm9uZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnem9uZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnpvbmUnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFpvbmVEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Wm9uZURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnem9uZScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi5nbG9iYWwtc2V0dGluZ3MnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2ZpbGUnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucHJvZmlsZScpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZmlsZUNvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc3RvY2stbG9jYXRpb24tbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3N0b2NrLWxvY2F0aW9uLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3RvY2tMb2NhdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTdG9ja0xvY2F0aW9uRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdzdG9ja0xvY2F0aW9uJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LXN0b2NrLWxvY2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -8,11 +8,11 @@ export class HealthCheckComponent {
8
8
  constructor(healthCheckService) {
9
9
  this.healthCheckService = healthCheckService;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HealthCheckComponent, deps: [{ token: i1.HealthCheckService }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: HealthCheckComponent, selector: "vdr-health-check", ngImport: i0, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\r\n <div class=\"status-icon\">\r\n <clr-icon\r\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\r\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\r\n size=\"48\"\r\n ></clr-icon>\r\n </div>\r\n <div class=\"status-detail\">\r\n <ng-container *ngIf=\"status === 'ok'; else error\">\r\n {{ 'system.health-all-systems-up' | translate }}\r\n </ng-container>\r\n <ng-template #error>\r\n {{ 'system.health-error' | translate }}\r\n </ng-template>\r\n <div class=\"last-checked\">\r\n {{ 'system.health-last-checked' | translate }}:\r\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\r\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\r\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n <vdr-page-block>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th class=\"left\">\r\n {{ 'common.name' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-status' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-message' | translate }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\r\n <td class=\"align-middle left\">{{ row.key }}</td>\r\n <td class=\"align-middle left\">\r\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\r\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\r\n <clr-icon shape=\"check-circle\"></clr-icon>\r\n {{ 'system.health-status-up' | translate }}\r\n </ng-container>\r\n <ng-template #down>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.health-status-down' | translate }}\r\n </ng-template>\r\n </vdr-chip>\r\n </td>\r\n <td class=\"align-middle left\">{{ row.result.message }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </vdr-page-block>\r\n</vdr-page-body>\r\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HealthCheckComponent, deps: [{ token: i1.HealthCheckService }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HealthCheckComponent, selector: "vdr-health-check", ngImport: i0, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\r\n <div class=\"status-icon\">\r\n <clr-icon\r\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\r\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\r\n size=\"48\"\r\n ></clr-icon>\r\n </div>\r\n <div class=\"status-detail\">\r\n <ng-container *ngIf=\"status === 'ok'; else error\">\r\n {{ 'system.health-all-systems-up' | translate }}\r\n </ng-container>\r\n <ng-template #error>\r\n {{ 'system.health-error' | translate }}\r\n </ng-template>\r\n <div class=\"last-checked\">\r\n {{ 'system.health-last-checked' | translate }}:\r\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\r\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\r\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n <vdr-page-block>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th class=\"left\">\r\n {{ 'common.name' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-status' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-message' | translate }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\r\n <td class=\"align-middle left\">{{ row.key }}</td>\r\n <td class=\"align-middle left\">\r\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\r\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\r\n <clr-icon shape=\"check-circle\"></clr-icon>\r\n {{ 'system.health-status-up' | translate }}\r\n </ng-container>\r\n <ng-template #down>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.health-status-down' | translate }}\r\n </ng-template>\r\n </vdr-chip>\r\n </td>\r\n <td class=\"align-middle left\">{{ row.result.message }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </vdr-page-block>\r\n</vdr-page-body>\r\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HealthCheckComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HealthCheckComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'vdr-health-check', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\r\n <div class=\"status-icon\">\r\n <clr-icon\r\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\r\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\r\n size=\"48\"\r\n ></clr-icon>\r\n </div>\r\n <div class=\"status-detail\">\r\n <ng-container *ngIf=\"status === 'ok'; else error\">\r\n {{ 'system.health-all-systems-up' | translate }}\r\n </ng-container>\r\n <ng-template #error>\r\n {{ 'system.health-error' | translate }}\r\n </ng-template>\r\n <div class=\"last-checked\">\r\n {{ 'system.health-last-checked' | translate }}:\r\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\r\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\r\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n <vdr-page-block>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th class=\"left\">\r\n {{ 'common.name' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-status' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-message' | translate }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\r\n <td class=\"align-middle left\">{{ row.key }}</td>\r\n <td class=\"align-middle left\">\r\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\r\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\r\n <clr-icon shape=\"check-circle\"></clr-icon>\r\n {{ 'system.health-status-up' | translate }}\r\n </ng-container>\r\n <ng-template #down>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.health-status-down' | translate }}\r\n </ng-template>\r\n </vdr-chip>\r\n </td>\r\n <td class=\"align-middle left\">{{ row.result.message }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </vdr-page-block>\r\n</vdr-page-body>\r\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"] }]
17
17
  }], ctorParameters: () => [{ type: i1.HealthCheckService }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3lzdGVtL3NyYy9jb21wb25lbnRzL2hlYWx0aC1jaGVjay9oZWFsdGgtY2hlY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvaGVhbHRoLWNoZWNrL2hlYWx0aC1jaGVjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTbkUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7OEdBRHBELG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdEQ1RqQyw4a0hBeUVBOzsyRkRoRWEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFsdGhDaGVja1NlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItaGVhbHRoLWNoZWNrJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFsdGgtY2hlY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWx0aENoZWNrQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFsdGhDaGVja1NlcnZpY2U6IEhlYWx0aENoZWNrU2VydmljZSkge31cclxufVxyXG4iLCI8dmRyLXBhZ2UtaGVhZGVyPlxyXG4gICAgPHZkci1wYWdlLXRpdGxlPjwvdmRyLXBhZ2UtdGl0bGU+XHJcbjwvdmRyLXBhZ2UtaGVhZGVyPlxyXG48dmRyLXBhZ2UtYm9keT5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICAgICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeXN0ZW0tc3RhdHVzLWhlYWRlclwiICpuZ0lmPVwiaGVhbHRoQ2hlY2tTZXJ2aWNlLnN0YXR1cyQgfCBhc3luYyBhcyBzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaGFwZV09XCJzdGF0dXMgPT09ICdvaycgPyAnY2hlY2stY2lyY2xlJyA6ICdleGNsYW1hdGlvbi1jaXJjbGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXN1Y2Nlc3MnOiBzdGF0dXMgPT09ICdvaycsICdpcy1kYW5nZXInOiBzdGF0dXMgIT09ICdvaycgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiNDhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzID09PSAnb2snOyBlbHNlIGVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1hbGwtc3lzdGVtcy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1lcnJvcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhc3QtY2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbGFzdC1jaGVja2VkJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWx0aENoZWNrU2VydmljZS5sYXN0Q2hlY2skIHwgYXN5bmMgfCBsb2NhbGVEYXRlIDogJ21lZGl1bVRpbWUnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWFjdGlvbi1iYXItaXRlbXMgbG9jYXRpb25JZD1cInN5c3RlbS1zdGF0dXNcIj48L3Zkci1hY3Rpb24tYmFyLWl0ZW1zPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImhlYWx0aENoZWNrU2VydmljZS5yZWZyZXNoKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJyZWZyZXNoXCI+PC9jbHItaWNvbj4ge3sgJ3N5c3RlbS5oZWFsdGgtcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1yaWdodD5cclxuICAgICAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbWVzc2FnZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgaGVhbHRoQ2hlY2tTZXJ2aWNlLmRldGFpbHMkIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgbGVmdFwiPnt7IHJvdy5rZXkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBbY29sb3JUeXBlXT1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnOyBlbHNlIGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjaGVjay1jaXJjbGVcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtc3RhdHVzLWRvd24nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIGxlZnRcIj57eyByb3cucmVzdWx0Lm1lc3NhZ2UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuPC92ZHItcGFnZS1ib2R5PlxyXG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3lzdGVtL3NyYy9jb21wb25lbnRzL2hlYWx0aC1jaGVjay9oZWFsdGgtY2hlY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvaGVhbHRoLWNoZWNrL2hlYWx0aC1jaGVjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTbkUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7K0dBRHBELG9CQUFvQjttR0FBcEIsb0JBQW9CLHdEQ1RqQyw4a0hBeUVBOzs0RkRoRWEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFsdGhDaGVja1NlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItaGVhbHRoLWNoZWNrJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFsdGgtY2hlY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWx0aENoZWNrQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFsdGhDaGVja1NlcnZpY2U6IEhlYWx0aENoZWNrU2VydmljZSkge31cclxufVxyXG4iLCI8dmRyLXBhZ2UtaGVhZGVyPlxyXG4gICAgPHZkci1wYWdlLXRpdGxlPjwvdmRyLXBhZ2UtdGl0bGU+XHJcbjwvdmRyLXBhZ2UtaGVhZGVyPlxyXG48dmRyLXBhZ2UtYm9keT5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICAgICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeXN0ZW0tc3RhdHVzLWhlYWRlclwiICpuZ0lmPVwiaGVhbHRoQ2hlY2tTZXJ2aWNlLnN0YXR1cyQgfCBhc3luYyBhcyBzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaGFwZV09XCJzdGF0dXMgPT09ICdvaycgPyAnY2hlY2stY2lyY2xlJyA6ICdleGNsYW1hdGlvbi1jaXJjbGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXN1Y2Nlc3MnOiBzdGF0dXMgPT09ICdvaycsICdpcy1kYW5nZXInOiBzdGF0dXMgIT09ICdvaycgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiNDhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzID09PSAnb2snOyBlbHNlIGVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1hbGwtc3lzdGVtcy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1lcnJvcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhc3QtY2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbGFzdC1jaGVja2VkJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWx0aENoZWNrU2VydmljZS5sYXN0Q2hlY2skIHwgYXN5bmMgfCBsb2NhbGVEYXRlIDogJ21lZGl1bVRpbWUnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWFjdGlvbi1iYXItaXRlbXMgbG9jYXRpb25JZD1cInN5c3RlbS1zdGF0dXNcIj48L3Zkci1hY3Rpb24tYmFyLWl0ZW1zPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImhlYWx0aENoZWNrU2VydmljZS5yZWZyZXNoKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJyZWZyZXNoXCI+PC9jbHItaWNvbj4ge3sgJ3N5c3RlbS5oZWFsdGgtcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1yaWdodD5cclxuICAgICAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbWVzc2FnZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgaGVhbHRoQ2hlY2tTZXJ2aWNlLmRldGFpbHMkIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgbGVmdFwiPnt7IHJvdy5rZXkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBbY29sb3JUeXBlXT1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnOyBlbHNlIGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjaGVjay1jaXJjbGVcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtc3RhdHVzLWRvd24nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIGxlZnRcIj57eyByb3cucmVzdWx0Lm1lc3NhZ2UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuPC92ZHItcGFnZS1ib2R5PlxyXG4iXX0=