@vendure/admin-ui 1.7.4 → 1.8.1

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 (228) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +902 -74
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2392 -820
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +4 -3
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-dashboard.umd.js +3 -1
  8. package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +781 -175
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +5 -4
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/bundles/vendure-admin-ui-system.umd.js +1 -1
  14. package/catalog/catalog.module.d.ts +3 -0
  15. package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +17 -0
  16. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +38 -0
  17. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  18. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  19. package/catalog/components/collection-list/collection-list.component.d.ts +7 -5
  20. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +8 -4
  21. package/catalog/components/collection-tree/collection-tree.component.d.ts +2 -1
  22. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  23. package/catalog/components/facet-list/facet-list.component.d.ts +2 -1
  24. package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  25. package/catalog/components/product-list/product-list.component.d.ts +2 -1
  26. package/catalog/public_api.d.ts +6 -0
  27. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  28. package/core/common/component-registry-types.d.ts +1 -1
  29. package/core/common/generated-types.d.ts +609 -3
  30. package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  31. package/core/common/utilities/selection-manager.d.ts +7 -0
  32. package/core/common/version.d.ts +1 -1
  33. package/core/data/definitions/collection-definitions.d.ts +3 -0
  34. package/core/data/definitions/facet-definitions.d.ts +3 -0
  35. package/core/data/definitions/order-definitions.d.ts +12 -0
  36. package/core/data/definitions/product-definitions.d.ts +1 -0
  37. package/core/data/providers/collection-data.service.d.ts +4 -1
  38. package/core/data/providers/facet-data.service.d.ts +4 -1
  39. package/core/data/providers/order-data.service.d.ts +18 -1
  40. package/core/data/providers/product-data.service.d.ts +1 -0
  41. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +6 -0
  42. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  43. package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  44. package/core/providers/modal/modal.service.d.ts +2 -0
  45. package/core/providers/nav-builder/nav-builder-types.d.ts +1 -0
  46. package/core/public_api.d.ts +18 -1
  47. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +3 -3
  48. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +29 -0
  49. package/core/shared/components/data-table/data-table.component.d.ts +26 -7
  50. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +1 -0
  51. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +21 -0
  52. package/core/shared/components/radio-card/radio-card.component.d.ts +19 -0
  53. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +28 -0
  54. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +31 -0
  55. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  56. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
  57. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
  58. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
  59. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  60. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  61. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  62. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
  63. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  64. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  65. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
  66. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
  67. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +18 -0
  68. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +27 -0
  70. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +19 -0
  71. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
  72. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
  73. package/core/vendure-admin-ui-core.metadata.json +1 -1
  74. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +11 -4
  75. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  76. package/esm2015/catalog/catalog.module.js +25 -2
  77. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +4 -1
  78. package/esm2015/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.js +51 -0
  79. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +89 -0
  80. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.js +69 -0
  81. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -3
  82. package/esm2015/catalog/components/collection-list/collection-list-bulk-actions.js +147 -0
  83. package/esm2015/catalog/components/collection-list/collection-list.component.js +17 -8
  84. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +16 -7
  85. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +3 -2
  86. package/esm2015/catalog/components/facet-list/facet-list-bulk-actions.js +208 -0
  87. package/esm2015/catalog/components/facet-list/facet-list.component.js +13 -4
  88. package/esm2015/catalog/components/product-detail/product-detail.component.js +35 -23
  89. package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +173 -0
  90. package/esm2015/catalog/components/product-list/product-list.component.js +10 -5
  91. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +2 -2
  92. package/esm2015/catalog/providers/routing/collection-resolver.js +2 -1
  93. package/esm2015/catalog/public_api.js +7 -1
  94. package/esm2015/core/common/component-registry-types.js +1 -1
  95. package/esm2015/core/common/generated-types.js +5 -1
  96. package/esm2015/core/common/introspection-result.js +296 -191
  97. package/esm2015/core/common/utilities/bulk-action-utils.js +44 -0
  98. package/esm2015/core/common/utilities/selection-manager.js +33 -1
  99. package/esm2015/core/common/version.js +2 -2
  100. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +1 -1
  101. package/esm2015/core/data/definitions/collection-definitions.js +30 -1
  102. package/esm2015/core/data/definitions/facet-definitions.js +31 -1
  103. package/esm2015/core/data/definitions/order-definitions.js +114 -1
  104. package/esm2015/core/data/definitions/product-definitions.js +15 -1
  105. package/esm2015/core/data/providers/collection-data.service.js +17 -2
  106. package/esm2015/core/data/providers/customer-data.service.js +8 -4
  107. package/esm2015/core/data/providers/facet-data.service.js +18 -2
  108. package/esm2015/core/data/providers/order-data.service.js +38 -2
  109. package/esm2015/core/data/providers/product-data.service.js +7 -2
  110. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +5 -1
  111. package/esm2015/core/providers/bulk-action-registry/bulk-action-registry.service.js +27 -0
  112. package/esm2015/core/providers/bulk-action-registry/bulk-action-types.js +2 -0
  113. package/esm2015/core/providers/bulk-action-registry/register-bulk-action.js +63 -0
  114. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +1 -4
  115. package/esm2015/core/providers/modal/modal.service.js +2 -1
  116. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  117. package/esm2015/core/public_api.js +19 -2
  118. package/esm2015/core/shared/components/action-bar/action-bar.component.js +4 -8
  119. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
  120. package/esm2015/core/shared/components/bulk-action-menu/bulk-action-menu.component.js +99 -0
  121. package/esm2015/core/shared/components/data-table/data-table.component.js +64 -15
  122. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +4 -3
  123. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +2 -2
  124. package/esm2015/core/shared/components/language-selector/language-selector.component.js +2 -2
  125. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +2 -1
  126. package/esm2015/core/shared/components/product-search-input/product-search-input.component.js +1 -1
  127. package/esm2015/core/shared/components/product-selector/product-selector.component.js +1 -1
  128. package/esm2015/core/shared/components/radio-card/radio-card-fieldset.component.js +57 -0
  129. package/esm2015/core/shared/components/radio-card/radio-card.component.js +54 -0
  130. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +2 -2
  131. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.js +140 -0
  132. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.js +45 -0
  133. package/esm2015/core/shared/components/rich-text-editor/prosemirror/custom-nodes.js +60 -0
  134. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js +4 -4
  135. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js +23 -1
  136. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.js +12 -0
  137. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js +73 -18
  138. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.js +16 -0
  139. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.js +100 -0
  140. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.js +97 -0
  141. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.js +166 -0
  142. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +47 -17
  143. package/esm2015/core/shared/components/rich-text-editor/prosemirror/types.js +1 -1
  144. package/esm2015/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.js +57 -0
  145. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +20 -9
  146. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +2 -2
  147. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.js +59 -0
  148. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.js +66 -0
  149. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +47 -84
  150. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +3 -3
  151. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +3 -1
  152. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +2 -1
  153. package/esm2015/core/shared/shared.module.js +13 -1
  154. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +2 -2
  155. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +6 -6
  156. package/esm2015/customer/components/customer-list/customer-list.component.js +2 -2
  157. package/esm2015/dashboard/dashboard.module.js +6 -2
  158. package/esm2015/order/components/coupon-code-selector/coupon-code-selector.component.js +42 -0
  159. package/esm2015/order/components/draft-order-detail/draft-order-detail.component.js +195 -0
  160. package/esm2015/order/components/draft-order-variant-selector/draft-order-variant-selector.component.js +59 -0
  161. package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
  162. package/esm2015/order/components/order-editor/order-editor.component.js +5 -11
  163. package/esm2015/order/components/order-list/order-list.component.js +20 -4
  164. package/esm2015/order/components/order-table/order-table.component.js +16 -5
  165. package/esm2015/order/components/select-address-dialog/select-address-dialog.component.js +91 -0
  166. package/esm2015/order/components/select-address-dialog/select-address-dialog.graphql.js +14 -0
  167. package/esm2015/order/components/select-customer-dialog/select-customer-dialog.component.js +59 -0
  168. package/esm2015/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.js +30 -0
  169. package/esm2015/order/order.module.js +13 -1
  170. package/esm2015/order/order.routes.js +26 -7
  171. package/esm2015/order/providers/routing/order-resolver.js +29 -12
  172. package/esm2015/order/providers/routing/order.guard.js +41 -0
  173. package/esm2015/order/public_api.js +9 -1
  174. package/esm2015/settings/components/country-list/country-list.component.js +2 -2
  175. package/esm2015/settings/components/profile/profile.component.js +2 -2
  176. package/esm2015/settings/components/zone-list/zone-list.component.js +2 -2
  177. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +2 -2
  178. package/esm2015/system/components/health-check/health-check.component.js +1 -1
  179. package/fesm2015/vendure-admin-ui-catalog.js +835 -61
  180. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  181. package/fesm2015/vendure-admin-ui-core.js +3122 -1514
  182. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  183. package/fesm2015/vendure-admin-ui-customer.js +7 -7
  184. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  185. package/fesm2015/vendure-admin-ui-dashboard.js +5 -1
  186. package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -1
  187. package/fesm2015/vendure-admin-ui-order.js +780 -232
  188. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  189. package/fesm2015/vendure-admin-ui-settings.js +4 -4
  190. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  191. package/fesm2015/vendure-admin-ui-system.js +1 -1
  192. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +18 -0
  193. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +49 -0
  194. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +21 -0
  195. package/order/components/order-editor/order-editor.component.d.ts +1 -6
  196. package/order/components/order-list/order-list.component.d.ts +1 -0
  197. package/order/components/order-table/order-table.component.d.ts +11 -2
  198. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +24 -0
  199. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  200. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +22 -0
  201. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +16 -0
  202. package/order/providers/routing/order-resolver.d.ts +8 -5
  203. package/order/providers/routing/order.guard.d.ts +9 -0
  204. package/order/public_api.d.ts +8 -0
  205. package/order/vendure-admin-ui-order.metadata.json +1 -1
  206. package/package.json +13 -12
  207. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -1
  208. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  209. package/static/i18n-messages/cs.json +33 -0
  210. package/static/i18n-messages/de.json +33 -0
  211. package/static/i18n-messages/en.json +36 -4
  212. package/static/i18n-messages/es.json +33 -0
  213. package/static/i18n-messages/fr.json +33 -0
  214. package/static/i18n-messages/it.json +33 -0
  215. package/static/i18n-messages/pl.json +33 -0
  216. package/static/i18n-messages/pt_BR.json +33 -0
  217. package/static/i18n-messages/pt_PT.json +33 -0
  218. package/static/i18n-messages/ru.json +33 -0
  219. package/static/i18n-messages/uk.json +33 -0
  220. package/static/i18n-messages/zh_Hans.json +33 -0
  221. package/static/i18n-messages/zh_Hant.json +33 -0
  222. package/static/styles/global/_forms.scss +4 -2
  223. package/static/styles/global/_overrides.scss +1 -1
  224. package/static/styles/global/_utilities.scss +4 -0
  225. package/static/theme.min.css +1 -1
  226. package/system/vendure-admin-ui-system.metadata.json +1 -1
  227. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  228. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js +0 -36
@@ -1,6 +1,6 @@
1
1
  import { pick } from '@vendure/common/lib/pick';
2
2
  import { SortOrder, } from '../../common/generated-types';
3
- import { ADD_OPTION_GROUP_TO_PRODUCT, ADD_OPTION_TO_GROUP, ASSIGN_PRODUCTS_TO_CHANNEL, ASSIGN_VARIANTS_TO_CHANNEL, CREATE_ASSETS, CREATE_PRODUCT, CREATE_PRODUCT_OPTION_GROUP, CREATE_PRODUCT_VARIANTS, CREATE_TAG, DELETE_ASSETS, DELETE_PRODUCT, DELETE_PRODUCT_OPTION, DELETE_PRODUCT_VARIANT, DELETE_TAG, GET_ASSET, GET_ASSET_LIST, GET_PRODUCT_LIST, GET_PRODUCT_OPTION_GROUP, GET_PRODUCT_OPTION_GROUPS, GET_PRODUCT_SIMPLE, GET_PRODUCT_VARIANT, GET_PRODUCT_VARIANT_LIST, GET_PRODUCT_VARIANT_LIST_SIMPLE, GET_PRODUCT_VARIANT_OPTIONS, GET_PRODUCT_WITH_VARIANTS, GET_TAG, GET_TAG_LIST, PRODUCT_SELECTOR_SEARCH, REMOVE_OPTION_GROUP_FROM_PRODUCT, REMOVE_PRODUCTS_FROM_CHANNEL, REMOVE_VARIANTS_FROM_CHANNEL, SEARCH_PRODUCTS, UPDATE_ASSET, UPDATE_PRODUCT, UPDATE_PRODUCT_OPTION, UPDATE_PRODUCT_OPTION_GROUP, UPDATE_PRODUCT_VARIANTS, UPDATE_TAG, } from '../definitions/product-definitions';
3
+ import { ADD_OPTION_GROUP_TO_PRODUCT, ADD_OPTION_TO_GROUP, ASSIGN_PRODUCTS_TO_CHANNEL, ASSIGN_VARIANTS_TO_CHANNEL, CREATE_ASSETS, CREATE_PRODUCT, CREATE_PRODUCT_OPTION_GROUP, CREATE_PRODUCT_VARIANTS, CREATE_TAG, DELETE_ASSETS, DELETE_PRODUCT, DELETE_PRODUCT_OPTION, DELETE_PRODUCT_VARIANT, DELETE_PRODUCTS, DELETE_TAG, GET_ASSET, GET_ASSET_LIST, GET_PRODUCT_LIST, GET_PRODUCT_OPTION_GROUP, GET_PRODUCT_OPTION_GROUPS, GET_PRODUCT_SIMPLE, GET_PRODUCT_VARIANT, GET_PRODUCT_VARIANT_LIST, GET_PRODUCT_VARIANT_LIST_SIMPLE, GET_PRODUCT_VARIANT_OPTIONS, GET_PRODUCT_WITH_VARIANTS, GET_TAG, GET_TAG_LIST, PRODUCT_SELECTOR_SEARCH, REMOVE_OPTION_GROUP_FROM_PRODUCT, REMOVE_PRODUCTS_FROM_CHANNEL, REMOVE_VARIANTS_FROM_CHANNEL, SEARCH_PRODUCTS, UPDATE_ASSET, UPDATE_PRODUCT, UPDATE_PRODUCT_OPTION, UPDATE_PRODUCT_OPTION_GROUP, UPDATE_PRODUCT_VARIANTS, UPDATE_TAG, } from '../definitions/product-definitions';
4
4
  import { GET_PENDING_SEARCH_INDEX_UPDATES, REINDEX, RUN_PENDING_SEARCH_INDEX_UPDATES, } from '../definitions/settings-definitions';
5
5
  export class ProductDataService {
6
6
  constructor(baseDataService) {
@@ -98,6 +98,11 @@ export class ProductDataService {
98
98
  id,
99
99
  });
100
100
  }
101
+ deleteProducts(ids) {
102
+ return this.baseDataService.mutate(DELETE_PRODUCTS, {
103
+ ids,
104
+ });
105
+ }
101
106
  createProductVariants(input) {
102
107
  return this.baseDataService.mutate(CREATE_PRODUCT_VARIANTS, {
103
108
  input,
@@ -232,4 +237,4 @@ export class ProductDataService {
232
237
  return this.baseDataService.mutate(DELETE_TAG, { id });
233
238
  }
234
239
  }
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL3Byb2R1Y3QtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBK0NILFNBQVMsR0FjWixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsYUFBYSxFQUNiLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDVixhQUFhLEVBQ2IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLFNBQVMsRUFDVCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIsT0FBTyxFQUNQLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsZ0NBQWdDLEVBQ2hDLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsZUFBZSxFQUNmLFlBQVksRUFDWixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsVUFBVSxHQUNiLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxPQUFPLEVBQ1AsZ0NBQWdDLEdBQ25DLE1BQU0scUNBQXFDLENBQUM7QUFJN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELGNBQWMs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LGVBQWUsQ0FBQyxNQUFNLENBQTBDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQTBDLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QsXHJcbiAgICBBZGRPcHRpb25Ub0dyb3VwLFxyXG4gICAgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwsXHJcbiAgICBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbElucHV0LFxyXG4gICAgQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQsXHJcbiAgICBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbCxcclxuICAgIENyZWF0ZUFzc2V0cyxcclxuICAgIENyZWF0ZVByb2R1Y3QsXHJcbiAgICBDcmVhdGVQcm9kdWN0SW5wdXQsXHJcbiAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAsXHJcbiAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCxcclxuICAgIENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCxcclxuICAgIENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQsXHJcbiAgICBDcmVhdGVQcm9kdWN0VmFyaWFudHMsXHJcbiAgICBDcmVhdGVUYWcsXHJcbiAgICBDcmVhdGVUYWdJbnB1dCxcclxuICAgIERlbGV0ZUFzc2V0cyxcclxuICAgIERlbGV0ZVByb2R1Y3QsXHJcbiAgICBEZWxldGVQcm9kdWN0T3B0aW9uLFxyXG4gICAgRGVsZXRlUHJvZHVjdFZhcmlhbnQsXHJcbiAgICBEZWxldGVUYWcsXHJcbiAgICBHZXRBc3NldCxcclxuICAgIEdldEFzc2V0TGlzdCxcclxuICAgIEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMsXHJcbiAgICBHZXRQcm9kdWN0TGlzdCxcclxuICAgIEdldFByb2R1Y3RPcHRpb25Hcm91cCxcclxuICAgIEdldFByb2R1Y3RPcHRpb25Hcm91cHMsXHJcbiAgICBHZXRQcm9kdWN0U2ltcGxlLFxyXG4gICAgR2V0UHJvZHVjdFZhcmlhbnQsXHJcbiAgICBHZXRQcm9kdWN0VmFyaWFudExpc3QsXHJcbiAgICBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGUsXHJcbiAgICBHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnMsXHJcbiAgICBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzLFxyXG4gICAgR2V0VGFnLFxyXG4gICAgR2V0VGFnTGlzdCxcclxuICAgIFByb2R1Y3RMaXN0T3B0aW9ucyxcclxuICAgIFByb2R1Y3RTZWxlY3RvclNlYXJjaCxcclxuICAgIFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsXHJcbiAgICBSZWluZGV4LFxyXG4gICAgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCxcclxuICAgIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWwsXHJcbiAgICBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQsXHJcbiAgICBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0LFxyXG4gICAgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbCxcclxuICAgIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMsXHJcbiAgICBTZWFyY2hQcm9kdWN0cyxcclxuICAgIFNvcnRPcmRlcixcclxuICAgIFRhZ0xpc3RPcHRpb25zLFxyXG4gICAgVXBkYXRlQXNzZXQsXHJcbiAgICBVcGRhdGVBc3NldElucHV0LFxyXG4gICAgVXBkYXRlUHJvZHVjdCxcclxuICAgIFVwZGF0ZVByb2R1Y3RJbnB1dCxcclxuICAgIFVwZGF0ZVByb2R1Y3RPcHRpb24sXHJcbiAgICBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAsXHJcbiAgICBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCxcclxuICAgIFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dCxcclxuICAgIFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQsXHJcbiAgICBVcGRhdGVQcm9kdWN0VmFyaWFudHMsXHJcbiAgICBVcGRhdGVUYWcsXHJcbiAgICBVcGRhdGVUYWdJbnB1dCxcclxufSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHtcclxuICAgIEFERF9PUFRJT05fR1JPVVBfVE9fUFJPRFVDVCxcclxuICAgIEFERF9PUFRJT05fVE9fR1JPVVAsXHJcbiAgICBBU1NJR05fUFJPRFVDVFNfVE9fQ0hBTk5FTCxcclxuICAgIEFTU0lHTl9WQVJJQU5UU19UT19DSEFOTkVMLFxyXG4gICAgQ1JFQVRFX0FTU0VUUyxcclxuICAgIENSRUFURV9QUk9EVUNULFxyXG4gICAgQ1JFQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLFxyXG4gICAgQ1JFQVRFX1BST0RVQ1RfVkFSSUFOVFMsXHJcbiAgICBDUkVBVEVfVEFHLFxyXG4gICAgREVMRVRFX0FTU0VUUyxcclxuICAgIERFTEVURV9QUk9EVUNULFxyXG4gICAgREVMRVRFX1BST0RVQ1RfT1BUSU9OLFxyXG4gICAgREVMRVRFX1BST0RVQ1RfVkFSSUFOVCxcclxuICAgIERFTEVURV9UQUcsXHJcbiAgICBHRVRfQVNTRVQsXHJcbiAgICBHRVRfQVNTRVRfTElTVCxcclxuICAgIEdFVF9QUk9EVUNUX0xJU1QsXHJcbiAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVAsXHJcbiAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVBTLFxyXG4gICAgR0VUX1BST0RVQ1RfU0lNUExFLFxyXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVCxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVCxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9TSU1QTEUsXHJcbiAgICBHRVRfUFJPRFVDVF9WQVJJQU5UX09QVElPTlMsXHJcbiAgICBHRVRfUFJPRFVDVF9XSVRIX1ZBUklBTlRTLFxyXG4gICAgR0VUX1RBRyxcclxuICAgIEdFVF9UQUdfTElTVCxcclxuICAgIFBST0RVQ1RfU0VMRUNUT1JfU0VBUkNILFxyXG4gICAgUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsXHJcbiAgICBSRU1PVkVfUFJPRFVDVFNfRlJPTV9DSEFOTkVMLFxyXG4gICAgUkVNT1ZFX1ZBUklBTlRTX0ZST01fQ0hBTk5FTCxcclxuICAgIFNFQVJDSF9QUk9EVUNUUyxcclxuICAgIFVQREFURV9BU1NFVCxcclxuICAgIFVQREFURV9QUk9EVUNULFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OLFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfVkFSSUFOVFMsXHJcbiAgICBVUERBVEVfVEFHLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL3Byb2R1Y3QtZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgR0VUX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbiAgICBSRUlOREVYLFxyXG4gICAgUlVOX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvc2V0dGluZ3MtZGVmaW5pdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWRhdGEuc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdERhdGFTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZURhdGFTZXJ2aWNlOiBCYXNlRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgc2VhcmNoUHJvZHVjdHModGVybTogc3RyaW5nLCB0YWtlOiBudW1iZXIgPSAxMCwgc2tpcDogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxTZWFyY2hQcm9kdWN0cy5RdWVyeSwgU2VhcmNoUHJvZHVjdHMuVmFyaWFibGVzPihTRUFSQ0hfUFJPRFVDVFMsIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgICAgICAgIHRlcm0sXHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgc2tpcCxcclxuICAgICAgICAgICAgICAgIGdyb3VwQnlQcm9kdWN0OiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb2R1Y3RTZWxlY3RvclNlYXJjaCh0ZXJtOiBzdHJpbmcsIHRha2U6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxQcm9kdWN0U2VsZWN0b3JTZWFyY2guUXVlcnksIFByb2R1Y3RTZWxlY3RvclNlYXJjaC5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBQUk9EVUNUX1NFTEVDVE9SX1NFQVJDSCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgIHRlcm0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZWluZGV4KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8UmVpbmRleC5NdXRhdGlvbj4oUkVJTkRFWCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcy5RdWVyeT4oXHJcbiAgICAgICAgICAgIEdFVF9QRU5ESU5HX1NFQVJDSF9JTkRFWF9VUERBVEVTLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMuTXV0YXRpb24+KFxyXG4gICAgICAgICAgICBSVU5fUEVORElOR19TRUFSQ0hfSU5ERVhfVVBEQVRFUyxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RzKG9wdGlvbnM6IFByb2R1Y3RMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0TGlzdC5RdWVyeSwgR2V0UHJvZHVjdExpc3QuVmFyaWFibGVzPihHRVRfUFJPRFVDVF9MSVNULCB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdChpZDogc3RyaW5nLCB2YXJpYW50TGlzdE9wdGlvbnM/OiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFByb2R1Y3RXaXRoVmFyaWFudHMuUXVlcnksIEdldFByb2R1Y3RXaXRoVmFyaWFudHMuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX1BST0RVQ1RfV0lUSF9WQVJJQU5UUyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICB2YXJpYW50TGlzdE9wdGlvbnMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0U2ltcGxlKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdFNpbXBsZS5RdWVyeSwgR2V0UHJvZHVjdFNpbXBsZS5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfUFJPRFVDVF9TSU1QTEUsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnRzU2ltcGxlKG9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsIHByb2R1Y3RJZD86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlLlF1ZXJ5LFxyXG4gICAgICAgICAgICBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGUuVmFyaWFibGVzXHJcbiAgICAgICAgPihHRVRfUFJPRFVDVF9WQVJJQU5UX0xJU1RfU0lNUExFLCB7IG9wdGlvbnMsIHByb2R1Y3RJZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0VmFyaWFudHMob3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucywgcHJvZHVjdElkPzogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFByb2R1Y3RWYXJpYW50TGlzdC5RdWVyeSwgR2V0UHJvZHVjdFZhcmlhbnRMaXN0LlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVCxcclxuICAgICAgICAgICAgeyBvcHRpb25zLCBwcm9kdWN0SWQgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RWYXJpYW50KGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdFZhcmlhbnQuUXVlcnksIEdldFByb2R1Y3RWYXJpYW50LlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX1ZBUklBTlQsXHJcbiAgICAgICAgICAgIHsgaWQgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RWYXJpYW50c09wdGlvbnMoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnMuUXVlcnksIEdldFByb2R1Y3RWYXJpYW50T3B0aW9ucy5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfUFJPRFVDVF9WQVJJQU5UX09QVElPTlMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdE9wdGlvbkdyb3VwKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdE9wdGlvbkdyb3VwLlF1ZXJ5LCBHZXRQcm9kdWN0T3B0aW9uR3JvdXAuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVByb2R1Y3QocHJvZHVjdDogQ3JlYXRlUHJvZHVjdElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENyZWF0ZVByb2R1Y3QuVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhwcm9kdWN0LCBbXHJcbiAgICAgICAgICAgICAgICAnZW5hYmxlZCcsXHJcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcclxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgJ2Fzc2V0SWRzJyxcclxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxyXG4gICAgICAgICAgICAgICAgJ2ZhY2V0VmFsdWVJZHMnLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q3JlYXRlUHJvZHVjdC5NdXRhdGlvbiwgQ3JlYXRlUHJvZHVjdC5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBDUkVBVEVfUFJPRFVDVCxcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVQcm9kdWN0KHByb2R1Y3Q6IFVwZGF0ZVByb2R1Y3RJbnB1dCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0OiBVcGRhdGVQcm9kdWN0LlZhcmlhYmxlcyA9IHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2socHJvZHVjdCwgW1xyXG4gICAgICAgICAgICAgICAgJ2lkJyxcclxuICAgICAgICAgICAgICAgICdlbmFibGVkJyxcclxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXHJcbiAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxyXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXHJcbiAgICAgICAgICAgICAgICAnZmFjZXRWYWx1ZUlkcycsXHJcbiAgICAgICAgICAgIF0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxVcGRhdGVQcm9kdWN0Lk11dGF0aW9uLCBVcGRhdGVQcm9kdWN0LlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFVQREFURV9QUk9EVUNULFxyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVByb2R1Y3QoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlUHJvZHVjdC5NdXRhdGlvbiwgRGVsZXRlUHJvZHVjdC5WYXJpYWJsZXM+KERFTEVURV9QUk9EVUNULCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVByb2R1Y3RWYXJpYW50cyhpbnB1dDogQ3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dFtdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDcmVhdGVQcm9kdWN0VmFyaWFudHMuTXV0YXRpb24sIENyZWF0ZVByb2R1Y3RWYXJpYW50cy5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBDUkVBVEVfUFJPRFVDVF9WQVJJQU5UUyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVQcm9kdWN0VmFyaWFudHModmFyaWFudHM6IFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXRbXSkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0OiBVcGRhdGVQcm9kdWN0VmFyaWFudHMuVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogdmFyaWFudHMubWFwKFxyXG4gICAgICAgICAgICAgICAgcGljayhbXHJcbiAgICAgICAgICAgICAgICAgICAgJ2lkJyxcclxuICAgICAgICAgICAgICAgICAgICAnZW5hYmxlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0aW9ucycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3NrdScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3ByaWNlJyxcclxuICAgICAgICAgICAgICAgICAgICAndGF4Q2F0ZWdvcnlJZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2ZhY2V0VmFsdWVJZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYWNrSW52ZW50b3J5JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3V0T2ZTdG9ja1RocmVzaG9sZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3VzZUdsb2JhbE91dE9mU3RvY2tUaHJlc2hvbGQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdG9ja09uSGFuZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXHJcbiAgICAgICAgICAgICAgICBdKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8VXBkYXRlUHJvZHVjdFZhcmlhbnRzLk11dGF0aW9uLCBVcGRhdGVQcm9kdWN0VmFyaWFudHMuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgVVBEQVRFX1BST0RVQ1RfVkFSSUFOVFMsXHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlUHJvZHVjdFZhcmlhbnQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlUHJvZHVjdFZhcmlhbnQuTXV0YXRpb24sIERlbGV0ZVByb2R1Y3RWYXJpYW50LlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIERFTEVURV9QUk9EVUNUX1ZBUklBTlQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3Vwcyhwcm9kdWN0T3B0aW9uR3JvdXA6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cC5WYXJpYWJsZXMgPSB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwcm9kdWN0T3B0aW9uR3JvdXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cC5WYXJpYWJsZXNcclxuICAgICAgICA+KENSRUFURV9QUk9EVUNUX09QVElPTl9HUk9VUCwgaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0KHZhcmlhYmxlczogQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QuVmFyaWFibGVzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0LlZhcmlhYmxlc1xyXG4gICAgICAgID4oQUREX09QVElPTl9HUk9VUF9UT19QUk9EVUNULCB2YXJpYWJsZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZE9wdGlvblRvR3JvdXAoaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8QWRkT3B0aW9uVG9Hcm91cC5NdXRhdGlvbiwgQWRkT3B0aW9uVG9Hcm91cC5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBBRERfT1BUSU9OX1RPX0dST1VQLFxyXG4gICAgICAgICAgICB7IGlucHV0IH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVQcm9kdWN0T3B0aW9uKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPERlbGV0ZVByb2R1Y3RPcHRpb24uTXV0YXRpb24sIERlbGV0ZVByb2R1Y3RPcHRpb24uVmFyaWFibGVzPihcclxuICAgICAgICAgICAgREVMRVRFX1BST0RVQ1RfT1BUSU9OLFxyXG4gICAgICAgICAgICB7IGlkIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0KHZhcmlhYmxlczogUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdC5WYXJpYWJsZXMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0Lk11dGF0aW9uLFxyXG4gICAgICAgICAgICBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0LlZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsIHZhcmlhYmxlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbihpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxVcGRhdGVQcm9kdWN0T3B0aW9uLk11dGF0aW9uLCBVcGRhdGVQcm9kdWN0T3B0aW9uLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFVQREFURV9QUk9EVUNUX09QVElPTixcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFsnaWQnLCAnY29kZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKGlucHV0OiBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cC5NdXRhdGlvbixcclxuICAgICAgICAgICAgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwLlZhcmlhYmxlc1xyXG4gICAgICAgID4oVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbJ2lkJywgJ2NvZGUnLCAndHJhbnNsYXRpb25zJywgJ2N1c3RvbUZpZWxkcyddKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0T3B0aW9uR3JvdXBzKGZpbHRlclRlcm0/OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdE9wdGlvbkdyb3Vwcy5RdWVyeSwgR2V0UHJvZHVjdE9wdGlvbkdyb3Vwcy5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVBTLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJUZXJtLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXNzZXRMaXN0KHRha2U6IG51bWJlciA9IDEwLCBza2lwOiBudW1iZXIgPSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldEFzc2V0TGlzdC5RdWVyeSwgR2V0QXNzZXRMaXN0LlZhcmlhYmxlcz4oR0VUX0FTU0VUX0xJU1QsIHtcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgc2tpcCxcclxuICAgICAgICAgICAgICAgIHRha2UsXHJcbiAgICAgICAgICAgICAgICBzb3J0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBTb3J0T3JkZXIuREVTQyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXNzZXQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRBc3NldC5RdWVyeSwgR2V0QXNzZXQuVmFyaWFibGVzPihHRVRfQVNTRVQsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlQXNzZXRzKGZpbGVzOiBGaWxlW10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENyZWF0ZUFzc2V0cy5NdXRhdGlvbiwgQ3JlYXRlQXNzZXRzLlZhcmlhYmxlcz4oQ1JFQVRFX0FTU0VUUywge1xyXG4gICAgICAgICAgICBpbnB1dDogZmlsZXMubWFwKGZpbGUgPT4gKHsgZmlsZSB9KSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQXNzZXQoaW5wdXQ6IFVwZGF0ZUFzc2V0SW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFVwZGF0ZUFzc2V0Lk11dGF0aW9uLCBVcGRhdGVBc3NldC5WYXJpYWJsZXM+KFVQREFURV9BU1NFVCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVBc3NldHMoaWRzOiBzdHJpbmdbXSwgZm9yY2U6IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPERlbGV0ZUFzc2V0cy5NdXRhdGlvbiwgRGVsZXRlQXNzZXRzLlZhcmlhYmxlcz4oREVMRVRFX0FTU0VUUywge1xyXG4gICAgICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgICAgICAgYXNzZXRJZHM6IGlkcyxcclxuICAgICAgICAgICAgICAgIGZvcmNlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsKGlucHV0OiBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsLlZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX1BST0RVQ1RTX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbChpbnB1dDogUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbC5NdXRhdGlvbixcclxuICAgICAgICAgICAgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbC5WYXJpYWJsZXNcclxuICAgICAgICA+KFJFTU9WRV9QUk9EVUNUU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduVmFyaWFudHNUb0NoYW5uZWwoaW5wdXQ6IEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQXNzaWduVmFyaWFudHNUb0NoYW5uZWwuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsLlZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX1ZBUklBTlRTX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbChpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWwuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWwuVmFyaWFibGVzXHJcbiAgICAgICAgPihSRU1PVkVfVkFSSUFOVFNfRlJPTV9DSEFOTkVMLCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRhZyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFRhZy5RdWVyeSwgR2V0VGFnLlZhcmlhYmxlcz4oR0VUX1RBRywgeyBpZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUYWdMaXN0KG9wdGlvbnM/OiBUYWdMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRUYWdMaXN0LlF1ZXJ5LCBHZXRUYWdMaXN0LlZhcmlhYmxlcz4oR0VUX1RBR19MSVNULCB7IG9wdGlvbnMgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlVGFnKGlucHV0OiBDcmVhdGVUYWdJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q3JlYXRlVGFnLk11dGF0aW9uLCBDcmVhdGVUYWcuVmFyaWFibGVzPihDUkVBVEVfVEFHLCB7IGlucHV0IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVRhZyhpbnB1dDogVXBkYXRlVGFnSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFVwZGF0ZVRhZy5NdXRhdGlvbiwgVXBkYXRlVGFnLlZhcmlhYmxlcz4oVVBEQVRFX1RBRywgeyBpbnB1dCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVUYWcoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlVGFnLk11dGF0aW9uLCBEZWxldGVUYWcuVmFyaWFibGVzPihERUxFVEVfVEFHLCB7IGlkIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL3Byb2R1Y3QtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBZ0RILFNBQVMsR0FjWixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsYUFBYSxFQUNiLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDVixhQUFhLEVBQ2IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLE9BQU8sRUFDUCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGdDQUFnQyxFQUNoQyw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGVBQWUsRUFDZixZQUFZLEVBQ1osY0FBYyxFQUNkLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLFVBQVUsR0FDYixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsT0FBTyxFQUNQLGdDQUFnQyxHQUNuQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTdDLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJ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QUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBMEMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQTBDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQTBDLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QsXHJcbiAgICBBZGRPcHRpb25Ub0dyb3VwLFxyXG4gICAgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwsXHJcbiAgICBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbElucHV0LFxyXG4gICAgQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQsXHJcbiAgICBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbCxcclxuICAgIENyZWF0ZUFzc2V0cyxcclxuICAgIENyZWF0ZVByb2R1Y3QsXHJcbiAgICBDcmVhdGVQcm9kdWN0SW5wdXQsXHJcbiAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAsXHJcbiAgICBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCxcclxuICAgIENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCxcclxuICAgIENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQsXHJcbiAgICBDcmVhdGVQcm9kdWN0VmFyaWFudHMsXHJcbiAgICBDcmVhdGVUYWcsXHJcbiAgICBDcmVhdGVUYWdJbnB1dCxcclxuICAgIERlbGV0ZUFzc2V0cyxcclxuICAgIERlbGV0ZVByb2R1Y3QsXHJcbiAgICBEZWxldGVQcm9kdWN0T3B0aW9uLFxyXG4gICAgRGVsZXRlUHJvZHVjdHMsXHJcbiAgICBEZWxldGVQcm9kdWN0VmFyaWFudCxcclxuICAgIERlbGV0ZVRhZyxcclxuICAgIEdldEFzc2V0LFxyXG4gICAgR2V0QXNzZXRMaXN0LFxyXG4gICAgR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyxcclxuICAgIEdldFByb2R1Y3RMaXN0LFxyXG4gICAgR2V0UHJvZHVjdE9wdGlvbkdyb3VwLFxyXG4gICAgR2V0UHJvZHVjdE9wdGlvbkdyb3VwcyxcclxuICAgIEdldFByb2R1Y3RTaW1wbGUsXHJcbiAgICBHZXRQcm9kdWN0VmFyaWFudCxcclxuICAgIEdldFByb2R1Y3RWYXJpYW50TGlzdCxcclxuICAgIEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZSxcclxuICAgIEdldFByb2R1Y3RWYXJpYW50T3B0aW9ucyxcclxuICAgIEdldFByb2R1Y3RXaXRoVmFyaWFudHMsXHJcbiAgICBHZXRUYWcsXHJcbiAgICBHZXRUYWdMaXN0LFxyXG4gICAgUHJvZHVjdExpc3RPcHRpb25zLFxyXG4gICAgUHJvZHVjdFNlbGVjdG9yU2VhcmNoLFxyXG4gICAgUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucyxcclxuICAgIFJlaW5kZXgsXHJcbiAgICBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0LFxyXG4gICAgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCxcclxuICAgIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dCxcclxuICAgIFJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsSW5wdXQsXHJcbiAgICBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsLFxyXG4gICAgUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyxcclxuICAgIFNlYXJjaFByb2R1Y3RzLFxyXG4gICAgU29ydE9yZGVyLFxyXG4gICAgVGFnTGlzdE9wdGlvbnMsXHJcbiAgICBVcGRhdGVBc3NldCxcclxuICAgIFVwZGF0ZUFzc2V0SW5wdXQsXHJcbiAgICBVcGRhdGVQcm9kdWN0LFxyXG4gICAgVXBkYXRlUHJvZHVjdElucHV0LFxyXG4gICAgVXBkYXRlUHJvZHVjdE9wdGlvbixcclxuICAgIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cCxcclxuICAgIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0LFxyXG4gICAgVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0LFxyXG4gICAgVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dCxcclxuICAgIFVwZGF0ZVByb2R1Y3RWYXJpYW50cyxcclxuICAgIFVwZGF0ZVRhZyxcclxuICAgIFVwZGF0ZVRhZ0lucHV0LFxyXG59IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQUREX09QVElPTl9HUk9VUF9UT19QUk9EVUNULFxyXG4gICAgQUREX09QVElPTl9UT19HUk9VUCxcclxuICAgIEFTU0lHTl9QUk9EVUNUU19UT19DSEFOTkVMLFxyXG4gICAgQVNTSUdOX1ZBUklBTlRTX1RPX0NIQU5ORUwsXHJcbiAgICBDUkVBVEVfQVNTRVRTLFxyXG4gICAgQ1JFQVRFX1BST0RVQ1QsXHJcbiAgICBDUkVBVEVfUFJPRFVDVF9PUFRJT05fR1JPVVAsXHJcbiAgICBDUkVBVEVfUFJPRFVDVF9WQVJJQU5UUyxcclxuICAgIENSRUFURV9UQUcsXHJcbiAgICBERUxFVEVfQVNTRVRTLFxyXG4gICAgREVMRVRFX1BST0RVQ1QsXHJcbiAgICBERUxFVEVfUFJPRFVDVF9PUFRJT04sXHJcbiAgICBERUxFVEVfUFJPRFVDVF9WQVJJQU5ULFxyXG4gICAgREVMRVRFX1BST0RVQ1RTLFxyXG4gICAgREVMRVRFX1RBRyxcclxuICAgIEdFVF9BU1NFVCxcclxuICAgIEdFVF9BU1NFVF9MSVNULFxyXG4gICAgR0VUX1BST0RVQ1RfTElTVCxcclxuICAgIEdFVF9QUk9EVUNUX09QVElPTl9HUk9VUCxcclxuICAgIEdFVF9QUk9EVUNUX09QVElPTl9HUk9VUFMsXHJcbiAgICBHRVRfUFJPRFVDVF9TSU1QTEUsXHJcbiAgICBHRVRfUFJPRFVDVF9WQVJJQU5ULFxyXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNULFxyXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNUX1NJTVBMRSxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfT1BUSU9OUyxcclxuICAgIEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMsXHJcbiAgICBHRVRfVEFHLFxyXG4gICAgR0VUX1RBR19MSVNULFxyXG4gICAgUFJPRFVDVF9TRUxFQ1RPUl9TRUFSQ0gsXHJcbiAgICBSRU1PVkVfT1BUSU9OX0dST1VQX0ZST01fUFJPRFVDVCxcclxuICAgIFJFTU9WRV9QUk9EVUNUU19GUk9NX0NIQU5ORUwsXHJcbiAgICBSRU1PVkVfVkFSSUFOVFNfRlJPTV9DSEFOTkVMLFxyXG4gICAgU0VBUkNIX1BST0RVQ1RTLFxyXG4gICAgVVBEQVRFX0FTU0VULFxyXG4gICAgVVBEQVRFX1BST0RVQ1QsXHJcbiAgICBVUERBVEVfUFJPRFVDVF9PUFRJT04sXHJcbiAgICBVUERBVEVfUFJPRFVDVF9PUFRJT05fR1JPVVAsXHJcbiAgICBVUERBVEVfUFJPRFVDVF9WQVJJQU5UUyxcclxuICAgIFVQREFURV9UQUcsXHJcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvcHJvZHVjdC1kZWZpbml0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgICBHRVRfUEVORElOR19TRUFSQ0hfSU5ERVhfVVBEQVRFUyxcclxuICAgIFJFSU5ERVgsXHJcbiAgICBSVU5fUEVORElOR19TRUFSQ0hfSU5ERVhfVVBEQVRFUyxcclxufSBmcm9tICcuLi9kZWZpbml0aW9ucy9zZXR0aW5ncy1kZWZpbml0aW9ucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBzZWFyY2hQcm9kdWN0cyh0ZXJtOiBzdHJpbmcsIHRha2U6IG51bWJlciA9IDEwLCBza2lwOiBudW1iZXIgPSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFNlYXJjaFByb2R1Y3RzLlF1ZXJ5LCBTZWFyY2hQcm9kdWN0cy5WYXJpYWJsZXM+KFNFQVJDSF9QUk9EVUNUUywge1xyXG4gICAgICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgICAgICAgdGVybSxcclxuICAgICAgICAgICAgICAgIHRha2UsXHJcbiAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgZ3JvdXBCeVByb2R1Y3Q6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvZHVjdFNlbGVjdG9yU2VhcmNoKHRlcm06IHN0cmluZywgdGFrZTogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFByb2R1Y3RTZWxlY3RvclNlYXJjaC5RdWVyeSwgUHJvZHVjdFNlbGVjdG9yU2VhcmNoLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFBST0RVQ1RfU0VMRUNUT1JfU0VBUkNILFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgdGVybSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlaW5kZXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxSZWluZGV4Lk11dGF0aW9uPihSRUlOREVYKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzLlF1ZXJ5PihcclxuICAgICAgICAgICAgR0VUX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8UnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcy5NdXRhdGlvbj4oXHJcbiAgICAgICAgICAgIFJVTl9QRU5ESU5HX1NFQVJDSF9JTkRFWF9VUERBVEVTLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdHMob3B0aW9uczogUHJvZHVjdExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFByb2R1Y3RMaXN0LlF1ZXJ5LCBHZXRQcm9kdWN0TGlzdC5WYXJpYWJsZXM+KEdFVF9QUk9EVUNUX0xJU1QsIHtcclxuICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0KGlkOiBzdHJpbmcsIHZhcmlhbnRMaXN0T3B0aW9ucz86IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdFdpdGhWYXJpYW50cy5RdWVyeSwgR2V0UHJvZHVjdFdpdGhWYXJpYW50cy5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfUFJPRFVDVF9XSVRIX1ZBUklBTlRTLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICAgIHZhcmlhbnRMaXN0T3B0aW9ucyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RTaW1wbGUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0U2ltcGxlLlF1ZXJ5LCBHZXRQcm9kdWN0U2ltcGxlLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX1NJTVBMRSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0VmFyaWFudHNTaW1wbGUob3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucywgcHJvZHVjdElkPzogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGUuUXVlcnksXHJcbiAgICAgICAgICAgIEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZS5WYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9TSU1QTEUsIHsgb3B0aW9ucywgcHJvZHVjdElkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RWYXJpYW50cyhvcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zLCBwcm9kdWN0SWQ/OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0UHJvZHVjdFZhcmlhbnRMaXN0LlF1ZXJ5LCBHZXRQcm9kdWN0VmFyaWFudExpc3QuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNULFxyXG4gICAgICAgICAgICB7IG9wdGlvbnMsIHByb2R1Y3RJZCB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0VmFyaWFudC5RdWVyeSwgR2V0UHJvZHVjdFZhcmlhbnQuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX1BST0RVQ1RfVkFSSUFOVCxcclxuICAgICAgICAgICAgeyBpZCB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnRzT3B0aW9ucyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFByb2R1Y3RWYXJpYW50T3B0aW9ucy5RdWVyeSwgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfT1BUSU9OUyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0T3B0aW9uR3JvdXAoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0T3B0aW9uR3JvdXAuUXVlcnksIEdldFByb2R1Y3RPcHRpb25Hcm91cC5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlUHJvZHVjdChwcm9kdWN0OiBDcmVhdGVQcm9kdWN0SW5wdXQpIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ3JlYXRlUHJvZHVjdC5WYXJpYWJsZXMgPSB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKHByb2R1Y3QsIFtcclxuICAgICAgICAgICAgICAgICdlbmFibGVkJyxcclxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXHJcbiAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxyXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXHJcbiAgICAgICAgICAgICAgICAnZmFjZXRWYWx1ZUlkcycsXHJcbiAgICAgICAgICAgIF0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDcmVhdGVQcm9kdWN0Lk11dGF0aW9uLCBDcmVhdGVQcm9kdWN0LlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIENSRUFURV9QUk9EVUNULFxyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVByb2R1Y3QocHJvZHVjdDogVXBkYXRlUHJvZHVjdElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IFVwZGF0ZVByb2R1Y3QuVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhwcm9kdWN0LCBbXHJcbiAgICAgICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAgICAgJ2VuYWJsZWQnLFxyXG4gICAgICAgICAgICAgICAgJ3RyYW5zbGF0aW9ucycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdmYWNldFZhbHVlSWRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFVwZGF0ZVByb2R1Y3QuTXV0YXRpb24sIFVwZGF0ZVByb2R1Y3QuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgVVBEQVRFX1BST0RVQ1QsXHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlUHJvZHVjdChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxEZWxldGVQcm9kdWN0Lk11dGF0aW9uLCBEZWxldGVQcm9kdWN0LlZhcmlhYmxlcz4oREVMRVRFX1BST0RVQ1QsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlUHJvZHVjdHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlUHJvZHVjdHMuTXV0YXRpb24sIERlbGV0ZVByb2R1Y3RzLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIERFTEVURV9QUk9EVUNUUyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWRzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlUHJvZHVjdFZhcmlhbnRzKGlucHV0OiBDcmVhdGVQcm9kdWN0VmFyaWFudElucHV0W10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENyZWF0ZVByb2R1Y3RWYXJpYW50cy5NdXRhdGlvbiwgQ3JlYXRlUHJvZHVjdFZhcmlhbnRzLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIENSRUFURV9QUk9EVUNUX1ZBUklBTlRTLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVByb2R1Y3RWYXJpYW50cyh2YXJpYW50czogVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dFtdKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RWYXJpYW50cy5WYXJpYWJsZXMgPSB7XHJcbiAgICAgICAgICAgIGlucHV0OiB2YXJpYW50cy5tYXAoXHJcbiAgICAgICAgICAgICAgICBwaWNrKFtcclxuICAgICAgICAgICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdlbmFibGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcclxuICAgICAgICAgICAgICAgICAgICAnc2t1JyxcclxuICAgICAgICAgICAgICAgICAgICAncHJpY2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0YXhDYXRlZ29yeUlkJyxcclxuICAgICAgICAgICAgICAgICAgICAnZmFjZXRWYWx1ZUlkcycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Fzc2V0SWRzJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhY2tJbnZlbnRvcnknLFxyXG4gICAgICAgICAgICAgICAgICAgICdvdXRPZlN0b2NrVGhyZXNob2xkJyxcclxuICAgICAgICAgICAgICAgICAgICAndXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3N0b2NrT25IYW5kJyxcclxuICAgICAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgIF0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxVcGRhdGVQcm9kdWN0VmFyaWFudHMuTXV0YXRpb24sIFVwZGF0ZVByb2R1Y3RWYXJpYW50cy5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBVUERBVEVfUFJPRFVDVF9WQVJJQU5UUyxcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVQcm9kdWN0VmFyaWFudChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxEZWxldGVQcm9kdWN0VmFyaWFudC5NdXRhdGlvbiwgRGVsZXRlUHJvZHVjdFZhcmlhbnQuVmFyaWFibGVzPihcclxuICAgICAgICAgICAgREVMRVRFX1BST0RVQ1RfVkFSSUFOVCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBzKHByb2R1Y3RPcHRpb25Hcm91cDogQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQpIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwLlZhcmlhYmxlcyA9IHtcclxuICAgICAgICAgICAgaW5wdXQ6IHByb2R1Y3RPcHRpb25Hcm91cCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cC5NdXRhdGlvbixcclxuICAgICAgICAgICAgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwLlZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLCBpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QodmFyaWFibGVzOiBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdC5WYXJpYWJsZXMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdC5NdXRhdGlvbixcclxuICAgICAgICAgICAgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QuVmFyaWFibGVzXHJcbiAgICAgICAgPihBRERfT1BUSU9OX0dST1VQX1RPX1BST0RVQ1QsIHZhcmlhYmxlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkT3B0aW9uVG9Hcm91cChpbnB1dDogQ3JlYXRlUHJvZHVjdE9wdGlvbklucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxBZGRPcHRpb25Ub0dyb3VwLk11dGF0aW9uLCBBZGRPcHRpb25Ub0dyb3VwLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEFERF9PUFRJT05fVE9fR1JPVVAsXHJcbiAgICAgICAgICAgIHsgaW5wdXQgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVByb2R1Y3RPcHRpb24oaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlUHJvZHVjdE9wdGlvbi5NdXRhdGlvbiwgRGVsZXRlUHJvZHVjdE9wdGlvbi5WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBERUxFVEVfUFJPRFVDVF9PUFRJT04sXHJcbiAgICAgICAgICAgIHsgaWQgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QodmFyaWFibGVzOiBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0LlZhcmlhYmxlcykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QuTXV0YXRpb24sXHJcbiAgICAgICAgICAgIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QuVmFyaWFibGVzXHJcbiAgICAgICAgPihSRU1PVkVfT1BUSU9OX0dST1VQX0ZST01fUFJPRFVDVCwgdmFyaWFibGVzKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVQcm9kdWN0T3B0aW9uKGlucHV0OiBVcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFVwZGF0ZVByb2R1Y3RPcHRpb24uTXV0YXRpb24sIFVwZGF0ZVByb2R1Y3RPcHRpb24uVmFyaWFibGVzPihcclxuICAgICAgICAgICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dDogcGljayhpbnB1dCwgWydpZCcsICdjb2RlJywgJ3RyYW5zbGF0aW9ucycsICdjdXN0b21GaWVsZHMnXSksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAoaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwLk11dGF0aW9uLFxyXG4gICAgICAgICAgICBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAuVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfUFJPRFVDVF9PUFRJT05fR1JPVVAsIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFsnaWQnLCAnY29kZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RPcHRpb25Hcm91cHMoZmlsdGVyVGVybT86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxHZXRQcm9kdWN0T3B0aW9uR3JvdXBzLlF1ZXJ5LCBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzLlZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX09QVElPTl9HUk9VUFMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGZpbHRlclRlcm0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBc3NldExpc3QodGFrZTogbnVtYmVyID0gMTAsIHNraXA6IG51bWJlciA9IDApIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0QXNzZXRMaXN0LlF1ZXJ5LCBHZXRBc3NldExpc3QuVmFyaWFibGVzPihHRVRfQVNTRVRfTElTVCwge1xyXG4gICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgIHNvcnQ6IHtcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IFNvcnRPcmRlci5ERVNDLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBc3NldChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldEFzc2V0LlF1ZXJ5LCBHZXRBc3NldC5WYXJpYWJsZXM+KEdFVF9BU1NFVCwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVBc3NldHMoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q3JlYXRlQXNzZXRzLk11dGF0aW9uLCBDcmVhdGVBc3NldHMuVmFyaWFibGVzPihDUkVBVEVfQVNTRVRTLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiBmaWxlcy5tYXAoZmlsZSA9PiAoeyBmaWxlIH0pKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVBc3NldChpbnB1dDogVXBkYXRlQXNzZXRJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8VXBkYXRlQXNzZXQuTXV0YXRpb24sIFVwZGF0ZUFzc2V0LlZhcmlhYmxlcz4oVVBEQVRFX0FTU0VULCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUFzc2V0cyhpZHM6IHN0cmluZ1tdLCBmb3JjZTogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8RGVsZXRlQXNzZXRzLk11dGF0aW9uLCBEZWxldGVBc3NldHMuVmFyaWFibGVzPihERUxFVEVfQVNTRVRTLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICAgICAgICBhc3NldElkczogaWRzLFxyXG4gICAgICAgICAgICAgICAgZm9yY2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduUHJvZHVjdHNUb0NoYW5uZWwoaW5wdXQ6IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbC5NdXRhdGlvbixcclxuICAgICAgICAgICAgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwuVmFyaWFibGVzXHJcbiAgICAgICAgPihBU1NJR05fUFJPRFVDVFNfVE9fQ0hBTk5FTCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsKGlucHV0OiBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsLk11dGF0aW9uLFxyXG4gICAgICAgICAgICBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsLlZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX1BST0RVQ1RTX0ZST01fQ0hBTk5FTCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3NpZ25WYXJpYW50c1RvQ2hhbm5lbChpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbC5NdXRhdGlvbixcclxuICAgICAgICAgICAgQXNzaWduVmFyaWFudHNUb0NoYW5uZWwuVmFyaWFibGVzXHJcbiAgICAgICAgPihBU1NJR05fVkFSSUFOVFNfVE9fQ0hBTk5FTCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsKGlucHV0OiBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbC5NdXRhdGlvbixcclxuICAgICAgICAgICAgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbC5WYXJpYWJsZXNcclxuICAgICAgICA+KFJFTU9WRV9WQVJJQU5UU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGFnKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8R2V0VGFnLlF1ZXJ5LCBHZXRUYWcuVmFyaWFibGVzPihHRVRfVEFHLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRhZ0xpc3Qob3B0aW9ucz86IFRhZ0xpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PEdldFRhZ0xpc3QuUXVlcnksIEdldFRhZ0xpc3QuVmFyaWFibGVzPihHRVRfVEFHX0xJU1QsIHsgb3B0aW9ucyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVUYWcoaW5wdXQ6IENyZWF0ZVRhZ0lucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDcmVhdGVUYWcuTXV0YXRpb24sIENyZWF0ZVRhZy5WYXJpYWJsZXM+KENSRUFURV9UQUcsIHsgaW5wdXQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVGFnKGlucHV0OiBVcGRhdGVUYWdJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8VXBkYXRlVGFnLk11dGF0aW9uLCBVcGRhdGVUYWcuVmFyaWFibGVzPihVUERBVEVfVEFHLCB7IGlucHV0IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVRhZyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxEZWxldGVUYWcuTXV0YXRpb24sIERlbGV0ZVRhZy5WYXJpYWJsZXM+KERFTEVURV9UQUcsIHsgaWQgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -18,6 +18,10 @@ export function isEntityCreateOrUpdateMutation(documentNode) {
18
18
  if (inputTypeName === 'ModifyOrderInput') {
19
19
  return 'Order';
20
20
  }
21
+ if (inputTypeName === 'AddItemToDraftOrderInput' ||
22
+ inputTypeName === 'AdjustDraftOrderLineInput') {
23
+ return 'OrderLine';
24
+ }
21
25
  const createMatch = inputTypeName.match(CREATE_ENTITY_REGEX);
22
26
  if (createMatch) {
23
27
  return createMatch[1];
@@ -88,4 +92,4 @@ function hasCustomFields(input) {
88
92
  function hasTranslations(input) {
89
93
  return input != null && input.hasOwnProperty('translations');
90
94
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvcmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixlQUFlLEVBQTJCLE1BQU0sU0FBUyxDQUFDO0FBSWpGLE1BQU0sbUJBQW1CLEdBQUcsd0JBQXdCLENBQUM7QUFDckQsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQWFyRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsWUFBMEI7SUFDckUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUU7UUFDbEQsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUU7WUFDeEQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRTNDLHFEQUFxRDtZQUNyRCxJQUFJLGFBQWEsS0FBSyxnQ0FBZ0MsRUFBRTtnQkFDcEQsT0FBTyxlQUFlLENBQUM7YUFDMUI7WUFDRCxJQUFJLGFBQWEsS0FBSyxrQkFBa0IsRUFBRTtnQkFDdEMsT0FBTyxPQUFPLENBQUM7YUFDbEI7WUFFRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekI7WUFDRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekI7U0FDSjtLQUNKO0FBQ0wsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsSUFBYztJQUNwQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO1FBQzdCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUMxQixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQ3RDLFNBQWdGLEVBQ2hGLGlCQUFzQztJQUV0QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtnQkFDakMsY0FBYyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQzVDO1NBQ0o7YUFBTTtZQUNILGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDdEQ7S0FDSjtTQUFNO1FBQ0gsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUU7WUFDM0IsY0FBYyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQzVDO0tBQ0o7SUFDRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBb0MsRUFBRSxpQkFBc0M7SUFDaEcsS0FBSyxNQUFNLEtBQUssSUFBSSxpQkFBaUIsRUFBRTtRQUNuQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDL0IsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3hCLEtBQUssTUFBTSxXQUFXLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTt3QkFDMUMsSUFDSSxlQUFlLENBQUMsV0FBVyxDQUFDOzRCQUM1QixXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQ3BEOzRCQUNFLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7eUJBQy9DO3FCQUNKO2lCQUNKO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUN4RSxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1NBQ0o7S0FDSjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgRG9jdW1lbnROb2RlLCBnZXRPcGVyYXRpb25BU1QsIE5hbWVkVHlwZU5vZGUsIFR5cGVOb2RlIH0gZnJvbSAnZ3JhcGhxbCc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuY29uc3QgQ1JFQVRFX0VOVElUWV9SRUdFWCA9IC9DcmVhdGUoW0EtWmEtel0rKUlucHV0LztcclxuY29uc3QgVVBEQVRFX0VOVElUWV9SRUdFWCA9IC9VcGRhdGUoW0EtWmEtel0rKUlucHV0LztcclxuXHJcbnR5cGUgSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xyXG4gICAgY3VzdG9tRmllbGRzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxudHlwZSBJbnB1dFdpdGhDdXN0b21GaWVsZHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xyXG4gICAgY3VzdG9tRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG5cclxudHlwZSBFbnRpdHlJbnB1dCA9IElucHV0V2l0aE9wdGlvbmFsQ3VzdG9tRmllbGRzICYge1xyXG4gICAgdHJhbnNsYXRpb25zPzogSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHNbXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgdGhlIGN1cnJlbnQgZG9jdW1lbnROb2RlIGZvciBhbiBvcGVyYXRpb24gd2l0aCBhIHZhcmlhYmxlIG5hbWVkIFwiQ3JlYXRlPEVudGl0eT5JbnB1dFwiIG9yIFwiVXBkYXRlPEVudGl0eT5JbnB1dFwiXHJcbiAqIGFuZCBpZiBhIG1hdGNoIGlzIGZvdW5kLCByZXR1cm5zIHRoZSA8RW50aXR5PiBuYW1lLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRW50aXR5Q3JlYXRlT3JVcGRhdGVNdXRhdGlvbihkb2N1bWVudE5vZGU6IERvY3VtZW50Tm9kZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBvcGVyYXRpb25EZWYgPSBnZXRPcGVyYXRpb25BU1QoZG9jdW1lbnROb2RlLCBudWxsKTtcclxuICAgIGlmIChvcGVyYXRpb25EZWYgJiYgb3BlcmF0aW9uRGVmLnZhcmlhYmxlRGVmaW5pdGlvbnMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhcmlhYmxlRGVmIG9mIG9wZXJhdGlvbkRlZi52YXJpYWJsZURlZmluaXRpb25zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVkVHlwZSA9IGV4dHJhY3RJbnB1dFR5cGUodmFyaWFibGVEZWYudHlwZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0VHlwZU5hbWUgPSBuYW1lZFR5cGUubmFtZS52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZXMgd2hpY2ggZG9uJ3QgZm9sbG93IHRoZSB1c3VhbCBwYXR0ZXJuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dFR5cGVOYW1lID09PSAnVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0Jykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaW5wdXRUeXBlTmFtZSA9PT0gJ01vZGlmeU9yZGVySW5wdXQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ09yZGVyJztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgY3JlYXRlTWF0Y2ggPSBpbnB1dFR5cGVOYW1lLm1hdGNoKENSRUFURV9FTlRJVFlfUkVHRVgpO1xyXG4gICAgICAgICAgICBpZiAoY3JlYXRlTWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVNYXRjaFsxXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVNYXRjaCA9IGlucHV0VHlwZU5hbWUubWF0Y2goVVBEQVRFX0VOVElUWV9SRUdFWCk7XHJcbiAgICAgICAgICAgIGlmICh1cGRhdGVNYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZU1hdGNoWzFdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBleHRyYWN0SW5wdXRUeXBlKHR5cGU6IFR5cGVOb2RlKTogTmFtZWRUeXBlTm9kZSB7XHJcbiAgICBpZiAodHlwZS5raW5kID09PSAnTm9uTnVsbFR5cGUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RJbnB1dFR5cGUodHlwZS50eXBlKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlLmtpbmQgPT09ICdMaXN0VHlwZScpIHtcclxuICAgICAgICByZXR1cm4gZXh0cmFjdElucHV0VHlwZSh0eXBlLnR5cGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHR5cGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGFueSBgcmVhZG9ubHlgIGN1c3RvbSBmaWVsZHMgZnJvbSBhbiBlbnRpdHkgKGluY2x1ZGluZyBpdHMgdHJhbnNsYXRpb25zKS5cclxuICogVG8gYmUgdXNlZCBiZWZvcmUgc3VibWl0dGluZyB0aGUgZW50aXR5IGZvciBhIGNyZWF0ZSBvciB1cGRhdGUgcmVxdWVzdC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyhcclxuICAgIHZhcmlhYmxlczogeyBpbnB1dD86IEVudGl0eUlucHV0IHwgRW50aXR5SW5wdXRbXSB9IHwgRW50aXR5SW5wdXQgfCBFbnRpdHlJbnB1dFtdLFxyXG4gICAgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnW10sXHJcbik6IHsgaW5wdXQ/OiBFbnRpdHlJbnB1dCB8IEVudGl0eUlucHV0W10gfSB8IEVudGl0eUlucHV0IHwgRW50aXR5SW5wdXRbXSB7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFyaWFibGVzKSkge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhcmlhYmxlcy5pbnB1dCkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB2YXJpYWJsZXMuaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHJlbW92ZVJlYWRvbmx5KGlucHV0LCBjdXN0b21GaWVsZENvbmZpZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZW1vdmVSZWFkb25seSh2YXJpYWJsZXMuaW5wdXQsIGN1c3RvbUZpZWxkQ29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZvciAoY29uc3QgaW5wdXQgb2YgdmFyaWFibGVzKSB7XHJcbiAgICAgICAgICAgIHJlbW92ZVJlYWRvbmx5KGlucHV0LCBjdXN0b21GaWVsZENvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlbW92ZVJlYWRvbmx5KHZhcmlhYmxlcywgY3VzdG9tRmllbGRDb25maWcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiByZW1vdmVSZWFkb25seShpbnB1dDogSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHMsIGN1c3RvbUZpZWxkQ29uZmlnOiBDdXN0b21GaWVsZENvbmZpZ1tdKSB7XHJcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGN1c3RvbUZpZWxkQ29uZmlnKSB7XHJcbiAgICAgICAgaWYgKGZpZWxkLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbG9jYWxlU3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RyYW5zbGF0aW9ucyhpbnB1dCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHRyYW5zbGF0aW9uIG9mIGlucHV0LnRyYW5zbGF0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDdXN0b21GaWVsZHModHJhbnNsYXRpb24pICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbi5jdXN0b21GaWVsZHNbZmllbGQubmFtZV0gIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0cmFuc2xhdGlvbi5jdXN0b21GaWVsZHNbZmllbGQubmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGFzQ3VzdG9tRmllbGRzKGlucHV0KSAmJiBpbnB1dC5jdXN0b21GaWVsZHNbZmllbGQubmFtZV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpbnB1dC5jdXN0b21GaWVsZHNbZmllbGQubmFtZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW5wdXQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhc0N1c3RvbUZpZWxkcyhpbnB1dDogYW55KTogaW5wdXQgaXMgSW5wdXRXaXRoQ3VzdG9tRmllbGRzIHtcclxuICAgIHJldHVybiBpbnB1dCAhPSBudWxsICYmIGlucHV0Lmhhc093blByb3BlcnR5KCdjdXN0b21GaWVsZHMnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFzVHJhbnNsYXRpb25zKGlucHV0OiBhbnkpOiBpbnB1dCBpcyB7IHRyYW5zbGF0aW9uczogSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHNbXSB9IHtcclxuICAgIHJldHVybiBpbnB1dCAhPSBudWxsICYmIGlucHV0Lmhhc093blByb3BlcnR5KCd0cmFuc2xhdGlvbnMnKTtcclxufVxyXG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvdXRpbHMvcmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixlQUFlLEVBQTJCLE1BQU0sU0FBUyxDQUFDO0FBSWpGLE1BQU0sbUJBQW1CLEdBQUcsd0JBQXdCLENBQUM7QUFDckQsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQWFyRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsWUFBMEI7SUFDckUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUU7UUFDbEQsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUU7WUFDeEQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRTNDLHFEQUFxRDtZQUNyRCxJQUFJLGFBQWEsS0FBSyxnQ0FBZ0MsRUFBRTtnQkFDcEQsT0FBTyxlQUFlLENBQUM7YUFDMUI7WUFDRCxJQUFJLGFBQWEsS0FBSyxrQkFBa0IsRUFBRTtnQkFDdEMsT0FBTyxPQUFPLENBQUM7YUFDbEI7WUFDRCxJQUNJLGFBQWEsS0FBSywwQkFBMEI7Z0JBQzVDLGFBQWEsS0FBSywyQkFBMkIsRUFDL0M7Z0JBQ0UsT0FBTyxXQUFXLENBQUM7YUFDdEI7WUFFRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekI7WUFDRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0QsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekI7U0FDSjtLQUNKO0FBQ0wsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsSUFBYztJQUNwQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO1FBQzdCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUMxQixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQ3RDLFNBQWdGLEVBQ2hGLGlCQUFzQztJQUV0QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtnQkFDakMsY0FBYyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQzVDO1NBQ0o7YUFBTTtZQUNILGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDdEQ7S0FDSjtTQUFNO1FBQ0gsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUU7WUFDM0IsY0FBYyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQzVDO0tBQ0o7SUFDRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBb0MsRUFBRSxpQkFBc0M7SUFDaEcsS0FBSyxNQUFNLEtBQUssSUFBSSxpQkFBaUIsRUFBRTtRQUNuQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDL0IsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3hCLEtBQUssTUFBTSxXQUFXLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTt3QkFDMUMsSUFDSSxlQUFlLENBQUMsV0FBVyxDQUFDOzRCQUM1QixXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQ3BEOzRCQUNFLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7eUJBQy9DO3FCQUNKO2lCQUNKO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUN4RSxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1NBQ0o7S0FDSjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgRG9jdW1lbnROb2RlLCBnZXRPcGVyYXRpb25BU1QsIE5hbWVkVHlwZU5vZGUsIFR5cGVOb2RlIH0gZnJvbSAnZ3JhcGhxbCc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuY29uc3QgQ1JFQVRFX0VOVElUWV9SRUdFWCA9IC9DcmVhdGUoW0EtWmEtel0rKUlucHV0LztcclxuY29uc3QgVVBEQVRFX0VOVElUWV9SRUdFWCA9IC9VcGRhdGUoW0EtWmEtel0rKUlucHV0LztcclxuXHJcbnR5cGUgSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xyXG4gICAgY3VzdG9tRmllbGRzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxudHlwZSBJbnB1dFdpdGhDdXN0b21GaWVsZHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xyXG4gICAgY3VzdG9tRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG5cclxudHlwZSBFbnRpdHlJbnB1dCA9IElucHV0V2l0aE9wdGlvbmFsQ3VzdG9tRmllbGRzICYge1xyXG4gICAgdHJhbnNsYXRpb25zPzogSW5wdXRXaXRoT3B0aW9uYWxDdXN0b21GaWVsZHNbXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgdGhlIGN1cnJlbnQgZG9jdW1lbnROb2RlIGZvciBhbiBvcGVyYXRpb24gd2l0aCBhIHZhcmlhYmxlIG5hbWVkIFwiQ3JlYXRlPEVudGl0eT5JbnB1dFwiIG9yIFwiVXBkYXRlPEVudGl0eT5JbnB1dFwiXHJcbiAqIGFuZCBpZiBhIG1hdGNoIGlzIGZvdW5kLCByZXR1cm5zIHRoZSA8RW50aXR5PiBuYW1lLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRW50aXR5Q3JlYXRlT3JVcGRhdGVNdXRhdGlvbihkb2N1bWVudE5vZGU6IERvY3VtZW50Tm9kZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBvcGVyYXRpb25EZWYgPSBnZXRPcGVyYXRpb25BU1QoZG9jdW1lbnROb2RlLCBudWxsKTtcclxuICAgIGlmIChvcGVyYXRpb25EZWYgJiYgb3BlcmF0aW9uRGVmLnZhcmlhYmxlRGVmaW5pdGlvbnMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhcmlhYmxlRGVmIG9mIG9wZXJhdGlvbkRlZi52YXJpYWJsZURlZmluaXRpb25zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVkVHlwZSA9IGV4dHJhY3RJbnB1dFR5cGUodmFyaWFibGVEZWYudHlwZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0VHlwZU5hbWUgPSBuYW1lZFR5cGUubmFtZS52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZXMgd2hpY2ggZG9uJ3QgZm9sbG93IHRoZSB1c3VhbCBwYXR0ZXJuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dFR5cGVOYW1lID09PSAnVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0Jykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdBZG1pbmlzdHJhdG9yJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaW5wdXRUeXBlTmFtZSA9PT0gJ01vZGlmeU9yZGVySW5wdXQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ09yZGVyJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBpbnB1dFR5cGVOYW1lID09PSAnQWRkSXRlbVRvRHJhZnRPcmRlcklucHV0JyB8fFxyXG4gICAgICAgICAgICAgICAgaW5wdXRUeXBlTmFtZSA9PT0gJ0FkanVzdERyYWZ0T3JkZXJMaW5lSW5wdXQnXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdPcmRlckxpbmUnO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjcmVhdGVNYXRjaCA9IGlucHV0VHlwZU5hbWUubWF0Y2goQ1JFQVRFX0VOVElUWV9SRUdFWCk7XHJcbiAgICAgICAgICAgIGlmIChjcmVhdGVNYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZU1hdGNoWzFdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZU1hdGNoID0gaW5wdXRUeXBlTmFtZS5tYXRjaChVUERBVEVfRU5USVRZX1JFR0VYKTtcclxuICAgICAgICAgICAgaWYgKHVwZGF0ZU1hdGNoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlTWF0Y2hbMV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3RJbnB1dFR5cGUodHlwZTogVHlwZU5vZGUpOiBOYW1lZFR5cGVOb2RlIHtcclxuICAgIGlmICh0eXBlLmtpbmQgPT09ICdOb25OdWxsVHlwZScpIHtcclxuICAgICAgICByZXR1cm4gZXh0cmFjdElucHV0VHlwZSh0eXBlLnR5cGUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGUua2luZCA9PT0gJ0xpc3RUeXBlJykge1xyXG4gICAgICAgIHJldHVybiBleHRyYWN0SW5wdXRUeXBlKHR5cGUudHlwZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHlwZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYW55IGByZWFkb25seWAgY3VzdG9tIGZpZWxkcyBmcm9tIGFuIGVudGl0eSAoaW5jbHVkaW5nIGl0cyB0cmFuc2xhdGlvbnMpLlxyXG4gKiBUbyBiZSB1c2VkIGJlZm9yZSBzdWJtaXR0aW5nIHRoZSBlbnRpdHkgZm9yIGEgY3JlYXRlIG9yIHVwZGF0ZSByZXF1ZXN0LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJlYWRvbmx5Q3VzdG9tRmllbGRzKFxyXG4gICAgdmFyaWFibGVzOiB7IGlucHV0PzogRW50aXR5SW5wdXQgfCBFbnRpdHlJbnB1dFtdIH0gfCBFbnRpdHlJbnB1dCB8IEVudGl0eUlucHV0W10sXHJcbiAgICBjdXN0b21GaWVsZENvbmZpZzogQ3VzdG9tRmllbGRDb25maWdbXSxcclxuKTogeyBpbnB1dD86IEVudGl0eUlucHV0IHwgRW50aXR5SW5wdXRbXSB9IHwgRW50aXR5SW5wdXQgfCBFbnRpdHlJbnB1dFtdIHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YXJpYWJsZXMpKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFyaWFibGVzLmlucHV0KSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHZhcmlhYmxlcy5pbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgcmVtb3ZlUmVhZG9ubHkoaW5wdXQsIGN1c3RvbUZpZWxkQ29uZmlnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlbW92ZVJlYWRvbmx5KHZhcmlhYmxlcy5pbnB1dCwgY3VzdG9tRmllbGRDb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB2YXJpYWJsZXMpIHtcclxuICAgICAgICAgICAgcmVtb3ZlUmVhZG9ubHkoaW5wdXQsIGN1c3RvbUZpZWxkQ29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVtb3ZlUmVhZG9ubHkodmFyaWFibGVzLCBjdXN0b21GaWVsZENvbmZpZyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZVJlYWRvbmx5KGlucHV0OiBJbnB1dFdpdGhPcHRpb25hbEN1c3RvbUZpZWxkcywgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnW10pIHtcclxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgY3VzdG9tRmllbGRDb25maWcpIHtcclxuICAgICAgICBpZiAoZmllbGQucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdsb2NhbGVTdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGFzVHJhbnNsYXRpb25zKGlucHV0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdHJhbnNsYXRpb24gb2YgaW5wdXQudHJhbnNsYXRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0N1c3RvbUZpZWxkcyh0cmFuc2xhdGlvbikgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uLmN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRyYW5zbGF0aW9uLmN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmIChoYXNDdXN0b21GaWVsZHMoaW5wdXQpICYmIGlucHV0LmN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGlucHV0LmN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpbnB1dDtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFzQ3VzdG9tRmllbGRzKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBJbnB1dFdpdGhDdXN0b21GaWVsZHMge1xyXG4gICAgcmV0dXJuIGlucHV0ICE9IG51bGwgJiYgaW5wdXQuaGFzT3duUHJvcGVydHkoJ2N1c3RvbUZpZWxkcycpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBoYXNUcmFuc2xhdGlvbnMoaW5wdXQ6IGFueSk6IGlucHV0IGlzIHsgdHJhbnNsYXRpb25zOiBJbnB1dFdpdGhPcHRpb25hbEN1c3RvbUZpZWxkc1tdIH0ge1xyXG4gICAgcmV0dXJuIGlucHV0ICE9IG51bGwgJiYgaW5wdXQuaGFzT3duUHJvcGVydHkoJ3RyYW5zbGF0aW9ucycpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BulkActionRegistryService {
4
+ constructor() {
5
+ this.locationBulActionMap = new Map();
6
+ }
7
+ registerBulkAction(bulkAction) {
8
+ if (!this.locationBulActionMap.has(bulkAction.location)) {
9
+ this.locationBulActionMap.set(bulkAction.location, new Set([bulkAction]));
10
+ }
11
+ else {
12
+ // tslint:disable-next-line:no-non-null-assertion
13
+ this.locationBulActionMap.get(bulkAction.location).add(bulkAction);
14
+ }
15
+ }
16
+ getBulkActionsForLocation(id) {
17
+ var _a, _b;
18
+ return [...((_b = (_a = this.locationBulActionMap.get(id)) === null || _a === void 0 ? void 0 : _a.values()) !== null && _b !== void 0 ? _b : [])];
19
+ }
20
+ }
21
+ BulkActionRegistryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BulkActionRegistryService_Factory() { return new BulkActionRegistryService(); }, token: BulkActionRegistryService, providedIn: "root" });
22
+ BulkActionRegistryService.decorators = [
23
+ { type: Injectable, args: [{
24
+ providedIn: 'root',
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hY3Rpb24tcmVnaXN0cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2J1bGstYWN0aW9uLXJlZ2lzdHJ5L2J1bGstYWN0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUlZLHlCQUFvQixHQUFHLElBQUksR0FBRyxFQUF5QyxDQUFDO0tBY25GO0lBWkcsa0JBQWtCLENBQUMsVUFBc0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RTthQUFNO1lBQ0gsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUF3Qjs7UUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFBLE1BQUEsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsMENBQUUsTUFBTSxFQUFFLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7OztZQWpCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdWxrQWN0aW9uLCBCdWxrQWN0aW9uTG9jYXRpb25JZCB9IGZyb20gJy4vYnVsay1hY3Rpb24tdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZSB7XHJcbiAgICBwcml2YXRlIGxvY2F0aW9uQnVsQWN0aW9uTWFwID0gbmV3IE1hcDxCdWxrQWN0aW9uTG9jYXRpb25JZCwgU2V0PEJ1bGtBY3Rpb24+PigpO1xyXG5cclxuICAgIHJlZ2lzdGVyQnVsa0FjdGlvbihidWxrQWN0aW9uOiBCdWxrQWN0aW9uKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxvY2F0aW9uQnVsQWN0aW9uTWFwLmhhcyhidWxrQWN0aW9uLmxvY2F0aW9uKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uQnVsQWN0aW9uTWFwLnNldChidWxrQWN0aW9uLmxvY2F0aW9uLCBuZXcgU2V0KFtidWxrQWN0aW9uXSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbkJ1bEFjdGlvbk1hcC5nZXQoYnVsa0FjdGlvbi5sb2NhdGlvbikhLmFkZChidWxrQWN0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnVsa0FjdGlvbnNGb3JMb2NhdGlvbihpZDogQnVsa0FjdGlvbkxvY2F0aW9uSWQpOiBCdWxrQWN0aW9uW10ge1xyXG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMubG9jYXRpb25CdWxBY3Rpb25NYXAuZ2V0KGlkKT8udmFsdWVzKCkgPz8gW10pXTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hY3Rpb24tdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9idWxrLWFjdGlvbi1yZWdpc3RyeS9idWxrLWFjdGlvbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHZhbGlkIGxvY2F0aW9uIG9mIGEgbGlzdCB2aWV3IHRoYXQgc3VwcG9ydHMgdGhlIGJ1bGsgYWN0aW9ucyBBUEkuXHJcbiAqXHJcbiAqIEBzaW5jZSAxLjguMFxyXG4gKiBAZG9jc0NhdGVnb3J5IGJ1bGstYWN0aW9uc1xyXG4gKiBAZG9jc1BhZ2UgQnVsa0FjdGlvblxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQnVsa0FjdGlvbkxvY2F0aW9uSWQgPSAncHJvZHVjdC1saXN0JyB8ICdmYWNldC1saXN0JyB8ICdjb2xsZWN0aW9uLWxpc3QnIHwgc3RyaW5nO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBUaGlzIGlzIHRoZSBhcmd1bWVudCB3aGljaCBnZXRzIHBhc3NlZCB0byB0aGUgYGdldFRyYW5zbGF0aW9uVmFyc2AgYW5kIGBpc1Zpc2libGVgIGZ1bmN0aW9uc1xyXG4gKiBvZiB0aGUgQnVsa0FjdGlvbiBkZWZpbml0aW9uLlxyXG4gKlxyXG4gKiBAc2luY2UgMS44LjBcclxuICogQGRvY3NDYXRlZ29yeSBidWxrLWFjdGlvbnNcclxuICogQGRvY3NQYWdlIEJ1bGtBY3Rpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0FjdGlvbkZ1bmN0aW9uQ29udGV4dDxJdGVtVHlwZSwgQ29tcG9uZW50VHlwZT4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEFuIGFycmF5IG9mIHRoZSBzZWxlY3RlZCBpdGVtcyBmcm9tIHRoZSBsaXN0LlxyXG4gICAgICovXHJcbiAgICBzZWxlY3Rpb246IEl0ZW1UeXBlW107XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGNvbXBvbmVudCBpbnN0YW5jZSB0aGF0IGlzIGhvc3RpbmcgdGhlIGxpc3Qgdmlldy4gRm9yIGluc3RhbmNlLFxyXG4gICAgICogYFByb2R1Y3RMaXN0Q29tcG9uZW50YC4gVGhpcyBjYW4gYmUgdXNlZCB0byBjYWxsIG1ldGhvZHMgb24gdGhlIGluc3RhbmNlLFxyXG4gICAgICogZS5nLiBjYWxsaW5nIGBob3N0Q29tcG9uZW50LnJlZnJlc2goKWAgdG8gZm9yY2UgYSBsaXN0IHJlZnJlc2ggYWZ0ZXJcclxuICAgICAqIGRlbGV0aW5nIHRoZSBzZWxlY3RlZCBpdGVtcy5cclxuICAgICAqL1xyXG4gICAgaG9zdENvbXBvbmVudDogQ29tcG9uZW50VHlwZTtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaGUgQW5ndWxhciBbSW5qZWN0b3JdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9JbmplY3Rvcikgd2hpY2ggY2FuIGJlIHVzZWRcclxuICAgICAqIHRvIGdldCBzZXJ2aWNlIGluc3RhbmNlcyB3aGljaCBtaWdodCBiZSBuZWVkZWQgaW4gdGhlIGNsaWNrIGhhbmRsZXIuXHJcbiAgICAgKi9cclxuICAgIGluamVjdG9yOiBJbmplY3RvcjtcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBUaGlzIGlzIHRoZSBhcmd1bWVudCB3aGljaCBnZXRzIHBhc3NlZCB0byB0aGUgYG9uQ2xpY2tgIGZ1bmN0aW9uIG9mIGEgQnVsa0FjdGlvbi5cclxuICpcclxuICogQHNpbmNlIDEuOC4wXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgYnVsay1hY3Rpb25zXHJcbiAqIEBkb2NzUGFnZSBCdWxrQWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGtBY3Rpb25DbGlja0NvbnRleHQ8SXRlbVR5cGUsIENvbXBvbmVudFR5cGU+XHJcbiAgICBleHRlbmRzIEJ1bGtBY3Rpb25GdW5jdGlvbkNvbnRleHQ8SXRlbVR5cGUsIENvbXBvbmVudFR5cGU+IHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBDbGVhcnMgdGhlIHNlbGVjdGlvbiBpbiB0aGUgYWN0aXZlIGxpc3Qgdmlldy5cclxuICAgICAqL1xyXG4gICAgY2xlYXJTZWxlY3Rpb246ICgpID0+IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGNsaWNrIGV2ZW50IGl0c2VsZi5cclxuICAgICAqL1xyXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQ29uZmlndXJlcyBhIGJ1bGsgYWN0aW9uIHdoaWNoIGNhbiBiZSBwZXJmb3JtZWQgb24gYWxsIHNlbGVjdGVkIGl0ZW1zIGluIGEgbGlzdCB2aWV3LlxyXG4gKlxyXG4gKiBGb3IgYSBmdWxsIGV4YW1wbGUsIHNlZSB0aGUge0BsaW5rIHJlZ2lzdGVyQnVsa0FjdGlvbn0gZG9jcy5cclxuICpcclxuICogQHNpbmNlIDEuOC4wXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgYnVsay1hY3Rpb25zXHJcbiAqIEBkb2NzUGFnZSBCdWxrQWN0aW9uXHJcbiAqIEBkb2NzV2VpZ2h0IDBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0FjdGlvbjxJdGVtVHlwZSA9IGFueSwgQ29tcG9uZW50VHlwZSA9IGFueT4ge1xyXG4gICAgbG9jYXRpb246IEJ1bGtBY3Rpb25Mb2NhdGlvbklkO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBBbiBvcHRpb25hbCBmdW5jdGlvbiB0aGF0IHNob3VsZCByZXNvbHZlIHRvIGEgbWFwIG9mIHRyYW5zbGF0aW9uIHZhcmlhYmxlcyB3aGljaCBjYW4gYmVcclxuICAgICAqIHVzZWQgd2hlbiB0cmFuc2xhdGluZyB0aGUgYGxhYmVsYCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIGdldFRyYW5zbGF0aW9uVmFycz86IChcclxuICAgICAgICBjb250ZXh0OiBCdWxrQWN0aW9uRnVuY3Rpb25Db250ZXh0PEl0ZW1UeXBlLCBDb21wb25lbnRUeXBlPixcclxuICAgICkgPT4gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiB8IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPj47XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQSB2YWxpZCBbQ2xhcml0eSBJY29uc10oaHR0cHM6Ly9jbGFyaXR5LmRlc2lnbi9pY29ucykgaWNvbiBzaGFwZSwgZS5nLlxyXG4gICAgICogXCJjb2dcIiwgXCJ1c2VyXCIsIFwiaW5mby1zdGFuZGFyZFwiLlxyXG4gICAgICovXHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEEgY2xhc3MgdG8gYmUgYWRkZWQgdG8gdGhlIGljb24gZWxlbWVudC4gRXhhbXBsZXM6XHJcbiAgICAgKlxyXG4gICAgICogLSBpcy1zdWNjZXNzXHJcbiAgICAgKiAtIGlzLWRhbmdlclxyXG4gICAgICogLSBpcy13YXJuaW5nXHJcbiAgICAgKiAtIGlzLWluZm9cclxuICAgICAqIC0gaXMtaGlnaGxpZ2h0XHJcbiAgICAgKi9cclxuICAgIGljb25DbGFzcz86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBsb2dpYyB0aGF0IGV4ZWN1dGVzIHdoZW4gdGhlIGJ1bGsgYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkLlxyXG4gICAgICovXHJcbiAgICBvbkNsaWNrOiAoY29udGV4dDogQnVsa0FjdGlvbkNsaWNrQ29udGV4dDxJdGVtVHlwZSwgQ29tcG9uZW50VHlwZT4pID0+IHZvaWQ7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogQSBmdW5jdGlvbiB0aGF0IGRldGVybWluZXMgd2hldGhlciB0aGlzIGJ1bGsgYWN0aW9uIGl0ZW0gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgbWVudS5cclxuICAgICAqIElmIG5vdCBkZWZpbmVkLCB0aGUgaXRlbSB3aWxsIGFsd2F5cyBiZSBkaXNwbGF5ZWQuXHJcbiAgICAgKlxyXG4gICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgZWFjaCB0aW1lIHRoZSBzZWxlY3Rpb24gaXMgY2hhbmdlZCwgc28gdHJ5IHRvIGF2b2lkIGV4cGVuc2l2ZSBjb2RlXHJcbiAgICAgKiBydW5uaW5nIGhlcmUuXHJcbiAgICAgKlxyXG4gICAgICogQGV4YW1wbGVcclxuICAgICAqIGBgYFR5cGVTY3JpcHRcclxuICAgICAqIGltcG9ydCB7IHJlZ2lzdGVyQnVsa0FjdGlvbiwgRGF0YVNlcnZpY2UgfSBmcm9tICdcXEB2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG4gICAgICpcclxuICAgICAqIHJlZ2lzdGVyQnVsa0FjdGlvbih7XHJcbiAgICAgKiAgIGxvY2F0aW9uOiAncHJvZHVjdC1saXN0JyxcclxuICAgICAqICAgbGFiZWw6ICdBc3NpZ24gdG8gY2hhbm5lbCcsXHJcbiAgICAgKiAgIC8vIE9ubHkgZGlzcGxheSB0aGlzIGFjdGlvbiBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY2hhbm5lbHNcclxuICAgICAqICAgaXNWaXNpYmxlOiAoeyBpbmplY3RvciB9KSA9PiBpbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpLmNsaWVudFxyXG4gICAgICogICAgIC51c2VyU3RhdHVzKClcclxuICAgICAqICAgICAubWFwU2luZ2xlKCh7IHVzZXJTdGF0dXMgfSkgPT4gMSA8IHVzZXJTdGF0dXMuY2hhbm5lbHMubGVuZ3RoKVxyXG4gICAgICogICAgIC50b1Byb21pc2UoKSxcclxuICAgICAqICAgLy8gLi4uXHJcbiAgICAgKiB9KTtcclxuICAgICAqIGBgYFxyXG4gICAgICovXHJcbiAgICBpc1Zpc2libGU/OiAoY29udGV4dDogQnVsa0FjdGlvbkZ1bmN0aW9uQ29udGV4dDxJdGVtVHlwZSwgQ29tcG9uZW50VHlwZT4pID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+O1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIENvbnRyb2wgdGhlIGRpc3BsYXkgb2YgdGhpcyBpdGVtIGJhc2VkIG9uIHRoZSB1c2VyIHBlcm1pc3Npb25zLlxyXG4gICAgICpcclxuICAgICAqIEBleGFtcGxlXHJcbiAgICAgKiBgYGBUeXBlU2NyaXB0XHJcbiAgICAgKiByZWdpc3RlckJ1bGtBY3Rpb24oe1xyXG4gICAgICogICAvLyBDYW4gYmUgc3BlY2lmaWVkIGFzIGEgc2ltcGxlIHN0cmluZ1xyXG4gICAgICogICByZXF1aXJlc1Blcm1pc3Npb246IFBlcm1pc3Npb24uVXBkYXRlUHJvZHVjdCxcclxuICAgICAqXHJcbiAgICAgKiAgIC8vIE9yIGFzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgYm9vbGVhbiBpZiBwZXJtaXNzaW9ucyBhcmUgc2F0aXNmaWVkXHJcbiAgICAgKiAgIHJlcXVpcmVzUGVybWlzc2lvbjogdXNlclBlcm1pc3Npb25zID0+XHJcbiAgICAgKiAgICAgdXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKFBlcm1pc3Npb24uVXBkYXRlQ2F0YWxvZykgfHxcclxuICAgICAqICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVQcm9kdWN0KSxcclxuICAgICAqICAgLy8gLi4uXHJcbiAgICAgKiB9KVxyXG4gICAgICogYGBgXHJcbiAgICAgKi9cclxuICAgIHJlcXVpcmVzUGVybWlzc2lvbj86IHN0cmluZyB8ICgodXNlclBlcm1pc3Npb25zOiBzdHJpbmdbXSkgPT4gYm9vbGVhbik7XHJcbn1cclxuIl19
@@ -0,0 +1,63 @@
1
+ import { APP_INITIALIZER } from '@angular/core';
2
+ import { BulkActionRegistryService } from './bulk-action-registry.service';
3
+ /**
4
+ * @description
5
+ * Registers a custom {@link BulkAction} which can be invoked from the bulk action menu
6
+ * of any supported list view.
7
+ *
8
+ * This allows you to provide custom functionality that can operate on any of the selected
9
+ * items in the list view.
10
+ *
11
+ * In this example, imagine we have an integration with a 3rd-party text translation service. This
12
+ * bulk action allows us to select multiple products from the product list view, and send them for
13
+ * translation via a custom service which integrates with the translation service's API.
14
+ *
15
+ * @example
16
+ * ```TypeScript
17
+ * import { NgModule } from '\@angular/core';
18
+ * import { ModalService, registerBulkAction, SharedModule } from '\@vendure/admin-ui/core';
19
+ *
20
+ * \@NgModule({
21
+ * imports: [SharedModule],
22
+ * providers: [
23
+ * ProductDataTranslationService,
24
+ * registerBulkAction({
25
+ * location: 'product-list',
26
+ * label: 'Send to translation service',
27
+ * icon: 'language',
28
+ * onClick: ({ injector, selection }) => {
29
+ * const modalService = injector.get(ModalService);
30
+ * const translationService = injector.get(ProductDataTranslationService);
31
+ * modalService
32
+ * .dialog({
33
+ * title: `Send ${selection.length} products for translation?`,
34
+ * buttons: [
35
+ * { type: 'secondary', label: 'cancel' },
36
+ * { type: 'primary', label: 'send', returnValue: true },
37
+ * ],
38
+ * })
39
+ * .subscribe(response => {
40
+ * if (response) {
41
+ * translationService.sendForTranslation(selection.map(item => item.productId));
42
+ * }
43
+ * });
44
+ * },
45
+ * }),
46
+ * ],
47
+ * })
48
+ * export class MyUiExtensionModule {}
49
+ * ```
50
+ * @since 1.8.0
51
+ * @docsCategory bulk-actions
52
+ */
53
+ export function registerBulkAction(bulkAction) {
54
+ return {
55
+ provide: APP_INITIALIZER,
56
+ multi: true,
57
+ useFactory: (registry) => () => {
58
+ registry.registerBulkAction(bulkAction);
59
+ },
60
+ deps: [BulkActionRegistryService],
61
+ };
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYnVsay1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9idWxrLWFjdGlvbi1yZWdpc3RyeS9yZWdpc3Rlci1idWxrLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFzQjtJQUNyRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxRQUFtQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztLQUNwQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi9idWxrLWFjdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnVsa0FjdGlvbiB9IGZyb20gJy4vYnVsay1hY3Rpb24tdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBSZWdpc3RlcnMgYSBjdXN0b20ge0BsaW5rIEJ1bGtBY3Rpb259IHdoaWNoIGNhbiBiZSBpbnZva2VkIGZyb20gdGhlIGJ1bGsgYWN0aW9uIG1lbnVcclxuICogb2YgYW55IHN1cHBvcnRlZCBsaXN0IHZpZXcuXHJcbiAqXHJcbiAqIFRoaXMgYWxsb3dzIHlvdSB0byBwcm92aWRlIGN1c3RvbSBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuIG9wZXJhdGUgb24gYW55IG9mIHRoZSBzZWxlY3RlZFxyXG4gKiBpdGVtcyBpbiB0aGUgbGlzdCB2aWV3LlxyXG4gKlxyXG4gKiBJbiB0aGlzIGV4YW1wbGUsIGltYWdpbmUgd2UgaGF2ZSBhbiBpbnRlZ3JhdGlvbiB3aXRoIGEgM3JkLXBhcnR5IHRleHQgdHJhbnNsYXRpb24gc2VydmljZS4gVGhpc1xyXG4gKiBidWxrIGFjdGlvbiBhbGxvd3MgdXMgdG8gc2VsZWN0IG11bHRpcGxlIHByb2R1Y3RzIGZyb20gdGhlIHByb2R1Y3QgbGlzdCB2aWV3LCBhbmQgc2VuZCB0aGVtIGZvclxyXG4gKiB0cmFuc2xhdGlvbiB2aWEgYSBjdXN0b20gc2VydmljZSB3aGljaCBpbnRlZ3JhdGVzIHdpdGggdGhlIHRyYW5zbGF0aW9uIHNlcnZpY2UncyBBUEkuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdcXEBhbmd1bGFyL2NvcmUnO1xyXG4gKiBpbXBvcnQgeyBNb2RhbFNlcnZpY2UsIHJlZ2lzdGVyQnVsa0FjdGlvbiwgU2hhcmVkTW9kdWxlIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuICpcclxuICogXFxATmdNb2R1bGUoe1xyXG4gKiAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxyXG4gKiAgIHByb3ZpZGVyczogW1xyXG4gKiAgICAgUHJvZHVjdERhdGFUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAqICAgICByZWdpc3RlckJ1bGtBY3Rpb24oe1xyXG4gKiAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtbGlzdCcsXHJcbiAqICAgICAgIGxhYmVsOiAnU2VuZCB0byB0cmFuc2xhdGlvbiBzZXJ2aWNlJyxcclxuICogICAgICAgaWNvbjogJ2xhbmd1YWdlJyxcclxuICogICAgICAgb25DbGljazogKHsgaW5qZWN0b3IsIHNlbGVjdGlvbiB9KSA9PiB7XHJcbiAqICAgICAgICAgY29uc3QgbW9kYWxTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE1vZGFsU2VydmljZSk7XHJcbiAqICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFByb2R1Y3REYXRhVHJhbnNsYXRpb25TZXJ2aWNlKTtcclxuICogICAgICAgICBtb2RhbFNlcnZpY2VcclxuICogICAgICAgICAgIC5kaWFsb2coe1xyXG4gKiAgICAgICAgICAgICB0aXRsZTogYFNlbmQgJHtzZWxlY3Rpb24ubGVuZ3RofSBwcm9kdWN0cyBmb3IgdHJhbnNsYXRpb24/YCxcclxuICogICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gKiAgICAgICAgICAgICAgIHsgdHlwZTogJ3NlY29uZGFyeScsIGxhYmVsOiAnY2FuY2VsJyB9LFxyXG4gKiAgICAgICAgICAgICAgIHsgdHlwZTogJ3ByaW1hcnknLCBsYWJlbDogJ3NlbmQnLCByZXR1cm5WYWx1ZTogdHJ1ZSB9LFxyXG4gKiAgICAgICAgICAgICBdLFxyXG4gKiAgICAgICAgICAgfSlcclxuICogICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xyXG4gKiAgICAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICogICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2Uuc2VuZEZvclRyYW5zbGF0aW9uKHNlbGVjdGlvbi5tYXAoaXRlbSA9PiBpdGVtLnByb2R1Y3RJZCkpO1xyXG4gKiAgICAgICAgICAgICB9XHJcbiAqICAgICAgICAgICB9KTtcclxuICogICAgICAgfSxcclxuICogICAgIH0pLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBNeVVpRXh0ZW5zaW9uTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKiBAc2luY2UgMS44LjBcclxuICogQGRvY3NDYXRlZ29yeSBidWxrLWFjdGlvbnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckJ1bGtBY3Rpb24oYnVsa0FjdGlvbjogQnVsa0FjdGlvbik6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcclxuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJCdWxrQWN0aW9uKGJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0J1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2VdLFxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -27,9 +27,6 @@ export class DashboardWidgetService {
27
27
  .map(([id]) => id);
28
28
  }
29
29
  getWidgetById(id) {
30
- if (!this.registry.has(id)) {
31
- throw new Error(`No widget was found with the id "${id}"`);
32
- }
33
30
  return this.registry.get(id);
34
31
  }
35
32
  setDefaultLayout(layout) {
@@ -94,4 +91,4 @@ DashboardWidgetService.decorators = [
94
91
  providedIn: 'root',
95
92
  },] }
96
93
  ];
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvZGFzaGJvYXJkLXdpZGdldC9kYXNoYm9hcmQtd2lkZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFXdEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSVksYUFBUSxHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO1FBQ3BELGNBQVMsR0FBMkIsRUFBRSxDQUFDO0tBc0dsRDtJQXBHRyxjQUFjLENBQUMsRUFBVSxFQUFFLE1BQTZCO1FBQ3BELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlLENBQUMsc0JBQW9DO1FBQ2hELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxhQUF1QixFQUFFLFNBQW1CLEVBQVcsRUFBRTtZQUNoRixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFF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Q0FBQyxJQUFJLENBQ2xILElBQUksQ0FDUCxjQUFjLGFBQWEsWUFBWSxDQUMzQyxDQUFDO1lBQ0YsYUFBYSxHQUFHLGFBQWEsQ0FBQztTQUNqQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxXQUFXLENBQUMsa0JBQXdDO1FBQ3hELE1BQU0sTUFBTSxHQUFpQixFQUFFLENBQUM7UUFDaEMsSUFBSSxHQUFHLEdBQXlCLEVBQUUsQ0FBQztRQUNuQyxLQUFLLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3BELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzRCxJQUFJLEVBQUUsR0FBRyxPQUFPLEdBQUcsS0FBSyxFQUFFO2dCQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixHQUFHLEdBQUcsRUFBRSxDQUFDO2FBQ1o7WUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7O1lBMUdKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcblxuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuXG5pbXBvcnQge1xuICAgIERhc2hib2FyZFdpZGdldENvbmZpZyxcbiAgICBEYXNoYm9hcmRXaWRnZXRXaWR0aCxcbiAgICBXaWRnZXRMYXlvdXQsXG4gICAgV2lkZ2V0TGF5b3V0RGVmaW5pdGlvbixcbn0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0LXR5cGVzJztcblxuLyoqXG4gKiBSZXNwb25zaWJsZSBmb3IgcmVnaXN0ZXJpbmcgZGFzaGJvYXJkIHdpZGdldCBjb21wb25lbnRzIGFuZCBxdWVyeWluZyBmb3IgbGF5b3V0cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBEYXNoYm9hcmRXaWRnZXRDb25maWc+KCk7XG4gICAgcHJpdmF0ZSBsYXlvdXREZWY6IFdpZGdldExheW91dERlZmluaXRpb24gPSBbXTtcblxuICAgIHJlZ2lzdGVyV2lkZ2V0KGlkOiBzdHJpbmcsIGNvbmZpZzogRGFzaGJvYXJkV2lkZ2V0Q29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLnJlZ2lzdHJ5LmhhcyhpZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQSBkYXNoYm9hcmQgd2lkZ2V0IHdpdGggdGhlIGlkIFwiJHtpZH1cIiBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZWdpc3RyeS5zZXQoaWQsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlSWRzKGN1cnJlbnRVc2VyUGVybWlzc2lvbnM6IFBlcm1pc3Npb25bXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgaGFzQWxsUGVybWlzc2lvbnMgPSAocmVxdWlyZWRQZXJtczogc3RyaW5nW10sIHVzZXJQZXJtczogc3RyaW5nW10pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXF1aXJlZFBlcm1zLmV2ZXJ5KHAgPT4gdXNlclBlcm1zLmluY2x1ZGVzKHApKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gWy4uLnRoaXMucmVnaXN0cnkuZW50cmllcygpXVxuICAgICAgICAgICAgLmZpbHRlcigoW2lkLCBjb25maWddKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgIWNvbmZpZy5yZXF1aXJlc1Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGhhc0FsbFBlcm1pc3Npb25zKGNvbmZpZy5yZXF1aXJlc1Blcm1pc3Npb25zLCBjdXJyZW50VXNlclBlcm1pc3Npb25zKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcCgoW2lkXSkgPT4gaWQpO1xuICAgIH1cblxuICAgIGdldFdpZGdldEJ5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMucmVnaXN0cnkuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB3aWRnZXQgd2FzIGZvdW5kIHdpdGggdGhlIGlkIFwiJHtpZH1cImApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldChpZCk7XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdExheW91dChsYXlvdXQ6IFdpZGdldExheW91dERlZmluaXRpb24pIHtcbiAgICAgICAgdGhpcy5sYXlvdXREZWYgPSBsYXlvdXQ7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdExheW91dCgpOiBXaWRnZXRMYXlvdXREZWZpbml0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0RGVmO1xuICAgIH1cblxuICAgIGdldFdpZGdldExheW91dChsYXlvdXREZWY/OiBXaWRnZXRMYXlvdXREZWZpbml0aW9uKTogV2lkZ2V0TGF5b3V0IHtcbiAgICAgICAgY29uc3QgaW50ZXJtZWRpYXRlTGF5b3V0ID0gKGxheW91dERlZiB8fCB0aGlzLmxheW91dERlZilcbiAgICAgICAgICAgIC5tYXAoKHsgaWQsIHdpZHRoIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLnJlZ2lzdHJ5LmdldChpZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWROb3RGb3VuZChpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGlkLCBjb25maWcsIHdpZHRoOiB0aGlzLmdldFZhbGlkV2lkdGgoaWQsIGNvbmZpZywgd2lkdGgpIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTGF5b3V0KGludGVybWVkaWF0ZUxheW91dCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpZE5vdEZvdW5kKGlkOiBzdHJpbmcpOiB1bmRlZmluZWQge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYE5vIGRhc2hib2FyZCB3aWRnZXQgd2FzIGZvdW5kIHdpdGggdGhlIGlkIFwiJHtpZH1cIlxcbkF2YWlsYWJsZSBpZHM6ICR7Wy4uLnRoaXMucmVnaXN0cnkua2V5cygpXVxuICAgICAgICAgICAgICAgIC5tYXAoX2lkID0+IGBcIiR7X2lkfVwiYClcbiAgICAgICAgICAgICAgICAuam9pbignLCAnKX1gLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZFdpZHRoKFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBjb25maWc6IERhc2hib2FyZFdpZGdldENvbmZpZyxcbiAgICAgICAgdGFyZ2V0V2lkdGg6IERhc2hib2FyZFdpZGdldFdpZHRoLFxuICAgICk6IERhc2hib2FyZFdpZGdldFdpZHRoIHtcbiAgICAgICAgbGV0IGFkanVzdGVkV2lkdGggPSB0YXJnZXRXaWR0aDtcbiAgICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkdGhzID0gY29uZmlnLnN1cHBvcnRlZFdpZHRocz8ubGVuZ3RoXG4gICAgICAgICAgICA/IGNvbmZpZy5zdXBwb3J0ZWRXaWR0aHNcbiAgICAgICAgICAgIDogKFszLCA0LCA2LCA4LCAxMl0gYXMgRGFzaGJvYXJkV2lkZ2V0V2lkdGhbXSk7XG4gICAgICAgIGlmICghc3VwcG9ydGVkV2lkdGhzLmluY2x1ZGVzKHRhcmdldFdpZHRoKSkge1xuICAgICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBsYXJnZXN0IHN1cHBvcnRlZCB3aWR0aFxuICAgICAgICAgICAgY29uc3Qgc29ydGVkV2lkdGhzID0gc3VwcG9ydGVkV2lkdGhzLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrV2lkdGggPSBzdXBwb3J0ZWRXaWR0aHNbc29ydGVkV2lkdGhzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgYFRoZSBcIiR7aWR9XCIgd2lkZ2V0IGRvZXMgbm90IHN1cHBvcnQgdGhlIHNwZWNpZmllZCB3aWR0aCAoJHt0YXJnZXRXaWR0aH0pLlxcblN1cHBvcnRlZCB3aWR0aHMgYXJlOiBbJHtzb3J0ZWRXaWR0aHMuam9pbihcbiAgICAgICAgICAgICAgICAgICAgJywgJyxcbiAgICAgICAgICAgICAgICApfV0uXFxuVXNpbmcgKCR7ZmFsbGJhY2tXaWR0aH0pIGluc3RlYWQuYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhZGp1c3RlZFdpZHRoID0gZmFsbGJhY2tXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWRqdXN0ZWRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkTGF5b3V0KGludGVybWVkaWF0ZUxheW91dDogV2lkZ2V0TGF5b3V0W251bWJlcl0pOiBXaWRnZXRMYXlvdXQge1xuICAgICAgICBjb25zdCBsYXlvdXQ6IFdpZGdldExheW91dCA9IFtdO1xuICAgICAgICBsZXQgcm93OiBXaWRnZXRMYXlvdXRbbnVtYmVyXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHsgaWQsIGNvbmZpZywgd2lkdGggfSBvZiBpbnRlcm1lZGlhdGVMYXlvdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvd1NpemUgPSByb3cucmVkdWNlKChzaXplLCBjKSA9PiBzaXplICsgYy53aWR0aCwgMCk7XG4gICAgICAgICAgICBpZiAoMTIgPCByb3dTaXplICsgd2lkdGgpIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQucHVzaChyb3cpO1xuICAgICAgICAgICAgICAgIHJvdyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93LnB1c2goeyBpZCwgY29uZmlnLCB3aWR0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICBsYXlvdXQucHVzaChyb3cpO1xuICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvZGFzaGJvYXJkLXdpZGdldC9kYXNoYm9hcmQtd2lkZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFXdEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSVksYUFBUSxHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO1FBQ3BELGNBQVMsR0FBMkIsRUFBRSxDQUFDO0tBbUdsRDtJQWpHRyxjQUFjLENBQUMsRUFBVSxFQUFFLE1BQTZCO1FBQ3BELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlLENBQUMsc0JBQW9DO1FBQ2hELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxhQUF1QixFQUFFLFNBQW1CLEVBQVcsRUFBRTtZQUNoRixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FDSCxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7Z0JBQzNCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUN4RSxDQUFDO1FBQ04sQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQThCO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFrQztRQUM5QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbkQsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5QjtZQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4RSxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sVUFBVSxDQUFDLEVBQVU7UUFDekIsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQ1QsOENBQThDLEVBQUUscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7YUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3BCLENBQUM7UUFDRixPQUFPO0lBQ1gsQ0FBQztJQUVPLGFBQWEsQ0FDakIsRUFBVSxFQUNWLE1BQTZCLEVBQzdCLFdBQWlDOztRQUVqQyxJQUFJLGFBQWEsR0FBRyxXQUFXLENBQUM7UUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxlQUFlLDBDQUFFLE1BQU07WUFDbEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQ3hCLENBQUMsQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQTRCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDeEMsMkNBQTJDO1lBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0Qsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQ1QsUUFBUSxFQUFFLGtEQUFrRCxXQUFXLDhCQUE4QixZQUFZLENBQUMsSUFBSSxDQUNsSCxJQUFJLENBQ1AsY0FBYyxhQUFhLFlBQVksQ0FDM0MsQ0FBQztZQUNGLGFBQWEsR0FBRyxhQUFhLENBQUM7U0FDakM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRU8sV0FBVyxDQUFDLGtCQUF3QztRQUN4RCxNQUFNLE1BQU0sR0FBaUIsRUFBRSxDQUFDO1FBQ2hDLElBQUksR0FBRyxHQUF5QixFQUFFLENBQUM7UUFDbkMsS0FBSyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtZQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxFQUFFLEdBQUcsT0FBTyxHQUFHLEtBQUssRUFBRTtnQkFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsR0FBRyxHQUFHLEVBQUUsQ0FBQzthQUNaO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNuQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7OztZQXZHSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBEYXNoYm9hcmRXaWRnZXRDb25maWcsXHJcbiAgICBEYXNoYm9hcmRXaWRnZXRXaWR0aCxcclxuICAgIFdpZGdldExheW91dCxcclxuICAgIFdpZGdldExheW91dERlZmluaXRpb24sXHJcbn0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0LXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBSZXNwb25zaWJsZSBmb3IgcmVnaXN0ZXJpbmcgZGFzaGJvYXJkIHdpZGdldCBjb21wb25lbnRzIGFuZCBxdWVyeWluZyBmb3IgbGF5b3V0cy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhc2hib2FyZFdpZGdldFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBEYXNoYm9hcmRXaWRnZXRDb25maWc+KCk7XHJcbiAgICBwcml2YXRlIGxheW91dERlZjogV2lkZ2V0TGF5b3V0RGVmaW5pdGlvbiA9IFtdO1xyXG5cclxuICAgIHJlZ2lzdGVyV2lkZ2V0KGlkOiBzdHJpbmcsIGNvbmZpZzogRGFzaGJvYXJkV2lkZ2V0Q29uZmlnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVnaXN0cnkuaGFzKGlkKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEEgZGFzaGJvYXJkIHdpZGdldCB3aXRoIHRoZSBpZCBcIiR7aWR9XCIgYWxyZWFkeSBleGlzdHNgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVnaXN0cnkuc2V0KGlkLCBjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEF2YWlsYWJsZUlkcyhjdXJyZW50VXNlclBlcm1pc3Npb25zOiBQZXJtaXNzaW9uW10pOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgaGFzQWxsUGVybWlzc2lvbnMgPSAocmVxdWlyZWRQZXJtczogc3RyaW5nW10sIHVzZXJQZXJtczogc3RyaW5nW10pOiBib29sZWFuID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlcXVpcmVkUGVybXMuZXZlcnkocCA9PiB1c2VyUGVybXMuaW5jbHVkZXMocCkpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBbLi4udGhpcy5yZWdpc3RyeS5lbnRyaWVzKCldXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKFtpZCwgY29uZmlnXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAhY29uZmlnLnJlcXVpcmVzUGVybWlzc2lvbnMgfHxcclxuICAgICAgICAgICAgICAgICAgICBoYXNBbGxQZXJtaXNzaW9ucyhjb25maWcucmVxdWlyZXNQZXJtaXNzaW9ucywgY3VycmVudFVzZXJQZXJtaXNzaW9ucylcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5tYXAoKFtpZF0pID0+IGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRXaWRnZXRCeUlkKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RyeS5nZXQoaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERlZmF1bHRMYXlvdXQobGF5b3V0OiBXaWRnZXRMYXlvdXREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXREZWYgPSBsYXlvdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGVmYXVsdExheW91dCgpOiBXaWRnZXRMYXlvdXREZWZpbml0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXREZWY7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0V2lkZ2V0TGF5b3V0KGxheW91dERlZj86IFdpZGdldExheW91dERlZmluaXRpb24pOiBXaWRnZXRMYXlvdXQge1xyXG4gICAgICAgIGNvbnN0IGludGVybWVkaWF0ZUxheW91dCA9IChsYXlvdXREZWYgfHwgdGhpcy5sYXlvdXREZWYpXHJcbiAgICAgICAgICAgIC5tYXAoKHsgaWQsIHdpZHRoIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMucmVnaXN0cnkuZ2V0KGlkKTtcclxuICAgICAgICAgICAgICAgIGlmICghY29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWROb3RGb3VuZChpZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpZCwgY29uZmlnLCB3aWR0aDogdGhpcy5nZXRWYWxpZFdpZHRoKGlkLCBjb25maWcsIHdpZHRoKSB9O1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTGF5b3V0KGludGVybWVkaWF0ZUxheW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpZE5vdEZvdW5kKGlkOiBzdHJpbmcpOiB1bmRlZmluZWQge1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgICAgYE5vIGRhc2hib2FyZCB3aWRnZXQgd2FzIGZvdW5kIHdpdGggdGhlIGlkIFwiJHtpZH1cIlxcbkF2YWlsYWJsZSBpZHM6ICR7Wy4uLnRoaXMucmVnaXN0cnkua2V5cygpXVxyXG4gICAgICAgICAgICAgICAgLm1hcChfaWQgPT4gYFwiJHtfaWR9XCJgKVxyXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyl9YCxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFZhbGlkV2lkdGgoXHJcbiAgICAgICAgaWQ6IHN0cmluZyxcclxuICAgICAgICBjb25maWc6IERhc2hib2FyZFdpZGdldENvbmZpZyxcclxuICAgICAgICB0YXJnZXRXaWR0aDogRGFzaGJvYXJkV2lkZ2V0V2lkdGgsXHJcbiAgICApOiBEYXNoYm9hcmRXaWRnZXRXaWR0aCB7XHJcbiAgICAgICAgbGV0IGFkanVzdGVkV2lkdGggPSB0YXJnZXRXaWR0aDtcclxuICAgICAgICBjb25zdCBzdXBwb3J0ZWRXaWR0aHMgPSBjb25maWcuc3VwcG9ydGVkV2lkdGhzPy5sZW5ndGhcclxuICAgICAgICAgICAgPyBjb25maWcuc3VwcG9ydGVkV2lkdGhzXHJcbiAgICAgICAgICAgIDogKFszLCA0LCA2LCA4LCAxMl0gYXMgRGFzaGJvYXJkV2lkZ2V0V2lkdGhbXSk7XHJcbiAgICAgICAgaWYgKCFzdXBwb3J0ZWRXaWR0aHMuaW5jbHVkZXModGFyZ2V0V2lkdGgpKSB7XHJcbiAgICAgICAgICAgIC8vIEZhbGwgYmFjayB0byB0aGUgbGFyZ2VzdCBzdXBwb3J0ZWQgd2lkdGhcclxuICAgICAgICAgICAgY29uc3Qgc29ydGVkV2lkdGhzID0gc3VwcG9ydGVkV2lkdGhzLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcclxuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tXaWR0aCA9IHN1cHBvcnRlZFdpZHRoc1tzb3J0ZWRXaWR0aHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1jb25zb2xlXHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICBgVGhlIFwiJHtpZH1cIiB3aWRnZXQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlY2lmaWVkIHdpZHRoICgke3RhcmdldFdpZHRofSkuXFxuU3VwcG9ydGVkIHdpZHRocyBhcmU6IFske3NvcnRlZFdpZHRocy5qb2luKFxyXG4gICAgICAgICAgICAgICAgICAgICcsICcsXHJcbiAgICAgICAgICAgICAgICApfV0uXFxuVXNpbmcgKCR7ZmFsbGJhY2tXaWR0aH0pIGluc3RlYWQuYCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYWRqdXN0ZWRXaWR0aCA9IGZhbGxiYWNrV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhZGp1c3RlZFdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYnVpbGRMYXlvdXQoaW50ZXJtZWRpYXRlTGF5b3V0OiBXaWRnZXRMYXlvdXRbbnVtYmVyXSk6IFdpZGdldExheW91dCB7XHJcbiAgICAgICAgY29uc3QgbGF5b3V0OiBXaWRnZXRMYXlvdXQgPSBbXTtcclxuICAgICAgICBsZXQgcm93OiBXaWRnZXRMYXlvdXRbbnVtYmVyXSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgeyBpZCwgY29uZmlnLCB3aWR0aCB9IG9mIGludGVybWVkaWF0ZUxheW91dCkge1xyXG4gICAgICAgICAgICBjb25zdCByb3dTaXplID0gcm93LnJlZHVjZSgoc2l6ZSwgYykgPT4gc2l6ZSArIGMud2lkdGgsIDApO1xyXG4gICAgICAgICAgICBpZiAoMTIgPCByb3dTaXplICsgd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGxheW91dC5wdXNoKHJvdyk7XHJcbiAgICAgICAgICAgICAgICByb3cgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByb3cucHVzaCh7IGlkLCBjb25maWcsIHdpZHRoIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYXlvdXQucHVzaChyb3cpO1xyXG4gICAgICAgIHJldHVybiBsYXlvdXQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -84,6 +84,7 @@ export class ModalService {
84
84
  dialog(config) {
85
85
  return this.fromComponent(SimpleDialogComponent, {
86
86
  locals: config,
87
+ size: config.size,
87
88
  });
88
89
  }
89
90
  }
@@ -97,4 +98,4 @@ ModalService.ctorParameters = () => [
97
98
  { type: ComponentFactoryResolver },
98
99
  { type: OverlayHostService }
99
100
  ];
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQXVFMUU7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUNyQixZQUNZLHdCQUFrRCxFQUNsRCxrQkFBc0M7UUFEdEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQy9DLENBQUM7SUFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdDRztJQUNILGFBQWEsQ0FDVCxTQUFvQyxFQUNwQyxPQUF5QjtRQUV6QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ELFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoQixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakUsTUFBTSxhQUFhLEdBQThCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUM1RSxhQUFhLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQzdDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBRWhDLE9BQU8sSUFBSSxVQUFVLENBQUksVUFBVSxDQUFDLEVBQUU7Z0JBQ2xDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFTLEVBQUUsRUFBRTtvQkFDckMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBSSxNQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUU7WUFDN0MsTUFBTSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztZQWxGSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQXpGUSx3QkFBd0I7WUFPeEIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBNb2RhbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9tb2RhbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvc2ltcGxlLWRpYWxvZy9zaW1wbGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE92ZXJsYXlIb3N0U2VydmljZSB9IGZyb20gJy4uL292ZXJsYXktaG9zdC9vdmVybGF5LWhvc3Quc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEFueSBjb21wb25lbnQgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBNb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudCgpIG1ldGhvZCBtdXN0IGltcGxlbWVudFxyXG4gKiB0aGlzIGludGVyZmFjZS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBwcm92aWRlcnNcclxuICogQGRvY3NQYWdlIE1vZGFsU2VydmljZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2c8UiA9IGFueT4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEZ1bmN0aW9uIHRvIGJlIGludm9rZWQgaW4gb3JkZXIgdG8gY2xvc2UgdGhlIGRpYWxvZyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXHJcbiAgICAgKiBUaGUgT2JzZXJ2YWJsZSByZXR1cm5lZCBmcm9tIHRoZSAuZnJvbUNvbXBvbmVudCgpIG1ldGhvZCB3aWxsIGVtaXQgdGhlIHZhbHVlIHBhc3NlZFxyXG4gICAgICogdG8gdGhpcyBtZXRob2QgYW5kIHRoZW4gY29tcGxldGUuXHJcbiAgICAgKi9cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogUikgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dCdXR0b25Db25maWc8VD4ge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHR5cGU6ICdzZWNvbmRhcnknIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XHJcbiAgICByZXR1cm5WYWx1ZT86IFQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQ29uZmlndXJlcyBhIGdlbmVyaWMgbW9kYWwgZGlhbG9nLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHByb3ZpZGVyc1xyXG4gKiBAZG9jc1BhZ2UgTW9kYWxTZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0NvbmZpZzxUPiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgYm9keT86IHN0cmluZztcclxuICAgIHRyYW5zbGF0aW9uVmFycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH07XHJcbiAgICBidXR0b25zOiBBcnJheTxEaWFsb2dCdXR0b25Db25maWc8VD4+O1xyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZGFsLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHByb3ZpZGVyc1xyXG4gKiBAZG9jc1BhZ2UgTW9kYWxTZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsT3B0aW9uczxUPiB7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIGRpYWxvZ1xyXG4gICAgICovXHJcbiAgICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgdGhlIGRpYWxvZ1xyXG4gICAgICovXHJcbiAgICB2ZXJ0aWNhbEFsaWduPzogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFdoZW4gdHJ1ZSwgdGhlIFwieFwiIGljb24gaXMgc2hvd25cclxuICAgICAqIGFuZCBjbGlja2luZyBpdCBvciB0aGUgbWFzayB3aWxsIGNsb3NlIHRoZSBkaWFsb2dcclxuICAgICAqL1xyXG4gICAgY2xvc2FibGU/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFZhbHVlcyB0byBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIGNvbXBvbmVudCBiZWluZyBpbnN0YW50aWF0ZWQgaW5zaWRlIHRoZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIGxvY2Fscz86IFBhcnRpYWw8VD47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBpbnN0YW50aWF0aW5nIGEgTW9kYWxEaWFsb2cgY29tcG9uZW50IGFuZFxyXG4gKiBlbWJlZGRpbmcgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgd2l0aGluLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHByb3ZpZGVyc1xyXG4gKiBAZG9jc1BhZ2UgTW9kYWxTZXJ2aWNlXHJcbiAqIEBkb2NzV2VpZ2h0IDBcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUhvc3RTZXJ2aWNlOiBPdmVybGF5SG9zdFNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIENyZWF0ZSBhIG1vZGFsIGZyb20gYSBjb21wb25lbnQuIFRoZSBjb21wb25lbnQgbXVzdCBpbXBsZW1lbnQgdGhlIHtAbGluayBEaWFsb2d9IGludGVyZmFjZS5cclxuICAgICAqIEFkZGl0aW9uYWxseSwgdGhlIGNvbXBvbmVudCBzaG91bGQgaW5jbHVkZSB0ZW1wbGF0ZXMgZm9yIHRoZSB0aXRsZSBhbmQgdGhlIGJ1dHRvbnMgdG8gYmVcclxuICAgICAqIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgZGlhbG9nLiBTZWUgZXhhbXBsZTpcclxuICAgICAqXHJcbiAgICAgKiBAZXhhbXBsZVxyXG4gICAgICogYGBgSFRNTFxyXG4gICAgICogY2xhc3MgTXlEaWFsb2cgaW1wbGVtZW50cyBEaWFsb2cge1xyXG4gICAgICogIHJlc29sdmVXaXRoOiAocmVzdWx0PzogYW55KSA9PiB2b2lkO1xyXG4gICAgICpcclxuICAgICAqICBva2F5KCkge1xyXG4gICAgICogICAgZG9Tb21lV29yaygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICogICAgICB0aGlzLnJlc29sdmVXaXRoKHJlc3VsdCk7XHJcbiAgICAgKiAgICB9KVxyXG4gICAgICogIH1cclxuICAgICAqXHJcbiAgICAgKiAgY2FuY2VsKCkge1xyXG4gICAgICogICAgdGhpcy5yZXNvbHZlV2l0aChmYWxzZSk7XHJcbiAgICAgKiAgfVxyXG4gICAgICogfVxyXG4gICAgICogYGBgXHJcbiAgICAgKlxyXG4gICAgICogQGV4YW1wbGVcclxuICAgICAqIGBgYEhUTUxcclxuICAgICAqIDxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT5UaXRsZSBvZiB0aGUgbW9kYWw8L25nLXRlbXBsYXRlPlxyXG4gICAgICpcclxuICAgICAqIDxwPlxyXG4gICAgICogICBNeSBDb250ZW50XHJcbiAgICAgKiA8L3A+XHJcbiAgICAgKlxyXG4gICAgICogPG5nLXRlbXBsYXRlIHZkckRpYWxvZ0J1dHRvbnM+XHJcbiAgICAgKiAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgKiAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICogICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICogICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICogICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAqICAgICAgICAgICAoY2xpY2spPVwib2theSgpXCI+T2theTwvYnV0dG9uPlxyXG4gICAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgICAqIGBgYFxyXG4gICAgICovXHJcbiAgICBmcm9tQ29tcG9uZW50PFQgZXh0ZW5kcyBEaWFsb2c8YW55PiwgUj4oXHJcbiAgICAgICAgY29tcG9uZW50OiBUeXBlPFQ+ICYgVHlwZTxEaWFsb2c8Uj4+LFxyXG4gICAgICAgIG9wdGlvbnM/OiBNb2RhbE9wdGlvbnM8VD4sXHJcbiAgICApOiBPYnNlcnZhYmxlPFIgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICBjb25zdCBtb2RhbEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbERpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMub3ZlcmxheUhvc3RTZXJ2aWNlLmdldEhvc3RWaWV3KCkpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGhvc3RWaWV3ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1vZGFsQ29tcG9uZW50UmVmID0gaG9zdFZpZXcuY3JlYXRlQ29tcG9uZW50KG1vZGFsRmFjdG9yeSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtb2RhbEluc3RhbmNlOiBNb2RhbERpYWxvZ0NvbXBvbmVudDxhbnk+ID0gbW9kYWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICAgICAgICAgICBtb2RhbEluc3RhbmNlLmNoaWxkQ29tcG9uZW50VHlwZSA9IGNvbXBvbmVudDtcclxuICAgICAgICAgICAgICAgIG1vZGFsSW5zdGFuY2Uub3B0aW9ucyA9IG9wdGlvbnM7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFI+KHN1YnNjcmliZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VNb2RhbCA9IChyZXN1bHQ6IFIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxDb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogRGlzcGxheXMgYSBtb2RhbCBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgdGl0bGUsIGJvZHkgYW5kIGJ1dHRvbnMuXHJcbiAgICAgKi9cclxuICAgIGRpYWxvZzxUPihjb25maWc6IERpYWxvZ0NvbmZpZzxUPik6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZyb21Db21wb25lbnQoU2ltcGxlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGxvY2FsczogY29uZmlnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQXlFMUU7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUNyQixZQUNZLHdCQUFrRCxFQUNsRCxrQkFBc0M7UUFEdEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQy9DLENBQUM7SUFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdDRztJQUNILGFBQWEsQ0FDVCxTQUFvQyxFQUNwQyxPQUF5QjtRQUV6QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ELFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoQixNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakUsTUFBTSxhQUFhLEdBQThCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUM1RSxhQUFhLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQzdDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBRWhDLE9BQU8sSUFBSSxVQUFVLENBQUksVUFBVSxDQUFDLEVBQUU7Z0JBQ2xDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFTLEVBQUUsRUFBRTtvQkFDckMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBSSxNQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUU7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztZQW5GSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQTNGUSx3QkFBd0I7WUFPeEIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBNb2RhbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9tb2RhbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvc2ltcGxlLWRpYWxvZy9zaW1wbGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE92ZXJsYXlIb3N0U2VydmljZSB9IGZyb20gJy4uL292ZXJsYXktaG9zdC9vdmVybGF5LWhvc3Quc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEFueSBjb21wb25lbnQgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBNb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudCgpIG1ldGhvZCBtdXN0IGltcGxlbWVudFxyXG4gKiB0aGlzIGludGVyZmFjZS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBwcm92aWRlcnNcclxuICogQGRvY3NQYWdlIE1vZGFsU2VydmljZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2c8UiA9IGFueT4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEZ1bmN0aW9uIHRvIGJlIGludm9rZWQgaW4gb3JkZXIgdG8gY2xvc2UgdGhlIGRpYWxvZyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXHJcbiAgICAgKiBUaGUgT2JzZXJ2YWJsZSByZXR1cm5lZCBmcm9tIHRoZSAuZnJvbUNvbXBvbmVudCgpIG1ldGhvZCB3aWxsIGVtaXQgdGhlIHZhbHVlIHBhc3NlZFxyXG4gICAgICogdG8gdGhpcyBtZXRob2QgYW5kIHRoZW4gY29tcGxldGUuXHJcbiAgICAgKi9cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogUikgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dCdXR0b25Db25maWc8VD4ge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHR5cGU6ICdzZWNvbmRhcnknIHwgJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XHJcbiAgICB0cmFuc2xhdGlvblZhcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+O1xyXG4gICAgcmV0dXJuVmFsdWU/OiBUO1xyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIENvbmZpZ3VyZXMgYSBnZW5lcmljIG1vZGFsIGRpYWxvZy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBwcm92aWRlcnNcclxuICogQGRvY3NQYWdlIE1vZGFsU2VydmljZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maWc8VD4ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGJvZHk/OiBzdHJpbmc7XHJcbiAgICB0cmFuc2xhdGlvblZhcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9O1xyXG4gICAgYnV0dG9uczogQXJyYXk8RGlhbG9nQnV0dG9uQ29uZmlnPFQ+PjtcclxuICAgIHNpemU/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZGFsLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHByb3ZpZGVyc1xyXG4gKiBAZG9jc1BhZ2UgTW9kYWxTZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsT3B0aW9uczxUPiB7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIGRpYWxvZ1xyXG4gICAgICovXHJcbiAgICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgdGhlIGRpYWxvZ1xyXG4gICAgICovXHJcbiAgICB2ZXJ0aWNhbEFsaWduPzogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFdoZW4gdHJ1ZSwgdGhlIFwieFwiIGljb24gaXMgc2hvd25cclxuICAgICAqIGFuZCBjbGlja2luZyBpdCBvciB0aGUgbWFzayB3aWxsIGNsb3NlIHRoZSBkaWFsb2dcclxuICAgICAqL1xyXG4gICAgY2xvc2FibGU/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFZhbHVlcyB0byBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIGNvbXBvbmVudCBiZWluZyBpbnN0YW50aWF0ZWQgaW5zaWRlIHRoZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIGxvY2Fscz86IFBhcnRpYWw8VD47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBpbnN0YW50aWF0aW5nIGEgTW9kYWxEaWFsb2cgY29tcG9uZW50IGFuZFxyXG4gKiBlbWJlZGRpbmcgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgd2l0aGluLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHByb3ZpZGVyc1xyXG4gKiBAZG9jc1BhZ2UgTW9kYWxTZXJ2aWNlXHJcbiAqIEBkb2NzV2VpZ2h0IDBcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUhvc3RTZXJ2aWNlOiBPdmVybGF5SG9zdFNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIENyZWF0ZSBhIG1vZGFsIGZyb20gYSBjb21wb25lbnQuIFRoZSBjb21wb25lbnQgbXVzdCBpbXBsZW1lbnQgdGhlIHtAbGluayBEaWFsb2d9IGludGVyZmFjZS5cclxuICAgICAqIEFkZGl0aW9uYWxseSwgdGhlIGNvbXBvbmVudCBzaG91bGQgaW5jbHVkZSB0ZW1wbGF0ZXMgZm9yIHRoZSB0aXRsZSBhbmQgdGhlIGJ1dHRvbnMgdG8gYmVcclxuICAgICAqIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgZGlhbG9nLiBTZWUgZXhhbXBsZTpcclxuICAgICAqXHJcbiAgICAgKiBAZXhhbXBsZVxyXG4gICAgICogYGBgSFRNTFxyXG4gICAgICogY2xhc3MgTXlEaWFsb2cgaW1wbGVtZW50cyBEaWFsb2cge1xyXG4gICAgICogIHJlc29sdmVXaXRoOiAocmVzdWx0PzogYW55KSA9PiB2b2lkO1xyXG4gICAgICpcclxuICAgICAqICBva2F5KCkge1xyXG4gICAgICogICAgZG9Tb21lV29yaygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICogICAgICB0aGlzLnJlc29sdmVXaXRoKHJlc3VsdCk7XHJcbiAgICAgKiAgICB9KVxyXG4gICAgICogIH1cclxuICAgICAqXHJcbiAgICAgKiAgY2FuY2VsKCkge1xyXG4gICAgICogICAgdGhpcy5yZXNvbHZlV2l0aChmYWxzZSk7XHJcbiAgICAgKiAgfVxyXG4gICAgICogfVxyXG4gICAgICogYGBgXHJcbiAgICAgKlxyXG4gICAgICogQGV4YW1wbGVcclxuICAgICAqIGBgYEhUTUxcclxuICAgICAqIDxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT5UaXRsZSBvZiB0aGUgbW9kYWw8L25nLXRlbXBsYXRlPlxyXG4gICAgICpcclxuICAgICAqIDxwPlxyXG4gICAgICogICBNeSBDb250ZW50XHJcbiAgICAgKiA8L3A+XHJcbiAgICAgKlxyXG4gICAgICogPG5nLXRlbXBsYXRlIHZkckRpYWxvZ0J1dHRvbnM+XHJcbiAgICAgKiAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgKiAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICogICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICogICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICogICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAqICAgICAgICAgICAoY2xpY2spPVwib2theSgpXCI+T2theTwvYnV0dG9uPlxyXG4gICAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgICAqIGBgYFxyXG4gICAgICovXHJcbiAgICBmcm9tQ29tcG9uZW50PFQgZXh0ZW5kcyBEaWFsb2c8YW55PiwgUj4oXHJcbiAgICAgICAgY29tcG9uZW50OiBUeXBlPFQ+ICYgVHlwZTxEaWFsb2c8Uj4+LFxyXG4gICAgICAgIG9wdGlvbnM/OiBNb2RhbE9wdGlvbnM8VD4sXHJcbiAgICApOiBPYnNlcnZhYmxlPFIgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICBjb25zdCBtb2RhbEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbERpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMub3ZlcmxheUhvc3RTZXJ2aWNlLmdldEhvc3RWaWV3KCkpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGhvc3RWaWV3ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1vZGFsQ29tcG9uZW50UmVmID0gaG9zdFZpZXcuY3JlYXRlQ29tcG9uZW50KG1vZGFsRmFjdG9yeSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtb2RhbEluc3RhbmNlOiBNb2RhbERpYWxvZ0NvbXBvbmVudDxhbnk+ID0gbW9kYWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICAgICAgICAgICBtb2RhbEluc3RhbmNlLmNoaWxkQ29tcG9uZW50VHlwZSA9IGNvbXBvbmVudDtcclxuICAgICAgICAgICAgICAgIG1vZGFsSW5zdGFuY2Uub3B0aW9ucyA9IG9wdGlvbnM7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFI+KHN1YnNjcmliZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VNb2RhbCA9IChyZXN1bHQ6IFIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxDb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogRGlzcGxheXMgYSBtb2RhbCBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgdGl0bGUsIGJvZHkgYW5kIGJ1dHRvbnMuXHJcbiAgICAgKi9cclxuICAgIGRpYWxvZzxUPihjb25maWc6IERpYWxvZ0NvbmZpZzxUPik6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZyb21Db21wb25lbnQoU2ltcGxlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGxvY2FsczogY29uZmlnLFxyXG4gICAgICAgICAgICBzaXplOiBjb25maWcuc2l6ZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJ1aWxkZXItdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBY3Rpb25CYXJMb2NhdGlvbklkLCBVSUV4dGVuc2lvbkxvY2F0aW9uSWQgfSBmcm9tICcuLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5hdk1lbnVCYWRnZVR5cGUgPSAnbm9uZScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGNvbG9yLWNvZGVkIG5vdGlmaWNhdGlvbiBiYWRnZSB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBieSB0aGVcclxuICogTmF2TWVudUl0ZW0ncyBpY29uLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IG5hdi1tZW51XHJcbiAqIEBkb2NzUGFnZSBuYXZpZ2F0aW9uLXR5cGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hdk1lbnVCYWRnZSB7XHJcbiAgICB0eXBlOiBOYXZNZW51QmFkZ2VUeXBlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIElmIHRydWUsIHRoZSBiYWRnZSB3aWxsIHByb3BhZ2F0ZSB0byB0aGUgTmF2TWVudUl0ZW0nc1xyXG4gICAgICogcGFyZW50IHNlY3Rpb24sIGRpc3BsYXlpbmcgYSBub3RpZmljYXRpb24gYmFkZ2UgbmV4dFxyXG4gICAgICogdG8gdGhlIHNlY3Rpb24gbmFtZS5cclxuICAgICAqL1xyXG4gICAgcHJvcGFnYXRlVG9TZWN0aW9uPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIE5hdk1lbnVJdGVtIGlzIGEgbWVudSBpdGVtIGluIHRoZSBtYWluIChsZWZ0LWhhbmQgc2lkZSkgbmF2XHJcbiAqIGJhci5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBuYXYtbWVudVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZNZW51SXRlbSB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHJvdXRlckxpbms6IFJvdXRlckxpbmtEZWZpbml0aW9uO1xyXG4gICAgb25DbGljaz86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2wgdGhlIGRpc3BsYXkgb2YgdGhpcyBpdGVtIGJhc2VkIG9uIHRoZSB1c2VyIHBlcm1pc3Npb25zLlxyXG4gICAgICovXHJcbiAgICByZXF1aXJlc1Blcm1pc3Npb24/OiBzdHJpbmcgfCAoKHVzZXJQZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4pO1xyXG4gICAgc3RhdHVzQmFkZ2U/OiBPYnNlcnZhYmxlPE5hdk1lbnVCYWRnZT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBOYXZNZW51U2VjdGlvbiBpcyBhIGdyb3VwaW5nIG9mIGxpbmtzIGluIHRoZSBtYWluXHJcbiAqIChsZWZ0LWhhbmQgc2lkZSkgbmF2IGJhci5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBuYXYtbWVudVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZNZW51U2VjdGlvbiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGl0ZW1zOiBOYXZNZW51SXRlbVtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb250cm9sIHRoZSBkaXNwbGF5IG9mIHRoaXMgaXRlbSBiYXNlZCBvbiB0aGUgdXNlciBwZXJtaXNzaW9ucy5cclxuICAgICAqL1xyXG4gICAgcmVxdWlyZXNQZXJtaXNzaW9uPzogc3RyaW5nIHwgKCh1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdKSA9PiBib29sZWFuKTtcclxuICAgIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcclxuICAgIGNvbGxhcHNlZEJ5RGVmYXVsdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVXRpbGl0aWVzIGF2YWlsYWJsZSB0byB0aGUgb25DbGljayBoYW5kbGVyIG9mIGFuIEFjdGlvbkJhckl0ZW0uXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgYWN0aW9uLWJhclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBPbkNsaWNrQ29udGV4dCB7XHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgICBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgYnV0dG9uIGluIHRoZSBBY3Rpb25CYXIgYXJlYSBhdCB0aGUgdG9wIG9mIG9uZSBvZiB0aGUgbGlzdCBvciBkZXRhaWwgdmlld3MuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgYWN0aW9uLWJhclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CYXJJdGVtIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgbG9jYXRpb25JZDogQWN0aW9uQmFyTG9jYXRpb25JZDtcclxuICAgIGRpc2FibGVkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbnRleHQ6IE9uQ2xpY2tDb250ZXh0KSA9PiB2b2lkO1xyXG4gICAgcm91dGVyTGluaz86IFJvdXRlckxpbmtEZWZpbml0aW9uO1xyXG4gICAgYnV0dG9uQ29sb3I/OiAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZyc7XHJcbiAgICBidXR0b25TdHlsZT86ICdzb2xpZCcgfCAnb3V0bGluZScgfCAnbGluayc7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgcmVxdWlyZXNQZXJtaXNzaW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSb3V0ZXJMaW5rRGVmaW5pdGlvbiA9ICgocm91dGU6IEFjdGl2YXRlZFJvdXRlKSA9PiBhbnlbXSkgfCBhbnlbXTtcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJ1aWxkZXItdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBY3Rpb25CYXJMb2NhdGlvbklkLCBVSUV4dGVuc2lvbkxvY2F0aW9uSWQgfSBmcm9tICcuLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5hdk1lbnVCYWRnZVR5cGUgPSAnbm9uZScgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGNvbG9yLWNvZGVkIG5vdGlmaWNhdGlvbiBiYWRnZSB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCBieSB0aGVcclxuICogTmF2TWVudUl0ZW0ncyBpY29uLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IG5hdi1tZW51XHJcbiAqIEBkb2NzUGFnZSBuYXZpZ2F0aW9uLXR5cGVzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hdk1lbnVCYWRnZSB7XHJcbiAgICB0eXBlOiBOYXZNZW51QmFkZ2VUeXBlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIElmIHRydWUsIHRoZSBiYWRnZSB3aWxsIHByb3BhZ2F0ZSB0byB0aGUgTmF2TWVudUl0ZW0nc1xyXG4gICAgICogcGFyZW50IHNlY3Rpb24sIGRpc3BsYXlpbmcgYSBub3RpZmljYXRpb24gYmFkZ2UgbmV4dFxyXG4gICAgICogdG8gdGhlIHNlY3Rpb24gbmFtZS5cclxuICAgICAqL1xyXG4gICAgcHJvcGFnYXRlVG9TZWN0aW9uPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIE5hdk1lbnVJdGVtIGlzIGEgbWVudSBpdGVtIGluIHRoZSBtYWluIChsZWZ0LWhhbmQgc2lkZSkgbmF2XHJcbiAqIGJhci5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBuYXYtbWVudVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZNZW51SXRlbSB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHJvdXRlckxpbms6IFJvdXRlckxpbmtEZWZpbml0aW9uO1xyXG4gICAgb25DbGljaz86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2wgdGhlIGRpc3BsYXkgb2YgdGhpcyBpdGVtIGJhc2VkIG9uIHRoZSB1c2VyIHBlcm1pc3Npb25zLlxyXG4gICAgICovXHJcbiAgICByZXF1aXJlc1Blcm1pc3Npb24/OiBzdHJpbmcgfCAoKHVzZXJQZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4pO1xyXG4gICAgc3RhdHVzQmFkZ2U/OiBPYnNlcnZhYmxlPE5hdk1lbnVCYWRnZT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBOYXZNZW51U2VjdGlvbiBpcyBhIGdyb3VwaW5nIG9mIGxpbmtzIGluIHRoZSBtYWluXHJcbiAqIChsZWZ0LWhhbmQgc2lkZSkgbmF2IGJhci5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBuYXYtbWVudVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZNZW51U2VjdGlvbiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGl0ZW1zOiBOYXZNZW51SXRlbVtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIENvbnRyb2wgdGhlIGRpc3BsYXkgb2YgdGhpcyBpdGVtIGJhc2VkIG9uIHRoZSB1c2VyIHBlcm1pc3Npb25zLlxyXG4gICAgICovXHJcbiAgICByZXF1aXJlc1Blcm1pc3Npb24/OiBzdHJpbmcgfCAoKHVzZXJQZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4pO1xyXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xyXG4gICAgY29sbGFwc2VkQnlEZWZhdWx0PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBVdGlsaXRpZXMgYXZhaWxhYmxlIHRvIHRoZSBvbkNsaWNrIGhhbmRsZXIgb2YgYW4gQWN0aW9uQmFySXRlbS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBhY3Rpb24tYmFyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE9uQ2xpY2tDb250ZXh0IHtcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcclxuICAgIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZTtcclxuICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBidXR0b24gaW4gdGhlIEFjdGlvbkJhciBhcmVhIGF0IHRoZSB0b3Agb2Ygb25lIG9mIHRoZSBsaXN0IG9yIGRldGFpbCB2aWV3cy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBhY3Rpb24tYmFyXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJhckl0ZW0ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbklkOiBBY3Rpb25CYXJMb2NhdGlvbklkO1xyXG4gICAgZGlzYWJsZWQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgb25DbGljaz86IChldmVudDogTW91c2VFdmVudCwgY29udGV4dDogT25DbGlja0NvbnRleHQpID0+IHZvaWQ7XHJcbiAgICByb3V0ZXJMaW5rPzogUm91dGVyTGlua0RlZmluaXRpb247XHJcbiAgICBidXR0b25Db2xvcj86ICdwcmltYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJztcclxuICAgIGJ1dHRvblN0eWxlPzogJ3NvbGlkJyB8ICdvdXRsaW5lJyB8ICdsaW5rJztcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICByZXF1aXJlc1Blcm1pc3Npb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJvdXRlckxpbmtEZWZpbml0aW9uID0gKChyb3V0ZTogQWN0aXZhdGVkUm91dGUpID0+IGFueVtdKSB8IGFueVtdO1xyXG4iXX0=