@vendure/admin-ui 1.3.3 → 1.4.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 (252) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2020 -402
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +79 -57
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
  8. package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +10 -2
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +156 -153
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
  14. package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
  16. package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
  17. package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
  18. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  19. package/core/app.component.d.ts +1 -0
  20. package/core/common/base-detail.component.d.ts +42 -1
  21. package/core/common/base-entity-resolver.d.ts +28 -1
  22. package/core/common/base-list.component.d.ts +75 -1
  23. package/core/common/component-registry-types.d.ts +46 -0
  24. package/core/common/generated-types.d.ts +282 -23
  25. package/core/common/utilities/get-default-ui-language.d.ts +1 -0
  26. package/core/common/version.d.ts +1 -1
  27. package/core/components/app-shell/app-shell.component.d.ts +1 -1
  28. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
  29. package/core/components/user-menu/user-menu.component.d.ts +1 -1
  30. package/core/data/client-state/client-defaults.d.ts +1 -1
  31. package/core/data/definitions/client-definitions.d.ts +3 -1
  32. package/core/data/definitions/customer-definitions.d.ts +1 -0
  33. package/core/data/definitions/settings-definitions.d.ts +1 -0
  34. package/core/data/providers/client-data.service.d.ts +3 -1
  35. package/core/data/providers/data.service.d.ts +54 -12
  36. package/core/data/providers/settings-data.service.d.ts +3 -0
  37. package/core/data/query-result.d.ts +11 -2
  38. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
  39. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
  40. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
  41. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  42. package/core/providers/modal/modal.service.d.ts +41 -12
  43. package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
  44. package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
  45. package/core/providers/notification/notification.service.d.ts +37 -0
  46. package/core/public_api.d.ts +8 -0
  47. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
  48. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
  49. package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
  50. package/core/shared/components/chip/chip.component.d.ts +20 -0
  51. package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
  52. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
  53. package/core/shared/components/data-table/data-table.component.d.ts +59 -0
  54. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
  55. package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
  56. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
  57. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
  58. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
  59. package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
  60. package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
  61. package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
  62. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
  63. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
  64. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
  65. package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
  66. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  67. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
  68. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
  69. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
  70. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
  71. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
  72. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
  73. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
  74. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
  75. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
  76. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
  77. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
  78. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
  79. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
  80. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
  81. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
  82. package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
  83. package/core/shared/pipes/duration.pipe.d.ts +8 -0
  84. package/core/shared/pipes/file-size.pipe.d.ts +8 -0
  85. package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
  86. package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
  87. package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
  88. package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
  89. package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
  90. package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
  91. package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
  92. package/core/vendure-admin-ui-core.metadata.json +1 -1
  93. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
  94. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
  95. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  96. package/esm2015/catalog/catalog.module.js +29 -28
  97. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
  98. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
  99. package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
  100. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
  101. package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
  102. package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
  103. package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
  104. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
  105. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
  106. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
  107. package/esm2015/core/app.component.js +20 -2
  108. package/esm2015/core/common/base-detail.component.js +53 -1
  109. package/esm2015/core/common/base-entity-resolver.js +29 -2
  110. package/esm2015/core/common/base-list.component.js +76 -2
  111. package/esm2015/core/common/component-registry-types.js +1 -1
  112. package/esm2015/core/common/generated-types.js +1 -1
  113. package/esm2015/core/common/introspection-result.js +249 -183
  114. package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
  115. package/esm2015/core/common/version.js +2 -2
  116. package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
  117. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  118. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
  119. package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
  120. package/esm2015/core/data/client-state/client-defaults.js +5 -2
  121. package/esm2015/core/data/client-state/client-resolvers.js +32 -33
  122. package/esm2015/core/data/definitions/client-definitions.js +18 -3
  123. package/esm2015/core/data/definitions/customer-definitions.js +21 -25
  124. package/esm2015/core/data/definitions/settings-definitions.js +50 -5
  125. package/esm2015/core/data/providers/client-data.service.js +15 -4
  126. package/esm2015/core/data/providers/data.service.js +44 -2
  127. package/esm2015/core/data/providers/settings-data.service.js +12 -4
  128. package/esm2015/core/data/query-result.js +14 -4
  129. package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
  130. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
  131. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
  132. package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
  133. package/esm2015/core/providers/modal/modal.service.js +20 -12
  134. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  135. package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
  136. package/esm2015/core/providers/notification/notification.service.js +24 -1
  137. package/esm2015/core/public_api.js +9 -1
  138. package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
  139. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
  140. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  141. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
  142. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
  143. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +1 -1
  144. package/esm2015/core/shared/components/chip/chip.component.js +12 -1
  145. package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
  146. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
  147. package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
  148. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
  149. package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
  150. package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
  151. package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
  152. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
  153. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
  154. package/esm2015/core/shared/components/object-tree/object-tree.component.js +9 -1
  155. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
  156. package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
  157. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
  158. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
  159. package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
  160. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
  161. package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
  162. package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
  163. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
  164. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
  165. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
  166. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
  167. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
  168. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +2 -1
  169. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
  170. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
  171. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
  172. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
  173. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
  174. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
  175. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
  176. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
  177. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
  178. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
  179. package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
  180. package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
  181. package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
  182. package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
  183. package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
  184. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
  185. package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
  186. package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
  187. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
  188. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
  189. package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
  190. package/esm2015/core/shared/shared.module.js +13 -1
  191. package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
  192. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
  193. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
  194. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
  195. package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
  196. package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
  197. package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
  198. package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
  199. package/esm2015/settings/components/country-list/country-list.component.js +19 -7
  200. package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
  201. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
  202. package/esm2015/settings/components/profile/profile.component.js +3 -14
  203. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
  204. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
  205. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
  206. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
  207. package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
  208. package/fesm2015/vendure-admin-ui-catalog.js +83 -102
  209. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  210. package/fesm2015/vendure-admin-ui-core.js +1863 -339
  211. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  212. package/fesm2015/vendure-admin-ui-customer.js +54 -34
  213. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  214. package/fesm2015/vendure-admin-ui-marketing.js +8 -1
  215. package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
  216. package/fesm2015/vendure-admin-ui-order.js +10 -2
  217. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  218. package/fesm2015/vendure-admin-ui-settings.js +110 -85
  219. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  220. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
  221. package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
  222. package/order/vendure-admin-ui-order.metadata.json +1 -1
  223. package/package.json +6 -5
  224. package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
  225. package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
  226. package/settings/components/country-detail/country-detail.component.d.ts +2 -1
  227. package/settings/components/country-list/country-list.component.d.ts +7 -2
  228. package/settings/components/global-settings/global-settings.component.d.ts +0 -1
  229. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
  230. package/settings/components/profile/profile.component.d.ts +0 -1
  231. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
  232. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
  233. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
  234. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
  235. package/settings/components/zone-list/zone-list.component.d.ts +6 -2
  236. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  237. package/static/i18n-messages/cs.json +7 -0
  238. package/static/i18n-messages/de.json +7 -0
  239. package/static/i18n-messages/en.json +7 -0
  240. package/static/i18n-messages/es.json +8 -1
  241. package/static/i18n-messages/fr.json +7 -0
  242. package/static/i18n-messages/it.json +7 -0
  243. package/static/i18n-messages/pl.json +7 -0
  244. package/static/i18n-messages/pt_BR.json +7 -0
  245. package/static/i18n-messages/pt_PT.json +7 -0
  246. package/static/i18n-messages/ru.json +7 -0
  247. package/static/i18n-messages/uk.json +7 -0
  248. package/static/i18n-messages/zh_Hans.json +7 -0
  249. package/static/i18n-messages/zh_Hant.json +7 -0
  250. package/static/styles/theme/dark.scss +9 -0
  251. package/static/styles/theme/default.scss +8 -0
  252. package/static/theme.min.css +1 -1
@@ -56,10 +56,6 @@ export class AssetPreviewComponent {
56
56
  this.subscription.unsubscribe();
57
57
  }
58
58
  }
59
- customFieldIsSet(name) {
60
- var _a;
61
- return !!((_a = this.customFieldsForm) === null || _a === void 0 ? void 0 : _a.get([name]));
62
- }
63
59
  getSourceFileName() {
64
60
  const parts = this.asset.source.split('/');
65
61
  return parts[parts.length - 1];
@@ -155,7 +151,7 @@ export class AssetPreviewComponent {
155
151
  AssetPreviewComponent.decorators = [
156
152
  { type: Component, args: [{
157
153
  selector: 'vdr-asset-preview',
158
- template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <ng-container *ngFor=\"let customField of customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <a\r\n *ngIf=\"!editable\"\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n</div>\r\n",
154
+ template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <a\r\n *ngIf=\"!editable\"\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n</div>\r\n",
159
155
  changeDetection: ChangeDetectionStrategy.OnPush,
160
156
  styles: [":host{display:flex;height:100%}.preview-image{width:100%;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-left:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center;margin-bottom:12px}.controls .preview-select clr-select-container{margin-right:12px}\n"]
161
157
  },] }
@@ -177,4 +173,4 @@ AssetPreviewComponent.propDecorators = {
177
173
  imageElementRef: [{ type: ViewChild, args: ['imageElement', { static: true },] }],
178
174
  previewDivRef: [{ type: ViewChild, args: ['previewDiv', { static: true },] }]
179
175
  };
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXcvYXNzZXQtcHJldmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUUzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVcvRixNQUFNLE9BQU8scUJBQXFCO0lBcUI5QixZQUNZLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxjQUFpQyxFQUNqQyxZQUEwQjtRQUoxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhCN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFFdEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0MsQ0FBQztRQUN2RSxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl6QyxTQUFJLEdBQWtCLFFBQVEsQ0FBQztRQUMvQixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBYXZCLENBQUM7SUFFSixJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVE7O1FBQ0osTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLEVBQUUsQ0FBQyxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ25CLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ2pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTs7UUFDekIsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUI7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ25ELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzdDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFFL0MsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDcEQsSUFBSSxvQkFBb0IsRUFBRTtZQUN0QixNQUFNLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEMsTUFBTSxlQUFlLEdBQUcsZUFBZSxHQUFHLGdCQUFnQixDQUFDO1lBQzNELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUN0QyxNQUFNLE1BQU0sR0FBRyxTQUFTLEdBQUcsZUFBZSxDQUFDO1lBQzNDLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxjQUFjLENBQUM7WUFFekMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDakUsSUFBSSwrQkFBK0IsRUFBRTtnQkFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixPQUFPO2FBQ1Y7U0FDSjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGNBQWMsSUFBSSxTQUFTLElBQUksZUFBZSxDQUFDO0lBQy9FLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ25CLFdBQVcsQ0FBQztZQUNULEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQzthQUNELFNBQVMsQ0FDTixHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLEtBQUssbUNBQVEsSUFBSSxDQUFDLEtBQUssS0FBRSxVQUFVLEVBQUUsSUFBSSxHQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLEVBQ0QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBQ1YsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVk7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87aUJBQ25CLFdBQVcsQ0FBQztnQkFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2FBQ3ZCLENBQUM7aUJBQ0QsU0FBUyxDQUNOLEdBQUcsRUFBRTtnQkFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxLQUFLLG1DQUFRLElBQUksQ0FBQyxLQUFLLEtBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFFLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkMsQ0FBQyxFQUNELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztTQUNUO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRTtZQUN0QyxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7YUFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDO2FBQzdFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOzs7WUF2TEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHNpTUFBNkM7Z0JBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBcEJRLFdBQVc7WUFNWCxXQUFXO1lBRVgsbUJBQW1CO1lBbEJ4QixpQkFBaUI7WUFpQlosWUFBWTs7O29CQWVoQixLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLOzBCQUNMLE1BQU07d0JBQ04sTUFBTTs4QkFVTixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs0QkFDMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgR2V0QXNzZXQsIEdldEFzc2V0TGlzdCwgVXBkYXRlQXNzZXRJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ZvY2FsLXBvaW50LWNvbnRyb2wvZm9jYWwtcG9pbnQtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VUYWdzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFuYWdlLXRhZ3MtZGlhbG9nL21hbmFnZS10YWdzLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJldmlld1ByZXNldCA9ICd0aW55JyB8ICd0aHVtYicgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJyc7XHJcbnR5cGUgQXNzZXRMaWtlID0gR2V0QXNzZXRMaXN0Lkl0ZW1zIHwgR2V0QXNzZXQuQXNzZXQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFzc2V0LXByZXZpZXcnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NldFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBhc3NldDogQXNzZXRMaWtlO1xyXG4gICAgQElucHV0KCkgZWRpdGFibGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgY3VzdG9tRmllbGRzRm9ybTogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xyXG4gICAgQE91dHB1dCgpIGFzc2V0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPbWl0PFVwZGF0ZUFzc2V0SW5wdXQsICdmb2NhbFBvaW50Jz4+KCk7XHJcbiAgICBAT3V0cHV0KCkgZWRpdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgICBzaXplOiBQcmV2aWV3UHJlc2V0ID0gJ21lZGl1bSc7XHJcbiAgICB3aWR0aCA9IDA7XHJcbiAgICBoZWlnaHQgPSAwO1xyXG4gICAgY2VudGVyZWQgPSB0cnVlO1xyXG4gICAgc2V0dGluZ0ZvY2FsUG9pbnQgPSBmYWxzZTtcclxuICAgIGxhc3RGb2NhbFBvaW50PzogUG9pbnQ7XHJcbiAgICBAVmlld0NoaWxkKCdpbWFnZUVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGltYWdlRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW1hZ2VFbGVtZW50PjtcclxuICAgIEBWaWV3Q2hpbGQoJ3ByZXZpZXdEaXYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIHByZXZpZXdEaXZSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludDogUHJldmlld1ByZXNldDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBnZXQgZnB4KCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFzc2V0LmZvY2FsUG9pbnQgPyB0aGlzLmFzc2V0LmZvY2FsUG9pbnQueCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZweSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldC5mb2NhbFBvaW50ID8gdGhpcy5hc3NldC5mb2NhbFBvaW50LnkgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IHsgZm9jYWxQb2ludCB9ID0gdGhpcy5hc3NldDtcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgbmFtZTogW3RoaXMuYXNzZXQubmFtZV0sXHJcbiAgICAgICAgICAgIHRhZ3M6IFt0aGlzLmFzc2V0LnRhZ3M/Lm1hcCh0ID0+IHQudmFsdWUpXSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KHtcclxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmFzc2V0LmlkLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogdmFsdWUubmFtZSxcclxuICAgICAgICAgICAgICAgIHRhZ3M6IHZhbHVlLnRhZ3MsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjdXN0b21GaWVsZElzU2V0KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuY3VzdG9tRmllbGRzRm9ybT8uZ2V0KFtuYW1lXSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U291cmNlRmlsZU5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBwYXJ0cyA9IHRoaXMuYXNzZXQuc291cmNlLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRGltZW5zaW9ucygpIHtcclxuICAgICAgICBjb25zdCBpbWcgPSB0aGlzLmltYWdlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucHJldmlld0RpdlJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGltZ1dpZHRoID0gaW1nLm5hdHVyYWxXaWR0aDtcclxuICAgICAgICBjb25zdCBpbWdIZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDtcclxuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aDtcclxuICAgICAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXIub2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgICAgICBjb25zdCBjb25zdHJhaW5Ub0NvbnRhaW5lciA9IHRoaXMuc2V0dGluZ0ZvY2FsUG9pbnQ7XHJcbiAgICAgICAgaWYgKGNvbnN0cmFpblRvQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xzTWFyZ2luUHggPSA0OCAqIDI7XHJcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIGNvbnRyb2xzTWFyZ2luUHg7XHJcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZVdpZHRoID0gY29udGFpbmVyV2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IGhSYXRpbyA9IGltZ0hlaWdodCAvIGF2YWlsYWJsZUhlaWdodDtcclxuICAgICAgICAgICAgY29uc3Qgd1JhdGlvID0gaW1nV2lkdGggLyBhdmFpbGFibGVXaWR0aDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGltYWdlRXhjZWVkc0F2YWlsYWJsZURpbWVuc2lvbnMgPSAxIDwgaFJhdGlvIHx8IDEgPCB3UmF0aW87XHJcbiAgICAgICAgICAgIGlmIChpbWFnZUV4Y2VlZHNBdmFpbGFibGVEaW1lbnNpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3IgPSBoUmF0aW8gPCB3UmF0aW8gPyB3UmF0aW8gOiBoUmF0aW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLndpZHRoID0gTWF0aC5yb3VuZChpbWdXaWR0aCAvIGZhY3Rvcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhlaWdodCA9IE1hdGgucm91bmQoaW1nSGVpZ2h0IC8gZmFjdG9yKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2lkdGggPSBpbWdXaWR0aDtcclxuICAgICAgICB0aGlzLmhlaWdodCA9IGltZ0hlaWdodDtcclxuICAgICAgICB0aGlzLmNlbnRlcmVkID0gaW1nV2lkdGggPD0gY29udGFpbmVyV2lkdGggJiYgaW1nSGVpZ2h0IDw9IGNvbnRhaW5lckhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGb2NhbFBvaW50U3RhcnQoKSB7XHJcbiAgICAgICAgdGhpcy5zaXplUHJpb3JUb1NldHRpbmdGb2NhbFBvaW50ID0gdGhpcy5zaXplO1xyXG4gICAgICAgIHRoaXMuc2l6ZSA9ICdtZWRpdW0nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ0ZvY2FsUG9pbnQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB0aGlzLmFzc2V0LmZvY2FsUG9pbnQgfHwgeyB4OiAwLjUsIHk6IDAuNSB9O1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUZvY2FsUG9pbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgIC51cGRhdGVBc3NldCh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcclxuICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQ6IG51bGwsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LXN1Y2Nlc3MnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc3NldCA9IHsgLi4udGhpcy5hc3NldCwgZm9jYWxQb2ludDogbnVsbCB9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKF8oJ2Fzc2V0LnVwZGF0ZS1mb2NhbC1wb2ludC1lcnJvcicpKSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkZvY2FsUG9pbnRDaGFuZ2UocG9pbnQ6IFBvaW50KSB7XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jYWxQb2ludCA9IHBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZvY2FsUG9pbnRDYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nRm9jYWxQb2ludCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zaXplID0gdGhpcy5zaXplUHJpb3JUb1NldHRpbmdGb2NhbFBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZvY2FsUG9pbnRFbmQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nRm9jYWxQb2ludCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludDtcclxuICAgICAgICBpZiAodGhpcy5sYXN0Rm9jYWxQb2ludCkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHgsIHkgfSA9IHRoaXMubGFzdEZvY2FsUG9pbnQ7XHJcbiAgICAgICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UucHJvZHVjdFxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZUFzc2V0KHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBmb2NhbFBvaW50OiB7IHgsIHkgfSxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LXN1Y2Nlc3MnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXNzZXQgPSB7IC4uLnRoaXMuYXNzZXQsIGZvY2FsUG9pbnQ6IHsgeCwgeSB9IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LWVycm9yJykpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbWFuYWdlVGFncygpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChNYW5hZ2VUYWdzRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAnc20nLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS11cGRhdGVkLXRhZ3Mtc3VjY2VzcycpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXcvYXNzZXQtcHJldmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUUzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVcvRixNQUFNLE9BQU8scUJBQXFCO0lBcUI5QixZQUNZLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxjQUFpQyxFQUNqQyxZQUEwQjtRQUoxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhCN0IsYUFB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QU0sQ0FBQyxFQUFFO1lBQ2hCLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQzthQUM3RTtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBbkxKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qiw2OExBQTZDO2dCQUU3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQXBCUSxXQUFXO1lBTVgsV0FBVztZQUVYLG1CQUFtQjtZQWxCeEIsaUJBQWlCO1lBaUJaLFlBQVk7OztvQkFlaEIsS0FBSzt1QkFDTCxLQUFLOzJCQUNMLEtBQUs7K0JBQ0wsS0FBSzswQkFDTCxNQUFNO3dCQUNOLE1BQU07OEJBVU4sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7NEJBQzFDLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcsIEdldEFzc2V0LCBHZXRBc3NldExpc3QsIFVwZGF0ZUFzc2V0SW5wdXQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9mb2NhbC1wb2ludC1jb250cm9sL2ZvY2FsLXBvaW50LWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFuYWdlVGFnc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS10YWdzLWRpYWxvZy9tYW5hZ2UtdGFncy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIFByZXZpZXdQcmVzZXQgPSAndGlueScgfCAndGh1bWInIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICcnO1xyXG50eXBlIEFzc2V0TGlrZSA9IEdldEFzc2V0TGlzdC5JdGVtcyB8IEdldEFzc2V0LkFzc2V0O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1hc3NldC1wcmV2aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Fzc2V0LXByZXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXRQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgYXNzZXQ6IEFzc2V0TGlrZTtcclxuICAgIEBJbnB1dCgpIGVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkc0Zvcm06IEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcclxuICAgIEBPdXRwdXQoKSBhc3NldENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T21pdDxVcGRhdGVBc3NldElucHV0LCAnZm9jYWxQb2ludCc+PigpO1xyXG4gICAgQE91dHB1dCgpIGVkaXRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gICAgc2l6ZTogUHJldmlld1ByZXNldCA9ICdtZWRpdW0nO1xyXG4gICAgd2lkdGggPSAwO1xyXG4gICAgaGVpZ2h0ID0gMDtcclxuICAgIGNlbnRlcmVkID0gdHJ1ZTtcclxuICAgIHNldHRpbmdGb2NhbFBvaW50ID0gZmFsc2U7XHJcbiAgICBsYXN0Rm9jYWxQb2ludD86IFBvaW50O1xyXG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VFbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBpbWFnZUVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD47XHJcbiAgICBAVmlld0NoaWxkKCdwcmV2aWV3RGl2JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBwcmV2aWV3RGl2UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIHNpemVQcmlvclRvU2V0dGluZ0ZvY2FsUG9pbnQ6IFByZXZpZXdQcmVzZXQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgZ2V0IGZweCgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hc3NldC5mb2NhbFBvaW50ID8gdGhpcy5hc3NldC5mb2NhbFBvaW50LnggOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmcHkoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzZXQuZm9jYWxQb2ludCA/IHRoaXMuYXNzZXQuZm9jYWxQb2ludC55IDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCB7IGZvY2FsUG9pbnQgfSA9IHRoaXMuYXNzZXQ7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIG5hbWU6IFt0aGlzLmFzc2V0Lm5hbWVdLFxyXG4gICAgICAgICAgICB0YWdzOiBbdGhpcy5hc3NldC50YWdzPy5tYXAodCA9PiB0LnZhbHVlKV0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IHZhbHVlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICB0YWdzOiB2YWx1ZS50YWdzLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcclxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZURpbWVuc2lvbnMoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U291cmNlRmlsZU5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBwYXJ0cyA9IHRoaXMuYXNzZXQuc291cmNlLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRGltZW5zaW9ucygpIHtcclxuICAgICAgICBjb25zdCBpbWcgPSB0aGlzLmltYWdlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucHJldmlld0RpdlJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGltZ1dpZHRoID0gaW1nLm5hdHVyYWxXaWR0aDtcclxuICAgICAgICBjb25zdCBpbWdIZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDtcclxuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aDtcclxuICAgICAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXIub2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgICAgICBjb25zdCBjb25zdHJhaW5Ub0NvbnRhaW5lciA9IHRoaXMuc2V0dGluZ0ZvY2FsUG9pbnQ7XHJcbiAgICAgICAgaWYgKGNvbnN0cmFpblRvQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xzTWFyZ2luUHggPSA0OCAqIDI7XHJcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIGNvbnRyb2xzTWFyZ2luUHg7XHJcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZVdpZHRoID0gY29udGFpbmVyV2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IGhSYXRpbyA9IGltZ0hlaWdodCAvIGF2YWlsYWJsZUhlaWdodDtcclxuICAgICAgICAgICAgY29uc3Qgd1JhdGlvID0gaW1nV2lkdGggLyBhdmFpbGFibGVXaWR0aDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGltYWdlRXhjZWVkc0F2YWlsYWJsZURpbWVuc2lvbnMgPSAxIDwgaFJhdGlvIHx8IDEgPCB3UmF0aW87XHJcbiAgICAgICAgICAgIGlmIChpbWFnZUV4Y2VlZHNBdmFpbGFibGVEaW1lbnNpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3IgPSBoUmF0aW8gPCB3UmF0aW8gPyB3UmF0aW8gOiBoUmF0aW87XHJcbiAgICAgICAgICAgICAgICB0aGlzLndpZHRoID0gTWF0aC5yb3VuZChpbWdXaWR0aCAvIGZhY3Rvcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhlaWdodCA9IE1hdGgucm91bmQoaW1nSGVpZ2h0IC8gZmFjdG9yKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2lkdGggPSBpbWdXaWR0aDtcclxuICAgICAgICB0aGlzLmhlaWdodCA9IGltZ0hlaWdodDtcclxuICAgICAgICB0aGlzLmNlbnRlcmVkID0gaW1nV2lkdGggPD0gY29udGFpbmVyV2lkdGggJiYgaW1nSGVpZ2h0IDw9IGNvbnRhaW5lckhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGb2NhbFBvaW50U3RhcnQoKSB7XHJcbiAgICAgICAgdGhpcy5zaXplUHJpb3JUb1NldHRpbmdGb2NhbFBvaW50ID0gdGhpcy5zaXplO1xyXG4gICAgICAgIHRoaXMuc2l6ZSA9ICdtZWRpdW0nO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ0ZvY2FsUG9pbnQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB0aGlzLmFzc2V0LmZvY2FsUG9pbnQgfHwgeyB4OiAwLjUsIHk6IDAuNSB9O1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUZvY2FsUG9pbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XHJcbiAgICAgICAgICAgIC51cGRhdGVBc3NldCh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcclxuICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQ6IG51bGwsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LXN1Y2Nlc3MnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc3NldCA9IHsgLi4udGhpcy5hc3NldCwgZm9jYWxQb2ludDogbnVsbCB9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKF8oJ2Fzc2V0LnVwZGF0ZS1mb2NhbC1wb2ludC1lcnJvcicpKSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkZvY2FsUG9pbnRDaGFuZ2UocG9pbnQ6IFBvaW50KSB7XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jYWxQb2ludCA9IHBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZvY2FsUG9pbnRDYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nRm9jYWxQb2ludCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zaXplID0gdGhpcy5zaXplUHJpb3JUb1NldHRpbmdGb2NhbFBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZvY2FsUG9pbnRFbmQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nRm9jYWxQb2ludCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludDtcclxuICAgICAgICBpZiAodGhpcy5sYXN0Rm9jYWxQb2ludCkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHgsIHkgfSA9IHRoaXMubGFzdEZvY2FsUG9pbnQ7XHJcbiAgICAgICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UucHJvZHVjdFxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZUFzc2V0KHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBmb2NhbFBvaW50OiB7IHgsIHkgfSxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LXN1Y2Nlc3MnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXNzZXQgPSB7IC4uLnRoaXMuYXNzZXQsIGZvY2FsUG9pbnQ6IHsgeCwgeSB9IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LWVycm9yJykpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbWFuYWdlVGFncygpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChNYW5hZ2VUYWdzRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAnc20nLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS11cGRhdGVkLXRhZ3Mtc3VjY2VzcycpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -106,4 +106,4 @@ ChannelAssignmentControlComponent.propDecorators = {
106
106
  includeDefaultChannel: [{ type: Input }],
107
107
  disableChannelIds: [{ type: Input }]
108
108
  };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbC9jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBZW5FLE1BQU0sT0FBTyxpQ0FBaUM7SUFhMUMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFabkMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0Isc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFNOEIsQ0FBQztJQUVoRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsVUFBVSxDQUFD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QUFLLENBQUM7YUFDdEI7U0FDSjthQUFNO1lBQ0gsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzNCLE1BQU0sT0FBTyxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDekQsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUMxQjthQUNKO2lCQUFNLElBQUksS0FBSyxJQUFLLEtBQWEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFZLENBQUMsQ0FBQzthQUMvQjtTQUNKO0lBQ0wsQ0FBQzs7O1lBMUdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyxtL0JBQTBEO2dCQUUxRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztnQkFDaEQsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxpQ0FBaUM7d0JBQzlDLEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7WUFkUSxXQUFXOzs7dUJBZ0JmLEtBQUs7b0NBQ0wsS0FBSztnQ0FDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgREVGQVVMVF9DSEFOTkVMX0NPREUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC1jb25zdGFudHMnO1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENoYW5uZWwsIEN1cnJlbnRVc2VyQ2hhbm5lbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtYXNzaWdubWVudC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQ2hhbm5lbEFzc2lnbm1lbnRDb250cm9sQ29tcG9uZW50LFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbEFzc2lnbm1lbnRDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgbXVsdGlwbGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVEZWZhdWx0Q2hhbm5lbCA9IHRydWU7XG4gICAgQElucHV0KCkgZGlzYWJsZUNoYW5uZWxJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjaGFubmVscyQ6IE9ic2VydmFibGU8Q3VycmVudFVzZXJDaGFubmVsW10+O1xuICAgIHZhbHVlOiBDdXJyZW50VXNlckNoYW5uZWxbXSA9IFtdO1xuICAgIGRpc2FibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBjaGFubmVsczogQ3VycmVudFVzZXJDaGFubmVsW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSBsYXN0SW5jb21pbmdWYWx1ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jaGFubmVscyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51c2VyU3RhdHVzKCkuc2luZ2xlJC5waXBlKFxuICAgICAgICAgICAgbWFwKCh7IHVzZXJTdGF0dXMgfSkgPT5cbiAgICAgICAgICAgICAgICB1c2VyU3RhdHVzLmNoYW5uZWxzLmZpbHRlcihjID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5jbHVkZURlZmF1bHRDaGFubmVsID8gdHJ1ZSA6IGMuY29kZSAhPT0gREVGQVVMVF9DSEFOTkVMX0NPREUsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YXAoY2hhbm5lbHMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jaGFubmVscykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5uZWxzID0gY2hhbm5lbHM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFwSW5jb21pbmdWYWx1ZVRvQ2hhbm5lbHModGhpcy5sYXN0SW5jb21pbmdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFubmVscyA9IGNoYW5uZWxzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogdW5rbm93bik6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RJbmNvbWluZ1ZhbHVlID0gb2JqO1xuICAgICAgICB0aGlzLm1hcEluY29taW5nVmFsdWVUb0NoYW5uZWxzKG9iaik7XG4gICAgfVxuXG4gICAgZm9jdXNzZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5uZWxJc0Rpc2FibGVkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZUNoYW5uZWxJZHMuaW5jbHVkZXMoaWQpO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlZCh2YWx1ZTogQ3VycmVudFVzZXJDaGFubmVsW10gfCBDdXJyZW50VXNlckNoYW5uZWwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlLm1hcChjID0+IGMuaWQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoW3ZhbHVlID8gdmFsdWUuaWQgOiB1bmRlZmluZWRdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBhcmVGbihjMTogQ2hhbm5lbCB8IHN0cmluZywgYzI6IENoYW5uZWwgfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYzFpZCA9IHR5cGVvZiBjMSA9PT0gJ3N0cmluZycgPyBjMSA6IGMxLmlkO1xuICAgICAgICBjb25zdCBjMmlkID0gdHlwZW9mIGMyID09PSAnc3RyaW5nJyA/IGMyIDogYzIuaWQ7XG4gICAgICAgIHJldHVybiBjMWlkID09PSBjMmlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFwSW5jb21pbmdWYWx1ZVRvQ2hhbm5lbHModmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAubWFwKGlkID0+IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmlkID09PSBpZCkpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuaWQgPT09IHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoY2hhbm5lbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gW2NoYW5uZWxdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgKHZhbHVlIGFzIGFueSkuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gW3ZhbHVlIGFzIGFueV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbC9jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBZW5FLE1BQU0sT0FBTyxpQ0FBaUM7SUFhMUMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFabkMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0Isc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFNOEIsQ0FBQztJQUVoRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsVUFBVSxDQUFD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QUFLLENBQUM7YUFDdEI7U0FDSjthQUFNO1lBQ0gsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzNCLE1BQU0sT0FBTyxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDekQsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUMxQjthQUNKO2lCQUFNLElBQUksS0FBSyxJQUFLLEtBQWEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFZLENBQUMsQ0FBQzthQUMvQjtTQUNKO0lBQ0wsQ0FBQzs7O1lBMUdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyxtL0JBQTBEO2dCQUUxRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztnQkFDaEQsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxpQ0FBaUM7d0JBQzlDLEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7WUFkUSxXQUFXOzs7dUJBZ0JmLEtBQUs7b0NBQ0wsS0FBSztnQ0FDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERFRkFVTFRfQ0hBTk5FTF9DT0RFIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtY29uc3RhbnRzJztcclxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ2hhbm5lbCwgQ3VycmVudFVzZXJDaGFubmVsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2wnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtYXNzaWdubWVudC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NoYW5uZWwtYXNzaWdubWVudC1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQ2hhbm5lbEFzc2lnbm1lbnRDb250cm9sQ29tcG9uZW50LFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5uZWxBc3NpZ25tZW50Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgQElucHV0KCkgbXVsdGlwbGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgaW5jbHVkZURlZmF1bHRDaGFubmVsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVDaGFubmVsSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGNoYW5uZWxzJDogT2JzZXJ2YWJsZTxDdXJyZW50VXNlckNoYW5uZWxbXT47XHJcbiAgICB2YWx1ZTogQ3VycmVudFVzZXJDaGFubmVsW10gPSBbXTtcclxuICAgIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBjaGFubmVsczogQ3VycmVudFVzZXJDaGFubmVsW10gfCB1bmRlZmluZWQ7XHJcbiAgICBwcml2YXRlIGxhc3RJbmNvbWluZ1ZhbHVlOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVscyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51c2VyU3RhdHVzKCkuc2luZ2xlJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHsgdXNlclN0YXR1cyB9KSA9PlxyXG4gICAgICAgICAgICAgICAgdXNlclN0YXR1cy5jaGFubmVscy5maWx0ZXIoYyA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5jbHVkZURlZmF1bHRDaGFubmVsID8gdHJ1ZSA6IGMuY29kZSAhPT0gREVGQVVMVF9DSEFOTkVMX0NPREUsXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0YXAoY2hhbm5lbHMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNoYW5uZWxzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFubmVscyA9IGNoYW5uZWxzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFwSW5jb21pbmdWYWx1ZVRvQ2hhbm5lbHModGhpcy5sYXN0SW5jb21pbmdWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbm5lbHMgPSBjaGFubmVscztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IHVua25vd24pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxhc3RJbmNvbWluZ1ZhbHVlID0gb2JqO1xyXG4gICAgICAgIHRoaXMubWFwSW5jb21pbmdWYWx1ZVRvQ2hhbm5lbHMob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1c3NlZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbm5lbElzRGlzYWJsZWQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVDaGFubmVsSWRzLmluY2x1ZGVzKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZUNoYW5nZWQodmFsdWU6IEN1cnJlbnRVc2VyQ2hhbm5lbFtdIHwgQ3VycmVudFVzZXJDaGFubmVsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUubWFwKGMgPT4gYy5pZCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoW3ZhbHVlID8gdmFsdWUuaWQgOiB1bmRlZmluZWRdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29tcGFyZUZuKGMxOiBDaGFubmVsIHwgc3RyaW5nLCBjMjogQ2hhbm5lbCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGMxaWQgPSB0eXBlb2YgYzEgPT09ICdzdHJpbmcnID8gYzEgOiBjMS5pZDtcclxuICAgICAgICBjb25zdCBjMmlkID0gdHlwZW9mIGMyID09PSAnc3RyaW5nJyA/IGMyIDogYzIuaWQ7XHJcbiAgICAgICAgcmV0dXJuIGMxaWQgPT09IGMyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtYXBJbmNvbWluZ1ZhbHVlVG9DaGFubmVscyh2YWx1ZTogdW5rbm93bikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcChpZCA9PiB0aGlzLmNoYW5uZWxzPy5maW5kKGMgPT4gYy5pZCA9PT0gaWQpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuaWQgPT09IHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmIChjaGFubmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtjaGFubmVsXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAmJiAodmFsdWUgYXMgYW55KS5pZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFt2YWx1ZSBhcyBhbnldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,11 +1,22 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  /**
3
+ * @description
3
4
  * A chip component for displaying a label with an optional action icon.
5
+ *
6
+ * @example
7
+ * ```HTML
8
+ * <vdr-chip [colorFrom]="item.value"
9
+ * icon="close"
10
+ * (iconClick)="clear(item)">
11
+ * {{ item.value }}</vdr-chip>
12
+ * ```
13
+ * @docsCategory components
4
14
  */
5
15
  export class ChipComponent {
6
16
  constructor() {
7
17
  this.invert = false;
8
18
  /**
19
+ * @description
9
20
  * If set, the chip will have an auto-generated background
10
21
  * color based on the string value passed in.
11
22
  */
@@ -28,4 +39,4 @@ ChipComponent.propDecorators = {
28
39
  colorType: [{ type: Input }],
29
40
  iconClick: [{ type: Output }]
30
41
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2NoaXAvY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRzs7R0FFRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBTjFCO1FBUWEsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUN4Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFDekQsQ0FBQzs7O1lBaEJBLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsb3hCQUFvQztnQkFFcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7bUJBRUksS0FBSztxQkFDTCxLQUFLO3dCQUtMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQSBjaGlwIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhIGxhYmVsIHdpdGggYW4gb3B0aW9uYWwgYWN0aW9uIGljb24uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNoaXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoaXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGlwQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGludmVydCA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBzZXQsIHRoZSBjaGlwIHdpbGwgaGF2ZSBhbiBhdXRvLWdlbmVyYXRlZCBiYWNrZ3JvdW5kXHJcbiAgICAgKiBjb2xvciBiYXNlZCBvbiB0aGUgc3RyaW5nIHZhbHVlIHBhc3NlZCBpbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY29sb3JGcm9tID0gJyc7XHJcbiAgICBASW5wdXQoKSBjb2xvclR5cGU6ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnd2FybmluZyc7XHJcbiAgICBAT3V0cHV0KCkgaWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2NoaXAvY2hpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRzs7Ozs7Ozs7Ozs7O0dBWUc7QUFPSCxNQUFNLE9BQU8sYUFBYTtJQU4xQjtRQWFhLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDeEI7Ozs7V0FJRztRQUNNLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNZCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUN6RCxDQUFDOzs7WUExQkEsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixveEJBQW9DO2dCQUVwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OzttQkFPSSxLQUFLO3FCQUNMLEtBQUs7d0JBTUwsS0FBSzt3QkFLTCxLQUFLO3dCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBjaGlwIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhIGxhYmVsIHdpdGggYW4gb3B0aW9uYWwgYWN0aW9uIGljb24uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1jaGlwIFtjb2xvckZyb21dPVwiaXRlbS52YWx1ZVwiXHJcbiAqICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxyXG4gKiAgICAgICAgICAgKGljb25DbGljayk9XCJjbGVhcihpdGVtKVwiPlxyXG4gKiB7eyBpdGVtLnZhbHVlIH19PC92ZHItY2hpcD5cclxuICogYGBgXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jaGlwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NoaXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hpcENvbXBvbmVudCB7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGljb24gc2hvdWxkIGJlIHRoZSBuYW1lIG9mIG9uZSBvZiB0aGUgYXZhaWxhYmxlIENsYXJpdHkgaWNvbnM6IGh0dHBzOi8vY2xhcml0eS5kZXNpZ24vZm91bmRhdGlvbi9pY29ucy9zaGFwZXMvXHJcbiAgICAgKlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpbnZlcnQgPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBJZiBzZXQsIHRoZSBjaGlwIHdpbGwgaGF2ZSBhbiBhdXRvLWdlbmVyYXRlZCBiYWNrZ3JvdW5kXHJcbiAgICAgKiBjb2xvciBiYXNlZCBvbiB0aGUgc3RyaW5nIHZhbHVlIHBhc3NlZCBpbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY29sb3JGcm9tID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGNvbG9yIG9mIHRoZSBjaGlwIGNhbiBhbHNvIGJlIG9uZSBvZiB0aGUgc3RhbmRhcmQgc3RhdHVzIGNvbG9ycy5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY29sb3JUeXBlOiAnZXJyb3InIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnO1xyXG4gICAgQE91dHB1dCgpIGljb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxufVxyXG4iXX0=
@@ -4,8 +4,19 @@ import { BehaviorSubject, combineLatest } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { DataService } from '../../../data/providers/data.service';
6
6
  /**
7
+ * @description
7
8
  * A form input control which displays currency in decimal format, whilst working
8
9
  * with the integer cent value in the background.
10
+ *
11
+ * @example
12
+ * ```HTML
13
+ * <vdr-currency-input
14
+ * [(ngModel)]="entityPrice"
15
+ * [currencyCode]="currencyCode"
16
+ * ></vdr-currency-input>
17
+ * ```
18
+ *
19
+ * @docsCategory components
9
20
  */
10
21
  export class CurrencyInputComponent {
11
22
  constructor(dataService, changeDetectorRef) {
@@ -131,4 +142,4 @@ CurrencyInputComponent.propDecorators = {
131
142
  currencyCode: [{ type: Input }],
132
143
  valueChange: [{ type: Output }]
133
144
  };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9jdXJyZW5jeS1pbnB1dC9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRW5FOzs7R0FHRztBQWFILE1BQU0sT0FBTyxzQkFBc0I7SUFlL0IsWUFBb0IsV0FBd0IsRUFBVSxpQkFBb0M7UUFBdEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZGpGLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHM0Msb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFJZixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBR3FDLENBQUM7SUFFOUYsUUFBUTtRQUNKLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakcsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFOztZQUNqQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2FBQ2I7WUFDRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FDUCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFLLEVBQUUsVUFBVTtnQkFDakIsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGVBQWUsRUFBRSxRQUFRO2FBQzVCLENBQ0osQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFBLE1BQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLDBDQUFFLEtBQUssbUNBQUksS0FBSyxDQUFDO1lBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQzVDLEtBQUssRUFBRSxVQUFVO2dCQUNqQixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsZUFBZSxFQUFFLFFBQVE7YUFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFnQixDQUFDLENBQUM7WUFDNUIsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQzFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2FBQ2I7WUFDRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FDUCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFLLEVBQUUsVUFBVTtnQkFDakIsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGVBQWUsRUFBRSxRQUFRO2FBQzVCLENBQ0osQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLElBQUksT0FBTyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxjQUFjLElBQUksT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxLQUFLLEdBQUcsS0FBSyxJQUFJLEtBQUssR0FBRyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNsQjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNwRTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBc0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OztZQW5JSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsdWVBQThDO2dCQUU5QyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLHNCQUFzQjt3QkFDbkMsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0o7O2FBQ0o7OztZQWpCUSxXQUFXO1lBZGhCLGlCQUFpQjs7O3VCQWlDaEIsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIGZvcm0gaW5wdXQgY29udHJvbCB3aGljaCBkaXNwbGF5cyBjdXJyZW5jeSBpbiBkZWNpbWFsIGZvcm1hdCwgd2hpbHN0IHdvcmtpbmdcclxuICogd2l0aCB0aGUgaW50ZWdlciBjZW50IHZhbHVlIGluIHRoZSBiYWNrZ3JvdW5kLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jdXJyZW5jeS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VycmVuY3ktaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBDdXJyZW5jeUlucHV0Q29tcG9uZW50LFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBjdXJyZW5jeUNvZGUgPSAnJztcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIHByZWZpeCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHN1ZmZpeCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGhhc0ZyYWN0aW9uUGFydCA9IHRydWU7XHJcbiAgICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgb25Ub3VjaDogKCkgPT4gdm9pZDtcclxuICAgIF9pbnB1dFZhbHVlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGN1cnJlbmN5Q29kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVpU3RhdGUoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVpU3RhdGUubGFuZ3VhZ2UpO1xyXG4gICAgICAgIGNvbnN0IHNob3VsZFByZWZpeCQgPSBjb21iaW5lTGF0ZXN0KGxhbmd1YWdlQ29kZSQsIHRoaXMuY3VycmVuY3lDb2RlJCkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbbGFuZ3VhZ2VDb2RlLCBjdXJyZW5jeUNvZGVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbmN5Q29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IGxhbmd1YWdlQ29kZS5yZXBsYWNlKC9fL2csICctJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IChcclxuICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeURpc3BsYXk6ICdzeW1ib2wnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pIGFzIGFueVxyXG4gICAgICAgICAgICAgICAgKS5mb3JtYXRUb1BhcnRzKCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBOYU5TdHJpbmcgPSBwYXJ0cy5maW5kKHAgPT4gcC50eXBlID09PSAnbmFuJyk/LnZhbHVlID8/ICdOYU4nO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxpc2VkID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeUNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OiAnc3ltYm9sJyxcclxuICAgICAgICAgICAgICAgIH0pLmZvcm1hdCh1bmRlZmluZWQgYXMgYW55KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbGlzZWQuaW5kZXhPZihOYU5TdHJpbmcpID4gMDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnByZWZpeCQgPSBzaG91bGRQcmVmaXgkLnBpcGUobWFwKHNob3VsZFByZWZpeCA9PiAoc2hvdWxkUHJlZml4ID8gdGhpcy5jdXJyZW5jeUNvZGUgOiAnJykpKTtcclxuICAgICAgICB0aGlzLnN1ZmZpeCQgPSBzaG91bGRQcmVmaXgkLnBpcGUobWFwKHNob3VsZFByZWZpeCA9PiAoc2hvdWxkUHJlZml4ID8gJycgOiB0aGlzLmN1cnJlbmN5Q29kZSkpKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KGxhbmd1YWdlQ29kZSQsIHRoaXMuY3VycmVuY3lDb2RlJCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoW2xhbmd1YWdlQ29kZSwgY3VycmVuY3lDb2RlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW5jeUNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGUgPSBsYW5ndWFnZUNvZGUucmVwbGFjZSgvXy9nLCAnLScpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSAoXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGN1cnJlbmN5Q29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OiAnc3ltYm9sJyxcclxuICAgICAgICAgICAgICAgICAgICB9KSBhcyBhbnlcclxuICAgICAgICAgICAgICAgICkuZm9ybWF0VG9QYXJ0cygxMjMuNDUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNGcmFjdGlvblBhcnQgPSAhIXBhcnRzLmZpbmQocCA9PiBwLnR5cGUgPT09ICdmcmFjdGlvbicpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW5wdXRWYWx1ZSA9IHRoaXMudG9OdW1lcmljU3RyaW5nKHRoaXMuX2lucHV0VmFsdWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmICgndmFsdWUnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKGNoYW5nZXNbJ3ZhbHVlJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCdjdXJyZW5jeUNvZGUnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW5jeUNvZGUkLm5leHQodGhpcy5jdXJyZW5jeUNvZGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBvbklucHV0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBpbnRlZ2VyVmFsdWUgPSBNYXRoLnJvdW5kKCt2YWx1ZSAqIDEwMCk7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoaW50ZWdlclZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGludGVnZXJWYWx1ZSk7XHJcbiAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmFicyhOdW1iZXIodGhpcy5faW5wdXRWYWx1ZSkgLSBOdW1iZXIodmFsdWUpKTtcclxuICAgICAgICBpZiAoMC4wMDkgPCBkZWx0YSAmJiBkZWx0YSA8IDAuMDExKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lucHV0VmFsdWUgPSB0aGlzLnRvTnVtZXJpY1N0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5faW5wdXRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkZvY3VzKCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vblRvdWNoID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBudW1lcmljVmFsdWUgPSArdmFsdWU7XHJcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obnVtZXJpY1ZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnB1dFZhbHVlID0gdGhpcy50b051bWVyaWNTdHJpbmcoTWF0aC5mbG9vcih2YWx1ZSkgLyAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRvTnVtZXJpY1N0cmluZyh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYXNGcmFjdGlvblBhcnQgPyBOdW1iZXIodmFsdWUpLnRvRml4ZWQoMikgOiBOdW1iZXIodmFsdWUpLnRvRml4ZWQoMCk7XHJcbiAgICB9XHJcbn1cclxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9jdXJyZW5jeS1pbnB1dC9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRW5FOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBYUgsTUFBTSxPQUFPLHNCQUFzQjtJQWUvQixZQUFvQixXQUF3QixFQUFVLGlCQUFvQztRQUF0RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkakYsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUczQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUlmLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFHcUMsQ0FBQztJQUU5RixRQUFRO1FBQ0osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFF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biAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGZvcm0gaW5wdXQgY29udHJvbCB3aGljaCBkaXNwbGF5cyBjdXJyZW5jeSBpbiBkZWNpbWFsIGZvcm1hdCwgd2hpbHN0IHdvcmtpbmdcclxuICogd2l0aCB0aGUgaW50ZWdlciBjZW50IHZhbHVlIGluIHRoZSBiYWNrZ3JvdW5kLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBIVE1MXHJcbiAqIDx2ZHItY3VycmVuY3ktaW5wdXRcclxuICogICAgIFsobmdNb2RlbCldPVwiZW50aXR5UHJpY2VcIlxyXG4gKiAgICAgW2N1cnJlbmN5Q29kZV09XCJjdXJyZW5jeUNvZGVcIlxyXG4gKiA+PC92ZHItY3VycmVuY3ktaW5wdXQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY3VycmVuY3ktaW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgY3VycmVuY3lDb2RlID0gJyc7XHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBwcmVmaXgkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzdWZmaXgkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBoYXNGcmFjdGlvblBhcnQgPSB0cnVlO1xyXG4gICAgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZDtcclxuICAgIG9uVG91Y2g6ICgpID0+IHZvaWQ7XHJcbiAgICBfaW5wdXRWYWx1ZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW5jeUNvZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGxhbmd1YWdlQ29kZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51aVN0YXRlKCkubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51aVN0YXRlLmxhbmd1YWdlKTtcclxuICAgICAgICBjb25zdCBzaG91bGRQcmVmaXgkID0gY29tYmluZUxhdGVzdChsYW5ndWFnZUNvZGUkLCB0aGlzLmN1cnJlbmN5Q29kZSQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2xhbmd1YWdlQ29kZSwgY3VycmVuY3lDb2RlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJyZW5jeUNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGUgPSBsYW5ndWFnZUNvZGUucmVwbGFjZSgvXy9nLCAnLScpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSAoXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6IGN1cnJlbmN5Q29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OiAnc3ltYm9sJyxcclxuICAgICAgICAgICAgICAgICAgICB9KSBhcyBhbnlcclxuICAgICAgICAgICAgICAgICkuZm9ybWF0VG9QYXJ0cygpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgTmFOU3RyaW5nID0gcGFydHMuZmluZChwID0+IHAudHlwZSA9PT0gJ25hbicpPy52YWx1ZSA/PyAnTmFOJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsaXNlZCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5RGlzcGxheTogJ3N5bWJvbCcsXHJcbiAgICAgICAgICAgICAgICB9KS5mb3JtYXQodW5kZWZpbmVkIGFzIGFueSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxpc2VkLmluZGV4T2YoTmFOU3RyaW5nKSA+IDA7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5wcmVmaXgkID0gc2hvdWxkUHJlZml4JC5waXBlKG1hcChzaG91bGRQcmVmaXggPT4gKHNob3VsZFByZWZpeCA/IHRoaXMuY3VycmVuY3lDb2RlIDogJycpKSk7XHJcbiAgICAgICAgdGhpcy5zdWZmaXgkID0gc2hvdWxkUHJlZml4JC5waXBlKG1hcChzaG91bGRQcmVmaXggPT4gKHNob3VsZFByZWZpeCA/ICcnIDogdGhpcy5jdXJyZW5jeUNvZGUpKSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChsYW5ndWFnZUNvZGUkLCB0aGlzLmN1cnJlbmN5Q29kZSQpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKFtsYW5ndWFnZUNvZGUsIGN1cnJlbmN5Q29kZV0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghY3VycmVuY3lDb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gbGFuZ3VhZ2VDb2RlLnJlcGxhY2UoL18vZywgJy0nKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gKFxyXG4gICAgICAgICAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICdjdXJyZW5jeScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeUNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5RGlzcGxheTogJ3N5bWJvbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfSkgYXMgYW55XHJcbiAgICAgICAgICAgICAgICApLmZvcm1hdFRvUGFydHMoMTIzLjQ1KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFzRnJhY3Rpb25QYXJ0ID0gISFwYXJ0cy5maW5kKHAgPT4gcC50eXBlID09PSAnZnJhY3Rpb24nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2lucHV0VmFsdWUgPSB0aGlzLnRvTnVtZXJpY1N0cmluZyh0aGlzLl9pbnB1dFZhbHVlKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShjaGFuZ2VzWyd2YWx1ZSddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgnY3VycmVuY3lDb2RlJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVuY3lDb2RlJC5uZXh0KHRoaXMuY3VycmVuY3lDb2RlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgaW50ZWdlclZhbHVlID0gTWF0aC5yb3VuZCgrdmFsdWUgKiAxMDApO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGludGVnZXJWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChpbnRlZ2VyVmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IGRlbHRhID0gTWF0aC5hYnMoTnVtYmVyKHRoaXMuX2lucHV0VmFsdWUpIC0gTnVtYmVyKHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKDAuMDA5IDwgZGVsdGEgJiYgZGVsdGEgPCAwLjAxMSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnB1dFZhbHVlID0gdGhpcy50b051bWVyaWNTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lucHV0VmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Gb2N1cygpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub25Ub3VjaCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gK3ZhbHVlO1xyXG4gICAgICAgIGlmICghTnVtYmVyLmlzTmFOKG51bWVyaWNWYWx1ZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5faW5wdXRWYWx1ZSA9IHRoaXMudG9OdW1lcmljU3RyaW5nKE1hdGguZmxvb3IodmFsdWUpIC8gMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b051bWVyaWNTdHJpbmcodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzRnJhY3Rpb25QYXJ0ID8gTnVtYmVyKHZhbHVlKS50b0ZpeGVkKDIpIDogTnVtYmVyKHZhbHVlKS50b0ZpeGVkKDApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectionStrategy, Component, ComponentFactoryResolver, Input, ViewContainerRef, } from '@angular/core';
2
+ import { CustomDetailComponentService } from '../../../providers/custom-detail-component/custom-detail-component.service';
3
+ export class CustomDetailComponentHostComponent {
4
+ constructor(viewContainerRef, componentFactoryResolver, customDetailComponentService) {
5
+ this.viewContainerRef = viewContainerRef;
6
+ this.componentFactoryResolver = componentFactoryResolver;
7
+ this.customDetailComponentService = customDetailComponentService;
8
+ this.componentRefs = [];
9
+ }
10
+ ngOnInit() {
11
+ const customComponents = this.customDetailComponentService.getCustomDetailComponentsFor(this.locationId);
12
+ for (const config of customComponents) {
13
+ const factory = this.componentFactoryResolver.resolveComponentFactory(config.component);
14
+ const componentRef = this.viewContainerRef.createComponent(factory);
15
+ componentRef.instance.entity$ = this.entity$;
16
+ componentRef.instance.detailForm = this.detailForm;
17
+ this.componentRefs.push(componentRef);
18
+ }
19
+ }
20
+ ngOnDestroy() {
21
+ for (const ref of this.componentRefs) {
22
+ ref.destroy();
23
+ }
24
+ }
25
+ }
26
+ CustomDetailComponentHostComponent.decorators = [
27
+ { type: Component, args: [{
28
+ selector: 'vdr-custom-detail-component-host',
29
+ template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"detailComponent\"></vdr-ui-extension-point>\r\n",
30
+ changeDetection: ChangeDetectionStrategy.OnPush,
31
+ styles: [""]
32
+ },] }
33
+ ];
34
+ CustomDetailComponentHostComponent.ctorParameters = () => [
35
+ { type: ViewContainerRef },
36
+ { type: ComponentFactoryResolver },
37
+ { type: CustomDetailComponentService }
38
+ ];
39
+ CustomDetailComponentHostComponent.propDecorators = {
40
+ locationId: [{ type: Input }],
41
+ entity$: [{ type: Input }],
42
+ detailForm: [{ type: Input }]
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2N1c3RvbS1kZXRhaWwtY29tcG9uZW50LWhvc3QvY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsd0JBQXdCLEVBR3hCLEtBQUssRUFHTCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFRMUgsTUFBTSxPQUFPLGtDQUFrQztJQU8zQyxZQUNZLGdCQUFrQyxFQUNsQyx3QkFBa0QsRUFDbEQsNEJBQTBEO1FBRjFELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBTDlELGtCQUFhLEdBQStDLEVBQUUsQ0FBQztJQU1wRSxDQUFDO0lBRUosUUFBUTtRQUNKLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLDRCQUE0QixDQUNuRixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBRUYsS0FBSyxNQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs7O1lBckNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0NBQWtDO2dCQUM1QyxxSEFBNEQ7Z0JBRTVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBZEcsZ0JBQWdCO1lBTmhCLHdCQUF3QjtZQWFuQiw0QkFBNEI7Ozt5QkFTaEMsS0FBSztzQkFDTCxLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21EZXRhaWxDb21wb25lbnRMb2NhdGlvbklkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IEN1c3RvbURldGFpbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jdXN0b20tZGV0YWlsLWNvbXBvbmVudC9jdXN0b20tZGV0YWlsLWNvbXBvbmVudC10eXBlcyc7XHJcbmltcG9ydCB7IEN1c3RvbURldGFpbENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY3VzdG9tLWRldGFpbC1jb21wb25lbnQvY3VzdG9tLWRldGFpbC1jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1c3RvbS1kZXRhaWwtY29tcG9uZW50LWhvc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kZXRhaWwtY29tcG9uZW50LWhvc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21EZXRhaWxDb21wb25lbnRIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgbG9jYXRpb25JZDogQ3VzdG9tRGV0YWlsQ29tcG9uZW50TG9jYXRpb25JZDtcclxuICAgIEBJbnB1dCgpIGVudGl0eSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIEBJbnB1dCgpIGRldGFpbEZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZnM6IEFycmF5PENvbXBvbmVudFJlZjxDdXN0b21EZXRhaWxDb21wb25lbnQ+PiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgY3VzdG9tRGV0YWlsQ29tcG9uZW50U2VydmljZTogQ3VzdG9tRGV0YWlsQ29tcG9uZW50U2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXN0b21Db21wb25lbnRzID0gdGhpcy5jdXN0b21EZXRhaWxDb21wb25lbnRTZXJ2aWNlLmdldEN1c3RvbURldGFpbENvbXBvbmVudHNGb3IoXHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25JZCxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjdXN0b21Db21wb25lbnRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb25maWcuY29tcG9uZW50KTtcclxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmVudGl0eSQgPSB0aGlzLmVudGl0eSQ7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXRhaWxGb3JtID0gdGhpcy5kZXRhaWxGb3JtO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZnMucHVzaChjb21wb25lbnRSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHJlZiBvZiB0aGlzLmNvbXBvbmVudFJlZnMpIHtcclxuICAgICAgICAgICAgcmVmLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,6 +1,65 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
2
2
  import { PaginationService } from 'ngx-pagination';
3
3
  import { DataTableColumnComponent } from './data-table-column.component';
4
+ /**
5
+ * @description
6
+ * A table for displaying PaginatedList results. It is designed to be used inside components which
7
+ * extend the {@link BaseListComponent} class.
8
+ *
9
+ * @example
10
+ * ```HTML
11
+ * <vdr-data-table
12
+ * [items]="items$ | async"
13
+ * [itemsPerPage]="itemsPerPage$ | async"
14
+ * [totalItems]="totalItems$ | async"
15
+ * [currentPage]="currentPage$ | async"
16
+ * (pageChange)="setPageNumber($event)"
17
+ * (itemsPerPageChange)="setItemsPerPage($event)"
18
+ * >
19
+ * <!-- The header columns are defined first -->
20
+ * <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
21
+ * <vdr-dt-column></vdr-dt-column>
22
+ * <vdr-dt-column></vdr-dt-column>
23
+ *
24
+ * <!-- Then we define how a row is rendered -->
25
+ * <ng-template let-taxRate="item">
26
+ * <td class="left align-middle">{{ taxRate.name }}</td>
27
+ * <td class="left align-middle">{{ taxRate.category.name }}</td>
28
+ * <td class="left align-middle">{{ taxRate.zone.name }}</td>
29
+ * <td class="left align-middle">{{ taxRate.value }}%</td>
30
+ * <td class="right align-middle">
31
+ * <vdr-table-row-action
32
+ * iconShape="edit"
33
+ * [label]="'common.edit' | translate"
34
+ * [linkTo]="['./', taxRate.id]"
35
+ * ></vdr-table-row-action>
36
+ * </td>
37
+ * <td class="right align-middle">
38
+ * <vdr-dropdown>
39
+ * <button type="button" class="btn btn-link btn-sm" vdrDropdownTrigger>
40
+ * {{ 'common.actions' | translate }}
41
+ * <clr-icon shape="caret down"></clr-icon>
42
+ * </button>
43
+ * <vdr-dropdown-menu vdrPosition="bottom-right">
44
+ * <button
45
+ * type="button"
46
+ * class="delete-button"
47
+ * (click)="deleteTaxRate(taxRate)"
48
+ * [disabled]="!(['DeleteSettings', 'DeleteTaxRate'] | hasPermission)"
49
+ * vdrDropdownItem
50
+ * >
51
+ * <clr-icon shape="trash" class="is-danger"></clr-icon>
52
+ * {{ 'common.delete' | translate }}
53
+ * </button>
54
+ * </vdr-dropdown-menu>
55
+ * </vdr-dropdown>
56
+ * </td>
57
+ * </ng-template>
58
+ * </vdr-data-table>
59
+ * ```
60
+ *
61
+ * @docsCategory components
62
+ */
4
63
  export class DataTableComponent {
5
64
  constructor() {
6
65
  this.allSelectChange = new EventEmitter();
@@ -44,4 +103,4 @@ DataTableComponent.propDecorators = {
44
103
  columns: [{ type: ContentChildren, args: [DataTableColumnComponent,] }],
45
104
  templateRefs: [{ type: ContentChildren, args: [TemplateRef,] }]
46
105
  };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVN6RSxNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBZWMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBZ0I5RCxDQUFDO0lBWEcsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQzlCLElBQUssSUFBWSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDMUIsT0FBUSxJQUFZLENBQUMsRUFBRSxDQUFDO1NBQzNCO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7OztZQWpDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsb21GQUF3QztnQkFFeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzthQUNqQzs7O29CQUVJLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzs4QkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsTUFBTTs4QkFDTixNQUFNO3lCQUNOLE1BQU07aUNBQ04sTUFBTTtzQkFDTixlQUFlLFNBQUMsd0JBQXdCOzJCQUN4QyxlQUFlLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJ25neC1wYWdpbmF0aW9uJztcclxuXHJcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZGF0YS10YWJsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbUGFnaW5hdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgICBASW5wdXQoKSBpdGVtczogVFtdO1xyXG4gICAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgdG90YWxJdGVtczogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgYWxsU2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc1Jvd1NlbGVjdGVkRm46IChpdGVtOiBUKSA9PiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZW1wdHlTdGF0ZUxhYmVsOiBzdHJpbmc7XHJcbiAgICBAT3V0cHV0KCkgYWxsU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHJvd1NlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgaXRlbXNQZXJQYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAQ29udGVudENoaWxkcmVuKERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCkgY29sdW1uczogUXVlcnlMaXN0PERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudD47XHJcbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZnM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICAgIHJvd1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd1RlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZVJlZnMubGFzdDtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKChpdGVtIGFzIGFueSkuaWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5pZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBERztBQVFILE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFlYyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFnQjlELENBQUM7SUFYRyxrQkFBa0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDOUIsSUFBSyxJQUFZLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUMxQixPQUFRLElBQVksQ0FBQyxFQUFFLENBQUM7U0FDM0I7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7O1lBakNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixvbUZBQXdDO2dCQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O2FBQ2pDOzs7b0JBRUksS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSzswQkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSzs4QkFDTCxNQUFNOzhCQUNOLE1BQU07eUJBQ04sTUFBTTtpQ0FDTixNQUFNO3NCQUNOLGVBQWUsU0FBQyx3QkFBd0I7MkJBQ3hDLGVBQWUsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnbmd4LXBhZ2luYXRpb24nO1xyXG5cclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHRhYmxlIGZvciBkaXNwbGF5aW5nIFBhZ2luYXRlZExpc3QgcmVzdWx0cy4gSXQgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBpbnNpZGUgY29tcG9uZW50cyB3aGljaFxyXG4gKiBleHRlbmQgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gY2xhc3MuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1kYXRhLXRhYmxlXHJcbiAqICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcclxuICogICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZSQgfCBhc3luY1wiXHJcbiAqICAgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtcyQgfCBhc3luY1wiXHJcbiAqICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcclxuICogICAocGFnZUNoYW5nZSk9XCJzZXRQYWdlTnVtYmVyKCRldmVudClcIlxyXG4gKiAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwic2V0SXRlbXNQZXJQYWdlKCRldmVudClcIlxyXG4gKiA+XHJcbiAqICAgPCEtLSBUaGUgaGVhZGVyIGNvbHVtbnMgYXJlIGRlZmluZWQgZmlyc3QgLS0+XHJcbiAqICAgPHZkci1kdC1jb2x1bW4+e3sgJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWR0LWNvbHVtbj5cclxuICogICA8dmRyLWR0LWNvbHVtbj48L3Zkci1kdC1jb2x1bW4+XHJcbiAqICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gKlxyXG4gKiAgIDwhLS0gVGhlbiB3ZSBkZWZpbmUgaG93IGEgcm93IGlzIHJlbmRlcmVkIC0tPlxyXG4gKiAgIDxuZy10ZW1wbGF0ZSBsZXQtdGF4UmF0ZT1cIml0ZW1cIj5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS5uYW1lIH19PC90ZD5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS5jYXRlZ29yeS5uYW1lIH19PC90ZD5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS56b25lLm5hbWUgfX08L3RkPlxyXG4gKiAgICAgPHRkIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIj57eyB0YXhSYXRlLnZhbHVlIH19JTwvdGQ+XHJcbiAqICAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbi1taWRkbGVcIj5cclxuICogICAgICAgPHZkci10YWJsZS1yb3ctYWN0aW9uXHJcbiAqICAgICAgICAgaWNvblNoYXBlPVwiZWRpdFwiXHJcbiAqICAgICAgICAgW2xhYmVsXT1cIidjb21tb24uZWRpdCcgfCB0cmFuc2xhdGVcIlxyXG4gKiAgICAgICAgIFtsaW5rVG9dPVwiWycuLycsIHRheFJhdGUuaWRdXCJcclxuICogICAgICAgPjwvdmRyLXRhYmxlLXJvdy1hY3Rpb24+XHJcbiAqICAgICA8L3RkPlxyXG4gKiAgICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ24tbWlkZGxlXCI+XHJcbiAqICAgICAgIDx2ZHItZHJvcGRvd24+XHJcbiAqICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gKiAgICAgICAgICAge3sgJ2NvbW1vbi5hY3Rpb25zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gKiAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY2FyZXQgZG93blwiPjwvY2xyLWljb24+XHJcbiAqICAgICAgICAgPC9idXR0b24+XHJcbiAqICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAqICAgICAgICAgICA8YnV0dG9uXHJcbiAqICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAqICAgICAgICAgICAgICAgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCJcclxuICogICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVGF4UmF0ZSh0YXhSYXRlKVwiXHJcbiAqICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoWydEZWxldGVTZXR0aW5ncycsICdEZWxldGVUYXhSYXRlJ10gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAqICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXHJcbiAqICAgICAgICAgICA+XHJcbiAqICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAqICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5kZWxldGUnIHwgdHJhbnNsYXRlIH19XHJcbiAqICAgICAgICAgICA8L2J1dHRvbj5cclxuICogICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG4gKiAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICogICAgIDwvdGQ+XHJcbiAqICAgPC9uZy10ZW1wbGF0ZT5cclxuICogPC92ZHItZGF0YS10YWJsZT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRhLXRhYmxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtQYWdpbmF0aW9uU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBUW107XHJcbiAgICBASW5wdXQoKSBpdGVtc1BlclBhZ2U6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB0b3RhbEl0ZW1zOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBhbGxTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzUm93U2VsZWN0ZWRGbjogKGl0ZW06IFQpID0+IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBlbXB0eVN0YXRlTGFiZWw6IHN0cmluZztcclxuICAgIEBPdXRwdXQoKSBhbGxTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgcm93U2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBpdGVtc1BlclBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zOiBRdWVyeUxpc3Q8RGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50PjtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gICAgcm93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucm93VGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlUmVmcy5sYXN0O1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgICAgICBpZiAoKGl0ZW0gYXMgYW55KS5pZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoaXRlbSBhcyBhbnkpLmlkO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBpbmRleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -3,27 +3,43 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { dayOfWeekIndex, weekDayNames } from './constants';
5
5
  import { DatetimePickerService } from './datetime-picker.service';
6
+ /**
7
+ * @description
8
+ * A form input for selecting datetime values.
9
+ *
10
+ * @example
11
+ * ```HTML
12
+ * <vdr-datetime-picker [(ngModel)]="startDate"></vdr-datetime-picker>
13
+ * ```
14
+ *
15
+ * @docsCategory components
16
+ */
6
17
  export class DatetimePickerComponent {
7
18
  constructor(changeDetectorRef, datetimePickerService) {
8
19
  this.changeDetectorRef = changeDetectorRef;
9
20
  this.datetimePickerService = datetimePickerService;
10
21
  /**
22
+ * @description
11
23
  * The day that the week should start with in the calendar view.
12
24
  */
13
25
  this.weekStartDay = 'mon';
14
26
  /**
27
+ * @description
15
28
  * The granularity of the minutes time picker
16
29
  */
17
30
  this.timeGranularityInterval = 5;
18
31
  /**
32
+ * @description
19
33
  * The minimum date as an ISO string
20
34
  */
21
35
  this.min = null;
22
36
  /**
37
+ * @description
23
38
  * The maximum date as an ISO string
24
39
  */
25
40
  this.max = null;
26
41
  /**
42
+ * @description
27
43
  * Sets the readonly state
28
44
  */
29
45
  this.readonly = false;
@@ -186,4 +202,4 @@ DatetimePickerComponent.propDecorators = {
186
202
  datetimeInput: [{ type: ViewChild, args: ['datetimeInput', { static: true },] }],
187
203
  calendarTable: [{ type: ViewChild, args: ['calendarTable',] }]
188
204
  };
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQXVCbEUsTUFBTSxPQUFPLHVCQUF1QjtJQThDaEMsWUFDWSxpQkFBb0MsRUFDcEMscUJBQTRDO1FBRDVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQXpDeEQ7O1dBRUc7UUFDTSxpQkFBWSxHQUFjLEtBQUssQ0FBQztRQUN6Qzs7V0FFRztRQUNNLDRCQUF1QixHQUFHLENBQUMsQ0FBQztRQUNyQzs7V0FFRztRQUNNLFFBQUcsR0FBa0IsSUFBSSxDQUFDO1FBQ25DOztXQUVHO1FBQ00sUUFBRyxHQUFrQixJQUFJLENBQUM7UUFDbkM7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBTTFCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsYUFBUSxHQUFhLEVBQUUsQ0FBQztJQVVyQixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJ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K0M7Z0JBRS9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1AscUJBQXFCO29CQUNyQjt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsdUJBQXVCO3dCQUNwQyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBckNHLGlCQUFpQjtZQWVaLHFCQUFxQjs7O3dCQTZCekIsS0FBSzsyQkFJTCxLQUFLO3NDQUlMLEtBQUs7a0JBSUwsS0FBSztrQkFJTCxLQUFLO3VCQUlMLEtBQUs7Z0NBRUwsU0FBUyxTQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs0QkFDL0MsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7NEJBQzNDLFNBQVMsU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IGRheU9mV2Vla0luZGV4LCB3ZWVrRGF5TmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclZpZXcsIERheUNlbGwsIERheU9mV2VlayB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFZpZXcgPSB7XHJcbiAgICBkYXRlOiBEYXRlO1xyXG4gICAgbW9udGg6IG51bWJlcjtcclxuICAgIHllYXI6IG51bWJlcjtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZGF0ZXRpbWUtcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIERhdGV0aW1lUGlja2VyU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcmFuZ2UgYWJvdmUgYW5kIGJlbG93IHRoZSBjdXJyZW50IHllYXIgd2hpY2ggaXMgc2VsZWN0YWJsZSBmcm9tXHJcbiAgICAgKiB0aGUgeWVhciBzZWxlY3QgY29udHJvbC4gSWYgYSBtaW4gb3IgbWF4IHZhbHVlIGlzIHNldCwgdGhlc2Ugd2lsbFxyXG4gICAgICogb3ZlcnJpZGUgdGhlIHllYXJSYW5nZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgeWVhclJhbmdlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGF5IHRoYXQgdGhlIHdlZWsgc2hvdWxkIHN0YXJ0IHdpdGggaW4gdGhlIGNhbGVuZGFyIHZpZXcuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHdlZWtTdGFydERheTogRGF5T2ZXZWVrID0gJ21vbic7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBncmFudWxhcml0eSBvZiB0aGUgbWludXRlcyB0aW1lIHBpY2tlclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aW1lR3JhbnVsYXJpdHlJbnRlcnZhbCA9IDU7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW5pbXVtIGRhdGUgYXMgYW4gSVNPIHN0cmluZ1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtaW46IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4aW11bSBkYXRlIGFzIGFuIElTTyBzdHJpbmdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgbWF4OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgcmVhZG9ubHkgc3RhdGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bkNvbXBvbmVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duQ29tcG9uZW50OiBEcm9wZG93bkNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ2RhdGV0aW1lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkYXRldGltZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG4gICAgQFZpZXdDaGlsZCgnY2FsZW5kYXJUYWJsZScpIGNhbGVuZGFyVGFibGU6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD47XHJcblxyXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIGNhbGVuZGFyVmlldyQ6IE9ic2VydmFibGU8Q2FsZW5kYXJWaWV3PjtcclxuICAgIGN1cnJlbnQkOiBPYnNlcnZhYmxlPEN1cnJlbnRWaWV3PjtcclxuICAgIHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxEYXRlIHwgbnVsbD47XHJcbiAgICBzZWxlY3RlZEhvdXJzJDogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPjtcclxuICAgIHNlbGVjdGVkTWludXRlcyQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XHJcbiAgICB5ZWFyczogbnVtYmVyW107XHJcbiAgICB3ZWVrZGF5czogc3RyaW5nW10gPSBbXTtcclxuICAgIGhvdXJzOiBudW1iZXJbXTtcclxuICAgIG1pbnV0ZXM6IG51bWJlcltdO1xyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGRhdGV0aW1lUGlja2VyU2VydmljZTogRGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNldFdlZWtTdGFydGluZ0RheSh0aGlzLndlZWtTdGFydERheSk7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2V0TWluKHRoaXMubWluKTtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZXRNYXgodGhpcy5tYXgpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVZZWFyc1NlbGVjdGlvbigpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVXZWVrZGF5cygpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVIb3VycygpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVNaW51dGVzKCk7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclZpZXckID0gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2UuY2FsZW5kYXJWaWV3JDtcclxuICAgICAgICB0aGlzLmN1cnJlbnQkID0gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld2luZyQucGlwZShcclxuICAgICAgICAgICAgbWFwKGRhdGUgPT4gKHtcclxuICAgICAgICAgICAgICAgIGRhdGUsXHJcbiAgICAgICAgICAgICAgICBtb250aDogZGF0ZS5nZXRNb250aCgpICsgMSxcclxuICAgICAgICAgICAgICAgIHllYXI6IGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCQgPSB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RlZCQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEhvdXJzJCA9IHRoaXMuc2VsZWN0ZWQkLnBpcGUobWFwKGRhdGUgPT4gZGF0ZSAmJiBkYXRlLmdldEhvdXJzKCkpKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlcyQgPSB0aGlzLnNlbGVjdGVkJC5waXBlKG1hcChkYXRlID0+IGRhdGUgJiYgZGF0ZS5nZXRNaW51dGVzKCkpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNlbGVjdGVkJC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsID09IG51bGwgPyB2YWwgOiB2YWwudG9JU09TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5vbk9wZW5DaGFuZ2UoaXNPcGVuID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxlbmRhclRhYmxlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3REYXRldGltZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldk1vbnRoKCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnZpZXdQcmV2TW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0TW9udGgoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld05leHRNb250aCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFRvZGF5KCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNlbGVjdFRvZGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0WWVhcihldmVudDogRXZlbnQpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld1llYXIocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE1vbnRoKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3TW9udGgocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdERheShkYXk6IERheUNlbGwpIHtcclxuICAgICAgICBpZiAoZGF5LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGF5LnNlbGVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyVmFsdWUoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2VsZWN0RGF0ZXRpbWUobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQ2FsZW5kYXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3SnVtcERvd24oKTtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld0p1bXBVcCgpO1xyXG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3SnVtcFJpZ2h0KCk7XHJcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld0p1bXBMZWZ0KCk7XHJcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RWaWV3ZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0SG91cihldmVudDogRXZlbnQpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2VsZWN0SG91cihwYXJzZUludCh0YXJnZXQudmFsdWUsIDEwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TWludXRlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RNaW51dGUocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlRGF0ZXBpY2tlcigpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50LnRvZ2dsZU9wZW4oKTtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcG9wdWxhdGVZZWFyc1NlbGVjdGlvbigpIHtcclxuICAgICAgICBjb25zdCB5ZWFyUmFuZ2UgPSB0aGlzLnllYXJSYW5nZSA/PyAxMDtcclxuICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBjb25zdCBtaW4gPSAodGhpcy5taW4gJiYgbmV3IERhdGUodGhpcy5taW4pLmdldEZ1bGxZZWFyKCkpIHx8IGN1cnJlbnRZZWFyIC0geWVhclJhbmdlO1xyXG4gICAgICAgIGNvbnN0IG1heCA9ICh0aGlzLm1heCAmJiBuZXcgRGF0ZSh0aGlzLm1heCkuZ2V0RnVsbFllYXIoKSkgfHwgY3VycmVudFllYXIgKyB5ZWFyUmFuZ2U7XHJcbiAgICAgICAgY29uc3Qgc3ByZWFkID0gbWF4IC0gbWluICsgMTtcclxuICAgICAgICB0aGlzLnllYXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogc3ByZWFkIH0pLm1hcCgoXywgaSkgPT4gbWluICsgaSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVdlZWtkYXlzKCkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERheUluZGV4ID0gZGF5T2ZXZWVrSW5kZXhbdGhpcy53ZWVrU3RhcnREYXldO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla2RheXMucHVzaCh3ZWVrRGF5TmFtZXNbKGkgKyB3ZWVrU3RhcnREYXlJbmRleCArIDApICUgN10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBvcHVsYXRlSG91cnMoKSB7XHJcbiAgICAgICAgdGhpcy5ob3VycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDI0IH0pLm1hcCgoXywgaSkgPT4gaSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZU1pbnV0ZXMoKSB7XHJcbiAgICAgICAgY29uc3QgbWludXRlczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDYwOyBpICs9IHRoaXMudGltZUdyYW51bGFyaXR5SW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgbWludXRlcy5wdXNoKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1pbnV0ZXMgPSBtaW51dGVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVNsRTs7Ozs7Ozs7OztHQVVHO0FBZUgsTUFBTSxPQUFPLHVCQUF1QjtJQW9EaEMsWUFDWSxpQkFBb0MsRUFDcEMscUJBQTRDO1FBRDVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQTlDeEQ7OztXQUdHO1FBQ00saUJBQVksR0FBYyxLQUFLLENBQUM7UUFDekM7OztXQUdHO1FBQ00sNEJBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDOzs7V0FHRztRQUNNLFFBQUcsR0FBa0IsSUFBSSxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLFFBQUcsR0FBa0IsSUFBSSxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFNMUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU9qQixhQUFRLEdBQWEsRUFBRSxDQUFDO0lBVXJCLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLHFCQUFx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QUFFLHFCQUFxQjtnQkFDL0IsNHNNQUErQztnQkFFL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUCxxQkFBcUI7b0JBQ3JCO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSx1QkFBdUI7d0JBQ3BDLEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7WUFoREcsaUJBQWlCO1lBZVoscUJBQXFCOzs7d0JBeUN6QixLQUFLOzJCQUtMLEtBQUs7c0NBS0wsS0FBSztrQkFLTCxLQUFLO2tCQUtMLEtBQUs7dUJBS0wsS0FBSztnQ0FFTCxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzRCQUMvQyxTQUFTLFNBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs0QkFDM0MsU0FBUyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgZGF5T2ZXZWVrSW5kZXgsIHdlZWtEYXlOYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyVmlldywgRGF5Q2VsbCwgRGF5T2ZXZWVrIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5leHBvcnQgdHlwZSBDdXJyZW50VmlldyA9IHtcclxuICAgIGRhdGU6IERhdGU7XHJcbiAgICBtb250aDogbnVtYmVyO1xyXG4gICAgeWVhcjogbnVtYmVyO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGZvcm0gaW5wdXQgZm9yIHNlbGVjdGluZyBkYXRldGltZSB2YWx1ZXMuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1kYXRldGltZS1waWNrZXIgWyhuZ01vZGVsKV09XCJzdGFydERhdGVcIj48L3Zkci1kYXRldGltZS1waWNrZXI+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZGF0ZXRpbWUtcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIERhdGV0aW1lUGlja2VyU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSByYW5nZSBhYm92ZSBhbmQgYmVsb3cgdGhlIGN1cnJlbnQgeWVhciB3aGljaCBpcyBzZWxlY3RhYmxlIGZyb21cclxuICAgICAqIHRoZSB5ZWFyIHNlbGVjdCBjb250cm9sLiBJZiBhIG1pbiBvciBtYXggdmFsdWUgaXMgc2V0LCB0aGVzZSB3aWxsXHJcbiAgICAgKiBvdmVycmlkZSB0aGUgeWVhclJhbmdlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB5ZWFyUmFuZ2U7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGRheSB0aGF0IHRoZSB3ZWVrIHNob3VsZCBzdGFydCB3aXRoIGluIHRoZSBjYWxlbmRhciB2aWV3LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB3ZWVrU3RhcnREYXk6IERheU9mV2VlayA9ICdtb24nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBncmFudWxhcml0eSBvZiB0aGUgbWludXRlcyB0aW1lIHBpY2tlclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB0aW1lR3JhbnVsYXJpdHlJbnRlcnZhbCA9IDU7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIG1pbmltdW0gZGF0ZSBhcyBhbiBJU08gc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1pbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIG1heGltdW0gZGF0ZSBhcyBhbiBJU08gc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgcmVhZG9ubHkgc3RhdGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bkNvbXBvbmVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duQ29tcG9uZW50OiBEcm9wZG93bkNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ2RhdGV0aW1lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkYXRldGltZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG4gICAgQFZpZXdDaGlsZCgnY2FsZW5kYXJUYWJsZScpIGNhbGVuZGFyVGFibGU6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD47XHJcblxyXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIGNhbGVuZGFyVmlldyQ6IE9ic2VydmFibGU8Q2FsZW5kYXJWaWV3PjtcclxuICAgIGN1cnJlbnQkOiBPYnNlcnZhYmxlPEN1cnJlbnRWaWV3PjtcclxuICAgIHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxEYXRlIHwgbnVsbD47XHJcbiAgICBzZWxlY3RlZEhvdXJzJDogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPjtcclxuICAgIHNlbGVjdGVkTWludXRlcyQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XHJcbiAgICB5ZWFyczogbnVtYmVyW107XHJcbiAgICB3ZWVrZGF5czogc3RyaW5nW10gPSBbXTtcclxuICAgIGhvdXJzOiBudW1iZXJbXTtcclxuICAgIG1pbnV0ZXM6IG51bWJlcltdO1xyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGRhdGV0aW1lUGlja2VyU2VydmljZTogRGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNldFdlZWtTdGFydGluZ0RheSh0aGlzLndlZWtTdGFydERheSk7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2V0TWluKHRoaXMubWluKTtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZXRNYXgodGhpcy5tYXgpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVZZWFyc1NlbGVjdGlvbigpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVXZWVrZGF5cygpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVIb3VycygpO1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVNaW51dGVzKCk7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclZpZXckID0gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2UuY2FsZW5kYXJWaWV3JDtcclxuICAgICAgICB0aGlzLmN1cnJlbnQkID0gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld2luZyQucGlwZShcclxuICAgICAgICAgICAgbWFwKGRhdGUgPT4gKHtcclxuICAgICAgICAgICAgICAgIGRhdGUsXHJcbiAgICAgICAgICAgICAgICBtb250aDogZGF0ZS5nZXRNb250aCgpICsgMSxcclxuICAgICAgICAgICAgICAgIHllYXI6IGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCQgPSB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RlZCQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEhvdXJzJCA9IHRoaXMuc2VsZWN0ZWQkLnBpcGUobWFwKGRhdGUgPT4gZGF0ZSAmJiBkYXRlLmdldEhvdXJzKCkpKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlcyQgPSB0aGlzLnNlbGVjdGVkJC5waXBlKG1hcChkYXRlID0+IGRhdGUgJiYgZGF0ZS5nZXRNaW51dGVzKCkpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNlbGVjdGVkJC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsID09IG51bGwgPyB2YWwgOiB2YWwudG9JU09TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5vbk9wZW5DaGFuZ2UoaXNPcGVuID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxlbmRhclRhYmxlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3REYXRldGltZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldk1vbnRoKCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnZpZXdQcmV2TW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0TW9udGgoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld05leHRNb250aCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFRvZGF5KCkge1xyXG4gICAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXJTZXJ2aWNlLnNlbGVjdFRvZGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0WWVhcihldmVudDogRXZlbnQpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld1llYXIocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE1vbnRoKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3TW9udGgocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdERheShkYXk6IERheUNlbGwpIHtcclxuICAgICAgICBpZiAoZGF5LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGF5LnNlbGVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyVmFsdWUoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2VsZWN0RGF0ZXRpbWUobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQ2FsZW5kYXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3SnVtcERvd24oKTtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld0p1bXBVcCgpO1xyXG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS52aWV3SnVtcFJpZ2h0KCk7XHJcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uudmlld0p1bXBMZWZ0KCk7XHJcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RWaWV3ZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0SG91cihldmVudDogRXZlbnQpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5kYXRldGltZVBpY2tlclNlcnZpY2Uuc2VsZWN0SG91cihwYXJzZUludCh0YXJnZXQudmFsdWUsIDEwKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TWludXRlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lUGlja2VyU2VydmljZS5zZWxlY3RNaW51dGUocGFyc2VJbnQodGFyZ2V0LnZhbHVlLCAxMCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlRGF0ZXBpY2tlcigpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50LnRvZ2dsZU9wZW4oKTtcclxuICAgICAgICB0aGlzLmRhdGV0aW1lSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcG9wdWxhdGVZZWFyc1NlbGVjdGlvbigpIHtcclxuICAgICAgICBjb25zdCB5ZWFyUmFuZ2UgPSB0aGlzLnllYXJSYW5nZSA/PyAxMDtcclxuICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICBjb25zdCBtaW4gPSAodGhpcy5taW4gJiYgbmV3IERhdGUodGhpcy5taW4pLmdldEZ1bGxZZWFyKCkpIHx8IGN1cnJlbnRZZWFyIC0geWVhclJhbmdlO1xyXG4gICAgICAgIGNvbnN0IG1heCA9ICh0aGlzLm1heCAmJiBuZXcgRGF0ZSh0aGlzLm1heCkuZ2V0RnVsbFllYXIoKSkgfHwgY3VycmVudFllYXIgKyB5ZWFyUmFuZ2U7XHJcbiAgICAgICAgY29uc3Qgc3ByZWFkID0gbWF4IC0gbWluICsgMTtcclxuICAgICAgICB0aGlzLnllYXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogc3ByZWFkIH0pLm1hcCgoXywgaSkgPT4gbWluICsgaSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVdlZWtkYXlzKCkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERheUluZGV4ID0gZGF5T2ZXZWVrSW5kZXhbdGhpcy53ZWVrU3RhcnREYXldO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla2RheXMucHVzaCh3ZWVrRGF5TmFtZXNbKGkgKyB3ZWVrU3RhcnREYXlJbmRleCArIDApICUgN10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBvcHVsYXRlSG91cnMoKSB7XHJcbiAgICAgICAgdGhpcy5ob3VycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDI0IH0pLm1hcCgoXywgaSkgPT4gaSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZU1pbnV0ZXMoKSB7XHJcbiAgICAgICAgY29uc3QgbWludXRlczogbnVtYmVyW10gPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDYwOyBpICs9IHRoaXMudGltZUdyYW51bGFyaXR5SW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgbWludXRlcy5wdXNoKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1pbnV0ZXMgPSBtaW51dGVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==