@vendure/admin-ui 2.1.0-next.2 → 2.1.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/catalog/components/collection-detail/collection-detail.component.d.ts +3 -1
  2. package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +6 -4
  3. package/catalog/components/facet-detail/facet-detail.component.d.ts +3 -1
  4. package/catalog/components/product-detail/product-detail.component.d.ts +3 -1
  5. package/catalog/components/product-list/product-list.component.d.ts +1 -1
  6. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
  7. package/catalog/components/stock-location-detail/stock-location-detail.component.d.ts +3 -1
  8. package/catalog/components/stock-location-list/stock-location-list.component.d.ts +1 -1
  9. package/catalog/providers/product-detail/product-detail.service.d.ts +1 -1
  10. package/core/common/base-detail.component.d.ts +11 -1
  11. package/core/common/component-registry-types.d.ts +2 -1
  12. package/core/common/utilities/custom-field-default-value.d.ts +6 -0
  13. package/core/common/version.d.ts +1 -1
  14. package/core/components/app-shell/app-shell.component.d.ts +2 -0
  15. package/core/extension/add-action-bar-item.d.ts +28 -0
  16. package/core/extension/add-nav-menu-item.d.ts +60 -0
  17. package/core/extension/components/angular-route.component.d.ts +6 -0
  18. package/core/extension/components/route.component.d.ts +13 -0
  19. package/core/extension/providers/page-metadata.service.d.ts +9 -0
  20. package/core/{providers/bulk-action-registry → extension}/register-bulk-action.d.ts +1 -1
  21. package/core/extension/register-custom-detail-component.d.ts +10 -0
  22. package/core/{providers/dashboard-widget → extension}/register-dashboard-widget.d.ts +5 -1
  23. package/core/extension/register-data-table-component.d.ts +44 -0
  24. package/core/extension/register-form-input-component.d.ts +50 -0
  25. package/core/extension/register-history-entry-component.d.ts +11 -0
  26. package/core/extension/register-route-component.d.ts +59 -0
  27. package/core/extension/types.d.ts +11 -0
  28. package/core/providers/component-registry/component-registry.service.d.ts +6 -3
  29. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +2 -1
  30. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -9
  31. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +1 -10
  32. package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +17 -1
  33. package/core/providers/modal/modal.service.d.ts +1 -3
  34. package/core/providers/nav-builder/nav-builder.service.d.ts +0 -85
  35. package/core/public_api.d.ts +16 -3
  36. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -3
  37. package/core/shared/components/data-table-2/data-table-column.component.d.ts +2 -2
  38. package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
  39. package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +0 -1
  40. package/core/shared/components/data-table-2/data-table2.component.d.ts +9 -2
  41. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +2 -3
  42. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  43. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +13 -4
  44. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +15 -0
  45. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -3
  46. package/core/shared/shared.module.d.ts +25 -25
  47. package/customer/components/customer-detail/customer-detail.component.d.ts +3 -1
  48. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +3 -1
  49. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +2 -3
  50. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  51. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +1 -3
  52. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
  53. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +3 -3
  54. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +3 -3
  55. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
  56. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +3 -3
  57. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +8 -5
  58. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  59. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +3 -3
  60. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +3 -3
  61. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
  62. package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
  63. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +3 -3
  64. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +3 -3
  65. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +3 -3
  66. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +3 -3
  67. package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +3 -3
  68. package/esm2022/catalog/components/stock-location-list/stock-location-list.component.mjs +3 -3
  69. package/esm2022/core/common/base-detail.component.mjs +9 -7
  70. package/esm2022/core/common/component-registry-types.mjs +1 -1
  71. package/esm2022/core/common/generated-types.mjs +1 -1
  72. package/esm2022/core/common/utilities/create-updated-translatable.mjs +5 -23
  73. package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
  74. package/esm2022/core/common/version.mjs +2 -2
  75. package/esm2022/core/components/app-shell/app-shell.component.mjs +16 -10
  76. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
  77. package/esm2022/core/components/main-nav/main-nav.component.mjs +3 -3
  78. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +1 -1
  79. package/esm2022/core/core.module.mjs +2 -2
  80. package/esm2022/core/extension/add-action-bar-item.mjs +38 -0
  81. package/esm2022/core/extension/add-nav-menu-item.mjs +79 -0
  82. package/esm2022/core/extension/components/angular-route.component.mjs +22 -0
  83. package/esm2022/core/extension/components/route.component.mjs +59 -0
  84. package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
  85. package/esm2022/core/extension/register-bulk-action.mjs +63 -0
  86. package/esm2022/core/extension/register-custom-detail-component.mjs +20 -0
  87. package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
  88. package/esm2022/core/extension/register-data-table-component.mjs +50 -0
  89. package/esm2022/core/extension/register-form-input-component.mjs +60 -0
  90. package/esm2022/core/extension/register-history-entry-component.mjs +21 -0
  91. package/esm2022/core/extension/register-route-component.mjs +44 -0
  92. package/esm2022/core/extension/types.mjs +2 -0
  93. package/esm2022/core/providers/component-registry/component-registry.service.mjs +3 -3
  94. package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +1 -1
  95. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +2 -19
  96. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +2 -20
  97. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +1 -1
  98. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +1 -8
  99. package/esm2022/core/providers/data-table/data-table-filter.mjs +1 -1
  100. package/esm2022/core/providers/modal/modal.service.mjs +5 -7
  101. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +2 -113
  102. package/esm2022/core/public_api.mjs +17 -4
  103. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +3 -3
  104. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
  105. package/esm2022/core/shared/components/card/card.component.mjs +3 -3
  106. package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
  107. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +13 -9
  108. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +5 -6
  109. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
  110. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +2 -4
  111. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +23 -10
  112. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +3 -3
  113. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +2 -2
  114. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +3 -3
  115. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
  116. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +3 -3
  117. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +6 -4
  118. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +2 -2
  119. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +6 -8
  120. package/esm2022/core/shared/components/page-title/page-title.component.mjs +3 -3
  121. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +2 -2
  122. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -2
  123. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +97 -5
  124. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
  125. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +20 -16
  126. package/esm2022/core/shared/shared.module.mjs +14 -13
  127. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +5 -5
  128. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +3 -3
  129. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -2
  130. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +3 -3
  131. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  132. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +5 -7
  133. package/esm2022/customer/components/customer-list/customer-list.component.mjs +10 -7
  134. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -7
  135. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +3 -3
  136. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  137. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +3 -3
  138. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +2 -2
  139. package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
  140. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +7 -9
  141. package/esm2022/order/components/order-list/order-list.component.mjs +3 -3
  142. package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
  143. package/esm2022/react/components/react-custom-column.component.mjs +25 -0
  144. package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
  145. package/esm2022/react/components/react-form-input.component.mjs +24 -0
  146. package/esm2022/react/components/react-route.component.mjs +26 -0
  147. package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
  148. package/esm2022/react/public_api.mjs +19 -0
  149. package/esm2022/react/react-components/Card.mjs +28 -0
  150. package/esm2022/react/react-components/Link.mjs +30 -0
  151. package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
  152. package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
  153. package/esm2022/react/react-hooks/use-injector.mjs +33 -0
  154. package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
  155. package/esm2022/react/react-hooks/use-query.mjs +124 -0
  156. package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
  157. package/esm2022/react/register-react-data-table-component.mjs +62 -0
  158. package/esm2022/react/register-react-form-input-component.mjs +27 -0
  159. package/esm2022/react/register-react-route-component.mjs +25 -0
  160. package/esm2022/react/types.mjs +2 -0
  161. package/esm2022/react/vendure-admin-ui-react.mjs +5 -0
  162. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +3 -3
  163. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +3 -3
  164. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +10 -10
  165. package/esm2022/settings/components/channel-list/channel-list.component.mjs +3 -3
  166. package/esm2022/settings/components/country-detail/country-detail.component.mjs +3 -3
  167. package/esm2022/settings/components/country-list/country-list.component.mjs +3 -3
  168. package/esm2022/settings/components/global-settings/global-settings.component.mjs +3 -3
  169. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
  170. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +3 -3
  171. package/esm2022/settings/components/profile/profile.component.mjs +3 -3
  172. package/esm2022/settings/components/role-list/role-list.component.mjs +3 -3
  173. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +3 -3
  174. package/esm2022/settings/components/seller-list/seller-list.component.mjs +3 -3
  175. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
  176. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +3 -3
  177. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
  178. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +3 -3
  179. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
  180. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +3 -3
  181. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +3 -3
  182. package/esm2022/settings/components/zone-list/zone-list.component.mjs +3 -3
  183. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  184. package/esm2022/settings/settings.routes.mjs +1 -1
  185. package/esm2022/system/components/job-list/job-list.component.mjs +3 -3
  186. package/fesm2022/vendure-admin-ui-catalog.mjs +34 -31
  187. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  188. package/fesm2022/vendure-admin-ui-core.mjs +659 -346
  189. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  190. package/fesm2022/vendure-admin-ui-customer.mjs +19 -18
  191. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  192. package/fesm2022/vendure-admin-ui-dashboard.mjs +5 -8
  193. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  194. package/fesm2022/vendure-admin-ui-marketing.mjs +4 -4
  195. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  196. package/fesm2022/vendure-admin-ui-order.mjs +14 -16
  197. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  198. package/fesm2022/vendure-admin-ui-react.mjs +641 -0
  199. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -0
  200. package/fesm2022/vendure-admin-ui-settings.mjs +41 -41
  201. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  202. package/fesm2022/vendure-admin-ui-system.mjs +2 -2
  203. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  204. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +3 -1
  205. package/order/components/order-detail/order-detail.component.d.ts +3 -1
  206. package/order/components/order-history/order-history-entry-host.component.d.ts +2 -3
  207. package/package.json +21 -13
  208. package/react/components/react-custom-column.component.d.ts +17 -0
  209. package/react/components/react-custom-detail.component.d.ts +24 -0
  210. package/react/components/react-form-input.component.d.ts +20 -0
  211. package/react/components/react-route.component.d.ts +10 -0
  212. package/react/directives/react-component-host.directive.d.ts +23 -0
  213. package/react/index.d.ts +5 -0
  214. package/react/public_api.d.ts +17 -0
  215. package/react/react-components/Card.d.ts +24 -0
  216. package/react/react-components/Link.d.ts +22 -0
  217. package/react/react-hooks/use-detail-component-data.d.ts +32 -0
  218. package/react/react-hooks/use-form-control.d.ts +29 -0
  219. package/react/react-hooks/use-injector.d.ts +24 -0
  220. package/react/react-hooks/use-page-metadata.d.ts +30 -0
  221. package/react/react-hooks/use-query.d.ts +92 -0
  222. package/react/register-react-custom-detail-component.d.ts +38 -0
  223. package/react/register-react-data-table-component.d.ts +81 -0
  224. package/react/register-react-form-input-component.d.ts +9 -0
  225. package/react/register-react-route-component.d.ts +26 -0
  226. package/react/types.d.ts +17 -0
  227. package/settings/components/admin-detail/admin-detail.component.d.ts +3 -1
  228. package/settings/components/channel-detail/channel-detail.component.d.ts +5 -3
  229. package/settings/components/country-detail/country-detail.component.d.ts +3 -1
  230. package/settings/components/global-settings/global-settings.component.d.ts +3 -1
  231. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +3 -1
  232. package/settings/components/profile/profile.component.d.ts +3 -1
  233. package/settings/components/seller-detail/seller-detail.component.d.ts +3 -1
  234. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +3 -1
  235. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +3 -1
  236. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +3 -1
  237. package/settings/components/zone-detail/zone-detail.component.d.ts +3 -1
  238. package/static/i18n-messages/cs.json +789 -789
  239. package/static/i18n-messages/de.json +789 -789
  240. package/static/i18n-messages/en.json +789 -789
  241. package/static/i18n-messages/es.json +789 -789
  242. package/static/i18n-messages/fr.json +789 -789
  243. package/static/i18n-messages/he.json +789 -789
  244. package/static/i18n-messages/it.json +789 -789
  245. package/static/i18n-messages/pl.json +789 -789
  246. package/static/i18n-messages/pt_BR.json +789 -789
  247. package/static/i18n-messages/pt_PT.json +789 -789
  248. package/static/i18n-messages/ru.json +789 -789
  249. package/static/i18n-messages/uk.json +789 -789
  250. package/static/i18n-messages/zh_Hans.json +789 -789
  251. package/static/i18n-messages/zh_Hant.json +789 -789
  252. package/static/styles/_mixins.scss +4 -4
  253. package/static/styles/global/_forms.scss +2 -2
  254. package/static/styles/rtl.scss +1 -1
  255. package/static/styles/theme/dark.scss +1 -16
  256. package/static/styles/theme/default.scss +1 -0
  257. package/static/theme.min.css +1 -1
  258. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +0 -64
  259. package/esm2022/core/providers/bulk-action-registry/register-bulk-action.mjs +0 -63
  260. package/esm2022/core/providers/dashboard-widget/register-dashboard-widget.mjs +0 -32
  261. package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +0 -102
@@ -131,13 +131,13 @@ export class ZoneListComponent extends TypedBaseListComponent {
131
131
  this.zoneMemberList?.refresh();
132
132
  }
133
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ZoneListComponent, deps: [{ token: i1.DataService }, { token: i1.NotificationService }, { token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ZoneListComponent, selector: "vdr-zone-list", viewQueries: [{ propertyName: "zoneMemberList", first: true, predicate: ZoneMemberListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n /></vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"zone-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateZone']\"\r\n [routerLink]=\"['./', 'create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-zone' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n<vdr-split-view [rightPanelOpen]=\"activeZone$ | async\" (closeClicked)=\"closeMembers()\">\r\n <ng-template vdrSplitViewLeft>\r\n <vdr-data-table-2\r\n id=\"zone-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n [filters]=\"filters\"\r\n [activeIndex]=\"activeIndex$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-bulk-action-menu\r\n locationId=\"zone-list\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n />\r\n <vdr-dt2-search\r\n [searchTermControl]=\"searchTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n />\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.created-at' | translate\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('createdAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.updated-at' | translate\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('updatedAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.updatedAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.name' | translate\"\r\n [optional]=\"false\"\r\n [sort]=\"sorts.get('name')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['./', customerGroup.id]\"\r\n ><span>{{ customerGroup.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.view-contents' | translate\" [optional]=\"false\">\r\n <ng-template let-customerGroup=\"item\">\r\n <a\r\n class=\"button-small bg-weight-150\"\r\n [routerLink]=\"['./', { contents: customerGroup.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <span>{{ 'settings.view-zone-members' | translate }}</span>\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-custom-field-column\r\n *ngFor=\"let customField of customFields\"\r\n [customField]=\"customField\"\r\n [sort]=\"sorts\"\r\n />\r\n </vdr-data-table-2>\r\n </ng-template>\r\n <ng-template vdrSplitViewRight [splitViewTitle]=\"(activeZone$ | async)?.name\">\r\n <ng-container *ngIf=\"activeZone$ | async as activeZone\">\r\n <button class=\"button-ghost ml-4\" (click)=\"addToZone(activeZone)\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n <span>{{\r\n 'settings.add-countries-to-zone' | translate : { zoneName: activeZone.name }\r\n }}</span>\r\n </button>\r\n <vdr-zone-member-list\r\n *ngIf=\"activeZone$ | async as activeZone\"\r\n locationId=\"zone-members-list\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n [activeZone]=\"activeZone\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n />\r\n </ng-container>\r\n </ng-template>\r\n</vdr-split-view>\r\n", styles: [".zone-wrapper{display:flex;height:calc(100% - 50px)}.zone-wrapper .zone-list{flex:1;overflow:auto;margin-top:0}.zone-wrapper .zone-list tr.active{background-color:var(--color-component-bg-200)}.zone-members{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.zone-members.expanded{width:40vw;visibility:visible;opacity:1;padding-inline-start:12px}.zone-members .close-button{margin:0;background:none;border:none;cursor:pointer}.zone-members ::ng-deep table.table{margin-top:0}.zone-members ::ng-deep table.table th{top:0}.zone-members .controls{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { 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.LanguageSelectorComponent, selector: "vdr-language-selector", inputs: ["currentLanguageCode", "availableLanguageCodes", "disabled"], outputs: ["languageCodeChange"] }, { kind: "directive", type: i1.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { 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: ["expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.DataTable2SearchComponent, selector: "vdr-dt2-search", inputs: ["searchTermControl", "searchTermPlaceholder"] }, { kind: "component", type: i1.DataTableCustomFieldColumnComponent, selector: "vdr-dt2-custom-field-column", inputs: ["customField", "sorts"], exportAs: ["row"] }, { kind: "component", type: i1.SplitViewComponent, selector: "vdr-split-view", inputs: ["rightPanelOpen"], outputs: ["closeClicked"] }, { kind: "directive", type: i1.SplitViewLeftDirective, selector: "[vdrSplitViewLeft]" }, { kind: "directive", type: i1.SplitViewRightDirective, selector: "[vdrSplitViewRight]", inputs: ["splitViewTitle"] }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i5.ZoneMemberListComponent, selector: "vdr-zone-member-list", inputs: ["locationId", "members", "selectedMemberIds", "activeZone"], outputs: ["selectionChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ZoneListComponent, selector: "vdr-zone-list", viewQueries: [{ propertyName: "zoneMemberList", first: true, predicate: ZoneMemberListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n /></vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"zone-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateZone']\"\r\n [routerLink]=\"['./', 'create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-zone' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n<vdr-split-view [rightPanelOpen]=\"activeZone$ | async\" (closeClicked)=\"closeMembers()\">\r\n <ng-template vdrSplitViewLeft>\r\n <vdr-data-table-2\r\n id=\"zone-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n [filters]=\"filters\"\r\n [activeIndex]=\"activeIndex$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-bulk-action-menu\r\n locationId=\"zone-list\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n />\r\n <vdr-dt2-search\r\n [searchTermControl]=\"searchTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n />\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\">\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.created-at' | translate\" id=\"created-at\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('createdAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.updated-at' | translate\" id=\"updated-at\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('updatedAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.updatedAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.name' | translate\" id=\"name\"\r\n [optional]=\"false\"\r\n [sort]=\"sorts.get('name')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['./', customerGroup.id]\"\r\n ><span>{{ customerGroup.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.view-contents' | translate\" id=\"view-contents\" [optional]=\"false\">\r\n <ng-template let-customerGroup=\"item\">\r\n <a\r\n class=\"button-small bg-weight-150\"\r\n [routerLink]=\"['./', { contents: customerGroup.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <span>{{ 'settings.view-zone-members' | translate }}</span>\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-custom-field-column\r\n *ngFor=\"let customField of customFields\"\r\n [customField]=\"customField\"\r\n [sort]=\"sorts\"\r\n />\r\n </vdr-data-table-2>\r\n </ng-template>\r\n <ng-template vdrSplitViewRight [splitViewTitle]=\"(activeZone$ | async)?.name\">\r\n <ng-container *ngIf=\"activeZone$ | async as activeZone\">\r\n <button class=\"button-ghost ml-4\" (click)=\"addToZone(activeZone)\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n <span>{{\r\n 'settings.add-countries-to-zone' | translate : { zoneName: activeZone.name }\r\n }}</span>\r\n </button>\r\n <vdr-zone-member-list\r\n *ngIf=\"activeZone$ | async as activeZone\"\r\n locationId=\"zone-members-list\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n [activeZone]=\"activeZone\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n />\r\n </ng-container>\r\n </ng-template>\r\n</vdr-split-view>\r\n", styles: [".zone-wrapper{display:flex;height:calc(100% - 50px)}.zone-wrapper .zone-list{flex:1;overflow:auto;margin-top:0}.zone-wrapper .zone-list tr.active{background-color:var(--color-component-bg-200)}.zone-members{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.zone-members.expanded{width:40vw;visibility:visible;opacity:1;padding-inline-start:12px}.zone-members .close-button{margin:0;background:none;border:none;cursor:pointer}.zone-members ::ng-deep table.table{margin-top:0}.zone-members ::ng-deep table.table th{top:0}.zone-members .controls{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { 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.LanguageSelectorComponent, selector: "vdr-language-selector", inputs: ["currentLanguageCode", "availableLanguageCodes", "disabled"], outputs: ["languageCodeChange"] }, { kind: "directive", type: i1.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { 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: "component", type: i1.DataTableCustomFieldColumnComponent, selector: "vdr-dt2-custom-field-column", inputs: ["customField", "sorts"], exportAs: ["row"] }, { kind: "component", type: i1.SplitViewComponent, selector: "vdr-split-view", inputs: ["rightPanelOpen"], outputs: ["closeClicked"] }, { kind: "directive", type: i1.SplitViewLeftDirective, selector: "[vdrSplitViewLeft]" }, { kind: "directive", type: i1.SplitViewRightDirective, selector: "[vdrSplitViewRight]", inputs: ["splitViewTitle"] }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i5.ZoneMemberListComponent, selector: "vdr-zone-member-list", inputs: ["locationId", "members", "selectedMemberIds", "activeZone"], outputs: ["selectionChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ZoneListComponent, decorators: [{
137
137
  type: Component,
138
- args: [{ selector: 'vdr-zone-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n /></vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"zone-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateZone']\"\r\n [routerLink]=\"['./', 'create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-zone' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n<vdr-split-view [rightPanelOpen]=\"activeZone$ | async\" (closeClicked)=\"closeMembers()\">\r\n <ng-template vdrSplitViewLeft>\r\n <vdr-data-table-2\r\n id=\"zone-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n [filters]=\"filters\"\r\n [activeIndex]=\"activeIndex$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-bulk-action-menu\r\n locationId=\"zone-list\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n />\r\n <vdr-dt2-search\r\n [searchTermControl]=\"searchTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n />\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.created-at' | translate\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('createdAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.updated-at' | translate\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('updatedAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.updatedAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.name' | translate\"\r\n [optional]=\"false\"\r\n [sort]=\"sorts.get('name')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['./', customerGroup.id]\"\r\n ><span>{{ customerGroup.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.view-contents' | translate\" [optional]=\"false\">\r\n <ng-template let-customerGroup=\"item\">\r\n <a\r\n class=\"button-small bg-weight-150\"\r\n [routerLink]=\"['./', { contents: customerGroup.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <span>{{ 'settings.view-zone-members' | translate }}</span>\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-custom-field-column\r\n *ngFor=\"let customField of customFields\"\r\n [customField]=\"customField\"\r\n [sort]=\"sorts\"\r\n />\r\n </vdr-data-table-2>\r\n </ng-template>\r\n <ng-template vdrSplitViewRight [splitViewTitle]=\"(activeZone$ | async)?.name\">\r\n <ng-container *ngIf=\"activeZone$ | async as activeZone\">\r\n <button class=\"button-ghost ml-4\" (click)=\"addToZone(activeZone)\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n <span>{{\r\n 'settings.add-countries-to-zone' | translate : { zoneName: activeZone.name }\r\n }}</span>\r\n </button>\r\n <vdr-zone-member-list\r\n *ngIf=\"activeZone$ | async as activeZone\"\r\n locationId=\"zone-members-list\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n [activeZone]=\"activeZone\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n />\r\n </ng-container>\r\n </ng-template>\r\n</vdr-split-view>\r\n", styles: [".zone-wrapper{display:flex;height:calc(100% - 50px)}.zone-wrapper .zone-list{flex:1;overflow:auto;margin-top:0}.zone-wrapper .zone-list tr.active{background-color:var(--color-component-bg-200)}.zone-members{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.zone-members.expanded{width:40vw;visibility:visible;opacity:1;padding-inline-start:12px}.zone-members .close-button{margin:0;background:none;border:none;cursor:pointer}.zone-members ::ng-deep table.table{margin-top:0}.zone-members ::ng-deep table.table th{top:0}.zone-members .controls{display:flex;justify-content:space-between}\n"] }]
138
+ args: [{ selector: 'vdr-zone-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n /></vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"zone-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateZone']\"\r\n [routerLink]=\"['./', 'create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-zone' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n<vdr-split-view [rightPanelOpen]=\"activeZone$ | async\" (closeClicked)=\"closeMembers()\">\r\n <ng-template vdrSplitViewLeft>\r\n <vdr-data-table-2\r\n id=\"zone-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n [filters]=\"filters\"\r\n [activeIndex]=\"activeIndex$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-bulk-action-menu\r\n locationId=\"zone-list\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n />\r\n <vdr-dt2-search\r\n [searchTermControl]=\"searchTermControl\"\r\n [searchTermPlaceholder]=\"'common.search-by-name' | translate\"\r\n />\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\">\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.created-at' | translate\" id=\"created-at\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('createdAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.createdAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.updated-at' | translate\" id=\"updated-at\"\r\n [hiddenByDefault]=\"true\"\r\n [sort]=\"sorts.get('updatedAt')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n {{ customerGroup.updatedAt | localeDate : 'short' }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column\r\n [heading]=\"'common.name' | translate\" id=\"name\"\r\n [optional]=\"false\"\r\n [sort]=\"sorts.get('name')\"\r\n >\r\n <ng-template let-customerGroup=\"item\">\r\n <a class=\"button-ghost\" [routerLink]=\"['./', customerGroup.id]\"\r\n ><span>{{ customerGroup.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.view-contents' | translate\" id=\"view-contents\" [optional]=\"false\">\r\n <ng-template let-customerGroup=\"item\">\r\n <a\r\n class=\"button-small bg-weight-150\"\r\n [routerLink]=\"['./', { contents: customerGroup.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <span>{{ 'settings.view-zone-members' | translate }}</span>\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n </a>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-custom-field-column\r\n *ngFor=\"let customField of customFields\"\r\n [customField]=\"customField\"\r\n [sort]=\"sorts\"\r\n />\r\n </vdr-data-table-2>\r\n </ng-template>\r\n <ng-template vdrSplitViewRight [splitViewTitle]=\"(activeZone$ | async)?.name\">\r\n <ng-container *ngIf=\"activeZone$ | async as activeZone\">\r\n <button class=\"button-ghost ml-4\" (click)=\"addToZone(activeZone)\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n <span>{{\r\n 'settings.add-countries-to-zone' | translate : { zoneName: activeZone.name }\r\n }}</span>\r\n </button>\r\n <vdr-zone-member-list\r\n *ngIf=\"activeZone$ | async as activeZone\"\r\n locationId=\"zone-members-list\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n [activeZone]=\"activeZone\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n />\r\n </ng-container>\r\n </ng-template>\r\n</vdr-split-view>\r\n", styles: [".zone-wrapper{display:flex;height:calc(100% - 50px)}.zone-wrapper .zone-list{flex:1;overflow:auto;margin-top:0}.zone-wrapper .zone-list tr.active{background-color:var(--color-component-bg-200)}.zone-members{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.zone-members.expanded{width:40vw;visibility:visible;opacity:1;padding-inline-start:12px}.zone-members .close-button{margin:0;background:none;border:none;cursor:pointer}.zone-members ::ng-deep table.table{margin-top:0}.zone-members ::ng-deep table.table th{top:0}.zone-members .controls{display:flex;justify-content:space-between}\n"] }]
139
139
  }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i1.NotificationService }, { type: i1.ModalService }]; }, propDecorators: { zoneMemberList: [{
140
140
  type: ViewChild,
141
141
  args: [ZoneMemberListComponent]
142
142
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2V0dGluZ3Mvc3JjL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBRUgsbUJBQW1CLEVBSW5CLGVBQWUsRUFHZixzQkFBc0IsR0FDekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7OztBQUV6RixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlL0IsQ0FBQztBQVFGLE1BQU0sT0FBTyxpQkFDVCxTQUFRLHNCQUEyRDtJQTRCbkUsWUFDYyxXQUF3QixFQUMxQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFFbEMsS0FBSyxFQUFFLENBQUM7UUFKRSxnQkFBVyxHQUFY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ZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldFpvbmVMaXN0RG9jdW1lbnQsXHJcbiAgICBHZXRab25lTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTGFuZ3VhZ2VDb2RlLFxyXG4gICAgTG9naWNhbE9wZXJhdG9yLFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFR5cGVkQmFzZUxpc3RDb21wb25lbnQsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQWRkQ291bnRyeVRvWm9uZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1pPTkVfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFpvbmVMaXN0KCRvcHRpb25zOiBab25lTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICB6b25lcyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAuLi5ab25lTGlzdEl0ZW1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnJhZ21lbnQgWm9uZUxpc3RJdGVtIG9uIFpvbmUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgbmFtZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci16b25lLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3pvbmUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi96b25lLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZUxpc3RDb21wb25lbnRcclxuICAgIGV4dGVuZHMgVHlwZWRCYXNlTGlzdENvbXBvbmVudDx0eXBlb2YgR2V0Wm9uZUxpc3REb2N1bWVudCwgJ3pvbmVzJz5cclxuICAgIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICAgIGFjdGl2ZVpvbmUkOiBPYnNlcnZhYmxlPEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPiB8IHVuZGVmaW5lZD47XHJcbiAgICBhY3RpdmVJbmRleCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIHNlbGVjdGVkTWVtYmVySWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQFZpZXdDaGlsZChab25lTWVtYmVyTGlzdENvbXBvbmVudCkgem9uZU1lbWJlckxpc3Q6IFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50O1xyXG4gICAgcmVhZG9ubHkgY3VzdG9tRmllbGRzID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcignWm9uZScpO1xyXG4gICAgcmVhZG9ubHkgZmlsdGVycyA9IHRoaXMuY3JlYXRlRmlsdGVyQ29sbGVjdGlvbigpXHJcbiAgICAgICAgLmFkZElkRmlsdGVyKClcclxuICAgICAgICAuYWRkRGF0ZUZpbHRlcnMoKVxyXG4gICAgICAgIC5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAnbmFtZScsXHJcbiAgICAgICAgICAgIHR5cGU6IHsga2luZDogJ3RleHQnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24ubmFtZScpLFxyXG4gICAgICAgICAgICBmaWx0ZXJGaWVsZDogJ25hbWUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmFkZEN1c3RvbUZpZWxkRmlsdGVycyh0aGlzLmN1c3RvbUZpZWxkcylcclxuICAgICAgICAuY29ubmVjdFRvUm91dGUodGhpcy5yb3V0ZSk7XHJcblxyXG4gICAgcmVhZG9ubHkgc29ydHMgPSB0aGlzLmNyZWF0ZVNvcnRDb2xsZWN0aW9uKClcclxuICAgICAgICAuZGVmYXVsdFNvcnQoJ2NyZWF0ZWRBdCcsICdERVNDJylcclxuICAgICAgICAuYWRkU29ydCh7IG5hbWU6ICdjcmVhdGVkQXQnIH0pXHJcbiAgICAgICAgLmFkZFNvcnQoeyBuYW1lOiAndXBkYXRlZEF0JyB9KVxyXG4gICAgICAgIC5hZGRTb3J0KHsgbmFtZTogJ25hbWUnIH0pXHJcbiAgICAgICAgLmFkZEN1c3RvbUZpZWxkU29ydHModGhpcy5jdXN0b21GaWVsZHMpXHJcbiAgICAgICAgLmNvbm5lY3RUb1JvdXRlKHRoaXMucm91dGUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHN1cGVyLmNvbmZpZ3VyZSh7XHJcbiAgICAgICAgICAgIGRvY3VtZW50OiBHZXRab25lTGlzdERvY3VtZW50LFxyXG4gICAgICAgICAgICBnZXRJdGVtczogZGF0YSA9PiBkYXRhLnpvbmVzLFxyXG4gICAgICAgICAgICBzZXRWYXJpYWJsZXM6IChza2lwLCB0YWtlKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IHRoaXMuc2VhcmNoVGVybUNvbnRyb2wudmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVycy5jcmVhdGVGaWx0ZXJJbnB1dCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyT3BlcmF0b3I6IHRoaXMuc2VhcmNoVGVybUNvbnRyb2wudmFsdWUgPyBMb2dpY2FsT3BlcmF0b3IuT1IgOiBMb2dpY2FsT3BlcmF0b3IuQU5ELFxyXG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHRoaXMuc29ydHMuY3JlYXRlU29ydElucHV0KCksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM6IFt0aGlzLmZpbHRlcnMudmFsdWVDaGFuZ2VzLCB0aGlzLnNvcnRzLnZhbHVlQ2hhbmdlc10sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBhY3RpdmVab25lSWQkID0gdGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKFxyXG4gICAgICAgICAgICBtYXAocG0gPT4gcG0uZ2V0KCdjb250ZW50cycpKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLnNlbGVjdGVkTWVtYmVySWRzID0gW10pKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlWm9uZSQgPSBjb21iaW5lTGF0ZXN0KHRoaXMuaXRlbXMkLCBhY3RpdmVab25lSWQkKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFt6b25lcywgYWN0aXZlWm9uZUlkXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVpvbmVJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB6b25lcy5maW5kKHogPT4gei5pZCA9PT0gYWN0aXZlWm9uZUlkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4JCA9IGNvbWJpbmVMYXRlc3QodGhpcy5pdGVtcyQsIGFjdGl2ZVpvbmVJZCQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3pvbmVzLCBhY3RpdmVab25lSWRdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlWm9uZUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHpvbmVzLmZpbmRJbmRleChnID0+IGcuaWQgPT09IGFjdGl2ZVpvbmVJZCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShjb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2VNZW1iZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4udGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMgfTtcclxuICAgICAgICBkZWxldGUgcGFyYW1zLmNvbnRlbnRzO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nLCBwYXJhbXNdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdwcmVzZXJ2ZScgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkVG9ab25lKHpvbmU6IEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPikge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KEFkZENvdW50cnlUb1pvbmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHpvbmVOYW1lOiB6b25lLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgem9uZUlkOiB6b25lLmlkLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHNpemU6ICdtZCcsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG1lbWJlcklkcyA9PlxyXG4gICAgICAgICAgICAgICAgICAgIG1lbWJlcklkc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZE1lbWJlcnNUb1pvbmUoem9uZS5pZCwgbWVtYmVySWRzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXBUbyhtZW1iZXJJZHMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEVNUFRZLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXyhgc2V0dGluZ3MuYWRkLWNvdW50cmllcy10by16b25lLXN1Y2Nlc3NgKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5Q291bnQ6IHJlc3VsdC5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHpvbmVOYW1lOiB6b25lLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTWVtYmVyTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaE1lbWJlckxpc3QoKSB7XHJcbiAgICAgICAgdGhpcy56b25lTWVtYmVyTGlzdD8ucmVmcmVzaCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItYWN0aW9uLWJhcj5cclxuICAgICAgICA8dmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgICAgIDx2ZHItbGFuZ3VhZ2Utc2VsZWN0b3JcclxuICAgICAgICAgICAgICAgIFthdmFpbGFibGVMYW5ndWFnZUNvZGVzXT1cImF2YWlsYWJsZUxhbmd1YWdlcyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICBbY3VycmVudExhbmd1YWdlQ29kZV09XCJjb250ZW50TGFuZ3VhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgKGxhbmd1YWdlQ29kZUNoYW5nZSk9XCJzZXRMYW5ndWFnZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgLz48L3Zkci1hYi1sZWZ0PlxyXG4gICAgICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgICAgIDx2ZHItYWN0aW9uLWJhci1pdGVtcyBsb2NhdGlvbklkPVwiem9uZS1saXN0XCI+PC92ZHItYWN0aW9uLWJhci1pdGVtcz5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICp2ZHJJZlBlcm1pc3Npb25zPVwiWydDcmVhdGVTZXR0aW5ncycsICdDcmVhdGVab25lJ11cIlxyXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuLycsICdjcmVhdGUnXVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAge3sgJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvdmRyLWFiLXJpZ2h0PlxyXG4gICAgPC92ZHItYWN0aW9uLWJhcj5cclxuPC92ZHItcGFnZS1ibG9jaz5cclxuPHZkci1zcGxpdC12aWV3IFtyaWdodFBhbmVsT3Blbl09XCJhY3RpdmVab25lJCB8IGFzeW5jXCIgKGNsb3NlQ2xpY2tlZCk9XCJjbG9zZU1lbWJlcnMoKVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclNwbGl0Vmlld0xlZnQ+XHJcbiAgICAgICAgPHZkci1kYXRhLXRhYmxlLTJcclxuICAgICAgICAgICAgaWQ9XCJ6b25lLWxpc3RcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4JCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJzZXRJdGVtc1BlclBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8dmRyLWJ1bGstYWN0aW9uLW1lbnVcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uSWQ9XCJ6b25lLWxpc3RcIlxyXG4gICAgICAgICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0aW9uTWFuYWdlcl09XCJzZWxlY3Rpb25NYW5hZ2VyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHZkci1kdDItc2VhcmNoXHJcbiAgICAgICAgICAgICAgICBbc2VhcmNoVGVybUNvbnRyb2xdPVwic2VhcmNoVGVybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW3NlYXJjaFRlcm1QbGFjZWhvbGRlcl09XCInY29tbW9uLnNlYXJjaC1ieS1uYW1lJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmlkJyB8IHRyYW5zbGF0ZVwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jdXN0b21lckdyb3VwPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGN1c3RvbWVyR3JvdXAuaWQgfX1cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgICAgIDx2ZHItZHQyLWNvbHVtblxyXG4gICAgICAgICAgICAgICAgW2hlYWRpbmddPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3NvcnRdPVwic29ydHMuZ2V0KCdjcmVhdGVkQXQnKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY3VzdG9tZXJHcm91cD1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjdXN0b21lckdyb3VwLmNyZWF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgICAgICA8dmRyLWR0Mi1jb2x1bW5cclxuICAgICAgICAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24udXBkYXRlZC1hdCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzb3J0XT1cInNvcnRzLmdldCgndXBkYXRlZEF0JylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWN1c3RvbWVyR3JvdXA9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgY3VzdG9tZXJHcm91cC51cGRhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICAgICAgPHZkci1kdDItY29sdW1uXHJcbiAgICAgICAgICAgICAgICBbaGVhZGluZ109XCInY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtvcHRpb25hbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbc29ydF09XCJzb3J0cy5nZXQoJ25hbWUnKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY3VzdG9tZXJHcm91cD1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ1dHRvbi1naG9zdFwiIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBjdXN0b21lckdyb3VwLmlkXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj57eyBjdXN0b21lckdyb3VwLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImFycm93IHJpZ2h0XCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi52aWV3LWNvbnRlbnRzJyB8IHRyYW5zbGF0ZVwiIFtvcHRpb25hbF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jdXN0b21lckdyb3VwPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXNtYWxsIGJnLXdlaWdodC0xNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy4vJywgeyBjb250ZW50czogY3VzdG9tZXJHcm91cC5pZCB9XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc9XCJwcmVzZXJ2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnc2V0dGluZ3Mudmlldy16b25lLW1lbWJlcnMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJmaWxlLWdyb3VwXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgICAgICA8dmRyLWR0Mi1jdXN0b20tZmllbGQtY29sdW1uXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY3VzdG9tRmllbGQgb2YgY3VzdG9tRmllbGRzXCJcclxuICAgICAgICAgICAgICAgIFtjdXN0b21GaWVsZF09XCJjdXN0b21GaWVsZFwiXHJcbiAgICAgICAgICAgICAgICBbc29ydF09XCJzb3J0c1wiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC92ZHItZGF0YS10YWJsZS0yPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSB2ZHJTcGxpdFZpZXdSaWdodCBbc3BsaXRWaWV3VGl0bGVdPVwiKGFjdGl2ZVpvbmUkIHwgYXN5bmMpPy5uYW1lXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVpvbmUkIHwgYXN5bmMgYXMgYWN0aXZlWm9uZVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLWdob3N0IG1sLTRcIiAoY2xpY2spPVwiYWRkVG9ab25lKGFjdGl2ZVpvbmUpXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJwbHVzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3NldHRpbmdzLmFkZC1jb3VudHJpZXMtdG8tem9uZScgfCB0cmFuc2xhdGUgOiB7IHpvbmVOYW1lOiBhY3RpdmVab25lLm5hbWUgfVxyXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8dmRyLXpvbmUtbWVtYmVyLWxpc3RcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlWm9uZSQgfCBhc3luYyBhcyBhY3RpdmVab25lXCJcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uSWQ9XCJ6b25lLW1lbWJlcnMtbGlzdFwiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRNZW1iZXJJZHNdPVwic2VsZWN0ZWRNZW1iZXJJZHNcIlxyXG4gICAgICAgICAgICAgICAgW2FjdGl2ZVpvbmVdPVwiYWN0aXZlWm9uZVwiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGVkTWVtYmVySWRzID0gJGV2ZW50XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvdmRyLXNwbGl0LXZpZXc+XHJcbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2V0dGluZ3Mvc3JjL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBRUgsbUJBQW1CLEVBSW5CLGVBQWUsRUFHZixzQkFBc0IsR0FDekIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7OztBQUV6RixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlL0IsQ0FBQztBQVFGLE1BQU0sT0FBTyxpQkFDVCxTQUFRLHNCQUEyRDtJQTRCbkUsWUFDYyxXQUF3QixFQUMxQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFFbEMsS0FBSyxFQUFFLENBQUM7UUFKRSxnQkFBVyxHQUFY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ZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldFpvbmVMaXN0RG9jdW1lbnQsXHJcbiAgICBHZXRab25lTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTGFuZ3VhZ2VDb2RlLFxyXG4gICAgTG9naWNhbE9wZXJhdG9yLFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFR5cGVkQmFzZUxpc3RDb21wb25lbnQsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQWRkQ291bnRyeVRvWm9uZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1pPTkVfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFpvbmVMaXN0KCRvcHRpb25zOiBab25lTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICB6b25lcyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAuLi5ab25lTGlzdEl0ZW1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZnJhZ21lbnQgWm9uZUxpc3RJdGVtIG9uIFpvbmUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgbmFtZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci16b25lLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3pvbmUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi96b25lLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZUxpc3RDb21wb25lbnRcclxuICAgIGV4dGVuZHMgVHlwZWRCYXNlTGlzdENvbXBvbmVudDx0eXBlb2YgR2V0Wm9uZUxpc3REb2N1bWVudCwgJ3pvbmVzJz5cclxuICAgIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICAgIGFjdGl2ZVpvbmUkOiBPYnNlcnZhYmxlPEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPiB8IHVuZGVmaW5lZD47XHJcbiAgICBhY3RpdmVJbmRleCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIHNlbGVjdGVkTWVtYmVySWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQFZpZXdDaGlsZChab25lTWVtYmVyTGlzdENvbXBvbmVudCkgem9uZU1lbWJlckxpc3Q6IFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50O1xyXG4gICAgcmVhZG9ubHkgY3VzdG9tRmllbGRzID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcignWm9uZScpO1xyXG4gICAgcmVhZG9ubHkgZmlsdGVycyA9IHRoaXMuY3JlYXRlRmlsdGVyQ29sbGVjdGlvbigpXHJcbiAgICAgICAgLmFkZElkRmlsdGVyKClcclxuICAgICAgICAuYWRkRGF0ZUZpbHRlcnMoKVxyXG4gICAgICAgIC5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAnbmFtZScsXHJcbiAgICAgICAgICAgIHR5cGU6IHsga2luZDogJ3RleHQnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24ubmFtZScpLFxyXG4gICAgICAgICAgICBmaWx0ZXJGaWVsZDogJ25hbWUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmFkZEN1c3RvbUZpZWxkRmlsdGVycyh0aGlzLmN1c3RvbUZpZWxkcylcclxuICAgICAgICAuY29ubmVjdFRvUm91dGUodGhpcy5yb3V0ZSk7XHJcblxyXG4gICAgcmVhZG9ubHkgc29ydHMgPSB0aGlzLmNyZWF0ZVNvcnRDb2xsZWN0aW9uKClcclxuICAgICAgICAuZGVmYXVsdFNvcnQoJ2NyZWF0ZWRBdCcsICdERVNDJylcclxuICAgICAgICAuYWRkU29ydCh7IG5hbWU6ICdjcmVhdGVkQXQnIH0pXHJcbiAgICAgICAgLmFkZFNvcnQoeyBuYW1lOiAndXBkYXRlZEF0JyB9KVxyXG4gICAgICAgIC5hZGRTb3J0KHsgbmFtZTogJ25hbWUnIH0pXHJcbiAgICAgICAgLmFkZEN1c3RvbUZpZWxkU29ydHModGhpcy5jdXN0b21GaWVsZHMpXHJcbiAgICAgICAgLmNvbm5lY3RUb1JvdXRlKHRoaXMucm91dGUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHN1cGVyLmNvbmZpZ3VyZSh7XHJcbiAgICAgICAgICAgIGRvY3VtZW50OiBHZXRab25lTGlzdERvY3VtZW50LFxyXG4gICAgICAgICAgICBnZXRJdGVtczogZGF0YSA9PiBkYXRhLnpvbmVzLFxyXG4gICAgICAgICAgICBzZXRWYXJpYWJsZXM6IChza2lwLCB0YWtlKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IHRoaXMuc2VhcmNoVGVybUNvbnRyb2wudmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVycy5jcmVhdGVGaWx0ZXJJbnB1dCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyT3BlcmF0b3I6IHRoaXMuc2VhcmNoVGVybUNvbnRyb2wudmFsdWUgPyBMb2dpY2FsT3BlcmF0b3IuT1IgOiBMb2dpY2FsT3BlcmF0b3IuQU5ELFxyXG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHRoaXMuc29ydHMuY3JlYXRlU29ydElucHV0KCksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM6IFt0aGlzLmZpbHRlcnMudmFsdWVDaGFuZ2VzLCB0aGlzLnNvcnRzLnZhbHVlQ2hhbmdlc10sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBhY3RpdmVab25lSWQkID0gdGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKFxyXG4gICAgICAgICAgICBtYXAocG0gPT4gcG0uZ2V0KCdjb250ZW50cycpKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+ICh0aGlzLnNlbGVjdGVkTWVtYmVySWRzID0gW10pKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlWm9uZSQgPSBjb21iaW5lTGF0ZXN0KHRoaXMuaXRlbXMkLCBhY3RpdmVab25lSWQkKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFt6b25lcywgYWN0aXZlWm9uZUlkXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVpvbmVJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB6b25lcy5maW5kKHogPT4gei5pZCA9PT0gYWN0aXZlWm9uZUlkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4JCA9IGNvbWJpbmVMYXRlc3QodGhpcy5pdGVtcyQsIGFjdGl2ZVpvbmVJZCQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW3pvbmVzLCBhY3RpdmVab25lSWRdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlWm9uZUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHpvbmVzLmZpbmRJbmRleChnID0+IGcuaWQgPT09IGFjdGl2ZVpvbmVJZCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShjb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2VNZW1iZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4udGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMgfTtcclxuICAgICAgICBkZWxldGUgcGFyYW1zLmNvbnRlbnRzO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nLCBwYXJhbXNdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdwcmVzZXJ2ZScgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkVG9ab25lKHpvbmU6IEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPikge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KEFkZENvdW50cnlUb1pvbmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHpvbmVOYW1lOiB6b25lLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgem9uZUlkOiB6b25lLmlkLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHNpemU6ICdtZCcsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG1lbWJlcklkcyA9PlxyXG4gICAgICAgICAgICAgICAgICAgIG1lbWJlcklkc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZE1lbWJlcnNUb1pvbmUoem9uZS5pZCwgbWVtYmVySWRzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXBUbyhtZW1iZXJJZHMpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEVNUFRZLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6IHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXyhgc2V0dGluZ3MuYWRkLWNvdW50cmllcy10by16b25lLXN1Y2Nlc3NgKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5Q291bnQ6IHJlc3VsdC5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHpvbmVOYW1lOiB6b25lLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTWVtYmVyTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaE1lbWJlckxpc3QoKSB7XHJcbiAgICAgICAgdGhpcy56b25lTWVtYmVyTGlzdD8ucmVmcmVzaCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItYWN0aW9uLWJhcj5cclxuICAgICAgICA8dmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgICAgIDx2ZHItbGFuZ3VhZ2Utc2VsZWN0b3JcclxuICAgICAgICAgICAgICAgIFthdmFpbGFibGVMYW5ndWFnZUNvZGVzXT1cImF2YWlsYWJsZUxhbmd1YWdlcyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICBbY3VycmVudExhbmd1YWdlQ29kZV09XCJjb250ZW50TGFuZ3VhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgKGxhbmd1YWdlQ29kZUNoYW5nZSk9XCJzZXRMYW5ndWFnZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgLz48L3Zkci1hYi1sZWZ0PlxyXG4gICAgICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgICAgIDx2ZHItYWN0aW9uLWJhci1pdGVtcyBsb2NhdGlvbklkPVwiem9uZS1saXN0XCI+PC92ZHItYWN0aW9uLWJhci1pdGVtcz5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICp2ZHJJZlBlcm1pc3Npb25zPVwiWydDcmVhdGVTZXR0aW5ncycsICdDcmVhdGVab25lJ11cIlxyXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuLycsICdjcmVhdGUnXVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAge3sgJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvdmRyLWFiLXJpZ2h0PlxyXG4gICAgPC92ZHItYWN0aW9uLWJhcj5cclxuPC92ZHItcGFnZS1ibG9jaz5cclxuPHZkci1zcGxpdC12aWV3IFtyaWdodFBhbmVsT3Blbl09XCJhY3RpdmVab25lJCB8IGFzeW5jXCIgKGNsb3NlQ2xpY2tlZCk9XCJjbG9zZU1lbWJlcnMoKVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclNwbGl0Vmlld0xlZnQ+XHJcbiAgICAgICAgPHZkci1kYXRhLXRhYmxlLTJcclxuICAgICAgICAgICAgaWQ9XCJ6b25lLWxpc3RcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4JCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJzZXRJdGVtc1BlclBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8dmRyLWJ1bGstYWN0aW9uLW1lbnVcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uSWQ9XCJ6b25lLWxpc3RcIlxyXG4gICAgICAgICAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0aW9uTWFuYWdlcl09XCJzZWxlY3Rpb25NYW5hZ2VyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHZkci1kdDItc2VhcmNoXHJcbiAgICAgICAgICAgICAgICBbc2VhcmNoVGVybUNvbnRyb2xdPVwic2VhcmNoVGVybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW3NlYXJjaFRlcm1QbGFjZWhvbGRlcl09XCInY29tbW9uLnNlYXJjaC1ieS1uYW1lJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmlkJyB8IHRyYW5zbGF0ZVwiIGlkPVwiaWRcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY3VzdG9tZXJHcm91cD1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjdXN0b21lckdyb3VwLmlkIH19XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgICAgICA8dmRyLWR0Mi1jb2x1bW5cclxuICAgICAgICAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIiBpZD1cImNyZWF0ZWQtYXRcIlxyXG4gICAgICAgICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzb3J0XT1cInNvcnRzLmdldCgnY3JlYXRlZEF0JylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWN1c3RvbWVyR3JvdXA9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgY3VzdG9tZXJHcm91cC5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICAgICAgPHZkci1kdDItY29sdW1uXHJcbiAgICAgICAgICAgICAgICBbaGVhZGluZ109XCInY29tbW9uLnVwZGF0ZWQtYXQnIHwgdHJhbnNsYXRlXCIgaWQ9XCJ1cGRhdGVkLWF0XCJcclxuICAgICAgICAgICAgICAgIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc29ydF09XCJzb3J0cy5nZXQoJ3VwZGF0ZWRBdCcpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jdXN0b21lckdyb3VwPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGN1c3RvbWVyR3JvdXAudXBkYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgICAgIDx2ZHItZHQyLWNvbHVtblxyXG4gICAgICAgICAgICAgICAgW2hlYWRpbmddPVwiJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZVwiIGlkPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbb3B0aW9uYWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgW3NvcnRdPVwic29ydHMuZ2V0KCduYW1lJylcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWN1c3RvbWVyR3JvdXA9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidXR0b24tZ2hvc3RcIiBbcm91dGVyTGlua109XCJbJy4vJywgY3VzdG9tZXJHcm91cC5pZF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgY3VzdG9tZXJHcm91cC5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJhcnJvdyByaWdodFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICAgICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24udmlldy1jb250ZW50cycgfCB0cmFuc2xhdGVcIiBpZD1cInZpZXctY29udGVudHNcIiBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY3VzdG9tZXJHcm91cD1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1zbWFsbCBiZy13ZWlnaHQtMTUwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuLycsIHsgY29udGVudHM6IGN1c3RvbWVyR3JvdXAuaWQgfV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPVwicHJlc2VydmVcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3NldHRpbmdzLnZpZXctem9uZS1tZW1iZXJzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZmlsZS1ncm91cFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICAgICAgPHZkci1kdDItY3VzdG9tLWZpZWxkLWNvbHVtblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGN1c3RvbUZpZWxkIG9mIGN1c3RvbUZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICBbY3VzdG9tRmllbGRdPVwiY3VzdG9tRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgW3NvcnRdPVwic29ydHNcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvdmRyLWRhdGEtdGFibGUtMj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyU3BsaXRWaWV3UmlnaHQgW3NwbGl0Vmlld1RpdGxlXT1cIihhY3RpdmVab25lJCB8IGFzeW5jKT8ubmFtZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVab25lJCB8IGFzeW5jIGFzIGFjdGl2ZVpvbmVcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbi1naG9zdCBtbC00XCIgKGNsaWNrKT1cImFkZFRvWm9uZShhY3RpdmVab25lKVwiPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwicGx1c1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e1xyXG4gICAgICAgICAgICAgICAgICAgICdzZXR0aW5ncy5hZGQtY291bnRyaWVzLXRvLXpvbmUnIHwgdHJhbnNsYXRlIDogeyB6b25lTmFtZTogYWN0aXZlWm9uZS5uYW1lIH1cclxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPHZkci16b25lLW1lbWJlci1saXN0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZVpvbmUkIHwgYXN5bmMgYXMgYWN0aXZlWm9uZVwiXHJcbiAgICAgICAgICAgICAgICBsb2NhdGlvbklkPVwiem9uZS1tZW1iZXJzLWxpc3RcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkTWVtYmVySWRzXT1cInNlbGVjdGVkTWVtYmVySWRzXCJcclxuICAgICAgICAgICAgICAgIFthY3RpdmVab25lXT1cImFjdGl2ZVpvbmVcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZE1lbWJlcklkcyA9ICRldmVudFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3Zkci1zcGxpdC12aWV3PlxyXG4iXX0=
@@ -70,11 +70,11 @@ export class ZoneMemberListComponent {
70
70
  this.refresh$.next();
71
71
  }
72
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ZoneMemberListComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", 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\" [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\" [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\" [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\" [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\">\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\">\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", "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: ["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 }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", 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", "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 }); }
74
74
  }
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ZoneMemberListComponent, decorators: [{
76
76
  type: Component,
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\" [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\" [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\" [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\" [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\">\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\">\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"] }]
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: function () { return [{ type: i1.DataService }]; }, propDecorators: { locationId: [{
79
79
  type: Input
80
80
  }], members: [{
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
92
92
  type: ContentChild,
93
93
  args: [ZoneMemberControlsDirective]
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFJSCxzQkFBc0IsRUFHdEIsZ0JBQWdCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7OztBQVVwRixNQUFNLE9BQU8sdUJBQXVCO0lBd0JoQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXJCbkMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUl6RCxzQkFBaUIs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QXhCLE1BQU07Z0JBQ3NDLGNBQWM7c0JBQTFELFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNBLGdCQUFnQjtzQkFBMUQsWUFBWTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQnVsa0FjdGlvbkxvY2F0aW9uSWQsXHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldFpvbmVMaXN0UXVlcnksXHJcbiAgICBHZXRab25lTWVtYmVyc0RvY3VtZW50LFxyXG4gICAgR2V0Wm9uZU1lbWJlcnNRdWVyeSxcclxuICAgIEl0ZW1PZixcclxuICAgIFNlbGVjdGlvbk1hbmFnZXIsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSB9IGZyb20gJy4vem9uZS1tZW1iZXItY29udHJvbHMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL3pvbmUtbWVtYmVyLWxpc3QtaGVhZGVyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgdHlwZSBab25lTWVtYmVyID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGNvZGU6IHN0cmluZyB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci16b25lLW1lbWJlci1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3pvbmUtbWVtYmVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGxvY2F0aW9uSWQ6IEJ1bGtBY3Rpb25Mb2NhdGlvbklkO1xyXG4gICAgQElucHV0KCkgbWVtYmVycz86IFpvbmVNZW1iZXJbXTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkTWVtYmVySWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgYWN0aXZlWm9uZTogSXRlbU9mPEdldFpvbmVMaXN0UXVlcnksICd6b25lcyc+O1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcbiAgICBAQ29udGVudENoaWxkKFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZTogWm9uZU1lbWJlckxpc3RIZWFkZXJEaXJlY3RpdmU7XHJcbiAgICBAQ29udGVudENoaWxkKFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSkgY29udHJvbHNUZW1wbGF0ZTogWm9uZU1lbWJlckNvbnRyb2xzRGlyZWN0aXZlO1xyXG4gICAgbWVtYmVycyQ6IE9ic2VydmFibGU8Tm9uTnVsbGFibGU8R2V0Wm9uZU1lbWJlcnNRdWVyeVsnem9uZSddPlsnbWVtYmVycyddIHwgWm9uZU1lbWJlcltdPjtcclxuICAgIGZpbHRlclRlcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICAgIGZpbHRlcmVkTWVtYmVycyQ6IE9ic2VydmFibGU8Wm9uZU1lbWJlcltdPjtcclxuICAgIHRvdGFsSXRlbXMkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgICBpdGVtc1BlclBhZ2UgPSAxMDtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxab25lTWVtYmVyPih7XHJcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXHJcbiAgICAgICAgaXRlbXNBcmVFcXVhbDogKGEsIGIpID0+IGEuaWQgPT09IGIuaWQsXHJcbiAgICAgICAgYWRkaXRpdmVNb2RlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBwcml2YXRlIG1lbWJlcnNJbnB1dCQgPSBuZXcgU3ViamVjdDxab25lTWVtYmVyW10+KCk7XHJcbiAgICBwcml2YXRlIGFjdGl2ZVpvbmVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlWm9uZU1lbWJlcnMkID0gbWVyZ2UodGhpcy5hY3RpdmVab25lSW5wdXQkLCB0aGlzLnJlZnJlc2gkKS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoYWN0aXZlWm9uZSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVab25lXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KEdldFpvbmVNZW1iZXJzRG9jdW1lbnQsIHsgem9uZUlkOiB0aGlzLmFjdGl2ZVpvbmUuaWQgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKCh7IHpvbmUgfSkgPT4gem9uZT8ubWVtYmVycyA/PyBbXSlcclxuICAgICAgICAgICAgICAgICAgICA6IG9mKFtdKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMubWVtYmVycyQgPSBtZXJnZShhY3RpdmVab25lTWVtYmVycyQsIHRoaXMubWVtYmVyc0lucHV0JCk7XHJcblxyXG4gICAgICAgIHRoaXMubWVtYmVycyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobWVtYmVycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlci5zZXRDdXJyZW50SXRlbXMoXHJcbiAgICAgICAgICAgICAgICBtZW1iZXJzPy5maWx0ZXIobSA9PiB0aGlzLnNlbGVjdGVkTWVtYmVySWRzLmluY2x1ZGVzKG0uaWQpKSA/PyBbXSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0aW9uQ2hhbmdlcyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShzZWxlY3Rpb24gPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHNlbGVjdGlvbi5tYXAocyA9PiBzLmlkKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE1lbWJlcnMkID0gY29tYmluZUxhdGVzdChcclxuICAgICAgICAgICAgdGhpcy5tZW1iZXJzJCxcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKSxcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW21lbWJlcnMsIGZpbHRlclRlcm1dKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyVGVybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlcm0gPSBmaWx0ZXJUZXJtPy50b0xvY2FsZUxvd2VyQ2FzZSgpID8/ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1iZXJzLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgbSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1iZXJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQgPSB0aGlzLmZpbHRlcmVkTWVtYmVycyQucGlwZShtYXAobWVtYmVycyA9PiBtZW1iZXJzLmxlbmd0aCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoJ21lbWJlcnMnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW1iZXJzSW5wdXQkLm5leHQodGhpcy5tZW1iZXJzID8/IFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCdhY3RpdmVab25lJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlWm9uZUlucHV0JC5uZXh0KHRoaXMuYWN0aXZlWm9uZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItZGF0YS10YWJsZS0yXHJcbiAgICBbaWRdPVwibG9jYXRpb25JZFwiXHJcbiAgICBbaXRlbXNdPVwiZmlsdGVyZWRNZW1iZXJzJCB8IGFzeW5jXCJcclxuICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2VcIlxyXG4gICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwiaXRlbXNQZXJQYWdlID0gJGV2ZW50XCJcclxuICAgIChwYWdlQ2hhbmdlKT1cImN1cnJlbnRQYWdlID0gJGV2ZW50XCJcclxuPlxyXG4gICAgPHZkci1idWxrLWFjdGlvbi1tZW51XHJcbiAgICAgICAgW2xvY2F0aW9uSWRdPVwibG9jYXRpb25JZFwiXHJcbiAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgICAgICAgW3NlbGVjdGlvbk1hbmFnZXJdPVwic2VsZWN0aW9uTWFuYWdlclwiXHJcbiAgICA+PC92ZHItYnVsay1hY3Rpb24tbWVudT5cclxuICAgIDx2ZHItZHQyLXNlYXJjaFxyXG4gICAgICAgIFtzZWFyY2hUZXJtQ29udHJvbF09XCJmaWx0ZXJUZXJtQ29udHJvbFwiXHJcbiAgICAgICAgW3NlYXJjaFRlcm1QbGFjZWhvbGRlcl09XCInY29tbW9uLnNlYXJjaC1ieS1uYW1lJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+PC92ZHItZHQyLXNlYXJjaD5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmlkJyB8IHRyYW5zbGF0ZVwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuaWQgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmNyZWF0ZWQtYXQnIHwgdHJhbnNsYXRlXCIgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIHt7IG1lbWJlci5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24udXBkYXRlZC1hdCcgfCB0cmFuc2xhdGVcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAge3sgbWVtYmVyLmNyZWF0ZWRBdCB8IGxvY2FsZURhdGUgOiAnc2hvcnQnIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZVwiIFtvcHRpb25hbF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImJ1dHRvbi1naG9zdFwiIFtyb3V0ZXJMaW5rXT1cIlsnL3NldHRpbmdzL2NvdW50cmllcycsIG1lbWJlci5pZF1cIlxyXG4gICAgICAgICAgICAgICAgPjxzcGFuPiB7eyBtZW1iZXIubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImFycm93IHJpZ2h0XCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uY29kZScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAge3sgbWVtYmVyLmNvZGUgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmVuYWJsZWQnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDx2ZHItY2hpcCAgKm5nSWY9XCJtZW1iZXIuZW5hYmxlZFwiIGNvbG9yVHlwZT1cInN1Y2Nlc3NcIj57eyAnY29tbW9uLmVuYWJsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgPHZkci1jaGlwICAqbmdJZj1cIiFtZW1iZXIuZW5hYmxlZFwiIGNvbG9yVHlwZT1cIndhcm5pbmdcIj57eyAnY29tbW9uLmRpc2FibGVkJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbjwvdmRyLWRhdGEtdGFibGUtMj5cclxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFJSCxzQkFBc0IsRUFHdEIsZ0JBQWdCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7OztBQVVwRixNQUFNLE9BQU8sdUJBQXVCO0lBd0JoQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXJCbkMsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUl6RCxzQkFBaUIs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QXhCLE1BQU07Z0JBQ3NDLGNBQWM7c0JBQTFELFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNBLGdCQUFnQjtzQkFBMUQsWUFBWTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQnVsa0FjdGlvbkxvY2F0aW9uSWQsXHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldFpvbmVMaXN0UXVlcnksXHJcbiAgICBHZXRab25lTWVtYmVyc0RvY3VtZW50LFxyXG4gICAgR2V0Wm9uZU1lbWJlcnNRdWVyeSxcclxuICAgIEl0ZW1PZixcclxuICAgIFNlbGVjdGlvbk1hbmFnZXIsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSB9IGZyb20gJy4vem9uZS1tZW1iZXItY29udHJvbHMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL3pvbmUtbWVtYmVyLWxpc3QtaGVhZGVyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgdHlwZSBab25lTWVtYmVyID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGNvZGU6IHN0cmluZyB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci16b25lLW1lbWJlci1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3pvbmUtbWVtYmVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGxvY2F0aW9uSWQ6IEJ1bGtBY3Rpb25Mb2NhdGlvbklkO1xyXG4gICAgQElucHV0KCkgbWVtYmVycz86IFpvbmVNZW1iZXJbXTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkTWVtYmVySWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgYWN0aXZlWm9uZTogSXRlbU9mPEdldFpvbmVMaXN0UXVlcnksICd6b25lcyc+O1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcbiAgICBAQ29udGVudENoaWxkKFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZTogWm9uZU1lbWJlckxpc3RIZWFkZXJEaXJlY3RpdmU7XHJcbiAgICBAQ29udGVudENoaWxkKFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSkgY29udHJvbHNUZW1wbGF0ZTogWm9uZU1lbWJlckNvbnRyb2xzRGlyZWN0aXZlO1xyXG4gICAgbWVtYmVycyQ6IE9ic2VydmFibGU8Tm9uTnVsbGFibGU8R2V0Wm9uZU1lbWJlcnNRdWVyeVsnem9uZSddPlsnbWVtYmVycyddIHwgWm9uZU1lbWJlcltdPjtcclxuICAgIGZpbHRlclRlcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICAgIGZpbHRlcmVkTWVtYmVycyQ6IE9ic2VydmFibGU8Wm9uZU1lbWJlcltdPjtcclxuICAgIHRvdGFsSXRlbXMkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgICBpdGVtc1BlclBhZ2UgPSAxMDtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxab25lTWVtYmVyPih7XHJcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXHJcbiAgICAgICAgaXRlbXNBcmVFcXVhbDogKGEsIGIpID0+IGEuaWQgPT09IGIuaWQsXHJcbiAgICAgICAgYWRkaXRpdmVNb2RlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBwcml2YXRlIG1lbWJlcnNJbnB1dCQgPSBuZXcgU3ViamVjdDxab25lTWVtYmVyW10+KCk7XHJcbiAgICBwcml2YXRlIGFjdGl2ZVpvbmVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEl0ZW1PZjxHZXRab25lTGlzdFF1ZXJ5LCAnem9uZXMnPiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlWm9uZU1lbWJlcnMkID0gbWVyZ2UodGhpcy5hY3RpdmVab25lSW5wdXQkLCB0aGlzLnJlZnJlc2gkKS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoYWN0aXZlWm9uZSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVab25lXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KEdldFpvbmVNZW1iZXJzRG9jdW1lbnQsIHsgem9uZUlkOiB0aGlzLmFjdGl2ZVpvbmUuaWQgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKCh7IHpvbmUgfSkgPT4gem9uZT8ubWVtYmVycyA/PyBbXSlcclxuICAgICAgICAgICAgICAgICAgICA6IG9mKFtdKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMubWVtYmVycyQgPSBtZXJnZShhY3RpdmVab25lTWVtYmVycyQsIHRoaXMubWVtYmVyc0lucHV0JCk7XHJcblxyXG4gICAgICAgIHRoaXMubWVtYmVycyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobWVtYmVycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlci5zZXRDdXJyZW50SXRlbXMoXHJcbiAgICAgICAgICAgICAgICBtZW1iZXJzPy5maWx0ZXIobSA9PiB0aGlzLnNlbGVjdGVkTWVtYmVySWRzLmluY2x1ZGVzKG0uaWQpKSA/PyBbXSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0aW9uQ2hhbmdlcyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShzZWxlY3Rpb24gPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHNlbGVjdGlvbi5tYXAocyA9PiBzLmlkKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE1lbWJlcnMkID0gY29tYmluZUxhdGVzdChcclxuICAgICAgICAgICAgdGhpcy5tZW1iZXJzJCxcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKSxcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW21lbWJlcnMsIGZpbHRlclRlcm1dKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyVGVybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlcm0gPSBmaWx0ZXJUZXJtPy50b0xvY2FsZUxvd2VyQ2FzZSgpID8/ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1iZXJzLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgbSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZW1iZXJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQgPSB0aGlzLmZpbHRlcmVkTWVtYmVycyQucGlwZShtYXAobWVtYmVycyA9PiBtZW1iZXJzLmxlbmd0aCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoJ21lbWJlcnMnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW1iZXJzSW5wdXQkLm5leHQodGhpcy5tZW1iZXJzID8/IFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCdhY3RpdmVab25lJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlWm9uZUlucHV0JC5uZXh0KHRoaXMuYWN0aXZlWm9uZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItZGF0YS10YWJsZS0yXHJcbiAgICBbaWRdPVwibG9jYXRpb25JZFwiXHJcbiAgICBbaXRlbXNdPVwiZmlsdGVyZWRNZW1iZXJzJCB8IGFzeW5jXCJcclxuICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2VcIlxyXG4gICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwiaXRlbXNQZXJQYWdlID0gJGV2ZW50XCJcclxuICAgIChwYWdlQ2hhbmdlKT1cImN1cnJlbnRQYWdlID0gJGV2ZW50XCJcclxuPlxyXG4gICAgPHZkci1idWxrLWFjdGlvbi1tZW51XHJcbiAgICAgICAgW2xvY2F0aW9uSWRdPVwibG9jYXRpb25JZFwiXHJcbiAgICAgICAgW2hvc3RDb21wb25lbnRdPVwidGhpc1wiXHJcbiAgICAgICAgW3NlbGVjdGlvbk1hbmFnZXJdPVwic2VsZWN0aW9uTWFuYWdlclwiXHJcbiAgICA+PC92ZHItYnVsay1hY3Rpb24tbWVudT5cclxuICAgIDx2ZHItZHQyLXNlYXJjaFxyXG4gICAgICAgIFtzZWFyY2hUZXJtQ29udHJvbF09XCJmaWx0ZXJUZXJtQ29udHJvbFwiXHJcbiAgICAgICAgW3NlYXJjaFRlcm1QbGFjZWhvbGRlcl09XCInY29tbW9uLnNlYXJjaC1ieS1uYW1lJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+PC92ZHItZHQyLXNlYXJjaD5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmlkJyB8IHRyYW5zbGF0ZVwiIGlkPVwiaWRcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAge3sgbWVtYmVyLmlkIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiIGlkPVwiY3JlYXRlZC1hdFwiIFtoaWRkZW5CeURlZmF1bHRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICB7eyBtZW1iZXIuY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLnVwZGF0ZWQtYXQnIHwgdHJhbnNsYXRlXCIgaWQ9XCJ1cGRhdGVkLWF0XCIgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIHt7IG1lbWJlci5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24ubmFtZScgfCB0cmFuc2xhdGVcIiBpZD1cIm5hbWVcIiBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LW1lbWJlcj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidXR0b24tZ2hvc3RcIiBbcm91dGVyTGlua109XCJbJy9zZXR0aW5ncy9jb3VudHJpZXMnLCBtZW1iZXIuaWRdXCJcclxuICAgICAgICAgICAgICAgID48c3Bhbj4ge3sgbWVtYmVyLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJhcnJvdyByaWdodFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmNvZGUnIHwgdHJhbnNsYXRlXCIgaWQ9XCJjb2RlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZW1iZXI9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIHt7IG1lbWJlci5jb2RlIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5lbmFibGVkJyB8IHRyYW5zbGF0ZVwiIGlkPVwiZW5hYmxlZFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVtYmVyPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgICpuZ0lmPVwibWVtYmVyLmVuYWJsZWRcIiBjb2xvclR5cGU9XCJzdWNjZXNzXCI+e3sgJ2NvbW1vbi5lbmFibGVkJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgIDx2ZHItY2hpcCAgKm5nSWY9XCIhbWVtYmVyLmVuYWJsZWRcIiBjb2xvclR5cGU9XCJ3YXJuaW5nXCI+e3sgJ2NvbW1vbi5kaXNhYmxlZCcgfCB0cmFuc2xhdGUgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1kdDItY29sdW1uPlxyXG48L3Zkci1kYXRhLXRhYmxlLTI+XHJcbiJdfQ==
@@ -211,4 +211,4 @@ export const createRoutes = (pageService) => [
211
211
  children: pageService.getPageTabRoutes('global-setting-detail'),
212
212
  },
213
213
  ];
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBR0gsV0FBVyxFQUNYLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsYUFBYSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJMUIsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUM7SUFDL0Q7UUFDSSxJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7U0FDdEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1QsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDZCxLQUFLLENBQUMsd0JBQXdCLENBQUM7aUJBQy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6RTtRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0tBQ3BEO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsVUFBVSxFQUFFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztTQUM3QztRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7S0FDL0Q7SUFDRDtRQUNJLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLHNCQUFzQjtZQUNsQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEVBQUU7U0FDekY7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO0tBQ2pFO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsVUFBVTtRQUNoQixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsY0FBYztZQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1NBQ3ZDO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7S0FDekQ7SUFDRDtRQUNJLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxjQUFjO1lBQzFCLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUU7U0FDN0U7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO0tBQzNEO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLFVBQVUsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7U0FDdEM7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztLQUN4RDtJQUNEO1FBQ0ksSUFBSSxFQUFFLGFBQWE7UUFDbkIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLGFBQWE7WUFDekIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRTtTQUMzRTtRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0tBQzFEO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVUsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7U0FDcEM7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztLQUN0RDtJQUNEO1FBQ0ksSUFBSSxFQUFFLFdBQVc7UUFDakIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLGFBQWE7WUFDekIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRTtTQUN2RTtRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0tBQ3hEO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztTQUM3QztRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7S0FDOUQ7SUFDRDtRQUNJLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLHFCQUFxQjtZQUNqQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEVBQUU7U0FDekY7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO0tBQ2hFO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsV0FBVztRQUNqQixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsZUFBZTtZQUMzQixVQUFVLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1NBQ3hDO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7S0FDMUQ7SUFDRDtRQUNJLElBQUksRUFBRSxlQUFlO1FBQ3JCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxpQkFBaUI7WUFDN0IsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRTtTQUMvRTtRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7S0FDNUQ7SUFDRDtRQUNJLElBQUksRUFBRSxXQUFXO1FBQ2pCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxjQUFjO1lBQzFCLFVBQVUsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUM7U0FDeEM7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztLQUN6RDtJQUNEO1FBQ0ksSUFBSSxFQUFFLGVBQWU7UUFDckIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFO1NBQy9FO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztLQUMzRDtJQUNEO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsV0FBVztZQUN2QixVQUFVLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1NBQ3BDO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7S0FDdEQ7SUFDRDtRQUNJLElBQUksRUFBRSxXQUFXO1FBQ2pCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7U0FDdkU7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztLQUN4RDtJQUNEO1FBQ0ksSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsc0JBQXNCO1lBQ2xDLFVBQVUsRUFBRSxDQUFDLENBQUMsNkJBQTZCLENBQUM7U0FDL0M7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO0tBQ2pFO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO1NBQzdGO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQztLQUNuRTtJQUNEO1FBQ0ksSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUscUJBQXFCO1lBQ2pDLFVBQVUsRUFBRSxDQUFDLENBQUMsNEJBQTRCLENBQUM7U0FDOUM7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO0tBQ2hFO0lBQ0Q7UUFDSSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO1NBQzNGO1FBQ0QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQztLQUNsRTtJQUNEO1FBQ0ksSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixTQUFTLEVBQUUsYUFBYTtRQUN4QixJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO1lBQzNDLFVBQVUsRUFBRSx1QkFBdUI7U0FDdEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1QsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDZCxLQUFLLENBQUMsK0JBQStCLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDO0tBQ2xFO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHtcclxuICAgIENhbkRlYWN0aXZhdGVEZXRhaWxHdWFyZCxcclxuICAgIGNyZWF0ZVJlc29sdmVEYXRhLFxyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBHZXRHbG9iYWxTZXR0aW5nc0RldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UHJvZmlsZURldGFpbERvY3VtZW50LFxyXG4gICAgUGFnZUNvbXBvbmVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlUmVzb2x2ZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9yb3V0aW5nL3Byb2ZpbGUtcmVzb2x2ZXInO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJvdXRlcyA9IChwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpOiBSb3V0ZVtdID0+IFtcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAncHJvZmlsZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5wcm9maWxlJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICByZXNvbHZlOiB7XHJcbiAgICAgICAgICAgIGRldGFpbDogKCkgPT5cclxuICAgICAgICAgICAgICAgIGluamVjdChEYXRhU2VydmljZSlcclxuICAgICAgICAgICAgICAgICAgICAucXVlcnkoR2V0UHJvZmlsZURldGFpbERvY3VtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiAoeyBlbnRpdHk6IG9mKGRhdGEuYWN0aXZlQWRtaW5pc3RyYXRvcikgfSkpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3Byb2ZpbGUnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ2FkbWluaXN0cmF0b3JzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnYWRtaW5pc3RyYXRvci1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5hZG1pbmlzdHJhdG9ycycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ2FkbWluaXN0cmF0b3ItbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnYWRtaW5pc3RyYXRvcnMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnYWRtaW5pc3RyYXRvci1kZXRhaWwnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLmFkbWluaXN0cmF0b3JzJyksIGxpbms6IFsnLi4vJywgJ2FkbWluaXN0cmF0b3JzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdhZG1pbmlzdHJhdG9yLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnY2hhbm5lbHMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdjaGFubmVsLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnY2hhbm5lbC1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdjaGFubmVscy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdjaGFubmVsLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksIGxpbms6IFsnLi4vJywgJ2NoYW5uZWxzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdjaGFubmVsLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnc2VsbGVycycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3NlbGxlci1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5zZWxsZXJzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnc2VsbGVyLWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3NlbGxlcnMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnc2VsbGVyLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLnNlbGxlcnMnKSwgbGluazogWycuLi8nLCAnc2VsbGVycyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnc2VsbGVyLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAncm9sZXMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdyb2xlLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLnJvbGVzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygncm9sZS1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdyb2xlcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdyb2xlLWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIucm9sZXMnKSwgbGluazogWycuLi8nLCAncm9sZXMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3JvbGUtZGV0YWlsJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICd0YXgtY2F0ZWdvcmllcycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3RheC1jYXRlZ29yeS1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi50YXgtY2F0ZWdvcmllcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3RheC1jYXRlZ29yeS1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICd0YXgtY2F0ZWdvcmllcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICd0YXgtY2F0ZWdvcnktZGV0YWlsJyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi50YXgtY2F0ZWdvcmllcycpLCBsaW5rOiBbJy4uLycsICd0YXgtY2F0ZWdvcmllcyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygndGF4LWNhdGVnb3J5LWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAndGF4LXJhdGVzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAndGF4LXJhdGUtbGlzdCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygndGF4LXJhdGUtbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAndGF4LXJhdGVzLzppZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3RheC1yYXRlLWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksIGxpbms6IFsnLi4vJywgJ3RheC1yYXRlcyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygndGF4LXJhdGUtZGV0YWlsJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdjb3VudHJpZXMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdjb3VudHJ5LWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLmNvdW50cmllcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ2NvdW50cnktbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnY291bnRyaWVzLzppZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ2NvdW50cnktZGV0YWlsJyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5jb3VudHJpZXMnKSwgbGluazogWycuLi8nLCAnY291bnRyaWVzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdjb3VudHJ5LWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnem9uZXMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICd6b25lLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLnpvbmVzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnem9uZS1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICd6b25lcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICd6b25lLWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIuem9uZXMnKSwgbGluazogWycuLi8nLCAnem9uZXMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3pvbmUtZGV0YWlsJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdzaGlwcGluZy1tZXRob2RzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLnNoaXBwaW5nLW1ldGhvZHMnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdzaGlwcGluZy1tZXRob2QtbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnc2hpcHBpbmctbWV0aG9kcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdzaGlwcGluZy1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5zaGlwcGluZy1tZXRob2RzJyksIGxpbms6IFsnLi4vJywgJ3NoaXBwaW5nLW1ldGhvZHMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3BheW1lbnQtbWV0aG9kcycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3BheW1lbnQtbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3BheW1lbnQtbWV0aG9kLWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3BheW1lbnQtbWV0aG9kcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdwYXltZW50LW1ldGhvZC1kZXRhaWwnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLCBsaW5rOiBbJy4uLycsICdwYXltZW50LW1ldGhvZHMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3BheW1lbnQtbWV0aG9kLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnZ2xvYmFsLXNldHRpbmdzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLmdsb2JhbC1zZXR0aW5ncycpLFxyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnZ2xvYmFsLXNldHRpbmctZGV0YWlsJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlc29sdmU6IHtcclxuICAgICAgICAgICAgZGV0YWlsOiAoKSA9PlxyXG4gICAgICAgICAgICAgICAgaW5qZWN0KERhdGFTZXJ2aWNlKVxyXG4gICAgICAgICAgICAgICAgICAgIC5xdWVyeShHZXRHbG9iYWxTZXR0aW5nc0RldGFpbERvY3VtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiAoeyBlbnRpdHk6IG9mKGRhdGEuZ2xvYmFsU2V0dGluZ3MpIH0pKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdnbG9iYWwtc2V0dGluZy1kZXRhaWwnKSxcclxuICAgIH0sXHJcbl07XHJcbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsV0FBVyxFQUNYLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsYUFBYSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUM7SUFDL0Q7UUFDSSxJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7U0FDdEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1QsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDZCxLQUFLLENBQUMsd0JBQXdCLENBQUM7aUJBQy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6RTtRQUNELFFBQVEsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0tBQ3BEO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLElBQUksRUFBRTtZQUNGLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsVUFBVSxFQUFFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztT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Q2xFO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHtcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0R2xvYmFsU2V0dGluZ3NEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFByb2ZpbGVEZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VDb21wb25lbnQsXHJcbiAgICBQYWdlU2VydmljZSxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVSb3V0ZXMgPSAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKTogUm91dGVbXSA9PiBbXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3Byb2ZpbGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIucHJvZmlsZScpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVzb2x2ZToge1xyXG4gICAgICAgICAgICBkZXRhaWw6ICgpID0+XHJcbiAgICAgICAgICAgICAgICBpbmplY3QoRGF0YVNlcnZpY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KEdldFByb2ZpbGVEZXRhaWxEb2N1bWVudClcclxuICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gKHsgZW50aXR5OiBvZihkYXRhLmFjdGl2ZUFkbWluaXN0cmF0b3IpIH0pKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdwcm9maWxlJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdhZG1pbmlzdHJhdG9ycycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ2FkbWluaXN0cmF0b3ItbGlzdCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIuYWRtaW5pc3RyYXRvcnMnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdhZG1pbmlzdHJhdG9yLWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ2FkbWluaXN0cmF0b3JzLzppZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ2FkbWluaXN0cmF0b3ItZGV0YWlsJyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5hZG1pbmlzdHJhdG9ycycpLCBsaW5rOiBbJy4uLycsICdhZG1pbmlzdHJhdG9ycyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnYWRtaW5pc3RyYXRvci1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ2NoYW5uZWxzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5jaGFubmVscycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ2NoYW5uZWwtbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnY2hhbm5lbHMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5jaGFubmVscycpLCBsaW5rOiBbJy4uLycsICdjaGFubmVscyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnY2hhbm5lbC1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3NlbGxlcnMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdzZWxsZXItbGlzdCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIuc2VsbGVycycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3NlbGxlci1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdzZWxsZXJzLzppZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3NlbGxlci1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5zZWxsZXJzJyksIGxpbms6IFsnLi4vJywgJ3NlbGxlcnMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3NlbGxlci1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3JvbGVzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAncm9sZS1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5yb2xlcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3JvbGUtbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAncm9sZXMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAncm9sZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLnJvbGVzJyksIGxpbms6IFsnLi4vJywgJ3JvbGVzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdyb2xlLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAndGF4LWNhdGVnb3JpZXMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICd0YXgtY2F0ZWdvcnktbGlzdCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIudGF4LWNhdGVnb3JpZXMnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCd0YXgtY2F0ZWdvcnktbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAndGF4LWNhdGVnb3JpZXMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAndGF4LWNhdGVnb3J5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIudGF4LWNhdGVnb3JpZXMnKSwgbGluazogWycuLi8nLCAndGF4LWNhdGVnb3JpZXMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3RheC1jYXRlZ29yeS1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3RheC1yYXRlcycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3RheC1yYXRlLWxpc3QnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBfKCdicmVhZGNydW1iLnRheC1yYXRlcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3RheC1yYXRlLWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3RheC1yYXRlcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICd0YXgtcmF0ZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLnRheC1yYXRlcycpLCBsaW5rOiBbJy4uLycsICd0YXgtcmF0ZXMnXSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3RheC1yYXRlLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnY291bnRyaWVzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnY291bnRyeS1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5jb3VudHJpZXMnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdjb3VudHJ5LWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ2NvdW50cmllcy86aWQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdjb3VudHJ5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIuY291bnRyaWVzJyksIGxpbms6IFsnLi4vJywgJ2NvdW50cmllcyddIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnY291bnRyeS1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3pvbmVzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnem9uZS1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi56b25lcycpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2hpbGRyZW46IHBhZ2VTZXJ2aWNlLmdldFBhZ2VUYWJSb3V0ZXMoJ3pvbmUtbGlzdCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnem9uZXMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnem9uZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICBicmVhZGNydW1iOiB7IGxhYmVsOiBfKCdicmVhZGNydW1iLnpvbmVzJyksIGxpbms6IFsnLi4vJywgJ3pvbmVzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCd6b25lLWRldGFpbCcpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwYXRoOiAnc2hpcHBpbmctbWV0aG9kcycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ3NoaXBwaW5nLW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5zaGlwcGluZy1tZXRob2RzJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnc2hpcHBpbmctbWV0aG9kLWxpc3QnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3NoaXBwaW5nLW1ldGhvZHMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAnc2hpcHBpbmctbWV0aG9kLWRldGFpbCcsXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHsgbGFiZWw6IF8oJ2JyZWFkY3J1bWIuc2hpcHBpbmctbWV0aG9kcycpLCBsaW5rOiBbJy4uLycsICdzaGlwcGluZy1tZXRob2RzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdzaGlwcGluZy1tZXRob2QtZGV0YWlsJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdwYXltZW50LW1ldGhvZHMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6ICdwYXltZW50LW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5wYXltZW50LW1ldGhvZHMnKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdwYXltZW50LW1ldGhvZC1saXN0JyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdwYXltZW50LW1ldGhvZHMvOmlkJyxcclxuICAgICAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBsb2NhdGlvbklkOiAncGF5bWVudC1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogeyBsYWJlbDogXygnYnJlYWRjcnVtYi5wYXltZW50LW1ldGhvZHMnKSwgbGluazogWycuLi8nLCAncGF5bWVudC1tZXRob2RzJ10gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNoaWxkcmVuOiBwYWdlU2VydmljZS5nZXRQYWdlVGFiUm91dGVzKCdwYXltZW50LW1ldGhvZC1kZXRhaWwnKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ2dsb2JhbC1zZXR0aW5ncycsXHJcbiAgICAgICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogXygnYnJlYWRjcnVtYi5nbG9iYWwtc2V0dGluZ3MnKSxcclxuICAgICAgICAgICAgbG9jYXRpb25JZDogJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICByZXNvbHZlOiB7XHJcbiAgICAgICAgICAgIGRldGFpbDogKCkgPT5cclxuICAgICAgICAgICAgICAgIGluamVjdChEYXRhU2VydmljZSlcclxuICAgICAgICAgICAgICAgICAgICAucXVlcnkoR2V0R2xvYmFsU2V0dGluZ3NEZXRhaWxEb2N1bWVudClcclxuICAgICAgICAgICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gKHsgZW50aXR5OiBvZihkYXRhLmdsb2JhbFNldHRpbmdzKSB9KSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjaGlsZHJlbjogcGFnZVNlcnZpY2UuZ2V0UGFnZVRhYlJvdXRlcygnZ2xvYmFsLXNldHRpbmctZGV0YWlsJyksXHJcbiAgICB9LFxyXG5dO1xyXG4iXX0=