@vendure/admin-ui 2.0.2 → 2.0.3

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 (122) hide show
  1. package/catalog/components/product-variant-list/product-variant-list-bulk-actions.d.ts +6 -0
  2. package/catalog/public_api.d.ts +1 -1
  3. package/core/common/base-detail.component.d.ts +1 -0
  4. package/core/common/component-registry-types.d.ts +2 -2
  5. package/core/common/generated-types.d.ts +13 -0
  6. package/core/common/version.d.ts +1 -1
  7. package/core/components/theme-switcher/theme-switcher.component.d.ts +1 -0
  8. package/core/data/definitions/product-definitions.d.ts +1 -0
  9. package/core/data/providers/product-data.service.d.ts +1 -0
  10. package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +1 -0
  11. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -0
  12. package/core/shared/components/dropdown/dropdown.component.d.ts +1 -1
  13. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +6 -0
  14. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +5 -2
  15. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +4 -2
  16. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -5
  17. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +1 -4
  18. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +0 -1
  19. package/core/shared/shared.module.d.ts +2 -1
  20. package/esm2022/catalog/catalog.module.mjs +5 -1
  21. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +3 -3
  22. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +11 -14
  23. package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
  24. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +1 -1
  25. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -5
  26. package/esm2022/catalog/components/product-variant-list/product-variant-list-bulk-actions.mjs +92 -0
  27. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +5 -5
  28. package/esm2022/catalog/public_api.mjs +2 -2
  29. package/esm2022/core/common/base-detail.component.mjs +3 -3
  30. package/esm2022/core/common/base-list.component.mjs +2 -2
  31. package/esm2022/core/common/component-registry-types.mjs +1 -1
  32. package/esm2022/core/common/generated-types.mjs +2 -1
  33. package/esm2022/core/common/title-setter.mjs +1 -1
  34. package/esm2022/core/common/version.mjs +2 -2
  35. package/esm2022/core/components/base-nav/base-nav.component.mjs +1 -1
  36. package/esm2022/core/components/main-nav/main-nav.component.mjs +2 -2
  37. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +15 -5
  38. package/esm2022/core/components/user-menu/user-menu.component.mjs +3 -3
  39. package/esm2022/core/data/definitions/product-definitions.mjs +9 -1
  40. package/esm2022/core/data/providers/interceptor.mjs +1 -1
  41. package/esm2022/core/data/providers/product-data.service.mjs +7 -2
  42. package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +2 -2
  43. package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +1 -1
  44. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +1 -1
  45. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +2 -2
  46. package/esm2022/core/providers/local-storage/local-storage.service.mjs +1 -1
  47. package/esm2022/core/providers/page/page.service.mjs +1 -1
  48. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +1 -1
  49. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +1 -1
  50. package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
  51. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +1 -1
  52. package/esm2022/core/shared/components/data-table/data-table.component.mjs +1 -1
  53. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +24 -15
  54. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +65 -24
  55. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +1 -1
  56. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +3 -3
  57. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +1 -1
  58. package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +4 -3
  59. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +16 -3
  60. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +3 -1
  61. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +7 -4
  62. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +9 -8
  63. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +3 -2
  64. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +10 -5
  65. package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +1 -1
  66. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +14 -15
  67. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +1 -3
  68. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +3 -3
  69. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +3 -3
  70. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +3 -3
  71. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +2 -2
  72. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +1 -1
  73. package/esm2022/core/shared/shared.module.mjs +9 -4
  74. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +27 -27
  75. package/esm2022/customer/components/customer-list/customer-list.component.mjs +24 -24
  76. package/esm2022/customer/customer.module.mjs +9 -2
  77. package/esm2022/customer/customer.routes.mjs +1 -1
  78. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +1 -1
  79. package/esm2022/dashboard/default-widgets.mjs +2 -1
  80. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +12 -12
  81. package/esm2022/marketing/marketing.module.mjs +1 -1
  82. package/esm2022/order/components/order-detail/order-detail.component.mjs +8 -8
  83. package/esm2022/order/components/order-list/order-list.component.mjs +9 -2
  84. package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
  85. package/esm2022/order/order.module.mjs +1 -1
  86. package/esm2022/order/order.routes.mjs +1 -1
  87. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
  88. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +8 -8
  89. package/esm2022/settings/settings.module.mjs +1 -1
  90. package/fesm2022/vendure-admin-ui-catalog.mjs +109 -75
  91. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  92. package/fesm2022/vendure-admin-ui-core.mjs +190 -89
  93. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  94. package/fesm2022/vendure-admin-ui-customer.mjs +56 -49
  95. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  96. package/fesm2022/vendure-admin-ui-dashboard.mjs +12 -11
  97. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  98. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  99. package/fesm2022/vendure-admin-ui-order.mjs +17 -10
  100. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  101. package/fesm2022/vendure-admin-ui-settings.mjs +9 -9
  102. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  103. package/package.json +19 -19
  104. package/static/i18n-messages/cs.json +772 -770
  105. package/static/i18n-messages/de.json +773 -771
  106. package/static/i18n-messages/en.json +773 -771
  107. package/static/i18n-messages/es.json +773 -771
  108. package/static/i18n-messages/fr.json +773 -771
  109. package/static/i18n-messages/it.json +773 -771
  110. package/static/i18n-messages/pl.json +773 -771
  111. package/static/i18n-messages/pt_BR.json +773 -771
  112. package/static/i18n-messages/pt_PT.json +773 -771
  113. package/static/i18n-messages/ru.json +773 -771
  114. package/static/i18n-messages/uk.json +773 -771
  115. package/static/i18n-messages/zh_Hans.json +773 -771
  116. package/static/i18n-messages/zh_Hant.json +773 -771
  117. package/static/styles/global/_buttons.scss +63 -49
  118. package/static/styles/global/_forms.scss +5 -1
  119. package/static/styles/theme/default.scss +2 -0
  120. package/static/theme.min.css +1 -1
  121. package/catalog/components/product-variant-list/product-list-bulk-actions.d.ts +0 -3
  122. package/esm2022/catalog/components/product-variant-list/product-list-bulk-actions.mjs +0 -55
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
76
76
  }, {
77
77
  type: Input
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2FjdGlvbi1iYXItaXRlbXMvYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2FjdGlvbi1iYXItaXRlbXMvYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUlSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQWM3QyxNQUFNLE9BQU8sdUJBQXVCO0lBUWhDLFlBQ1ksaUJBQW9DLEVBQ3BDLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLG1CQUF3QztRQUh4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFONUMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQU9uRCxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FDekYsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxZQUFZLElBQUksT0FBTyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM3RDtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUIsRUFBRSxJQUFtQjtRQUM5QyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2FBQ2hELENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFtQjtRQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW1CO1FBQy9CLE1BQU0sTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxJQUFtQjtRQUMzQyxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sRUFBRSxDQUFDO1lBQ2QsS0FBSyxTQUFTO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RFLEtBQUssU0FBUztnQkFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlFLEtBQUssU0FBUztnQkFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlFO2dCQUNJLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs4R0FqRVEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNkxDMUJwQyxzckJBZUE7OzJGRFdhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTtpTUFLL0MsVUFBVTtzQkFGVCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkJhckxvY2F0aW9uSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3Rpb25CYXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25hdi1idWlsZGVyL25hdi1idWlsZGVyLXR5cGVzJztcclxuaW1wb3J0IHsgTmF2QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbmF2LWJ1aWxkZXIvbmF2LWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItYWN0aW9uLWJhci1pdGVtcycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tYmFyLWl0ZW1zLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkJhckl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbG9jYXRpb24taWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIGxvY2F0aW9uSWQ6IEFjdGlvbkJhckxvY2F0aW9uSWQ7XHJcblxyXG4gICAgaXRlbXMkOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW1bXT47XHJcbiAgICBwcml2YXRlIGxvY2F0aW9uSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG5hdkJ1aWxkZXJTZXJ2aWNlOiBOYXZCdWlsZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyQgPSBjb21iaW5lTGF0ZXN0KHRoaXMubmF2QnVpbGRlclNlcnZpY2UuYWN0aW9uQmFyQ29uZmlnJCwgdGhpcy5sb2NhdGlvbklkJCkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIGxvY2F0aW9uSWRdKSA9PiBpdGVtcy5maWx0ZXIoY29uZmlnID0+IGNvbmZpZy5sb2NhdGlvbklkID09PSBsb2NhdGlvbklkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdsb2NhdGlvbklkJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25JZCQubmV4dChjaGFuZ2VzWydsb2NhdGlvbklkJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IEFjdGlvbkJhckl0ZW0pIHtcclxuICAgICAgICBpZiAodHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBpdGVtLm9uQ2xpY2soZXZlbnQsIHtcclxuICAgICAgICAgICAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgICAgICAgICAgZGF0YVNlcnZpY2U6IHRoaXMuZGF0YVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25TZXJ2aWNlOiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRSb3V0ZXJMaW5rKGl0ZW06IEFjdGlvbkJhckl0ZW0pOiBhbnlbXSB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdkJ1aWxkZXJTZXJ2aWNlLmdldFJvdXRlckxpbmsoaXRlbSwgdGhpcy5yb3V0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnV0dG9uU3R5bGVzKGl0ZW06IEFjdGlvbkJhckl0ZW0pOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gWydidXR0b24nXTtcclxuICAgICAgICBpZiAoaXRlbS5idXR0b25TdHlsZSAmJiBpdGVtLmJ1dHRvblN0eWxlID09PSAnbGluaycpIHtcclxuICAgICAgICAgICAgc3R5bGVzLnB1c2goJ2J0bi1saW5rJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBzdHlsZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0eWxlcy5wdXNoKHRoaXMuZ2V0QnV0dG9uQ29sb3JDbGFzcyhpdGVtKSk7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEJ1dHRvbkNvbG9yQ2xhc3MoaXRlbTogQWN0aW9uQmFySXRlbSk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoIChpdGVtLmJ1dHRvbkNvbG9yKSB7XHJcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICBjYXNlICdwcmltYXJ5JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmJ1dHRvblN0eWxlID09PSAnb3V0bGluZScgPyAnYnRuLW91dGxpbmUnIDogJ3ByaW1hcnknO1xyXG4gICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmJ1dHRvblN0eWxlID09PSAnb3V0bGluZScgPyAnYnRuLXN1Y2Nlc3Mtb3V0bGluZScgOiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uYnV0dG9uU3R5bGUgPT09ICdvdXRsaW5lJyA/ICdidG4td2FybmluZy1vdXRsaW5lJyA6ICd3YXJuaW5nJztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKGl0ZW0uYnV0dG9uQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8dmRyLXVpLWV4dGVuc2lvbi1wb2ludCBbbG9jYXRpb25JZF09XCJsb2NhdGlvbklkXCIgYXBpPVwiYWN0aW9uQmFyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zJCB8IGFzeW5jXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqdmRySWZQZXJtaXNzaW9ucz1cIml0ZW0ucmVxdWlyZXNQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZ2V0Um91dGVyTGluayhpdGVtKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gKGl0ZW0uZGlzYWJsZWQgfCBhc3luYykgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0QnV0dG9uU3R5bGVzKGl0ZW0pXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtci0yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiIFthdHRyLnNoYXBlXT1cIml0ZW0uaWNvblwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L3Zkci11aS1leHRlbnNpb24tcG9pbnQ+XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2FjdGlvbi1iYXItaXRlbXMvYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2FjdGlvbi1iYXItaXRlbXMvYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUlSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQWM3QyxNQUFNLE9BQU8sdUJBQXVCO0lBUWhDLFlBQ1ksaUJBQW9DLEVBQ3BDLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLG1CQUF3QztRQUh4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFONUMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQU9uRCxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FDekYsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxZQUFZLElBQUksT0FBTyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM3RDtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUIsRUFBRSxJQUFtQjtRQUM5QyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2FBQ2hELENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFtQjtRQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW1CO1FBQy9CLE1BQU0sTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxJQUFtQjtRQUMzQyxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sRUFBRSxDQUFDO1lBQ2QsS0FBSyxTQUFTO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RFLEtBQUssU0FBUztnQkFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlFLEtBQUssU0FBUztnQkFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlFO2dCQUNJLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs4R0FqRVEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNkxDMUJwQyxzckJBZUE7OzJGRFdhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTtpTUFLL0MsVUFBVTtzQkFGVCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWN0aW9uQmFyTG9jYXRpb25JZCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uQmFySXRlbSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci10eXBlcyc7XG5pbXBvcnQgeyBOYXZCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9uYXYtYnVpbGRlci9uYXYtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItYWN0aW9uLWJhci1pdGVtcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1iYXItaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjdGlvbi1iYXItaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQmFySXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbG9jYXRpb24taWQnKVxuICAgIEBJbnB1dCgpXG4gICAgbG9jYXRpb25JZDogQWN0aW9uQmFyTG9jYXRpb25JZDtcblxuICAgIGl0ZW1zJDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+O1xuICAgIHByaXZhdGUgbG9jYXRpb25JZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmF2QnVpbGRlclNlcnZpY2U6IE5hdkJ1aWxkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pdGVtcyQgPSBjb21iaW5lTGF0ZXN0KHRoaXMubmF2QnVpbGRlclNlcnZpY2UuYWN0aW9uQmFyQ29uZmlnJCwgdGhpcy5sb2NhdGlvbklkJCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2l0ZW1zLCBsb2NhdGlvbklkXSkgPT4gaXRlbXMuZmlsdGVyKGNvbmZpZyA9PiBjb25maWcubG9jYXRpb25JZCA9PT0gbG9jYXRpb25JZCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdsb2NhdGlvbklkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uSWQkLm5leHQoY2hhbmdlc1snbG9jYXRpb25JZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCwgaXRlbTogQWN0aW9uQmFySXRlbSkge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgaXRlbS5vbkNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgZGF0YVNlcnZpY2U6IHRoaXMuZGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZTogdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRSb3V0ZXJMaW5rKGl0ZW06IEFjdGlvbkJhckl0ZW0pOiBhbnlbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZCdWlsZGVyU2VydmljZS5nZXRSb3V0ZXJMaW5rKGl0ZW0sIHRoaXMucm91dGUpO1xuICAgIH1cblxuICAgIGdldEJ1dHRvblN0eWxlcyhpdGVtOiBBY3Rpb25CYXJJdGVtKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBzdHlsZXMgPSBbJ2J1dHRvbiddO1xuICAgICAgICBpZiAoaXRlbS5idXR0b25TdHlsZSAmJiBpdGVtLmJ1dHRvblN0eWxlID09PSAnbGluaycpIHtcbiAgICAgICAgICAgIHN0eWxlcy5wdXNoKCdidG4tbGluaycpO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfVxuICAgICAgICBzdHlsZXMucHVzaCh0aGlzLmdldEJ1dHRvbkNvbG9yQ2xhc3MoaXRlbSkpO1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnV0dG9uQ29sb3JDbGFzcyhpdGVtOiBBY3Rpb25CYXJJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoIChpdGVtLmJ1dHRvbkNvbG9yKSB7XG4gICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5idXR0b25TdHlsZSA9PT0gJ291dGxpbmUnID8gJ2J0bi1vdXRsaW5lJyA6ICdwcmltYXJ5JztcbiAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmJ1dHRvblN0eWxlID09PSAnb3V0bGluZScgPyAnYnRuLXN1Y2Nlc3Mtb3V0bGluZScgOiAnc3VjY2Vzcyc7XG4gICAgICAgICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5idXR0b25TdHlsZSA9PT0gJ291dGxpbmUnID8gJ2J0bi13YXJuaW5nLW91dGxpbmUnIDogJ3dhcm5pbmcnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcihpdGVtLmJ1dHRvbkNvbG9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dmRyLXVpLWV4dGVuc2lvbi1wb2ludCBbbG9jYXRpb25JZF09XCJsb2NhdGlvbklkXCIgYXBpPVwiYWN0aW9uQmFyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zJCB8IGFzeW5jXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqdmRySWZQZXJtaXNzaW9ucz1cIml0ZW0ucmVxdWlyZXNQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZ2V0Um91dGVyTGluayhpdGVtKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gKGl0ZW0uZGlzYWJsZWQgfCBhc3luYykgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0QnV0dG9uU3R5bGVzKGl0ZW0pXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtci0yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiIFthdHRyLnNoYXBlXT1cIml0ZW0uaWNvblwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L3Zkci11aS1leHRlbnNpb24tcG9pbnQ+XHJcbiJdfQ==
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
52
52
  type: Component,
53
53
  args: [{ selector: 'vdr-assign-to-channel-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n {{ 'common.confirm-bulk-assign-to-channel' | translate }}\r\n</ng-template>\r\n<div class=\"form-grid\">\r\n <vdr-form-item>\r\n <div *ngIf=\"0 < nMore\">\r\n {{\r\n 'common.list-items-and-n-more'\r\n | translate\r\n : {\r\n items: itemNames,\r\n nMore: nMore\r\n }\r\n }}\r\n </div>\r\n <div *ngIf=\"nMore === 0\">\r\n {{ itemNames }}\r\n </div>\r\n </vdr-form-item>\r\n <vdr-form-field [label]=\"'common.channel' | translate\" class=\"mb-4\">\r\n <vdr-channel-assignment-control\r\n clrInput\r\n [multiple]=\"false\"\r\n [includeDefaultChannel]=\"false\"\r\n [formControl]=\"selectedChannelIdControl\"\r\n ></vdr-channel-assignment-control>\r\n </vdr-form-field>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"assign()\" [disabled]=\"!selectedChannel\" class=\"btn btn-primary\">\r\n <ng-template [ngIf]=\"selectedChannel\" [ngIfElse]=\"noSelection\">\r\n {{ 'catalog.assign-to-named-channel' | translate : { channelCode: selectedChannel?.code } }}\r\n </ng-template>\r\n <ng-template #noSelection>\r\n {{ 'catalog.no-channel-selected' | translate }}\r\n </ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: ["vdr-channel-assignment-control{min-width:200px}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i2.NotificationService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy9hc3NpZ24tdG8tY2hhbm5lbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBZXJDLE1BQU0sT0FBTyw4QkFBOEI7SUFVdkMsWUFBb0IsV0FBd0IsRUFBVSxtQkFBd0M7UUFBMUUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDlGLDZCQUF3QixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUs2QyxDQUFDO0lBRWxHLFFBQVE7UUFDSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTthQUMzQyxVQUFVLEVBQUU7YUFDWixTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlGLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3BGLG9FQUFvRTtZQUNwRSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQW9CO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQTFDUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixvRUNqQjNDLG9sREF3Q0E7OzJGRHZCYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJdGVtT2YgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYmFzZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdldENoYW5uZWxzUXVlcnkgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwudHlwZXMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcblxyXG50eXBlIENoYW5uZWwgPSBJdGVtT2Y8R2V0Q2hhbm5lbHNRdWVyeSwgJ2NoYW5uZWxzJz47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFzc2lnbi10by1jaGFubmVsLWRpYWxvZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NpZ25Ub0NoYW5uZWxEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZzxDaGFubmVsPiB7XHJcbiAgICBzZWxlY3RlZENoYW5uZWw6IENoYW5uZWwgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gICAgY3VycmVudENoYW5uZWw6IENoYW5uZWw7XHJcbiAgICBhdmFpbGFibGVDaGFubmVsczogQ2hhbm5lbFtdO1xyXG4gICAgcmVzb2x2ZVdpdGg6IChyZXN1bHQ/OiBDaGFubmVsKSA9PiB2b2lkO1xyXG4gICAgc2VsZWN0ZWRDaGFubmVsSWRDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xyXG5cclxuICAgIGl0ZW1OYW1lczogc3RyaW5nO1xyXG4gICAgbk1vcmU6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWxJZCQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgIC5tYXBTaW5nbGUoKHsgdXNlclN0YXR1cyB9KSA9PiB1c2VyU3RhdHVzLmFjdGl2ZUNoYW5uZWxJZCk7XHJcbiAgICAgICAgY29uc3QgYWxsQ2hhbm5lbHMkID0gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy5nZXRDaGFubmVscygpLm1hcFNpbmdsZShkYXRhID0+IGRhdGEuY2hhbm5lbHMpO1xyXG5cclxuICAgICAgICBjb21iaW5lTGF0ZXN0KGFjdGl2ZUNoYW5uZWxJZCQsIGFsbENoYW5uZWxzJCkuc3Vic2NyaWJlKChbYWN0aXZlQ2hhbm5lbElkLCBjaGFubmVsc10pID0+IHtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q2hhbm5lbCA9IGNoYW5uZWxzLml0ZW1zLmZpbmQoYyA9PiBjLmlkID09PSBhY3RpdmVDaGFubmVsSWQpITtcclxuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVDaGFubmVscyA9IGNoYW5uZWxzLml0ZW1zO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbm5lbElkQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGlkcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q2hhbm5lbChpZHMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdENoYW5uZWwoY2hhbm5lbElkczogc3RyaW5nW10pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbm5lbCA9IHRoaXMuYXZhaWxhYmxlQ2hhbm5lbHMuZmluZChjID0+IGMuaWQgPT09IGNoYW5uZWxJZHNbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnbigpIHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZENoYW5uZWwgPSB0aGlzLnNlbGVjdGVkQ2hhbm5lbDtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRDaGFubmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoc2VsZWN0ZWRDaGFubmVsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgdmRyRGlhbG9nVGl0bGU+XHJcbiAgICB7eyAnY29tbW9uLmNvbmZpcm0tYnVsay1hc3NpZ24tdG8tY2hhbm5lbCcgfCB0cmFuc2xhdGUgfX1cclxuPC9uZy10ZW1wbGF0ZT5cclxuPGRpdiBjbGFzcz1cImZvcm0tZ3JpZFwiPlxyXG4gICAgPHZkci1mb3JtLWl0ZW0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIjAgPCBuTW9yZVwiPlxyXG4gICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgJ2NvbW1vbi5saXN0LWl0ZW1zLWFuZC1uLW1vcmUnXHJcbiAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBpdGVtTmFtZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5Nb3JlOiBuTW9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibk1vcmUgPT09IDBcIj5cclxuICAgICAgICAgICAge3sgaXRlbU5hbWVzIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3Zkci1mb3JtLWl0ZW0+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidjb21tb24uY2hhbm5lbCcgfCB0cmFuc2xhdGVcIiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICA8dmRyLWNoYW5uZWwtYXNzaWdubWVudC1jb250cm9sXHJcbiAgICAgICAgICAgIGNscklucHV0XHJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtpbmNsdWRlRGVmYXVsdENoYW5uZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0ZWRDaGFubmVsSWRDb250cm9sXCJcclxuICAgICAgICA+PC92ZHItY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2w+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dCdXR0b25zPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG5cIiAoY2xpY2spPVwiY2FuY2VsKClcIj57eyAnY29tbW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhc3NpZ24oKVwiIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRDaGFubmVsXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRDaGFubmVsXCIgW25nSWZFbHNlXT1cIm5vU2VsZWN0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7ICdjYXRhbG9nLmFzc2lnbi10by1uYW1lZC1jaGFubmVsJyB8IHRyYW5zbGF0ZSA6IHsgY2hhbm5lbENvZGU6IHNlbGVjdGVkQ2hhbm5lbD8uY29kZSB9IH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vU2VsZWN0aW9uPlxyXG4gICAgICAgICAgICB7eyAnY2F0YWxvZy5uby1jaGFubmVsLXNlbGVjdGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy9hc3NpZ24tdG8tY2hhbm5lbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBZXJDLE1BQU0sT0FBTyw4QkFBOEI7SUFVdkMsWUFBb0IsV0FBd0IsRUFBVSxtQkFBd0M7UUFBMUUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDlGLDZCQUF3QixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUs2QyxDQUFDO0lBRWxHLFFBQVE7UUFDSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTthQUMzQyxVQUFVLEVBQUU7YUFDWixTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlGLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3BGLG9FQUFvRTtZQUNwRSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQW9CO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQTFDUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixvRUNqQjNDLG9sREF3Q0E7OzJGRHZCYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJdGVtT2YgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYmFzZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZXRDaGFubmVsc1F1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwudHlwZXMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG50eXBlIENoYW5uZWwgPSBJdGVtT2Y8R2V0Q2hhbm5lbHNRdWVyeSwgJ2NoYW5uZWxzJz47XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWFzc2lnbi10by1jaGFubmVsLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnblRvQ2hhbm5lbERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRGlhbG9nPENoYW5uZWw+IHtcbiAgICBzZWxlY3RlZENoYW5uZWw6IENoYW5uZWwgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGN1cnJlbnRDaGFubmVsOiBDaGFubmVsO1xuICAgIGF2YWlsYWJsZUNoYW5uZWxzOiBDaGFubmVsW107XG4gICAgcmVzb2x2ZVdpdGg6IChyZXN1bHQ/OiBDaGFubmVsKSA9PiB2b2lkO1xuICAgIHNlbGVjdGVkQ2hhbm5lbElkQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcblxuICAgIGl0ZW1OYW1lczogc3RyaW5nO1xuICAgIG5Nb3JlOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWxJZCQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxuICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxuICAgICAgICAgICAgLm1hcFNpbmdsZSgoeyB1c2VyU3RhdHVzIH0pID0+IHVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKTtcbiAgICAgICAgY29uc3QgYWxsQ2hhbm5lbHMkID0gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy5nZXRDaGFubmVscygpLm1hcFNpbmdsZShkYXRhID0+IGRhdGEuY2hhbm5lbHMpO1xuXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoYWN0aXZlQ2hhbm5lbElkJCwgYWxsQ2hhbm5lbHMkKS5zdWJzY3JpYmUoKFthY3RpdmVDaGFubmVsSWQsIGNoYW5uZWxzXSkgPT4ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgIHRoaXMuY3VycmVudENoYW5uZWwgPSBjaGFubmVscy5pdGVtcy5maW5kKGMgPT4gYy5pZCA9PT0gYWN0aXZlQ2hhbm5lbElkKSE7XG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZUNoYW5uZWxzID0gY2hhbm5lbHMuaXRlbXM7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFubmVsSWRDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoaWRzID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q2hhbm5lbChpZHMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3RDaGFubmVsKGNoYW5uZWxJZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFubmVsID0gdGhpcy5hdmFpbGFibGVDaGFubmVscy5maW5kKGMgPT4gYy5pZCA9PT0gY2hhbm5lbElkc1swXSk7XG4gICAgfVxuXG4gICAgYXNzaWduKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENoYW5uZWwgPSB0aGlzLnNlbGVjdGVkQ2hhbm5lbDtcbiAgICAgICAgaWYgKHNlbGVjdGVkQ2hhbm5lbCkge1xuICAgICAgICAgICAgdGhpcy5yZXNvbHZlV2l0aChzZWxlY3RlZENoYW5uZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKCk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPlxyXG4gICAge3sgJ2NvbW1vbi5jb25maXJtLWJ1bGstYXNzaWduLXRvLWNoYW5uZWwnIHwgdHJhbnNsYXRlIH19XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxkaXYgY2xhc3M9XCJmb3JtLWdyaWRcIj5cclxuICAgIDx2ZHItZm9ybS1pdGVtPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIwIDwgbk1vcmVcIj5cclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICdjb21tb24ubGlzdC1pdGVtcy1hbmQtbi1tb3JlJ1xyXG4gICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogaXRlbU5hbWVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuTW9yZTogbk1vcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIm5Nb3JlID09PSAwXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW1OYW1lcyB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItZm9ybS1pdGVtPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInY29tbW9uLmNoYW5uZWwnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgPHZkci1jaGFubmVsLWFzc2lnbm1lbnQtY29udHJvbFxyXG4gICAgICAgICAgICBjbHJJbnB1dFxyXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbaW5jbHVkZURlZmF1bHRDaGFubmVsXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGVkQ2hhbm5lbElkQ29udHJvbFwiXHJcbiAgICAgICAgPjwvdmRyLWNoYW5uZWwtYXNzaWdubWVudC1jb250cm9sPlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiYXNzaWduKClcIiBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkQ2hhbm5lbFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkQ2hhbm5lbFwiIFtuZ0lmRWxzZV09XCJub1NlbGVjdGlvblwiPlxyXG4gICAgICAgICAgICB7eyAnY2F0YWxvZy5hc3NpZ24tdG8tbmFtZWQtY2hhbm5lbCcgfCB0cmFuc2xhdGUgOiB7IGNoYW5uZWxDb2RlOiBzZWxlY3RlZENoYW5uZWw/LmNvZGUgfSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNub1NlbGVjdGlvbj5cclxuICAgICAgICAgICAge3sgJ2NhdGFsb2cubm8tY2hhbm5lbC1zZWxlY3RlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -28,11 +28,11 @@ export class ChipComponent {
28
28
  this.iconClick = new EventEmitter();
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: ChipComponent, selector: "vdr-chip", inputs: { icon: "icon", invert: "invert", colorFrom: "colorFrom", colorType: "colorType" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;overflow:hidden}.wrapper{display:flex;vertical-align:baseline;font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);font-weight:600;line-height:12px;text-align:center;color:var(--color-weight-700);border:1px solid var(--color-weight-125)}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border);color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border);color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border);color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:5px 8px;white-space:nowrap;display:flex;align-items:center;gap:2px}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: ChipComponent, selector: "vdr-chip", inputs: { icon: "icon", invert: "invert", colorFrom: "colorFrom", colorType: "colorType" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;overflow:hidden}.wrapper{display:flex;vertical-align:baseline;font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);font-weight:600;line-height:12px;text-align:center;color:var(--color-weight-700);border:1px solid var(--color-weight-125)}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border);color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border);color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border);color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:5px 8px;white-space:nowrap;display:flex;align-items:baseline;gap:2px}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: ChipComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'vdr-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;overflow:hidden}.wrapper{display:flex;vertical-align:baseline;font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);font-weight:600;line-height:12px;text-align:center;color:var(--color-weight-700);border:1px solid var(--color-weight-125)}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border);color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border);color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border);color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:5px 8px;white-space:nowrap;display:flex;align-items:center;gap:2px}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"] }]
35
+ args: [{ selector: 'vdr-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block;overflow:hidden}.wrapper{display:flex;vertical-align:baseline;font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);font-weight:600;line-height:12px;text-align:center;color:var(--color-weight-700);border:1px solid var(--color-weight-125)}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border);color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border);color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border);color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:5px 8px;white-space:nowrap;display:flex;align-items:baseline;gap:2px}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"] }]
36
36
  }], propDecorators: { icon: [{
37
37
  type: Input
38
38
  }], invert: [{
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
61
61
  },
62
62
  ], template: "<ng-select\r\n [items]=\"currencyCodes\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [searchFn]=\"searchCurrencyCodes\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChangeFn($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span class=\"ng-value-icon left\" (click)=\"clear.call(null, item)\" aria-hidden=\"true\"> \u00D7 </span>\r\n <span class=\"ng-value-label\">{{ item | localeCurrencyName }}</span>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">{{ item | localeCurrencyName }}</ng-template>\r\n</ng-select>\r\n" }]
63
63
  }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2N1cnJlbmN5LWNvZGUtc2VsZWN0b3IvY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2N1cnJlbmN5LWNvZGUtc2VsZWN0b3IvY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBZ0IvRCxNQUFNLE9BQU8sNkJBQTZCO0lBZXRDLFlBQVksV0FBeUIsRUFBRSxpQkFBcUM7UUFkNUUsa0JBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBTzVDLHdCQUFtQixHQUFHLENBQUMsSUFBWSxFQUFFLElBQWtCLEVBQUUsRUFBRTtZQUN2RCxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNaLE9BQU8sZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQztRQUdFLElBQUksV0FBVyxJQUFJLGlCQUFpQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU07aUJBQ2pDLE9BQU8sRUFBRTtpQkFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUMvQixTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLE1BQU0sRUFBRTtvQkFDUixJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7aUJBQy9CO2dCQUNELGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs4R0E1Q1EsNkJBQTZCO2tHQUE3Qiw2QkFBNkIscURBUjNCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDNUQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQ2pCTCw2cUJBZ0JBOzsyRkRHYSw2QkFBNkI7a0JBYnpDLFNBQVM7K0JBQ0ksNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDOzRCQUM1RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY3VycmVuY3ktY29kZS1zZWxlY3RvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VycmVuY3lDb2RlU2VsZWN0b3JDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5Q29kZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICBjdXJyZW5jeUNvZGVzID0gT2JqZWN0LnZhbHVlcyhDdXJyZW5jeUNvZGUpO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgbG9jYWxlOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIG9uQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xyXG4gICAgb25Ub3VjaEZuOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgICBzZWFyY2hDdXJyZW5jeUNvZGVzID0gKHRlcm06IHN0cmluZywgaXRlbTogQ3VycmVuY3lDb2RlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVuY3lDb2RlTmFtZSA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhbdGhpcy5sb2NhbGVdLCB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdjdXJyZW5jeScsXHJcbiAgICAgICAgfSkub2YoaXRlbSk7XHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbmN5Q29kZU5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybS50b0xvd2VyQ2FzZSgpKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoZGF0YVNlcnZpY2U/OiBEYXRhU2VydmljZSwgY2hhbmdlRGV0ZWN0b3JSZWY/OiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIGlmIChkYXRhU2VydmljZSAmJiBjaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAgICAgLnVpU3RhdGUoKVxyXG4gICAgICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEudWlTdGF0ZSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgbGFuZ3VhZ2UsIGxvY2FsZSB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSBsYW5ndWFnZS5yZXBsYWNlKC9fL2csICctJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZSArPSBgLSR7bG9jYWxlfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gICAgfVxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgICB9XHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXNlbGVjdFxyXG4gICAgW2l0ZW1zXT1cImN1cnJlbmN5Q29kZXNcIlxyXG4gICAgW2FkZFRhZ109XCJmYWxzZVwiXHJcbiAgICBbaGlkZVNlbGVjdGVkXT1cInRydWVcIlxyXG4gICAgW3NlYXJjaEZuXT1cInNlYXJjaEN1cnJlbmN5Q29kZXNcIlxyXG4gICAgbXVsdGlwbGU9XCJ0cnVlXCJcclxuICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlRm4oJGV2ZW50KVwiXHJcbj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5nLXZhbHVlLWljb24gbGVmdFwiIChjbGljayk9XCJjbGVhci5jYWxsKG51bGwsIGl0ZW0pXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+IMOXIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5nLXZhbHVlLWxhYmVsXCI+e3sgaXRlbSB8IGxvY2FsZUN1cnJlbmN5TmFtZSB9fTwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj57eyBpdGVtIHwgbG9jYWxlQ3VycmVuY3lOYW1lIH19PC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1zZWxlY3Q+XHJcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2N1cnJlbmN5LWNvZGUtc2VsZWN0b3IvY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2N1cnJlbmN5LWNvZGUtc2VsZWN0b3IvY3VycmVuY3ktY29kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBZ0IvRCxNQUFNLE9BQU8sNkJBQTZCO0lBZXRDLFlBQVksV0FBeUIsRUFBRSxpQkFBcUM7UUFkNUUsa0JBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBTzVDLHdCQUFtQixHQUFHLENBQUMsSUFBWSxFQUFFLElBQWtCLEVBQUUsRUFBRTtZQUN2RCxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNaLE9BQU8sZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQztRQUdFLElBQUksV0FBVyxJQUFJLGlCQUFpQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU07aUJBQ2pDLE9BQU8sRUFBRTtpQkFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUMvQixTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLE1BQU0sRUFBRTtvQkFDUixJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7aUJBQy9CO2dCQUNELGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs4R0E1Q1EsNkJBQTZCO2tHQUE3Qiw2QkFBNkIscURBUjNCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDNUQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQ2pCTCw2cUJBZ0JBOzsyRkRHYSw2QkFBNkI7a0JBYnpDLFNBQVM7K0JBQ0ksNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDOzRCQUM1RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VycmVuY3lDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWN1cnJlbmN5LWNvZGUtc2VsZWN0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudC5jc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXJyZW5jeUNvZGVTZWxlY3RvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUNvZGVTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIGN1cnJlbmN5Q29kZXMgPSBPYmplY3QudmFsdWVzKEN1cnJlbmN5Q29kZSk7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGxvY2FsZTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIG9uQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xuICAgIG9uVG91Y2hGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBzZWFyY2hDdXJyZW5jeUNvZGVzID0gKHRlcm06IHN0cmluZywgaXRlbTogQ3VycmVuY3lDb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbmN5Q29kZU5hbWUgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoW3RoaXMubG9jYWxlXSwge1xuICAgICAgICAgICAgdHlwZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgfSkub2YoaXRlbSk7XG4gICAgICAgIHJldHVybiBjdXJyZW5jeUNvZGVOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSk7XG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGFTZXJ2aWNlPzogRGF0YVNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgaWYgKGRhdGFTZXJ2aWNlICYmIGNoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGRhdGFTZXJ2aWNlLmNsaWVudFxuICAgICAgICAgICAgICAgIC51aVN0YXRlKClcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51aVN0YXRlKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgbGFuZ3VhZ2UsIGxvY2FsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gbGFuZ3VhZ2UucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZSArPSBgLSR7bG9jYWxlfWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gICAgfVxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hGbiA9IGZuO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctc2VsZWN0XHJcbiAgICBbaXRlbXNdPVwiY3VycmVuY3lDb2Rlc1wiXHJcbiAgICBbYWRkVGFnXT1cImZhbHNlXCJcclxuICAgIFtoaWRlU2VsZWN0ZWRdPVwidHJ1ZVwiXHJcbiAgICBbc2VhcmNoRm5dPVwic2VhcmNoQ3VycmVuY3lDb2Rlc1wiXHJcbiAgICBtdWx0aXBsZT1cInRydWVcIlxyXG4gICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VGbigkZXZlbnQpXCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmctdmFsdWUtaWNvbiBsZWZ0XCIgKGNsaWNrKT1cImNsZWFyLmNhbGwobnVsbCwgaXRlbSlcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4gw5cgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57eyBpdGVtIHwgbG9jYWxlQ3VycmVuY3lOYW1lIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPnt7IGl0ZW0gfCBsb2NhbGVDdXJyZW5jeU5hbWUgfX08L25nLXRlbXBsYXRlPlxyXG48L25nLXNlbGVjdD5cclxuIl19
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
174
174
  type: ContentChildren,
175
175
  args: [TemplateRef]
176
176
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04sV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBRXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRHO0FBUUgsTUFBTSxPQUFPLGtCQUFrQjtJQTZCM0IsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF0QjlDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFNMUQsMkRBQTJEO1FBQ2pELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyRCwyREFBMkQ7UUFDakQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQU8vRSxxRUFBcUU7UUFDckUsK0NBQStDO1FBQy9DLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS2QscUJBQWdCLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDaEQs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LENBQUM7SUFDeEQsQ0FBQzs4R0E1RlEsa0JBQWtCO2tHQUFsQixrQkFBa0IsNGJBRmhCLENBQUMsaUJBQWlCLENBQUMsa0RBcUJiLHdCQUF3QiwrQ0FDeEIsV0FBVyxrRENoSGhDLHNvR0FzRUE7OzJGRHNCYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxpQkFBaUIsQ0FBQzt3R0FHckIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUdFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW9DLE9BQU87c0JBQWpELGVBQWU7dUJBQUMsd0JBQXdCO2dCQUNYLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJ25neC1wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsaXRpZXMvc2VsZWN0aW9uLW1hbmFnZXInO1xyXG5cclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHRhYmxlIGZvciBkaXNwbGF5aW5nIFBhZ2luYXRlZExpc3QgcmVzdWx0cy4gSXQgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBpbnNpZGUgY29tcG9uZW50cyB3aGljaFxyXG4gKiBleHRlbmQgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gY2xhc3MuXHJcbiAqXHJcbiAqICoqRGVwcmVjYXRlZCoqIFRoaXMgY29tcG9uZW50IGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUge0BsaW5rIERhdGFUYWJsZTJDb21wb25lbnR9IGluc3RlYWQuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1kYXRhLXRhYmxlXHJcbiAqICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcclxuICogICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZSQgfCBhc3luY1wiXHJcbiAqICAgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtcyQgfCBhc3luY1wiXHJcbiAqICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcclxuICogICAocGFnZUNoYW5nZSk9XCJzZXRQYWdlTnVtYmVyKCRldmVudClcIlxyXG4gKiAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwic2V0SXRlbXNQZXJQYWdlKCRldmVudClcIlxyXG4gKiA+XHJcbiAqICAgPCEtLSBUaGUgaGVhZGVyIGNvbHVtbnMgYXJlIGRlZmluZWQgZmlyc3QgLS0+XHJcbiAqICAgPHZkci1kdC1jb2x1bW4+e3sgJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWR0LWNvbHVtbj5cclxuICogICA8dmRyLWR0LWNvbHVtbj48L3Zkci1kdC1jb2x1bW4+XHJcbiAqICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gKlxyXG4gKiAgIDwhLS0gVGhlbiB3ZSBkZWZpbmUgaG93IGEgcm93IGlzIHJlbmRlcmVkIC0tPlxyXG4gKiAgIDxuZy10ZW1wbGF0ZSBsZXQtdGF4UmF0ZT1cIml0ZW1cIj5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS5uYW1lIH19PC90ZD5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS5jYXRlZ29yeS5uYW1lIH19PC90ZD5cclxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS56b25lLm5hbWUgfX08L3RkPlxyXG4gKiAgICAgPHRkIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIj57eyB0YXhSYXRlLnZhbHVlIH19JTwvdGQ+XHJcbiAqICAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbi1taWRkbGVcIj5cclxuICogICAgICAgPHZkci10YWJsZS1yb3ctYWN0aW9uXHJcbiAqICAgICAgICAgaWNvblNoYXBlPVwiZWRpdFwiXHJcbiAqICAgICAgICAgW2xhYmVsXT1cIidjb21tb24uZWRpdCcgfCB0cmFuc2xhdGVcIlxyXG4gKiAgICAgICAgIFtsaW5rVG9dPVwiWycuLycsIHRheFJhdGUuaWRdXCJcclxuICogICAgICAgPjwvdmRyLXRhYmxlLXJvdy1hY3Rpb24+XHJcbiAqICAgICA8L3RkPlxyXG4gKiAgICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ24tbWlkZGxlXCI+XHJcbiAqICAgICAgIDx2ZHItZHJvcGRvd24+XHJcbiAqICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gKiAgICAgICAgICAge3sgJ2NvbW1vbi5hY3Rpb25zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gKiAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY2FyZXQgZG93blwiPjwvY2xyLWljb24+XHJcbiAqICAgICAgICAgPC9idXR0b24+XHJcbiAqICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAqICAgICAgICAgICA8YnV0dG9uXHJcbiAqICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAqICAgICAgICAgICAgICAgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCJcclxuICogICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVGF4UmF0ZSh0YXhSYXRlKVwiXHJcbiAqICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoWydEZWxldGVTZXR0aW5ncycsICdEZWxldGVUYXhSYXRlJ10gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAqICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXHJcbiAqICAgICAgICAgICA+XHJcbiAqICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAqICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5kZWxldGUnIHwgdHJhbnNsYXRlIH19XHJcbiAqICAgICAgICAgICA8L2J1dHRvbj5cclxuICogICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG4gKiAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICogICAgIDwvdGQ+XHJcbiAqICAgPC9uZy10ZW1wbGF0ZT5cclxuICogPC92ZHItZGF0YS10YWJsZT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIERhdGFUYWJsZTIgY29tcG9uZW50IGluc3RlYWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWRhdGEtdGFibGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdkYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydkYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1BhZ2luYXRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgaXRlbXM6IFRbXTtcclxuICAgIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRvdGFsSXRlbXM6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGVtcHR5U3RhdGVMYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2VsZWN0aW9uTWFuYWdlcj86IFNlbGVjdGlvbk1hbmFnZXI8VD47XHJcbiAgICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIGl0ZW1zUGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKiBAZGVwcmVjYXRlZCBwYXNzIGEgU2VsZWN0aW9uTWFuYWdlciBpbnN0YW5jZSBpbnN0ZWFkICovXHJcbiAgICBASW5wdXQoKSBhbGxTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIC8qKiBAZGVwcmVjYXRlZCBwYXNzIGEgU2VsZWN0aW9uTWFuYWdlciBpbnN0YW5jZSBpbnN0ZWFkICovXHJcbiAgICBASW5wdXQoKSBpc1Jvd1NlbGVjdGVkRm46IChpdGVtOiBUKSA9PiBib29sZWFuO1xyXG4gICAgLyoqIEBkZXByZWNhdGVkIHBhc3MgYSBTZWxlY3Rpb25NYW5hZ2VyIGluc3RhbmNlIGluc3RlYWQgKi9cclxuICAgIEBPdXRwdXQoKSBhbGxTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICAvKiogQGRlcHJlY2F0ZWQgcGFzcyBhIFNlbGVjdGlvbk1hbmFnZXIgaW5zdGFuY2UgaW5zdGVhZCAqL1xyXG4gICAgQE91dHB1dCgpIHJvd1NlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogTW91c2VFdmVudDsgaXRlbTogVCB9PigpO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zOiBRdWVyeUxpc3Q8RGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50PjtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gICAgcm93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBjdXJyZW50U3RhcnQ6IG51bWJlcjtcclxuICAgIGN1cnJlbnRFbmQ6IG51bWJlcjtcclxuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBhcHBseSBhIGB1c2VyLXNlbGVjdDogbm9uZWAgQ1NTIHJ1bGUgdG8gdGhlIHRhYmxlLFxyXG4gICAgLy8gd2hpY2ggYWxsb3dzIHNoaWZ0LWNsaWNrIG11bHRpLXJvdyBzZWxlY3Rpb25cclxuICAgIGRpc2FibGVTZWxlY3QgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gICAgcHJpdmF0ZSBzaGlmdERvd25IYW5kbGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmICF0aGlzLmRpc2FibGVTZWxlY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgc2hpZnRVcEhhbmRsZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzUm93U2VsZWN0ZWRGbiA9PT0gJ2Z1bmN0aW9uJyB8fCB0aGlzLnNlbGVjdGlvbk1hbmFnZXIpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuc2hpZnREb3duSGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuc2hpZnRVcEhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy5zZWxlY3Rpb25DaGFuZ2VzJC5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydCA9IHRoaXMuaXRlbXNQZXJQYWdlICogKHRoaXMuY3VycmVudFBhZ2UgLSAxKTtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50RW5kID0gdGhpcy5jdXJyZW50U3RhcnQgKyBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZT8ubGVuZ3RoO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnNldEN1cnJlbnRJdGVtcyh0aGlzLml0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzUm93U2VsZWN0ZWRGbiA9PT0gJ2Z1bmN0aW9uJyB8fCB0aGlzLnNlbGVjdGlvbk1hbmFnZXIpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuc2hpZnREb3duSGFuZGxlcik7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5zaGlmdFVwSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd1RlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZVJlZnMubGFzdDtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKChpdGVtIGFzIGFueSkuaWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5pZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVG9nZ2xlQWxsQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5hbGxTZWxlY3RDaGFuZ2UuZW1pdCgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlcj8udG9nZ2xlU2VsZWN0QWxsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Sb3dDbGljayhpdGVtOiBULCBldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMucm93U2VsZWN0Q2hhbmdlLmVtaXQoeyBldmVudCwgaXRlbSB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnRvZ2dsZVNlbGVjdGlvbihpdGVtLCBldmVudCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtcyB8fCAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKTsgZWxzZSBlbXB0eVBsYWNlaG9sZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay1hY3Rpb25zXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ2ZHItYnVsay1hY3Rpb24tbWVudVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIiBbY2xhc3Mubm8tc2VsZWN0XT1cImRpc2FibGVTZWxlY3RcIj5cclxuICAgICAgICA8dGhlYWQgW2NsYXNzLml0ZW1zLXNlbGVjdGVkXT1cInNlbGVjdGlvbk1hbmFnZXI/LnNlbGVjdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiaXNSb3dTZWxlY3RlZEZuIHx8IHNlbGVjdGlvbk1hbmFnZXJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZCA/IGFsbFNlbGVjdGVkIDogc2VsZWN0aW9uTWFuYWdlcj8uYXJlQWxsQ3VycmVudEl0ZW1zU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVBbGxDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGNvbHVtbnM/LnRvQXJyYXkoKVwiIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIiBbY2xhc3MuZXhwYW5kXT1cImhlYWRlci5leHBhbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgcGFnaW5hdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBpdGVtc1BlclBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggYXMgaTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImlzUm93U2VsZWN0ZWRGbiB8fCBzZWxlY3Rpb25NYW5hZ2VyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgc2VsZWN0aW9uLWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1Jvd1NlbGVjdGVkRm4gPyBpc1Jvd1NlbGVjdGVkRm4oaXRlbSkgOiBzZWxlY3Rpb25NYW5hZ2VyPy5pc1NlbGVjdGVkKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2soaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTsgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmRleDogaSB9XCJcclxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1mb290ZXJcIj5cclxuICAgICAgICA8dmRyLWl0ZW1zLXBlci1wYWdlLWNvbnRyb2xzXHJcbiAgICAgICAgICAgICpuZ0lmPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCJcclxuICAgICAgICAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJpdGVtc1BlclBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICA+PC92ZHItaXRlbXMtcGVyLXBhZ2UtY29udHJvbHM+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInRvdGFsSXRlbXNcIiBjbGFzcz1cInA1XCI+XHJcbiAgICAgICAgICAgIHt7ICdjb21tb24udG90YWwtaXRlbXMnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnRTdGFydCwgY3VycmVudEVuZCwgdG90YWxJdGVtcyB9IH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDx2ZHItcGFnaW5hdGlvbi1jb250cm9sc1xyXG4gICAgICAgICAgICAqbmdJZj1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiXHJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvdmRyLXBhZ2luYXRpb24tY29udHJvbHM+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZW1wdHlQbGFjZWhvbGRlcj5cclxuICAgIDx2ZHItZW1wdHktcGxhY2Vob2xkZXIgW2VtcHR5U3RhdGVMYWJlbF09XCJlbXB0eVN0YXRlTGFiZWxcIj48L3Zkci1lbXB0eS1wbGFjZWhvbGRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04sV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBRXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRHO0FBUUgsTUFBTSxPQUFPLGtCQUFrQjtJQTZCM0IsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF0QjlDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFNMUQsMkRBQTJEO1FBQ2pELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyRCwyREFBMkQ7UUFDakQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQU8vRSxxRUFBcUU7UUFDckUsK0NBQStDO1FBQy9DLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS2QscUJBQWdCLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDaEQs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LENBQUM7SUFDeEQsQ0FBQzs4R0E1RlEsa0JBQWtCO2tHQUFsQixrQkFBa0IsNGJBRmhCLENBQUMsaUJBQWlCLENBQUMsa0RBcUJiLHdCQUF3QiwrQ0FDeEIsV0FBVyxrRENoSGhDLHNvR0FzRUE7OzJGRHNCYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxpQkFBaUIsQ0FBQzt3R0FHckIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUdFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW9DLE9BQU87c0JBQWpELGVBQWU7dUJBQUMsd0JBQXdCO2dCQUNYLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbGl0aWVzL3NlbGVjdGlvbi1tYW5hZ2VyJztcblxuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQSB0YWJsZSBmb3IgZGlzcGxheWluZyBQYWdpbmF0ZWRMaXN0IHJlc3VsdHMuIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW5zaWRlIGNvbXBvbmVudHMgd2hpY2hcbiAqIGV4dGVuZCB0aGUge0BsaW5rIEJhc2VMaXN0Q29tcG9uZW50fSBjbGFzcy5cbiAqXG4gKiAqKkRlcHJlY2F0ZWQqKiBUaGlzIGNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIHtAbGluayBEYXRhVGFibGUyQ29tcG9uZW50fSBpbnN0ZWFkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBIVE1MXG4gKiA8dmRyLWRhdGEtdGFibGVcbiAqICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcbiAqICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2UkIHwgYXN5bmNcIlxuICogICBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zJCB8IGFzeW5jXCJcbiAqICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcbiAqICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcbiAqICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJzZXRJdGVtc1BlclBhZ2UoJGV2ZW50KVwiXG4gKiA+XG4gKiAgIDwhLS0gVGhlIGhlYWRlciBjb2x1bW5zIGFyZSBkZWZpbmVkIGZpcnN0IC0tPlxuICogICA8dmRyLWR0LWNvbHVtbj57eyAnY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlIH19PC92ZHItZHQtY29sdW1uPlxuICogICA8dmRyLWR0LWNvbHVtbj48L3Zkci1kdC1jb2x1bW4+XG4gKiAgIDx2ZHItZHQtY29sdW1uPjwvdmRyLWR0LWNvbHVtbj5cbiAqXG4gKiAgIDwhLS0gVGhlbiB3ZSBkZWZpbmUgaG93IGEgcm93IGlzIHJlbmRlcmVkIC0tPlxuICogICA8bmctdGVtcGxhdGUgbGV0LXRheFJhdGU9XCJpdGVtXCI+XG4gKiAgICAgPHRkIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIj57eyB0YXhSYXRlLm5hbWUgfX08L3RkPlxuICogICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgdGF4UmF0ZS5jYXRlZ29yeS5uYW1lIH19PC90ZD5cbiAqICAgICA8dGQgY2xhc3M9XCJsZWZ0IGFsaWduLW1pZGRsZVwiPnt7IHRheFJhdGUuem9uZS5uYW1lIH19PC90ZD5cbiAqICAgICA8dGQgY2xhc3M9XCJsZWZ0IGFsaWduLW1pZGRsZVwiPnt7IHRheFJhdGUudmFsdWUgfX0lPC90ZD5cbiAqICAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbi1taWRkbGVcIj5cbiAqICAgICAgIDx2ZHItdGFibGUtcm93LWFjdGlvblxuICogICAgICAgICBpY29uU2hhcGU9XCJlZGl0XCJcbiAqICAgICAgICAgW2xhYmVsXT1cIidjb21tb24uZWRpdCcgfCB0cmFuc2xhdGVcIlxuICogICAgICAgICBbbGlua1RvXT1cIlsnLi8nLCB0YXhSYXRlLmlkXVwiXG4gKiAgICAgICA+PC92ZHItdGFibGUtcm93LWFjdGlvbj5cbiAqICAgICA8L3RkPlxuICogICAgIDx0ZCBjbGFzcz1cInJpZ2h0IGFsaWduLW1pZGRsZVwiPlxuICogICAgICAgPHZkci1kcm9wZG93bj5cbiAqICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxuICogICAgICAgICAgIHt7ICdjb21tb24uYWN0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAqICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjYXJldCBkb3duXCI+PC9jbHItaWNvbj5cbiAqICAgICAgICAgPC9idXR0b24+XG4gKiAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxuICogICAgICAgICAgIDxidXR0b25cbiAqICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gKiAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXG4gKiAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVUYXhSYXRlKHRheFJhdGUpXCJcbiAqICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoWydEZWxldGVTZXR0aW5ncycsICdEZWxldGVUYXhSYXRlJ10gfCBoYXNQZXJtaXNzaW9uKVwiXG4gKiAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxuICogICAgICAgICAgID5cbiAqICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XG4gKiAgICAgICAgICAgICAgIHt7ICdjb21tb24uZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxuICogICAgICAgICAgIDwvYnV0dG9uPlxuICogICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxuICogICAgICAgPC92ZHItZHJvcGRvd24+XG4gKiAgICAgPC90ZD5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvdmRyLWRhdGEtdGFibGU+XG4gKiBgYGBcbiAqXG4gKiBAZG9jc0NhdGVnb3J5IGNvbXBvbmVudHNcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgRGF0YVRhYmxlMiBjb21wb25lbnQgaW5zdGVhZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItZGF0YS10YWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICdkYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1BhZ2luYXRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaXRlbXM6IFRbXTtcbiAgICBASW5wdXQoKSBpdGVtc1BlclBhZ2U6IG51bWJlcjtcbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZTogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgICBASW5wdXQoKSBlbXB0eVN0YXRlTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWxlY3Rpb25NYW5hZ2VyPzogU2VsZWN0aW9uTWFuYWdlcjxUPjtcbiAgICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSBpdGVtc1BlclBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBwYXNzIGEgU2VsZWN0aW9uTWFuYWdlciBpbnN0YW5jZSBpbnN0ZWFkICovXG4gICAgQElucHV0KCkgYWxsU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgLyoqIEBkZXByZWNhdGVkIHBhc3MgYSBTZWxlY3Rpb25NYW5hZ2VyIGluc3RhbmNlIGluc3RlYWQgKi9cbiAgICBASW5wdXQoKSBpc1Jvd1NlbGVjdGVkRm46IChpdGVtOiBUKSA9PiBib29sZWFuO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBwYXNzIGEgU2VsZWN0aW9uTWFuYWdlciBpbnN0YW5jZSBpbnN0ZWFkICovXG4gICAgQE91dHB1dCgpIGFsbFNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgcGFzcyBhIFNlbGVjdGlvbk1hbmFnZXIgaW5zdGFuY2UgaW5zdGVhZCAqL1xuICAgIEBPdXRwdXQoKSByb3dTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IE1vdXNlRXZlbnQ7IGl0ZW06IFQgfT4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zOiBRdWVyeUxpc3Q8RGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZnM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgICByb3dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBjdXJyZW50U3RhcnQ6IG51bWJlcjtcbiAgICBjdXJyZW50RW5kOiBudW1iZXI7XG4gICAgLy8gVGhpcyBpcyB1c2VkIHRvIGFwcGx5IGEgYHVzZXItc2VsZWN0OiBub25lYCBDU1MgcnVsZSB0byB0aGUgdGFibGUsXG4gICAgLy8gd2hpY2ggYWxsb3dzIHNoaWZ0LWNsaWNrIG11bHRpLXJvdyBzZWxlY3Rpb25cbiAgICBkaXNhYmxlU2VsZWN0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgcHJpdmF0ZSBzaGlmdERvd25IYW5kbGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiAhdGhpcy5kaXNhYmxlU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIHNoaWZ0VXBIYW5kbGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzUm93U2VsZWN0ZWRGbiA9PT0gJ2Z1bmN0aW9uJyB8fCB0aGlzLnNlbGVjdGlvbk1hbmFnZXIpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLnNoaWZ0RG93bkhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5zaGlmdFVwSGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnNlbGVjdGlvbkNoYW5nZXMkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydCA9IHRoaXMuaXRlbXNQZXJQYWdlICogKHRoaXMuY3VycmVudFBhZ2UgLSAxKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEVuZCA9IHRoaXMuY3VycmVudFN0YXJ0ICsgY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWU/Lmxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTWFuYWdlcj8uc2V0Q3VycmVudEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pc1Jvd1NlbGVjdGVkRm4gPT09ICdmdW5jdGlvbicgfHwgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5zaGlmdERvd25IYW5kbGVyKTtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5zaGlmdFVwSGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd1RlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZVJlZnMubGFzdDtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XG4gICAgICAgIGlmICgoaXRlbSBhcyBhbnkpLmlkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAoaXRlbSBhcyBhbnkpLmlkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ub2dnbGVBbGxDbGljaygpIHtcbiAgICAgICAgdGhpcy5hbGxTZWxlY3RDaGFuZ2UuZW1pdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnRvZ2dsZVNlbGVjdEFsbCgpO1xuICAgIH1cblxuICAgIG9uUm93Q2xpY2soaXRlbTogVCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5yb3dTZWxlY3RDaGFuZ2UuZW1pdCh7IGV2ZW50LCBpdGVtIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1hbmFnZXI/LnRvZ2dsZVNlbGVjdGlvbihpdGVtLCBldmVudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtcyB8fCAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKTsgZWxzZSBlbXB0eVBsYWNlaG9sZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay1hY3Rpb25zXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ2ZHItYnVsay1hY3Rpb24tbWVudVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIiBbY2xhc3Mubm8tc2VsZWN0XT1cImRpc2FibGVTZWxlY3RcIj5cclxuICAgICAgICA8dGhlYWQgW2NsYXNzLml0ZW1zLXNlbGVjdGVkXT1cInNlbGVjdGlvbk1hbmFnZXI/LnNlbGVjdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiaXNSb3dTZWxlY3RlZEZuIHx8IHNlbGVjdGlvbk1hbmFnZXJcIiBjbGFzcz1cImFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZCA/IGFsbFNlbGVjdGVkIDogc2VsZWN0aW9uTWFuYWdlcj8uYXJlQWxsQ3VycmVudEl0ZW1zU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVBbGxDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGNvbHVtbnM/LnRvQXJyYXkoKVwiIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIiBbY2xhc3MuZXhwYW5kXT1cImhlYWRlci5leHBhbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgcGFnaW5hdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBpdGVtc1BlclBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggYXMgaTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImlzUm93U2VsZWN0ZWRGbiB8fCBzZWxlY3Rpb25NYW5hZ2VyXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgc2VsZWN0aW9uLWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHJDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc1Jvd1NlbGVjdGVkRm4gPyBpc1Jvd1NlbGVjdGVkRm4oaXRlbSkgOiBzZWxlY3Rpb25NYW5hZ2VyPy5pc1NlbGVjdGVkKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2soaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTsgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmRleDogaSB9XCJcclxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1mb290ZXJcIj5cclxuICAgICAgICA8dmRyLWl0ZW1zLXBlci1wYWdlLWNvbnRyb2xzXHJcbiAgICAgICAgICAgICpuZ0lmPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgIFtpdGVtc1BlclBhZ2VdPVwiaXRlbXNQZXJQYWdlXCJcclxuICAgICAgICAgICAgKGl0ZW1zUGVyUGFnZUNoYW5nZSk9XCJpdGVtc1BlclBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICA+PC92ZHItaXRlbXMtcGVyLXBhZ2UtY29udHJvbHM+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInRvdGFsSXRlbXNcIiBjbGFzcz1cInA1XCI+XHJcbiAgICAgICAgICAgIHt7ICdjb21tb24udG90YWwtaXRlbXMnIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnRTdGFydCwgY3VycmVudEVuZCwgdG90YWxJdGVtcyB9IH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDx2ZHItcGFnaW5hdGlvbi1jb250cm9sc1xyXG4gICAgICAgICAgICAqbmdJZj1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIlxyXG4gICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiXHJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvdmRyLXBhZ2luYXRpb24tY29udHJvbHM+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZW1wdHlQbGFjZWhvbGRlcj5cclxuICAgIDx2ZHItZW1wdHktcGxhY2Vob2xkZXIgW2VtcHR5U3RhdGVMYWJlbF09XCJlbXB0eVN0YXRlTGFiZWxcIj48L3Zkci1lbXB0eS1wbGFjZWhvbGRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, Input, ViewChild, } from '@angular/core';
2
2
  import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
3
  import { assertNever } from '@vendure/common/lib/shared-utils';
4
4
  import { CustomFilterComponentDirective } from './custom-filter-component.directive';
@@ -7,21 +7,27 @@ import * as i1 from "../../../providers/i18n/i18n.service";
7
7
  import * as i2 from "@clr/angular";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "@angular/forms";
10
- import * as i5 from "../currency-input/currency-input.component";
11
- import * as i6 from "../form-field/form-field-control.directive";
12
- import * as i7 from "../dropdown/dropdown.component";
13
- import * as i8 from "../dropdown/dropdown-menu.component";
14
- import * as i9 from "../dropdown/dropdown-trigger.directive";
15
- import * as i10 from "../dropdown/dropdown-item.directive";
16
- import * as i11 from "../datetime-picker/datetime-picker.component";
17
- import * as i12 from "../data-table-filter-label/data-table-filter-label.component";
18
- import * as i13 from "./custom-filter-component.directive";
19
- import * as i14 from "../localized-text/localized-text.component";
20
- import * as i15 from "@ngx-translate/core";
10
+ import * as i5 from "@angular/cdk/a11y";
11
+ import * as i6 from "../currency-input/currency-input.component";
12
+ import * as i7 from "../form-field/form-field-control.directive";
13
+ import * as i8 from "../dropdown/dropdown.component";
14
+ import * as i9 from "../dropdown/dropdown-menu.component";
15
+ import * as i10 from "../dropdown/dropdown-trigger.directive";
16
+ import * as i11 from "../dropdown/dropdown-item.directive";
17
+ import * as i12 from "../datetime-picker/datetime-picker.component";
18
+ import * as i13 from "../data-table-filter-label/data-table-filter-label.component";
19
+ import * as i14 from "./custom-filter-component.directive";
20
+ import * as i15 from "../localized-text/localized-text.component";
21
+ import * as i16 from "@ngx-translate/core";
21
22
  export class DataTableFiltersComponent {
22
23
  set customComponentHost(content) {
23
24
  this._customComponentHost = content;
24
25
  }
26
+ onFKeyPress(event) {
27
+ if (!this.dropdown.isOpen && this.state === 'new') {
28
+ this.dropdown.toggleOpen();
29
+ }
30
+ }
25
31
  constructor(i18nService, changeDetectorRef) {
26
32
  this.i18nService = i18nService;
27
33
  this.changeDetectorRef = changeDetectorRef;
@@ -168,11 +174,11 @@ export class DataTableFiltersComponent {
168
174
  }
169
175
  }
170
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: DataTableFiltersComponent, deps: [{ token: i1.I18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: DataTableFiltersComponent, selector: "vdr-data-table-filters", inputs: { filters: "filters", filterWithValue: "filterWithValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "customComponentHost", first: true, predicate: ["customComponentHost"], descendants: true, read: CustomFilterComponentDirective }], ngImport: i0, template: "<vdr-dropdown [manualToggle]=\"true\" #dropdown>\r\n <div class=\"filter-button\" [ngClass]=\"state\">\r\n <clr-icon shape=\"plus\" size=\"12\" *ngIf=\"state === 'new'\"></clr-icon>\r\n <button *ngIf=\"state === 'active'\" class=\"remove\" (click)=\"deactivate()\">\r\n <clr-icon shape=\"times\" size=\"12\"></clr-icon>\r\n </button>\r\n <button vdrDropdownTrigger class=\"\">\r\n <span *ngIf=\"state === 'new'\">{{ 'common.add-filter' | translate }}</span>\r\n <span *ngIf=\"state === 'active'\">\r\n <vdr-data-table-filter-label\r\n [filterWithValue]=\"filterWithValue\"\r\n ></vdr-data-table-filter-label>\r\n </span>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n </div>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <div *ngIf=\"!selectedFilter\">\r\n <div class=\"filter-heading\">Filter by:</div>\r\n <div *ngFor=\"let filter of filters.getFilters()\">\r\n <button vdrDropdownItem (click)=\"selectFilter(filter)\">\r\n <vdr-localized-text [text]=\"filter?.label\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"filter-heading\" *ngIf=\"selectedFilter\">\r\n Filter by <vdr-localized-text [text]=\"selectedFilter.label\" />:\r\n </div>\r\n <div class=\"mx-2 mt-1\">\r\n <div vdrCustomFilterComponentHost #customComponentHost></div>\r\n </div>\r\n <div *ngIf=\"selectedFilter\" class=\"\">\r\n <ng-container *ngIf=\"selectedFilter.type.kind !== 'custom'\">\r\n <div class=\"mx-2 mt-1\" [ngSwitch]=\"selectedFilter.type.kind\">\r\n <div *ngSwitchCase=\"'select'\" [formGroup]=\"formControl\">\r\n <label *ngFor=\"let option of $any(selectedFilter.type).options; index as i\">\r\n <input type=\"checkbox\" [formControlName]=\"i\" />\r\n <span>{{ option.label | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n <label\r\n ><input type=\"checkbox\" [formControl]=\"formControl\" clrToggle />\r\n <span *ngIf=\"formControl.value\">{{ 'common.boolean-true' | translate }}</span>\r\n <span *ngIf=\"!formControl.value\">{{ 'common.boolean-false' | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'text'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"contains\">\r\n {{ 'common.operator-contains' | translate }}\r\n </option>\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"notContains\">\r\n {{ 'common.operator-not-contains' | translate }}\r\n </option>\r\n <option value=\"notEq\">{{ 'common.operator-not-eq' | translate }}</option>\r\n <option value=\"regex\">{{ 'common.operator-regex' | translate }}</option>\r\n </select>\r\n </div>\r\n <input type=\"text\" formControlName=\"term\" />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'number'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"gt\">{{ 'common.operator-gt' | translate }}</option>\r\n <option value=\"lt\">{{ 'common.operator-lt' | translate }}</option>\r\n </select>\r\n </div>\r\n <input\r\n *ngIf=\"$any(selectedFilter.type).inputType !== 'currency'\"\r\n type=\"text\"\r\n formControlName=\"amount\"\r\n />\r\n <vdr-currency-input\r\n *ngIf=\"$any(selectedFilter.type).inputType === 'currency'\"\r\n formControlName=\"amount\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'dateRange'\">\r\n <div [formGroup]=\"formControl\">\r\n <label>\r\n <div>{{ 'common.start-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"start\"></vdr-datetime-picker>\r\n <label>\r\n <div>{{ 'common.end-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"end\"></vdr-datetime-picker>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"apply-wrapper mt-2\">\r\n <button class=\"button\" (click)=\"activate()\" [disabled]=\"!formControl?.valid\">\r\n <span>{{ 'common.apply' | translate }}</span>\r\n <clr-icon shape=\"check\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:block}.filter-button{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:0 var(--space-unit);height:calc(var(--space-unit) * 3);font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);background-color:var(--color-button-small-bg);color:var(--color-button-small-text)}.filter-button>button{border:none;gap:12px;cursor:pointer;background-color:transparent;display:flex;align-items:center;height:calc(var(--space-unit) * 2);border-radius:var(--border-radius-lg);color:var(--color-button-small-text)}.filter-button.active{background-color:var(--color-primary-700);color:var(--color-primary-100)}.filter-button.active>button{color:var(--color-primary-100)}label{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * .5)}.filter-heading{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-weight-600);margin:0 calc(var(--space-unit) * 2)}.apply-wrapper{display:flex;justify-content:flex-end;padding-right:calc(var(--space-unit) * 2)}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: ["yearRange", "weekStartDay", "timeGranularityInterval", "min", "max", "readonly"] }, { kind: "component", type: i12.DataTableFilterLabelComponent, selector: "vdr-data-table-filter-label", inputs: ["filterWithValue"] }, { kind: "directive", type: i13.CustomFilterComponentDirective, selector: "[vdrCustomFilterComponentHost]" }, { kind: "component", type: i14.LocalizedTextComponent, selector: "vdr-localized-text", inputs: ["text"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: DataTableFiltersComponent, selector: "vdr-data-table-filters", inputs: { filters: "filters", filterWithValue: "filterWithValue" }, host: { listeners: { "window:keydown.f": "onFKeyPress($event)" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "customComponentHost", first: true, predicate: ["customComponentHost"], descendants: true, read: CustomFilterComponentDirective }], ngImport: i0, template: "<vdr-dropdown [manualToggle]=\"true\" #dropdown>\r\n <div class=\"filter-button\" [ngClass]=\"state\">\r\n <clr-icon shape=\"plus\" size=\"12\" *ngIf=\"state === 'new'\"></clr-icon>\r\n <button *ngIf=\"state === 'active'\" class=\"remove\" (click)=\"deactivate()\">\r\n <clr-icon shape=\"times\" size=\"12\"></clr-icon>\r\n </button>\r\n <button vdrDropdownTrigger class=\"\">\r\n <span *ngIf=\"state === 'new'\">{{ 'common.add-filter' | translate }} <span class=\"filter-hotkey\">f</span></span>\r\n <span *ngIf=\"state === 'active'\">\r\n <vdr-data-table-filter-label\r\n [filterWithValue]=\"filterWithValue\"\r\n ></vdr-data-table-filter-label>\r\n </span>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n </div>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <div *ngIf=\"!selectedFilter\">\r\n <div class=\"filter-heading\">Filter by:</div>\r\n <div *ngFor=\"let filter of filters.getFilters()\">\r\n <button vdrDropdownItem (click)=\"selectFilter(filter)\">\r\n <vdr-localized-text [text]=\"filter?.label\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"filter-heading\" *ngIf=\"selectedFilter\">\r\n Filter by <vdr-localized-text [text]=\"selectedFilter.label\" />:\r\n </div>\r\n <div class=\"mx-2 mt-1\">\r\n <div vdrCustomFilterComponentHost #customComponentHost></div>\r\n </div>\r\n <form *ngIf=\"selectedFilter\" class=\"\" [cdkTrapFocus]=\"true\" [cdkTrapFocusAutoCapture]=\"true\">\r\n <ng-container *ngIf=\"selectedFilter.type.kind !== 'custom'\">\r\n <div class=\"mx-2 mt-1\" [ngSwitch]=\"selectedFilter.type.kind\">\r\n <div *ngSwitchCase=\"'select'\" [formGroup]=\"formControl\">\r\n <label *ngFor=\"let option of $any(selectedFilter.type).options; index as i\">\r\n <input type=\"checkbox\" [formControlName]=\"i\" />\r\n <span>{{ option.label | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n <label\r\n ><input type=\"checkbox\" [formControl]=\"formControl\" clrToggle />\r\n <span *ngIf=\"formControl.value\">{{ 'common.boolean-true' | translate }}</span>\r\n <span *ngIf=\"!formControl.value\">{{ 'common.boolean-false' | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'text'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"contains\">\r\n {{ 'common.operator-contains' | translate }}\r\n </option>\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"notContains\">\r\n {{ 'common.operator-not-contains' | translate }}\r\n </option>\r\n <option value=\"notEq\">{{ 'common.operator-not-eq' | translate }}</option>\r\n <option value=\"regex\">{{ 'common.operator-regex' | translate }}</option>\r\n </select>\r\n </div>\r\n <input type=\"text\" formControlName=\"term\" />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'number'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"gt\">{{ 'common.operator-gt' | translate }}</option>\r\n <option value=\"lt\">{{ 'common.operator-lt' | translate }}</option>\r\n </select>\r\n </div>\r\n <input\r\n *ngIf=\"$any(selectedFilter.type).inputType !== 'currency'\"\r\n type=\"text\"\r\n formControlName=\"amount\"\r\n />\r\n <vdr-currency-input\r\n *ngIf=\"$any(selectedFilter.type).inputType === 'currency'\"\r\n formControlName=\"amount\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'dateRange'\">\r\n <div [formGroup]=\"formControl\">\r\n <label>\r\n <div>{{ 'common.start-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"start\"></vdr-datetime-picker>\r\n <label>\r\n <div>{{ 'common.end-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"end\"></vdr-datetime-picker>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"apply-wrapper mt-2\">\r\n <button class=\"button\" (click)=\"activate()\" [disabled]=\"!formControl?.valid\">\r\n <span>{{ 'common.apply' | translate }}</span>\r\n <clr-icon shape=\"check\"></clr-icon>\r\n </button>\r\n </div>\r\n </form>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:block}.filter-button{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:0 var(--space-unit);height:calc(var(--space-unit) * 3);font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);background-color:var(--color-button-small-bg);color:var(--color-button-small-text)}.filter-button>button{border:none;gap:12px;cursor:pointer;background-color:transparent;display:flex;align-items:center;height:calc(var(--space-unit) * 2);border-radius:var(--border-radius-lg);color:var(--color-button-small-text)}.filter-button.active{background-color:var(--color-primary-700);color:var(--color-primary-100)}.filter-button.active>button{color:var(--color-primary-100)}label{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * .5)}.filter-heading{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-weight-600);margin:0 calc(var(--space-unit) * 2)}.apply-wrapper{display:flex;justify-content:flex-end;padding-right:calc(var(--space-unit) * 2)}.filter-hotkey{font-size:var(--font-size-xs);color:var(--color-weight-500);border:1px solid var(--color-weight-200);background-color:var(--color-weight-100);border-radius:var(--border-radius);padding:0 3px;text-transform:uppercase;margin-inline-start:3px}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i6.CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "directive", type: i7.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i8.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i9.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i10.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i11.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i12.DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: ["yearRange", "weekStartDay", "timeGranularityInterval", "min", "max", "readonly"] }, { kind: "component", type: i13.DataTableFilterLabelComponent, selector: "vdr-data-table-filter-label", inputs: ["filterWithValue"] }, { kind: "directive", type: i14.CustomFilterComponentDirective, selector: "[vdrCustomFilterComponentHost]" }, { kind: "component", type: i15.LocalizedTextComponent, selector: "vdr-localized-text", inputs: ["text"] }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
172
178
  }
173
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: DataTableFiltersComponent, decorators: [{
174
180
  type: Component,
175
- args: [{ selector: 'vdr-data-table-filters', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown [manualToggle]=\"true\" #dropdown>\r\n <div class=\"filter-button\" [ngClass]=\"state\">\r\n <clr-icon shape=\"plus\" size=\"12\" *ngIf=\"state === 'new'\"></clr-icon>\r\n <button *ngIf=\"state === 'active'\" class=\"remove\" (click)=\"deactivate()\">\r\n <clr-icon shape=\"times\" size=\"12\"></clr-icon>\r\n </button>\r\n <button vdrDropdownTrigger class=\"\">\r\n <span *ngIf=\"state === 'new'\">{{ 'common.add-filter' | translate }}</span>\r\n <span *ngIf=\"state === 'active'\">\r\n <vdr-data-table-filter-label\r\n [filterWithValue]=\"filterWithValue\"\r\n ></vdr-data-table-filter-label>\r\n </span>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n </div>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <div *ngIf=\"!selectedFilter\">\r\n <div class=\"filter-heading\">Filter by:</div>\r\n <div *ngFor=\"let filter of filters.getFilters()\">\r\n <button vdrDropdownItem (click)=\"selectFilter(filter)\">\r\n <vdr-localized-text [text]=\"filter?.label\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"filter-heading\" *ngIf=\"selectedFilter\">\r\n Filter by <vdr-localized-text [text]=\"selectedFilter.label\" />:\r\n </div>\r\n <div class=\"mx-2 mt-1\">\r\n <div vdrCustomFilterComponentHost #customComponentHost></div>\r\n </div>\r\n <div *ngIf=\"selectedFilter\" class=\"\">\r\n <ng-container *ngIf=\"selectedFilter.type.kind !== 'custom'\">\r\n <div class=\"mx-2 mt-1\" [ngSwitch]=\"selectedFilter.type.kind\">\r\n <div *ngSwitchCase=\"'select'\" [formGroup]=\"formControl\">\r\n <label *ngFor=\"let option of $any(selectedFilter.type).options; index as i\">\r\n <input type=\"checkbox\" [formControlName]=\"i\" />\r\n <span>{{ option.label | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n <label\r\n ><input type=\"checkbox\" [formControl]=\"formControl\" clrToggle />\r\n <span *ngIf=\"formControl.value\">{{ 'common.boolean-true' | translate }}</span>\r\n <span *ngIf=\"!formControl.value\">{{ 'common.boolean-false' | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'text'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"contains\">\r\n {{ 'common.operator-contains' | translate }}\r\n </option>\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"notContains\">\r\n {{ 'common.operator-not-contains' | translate }}\r\n </option>\r\n <option value=\"notEq\">{{ 'common.operator-not-eq' | translate }}</option>\r\n <option value=\"regex\">{{ 'common.operator-regex' | translate }}</option>\r\n </select>\r\n </div>\r\n <input type=\"text\" formControlName=\"term\" />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'number'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"gt\">{{ 'common.operator-gt' | translate }}</option>\r\n <option value=\"lt\">{{ 'common.operator-lt' | translate }}</option>\r\n </select>\r\n </div>\r\n <input\r\n *ngIf=\"$any(selectedFilter.type).inputType !== 'currency'\"\r\n type=\"text\"\r\n formControlName=\"amount\"\r\n />\r\n <vdr-currency-input\r\n *ngIf=\"$any(selectedFilter.type).inputType === 'currency'\"\r\n formControlName=\"amount\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'dateRange'\">\r\n <div [formGroup]=\"formControl\">\r\n <label>\r\n <div>{{ 'common.start-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"start\"></vdr-datetime-picker>\r\n <label>\r\n <div>{{ 'common.end-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"end\"></vdr-datetime-picker>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"apply-wrapper mt-2\">\r\n <button class=\"button\" (click)=\"activate()\" [disabled]=\"!formControl?.valid\">\r\n <span>{{ 'common.apply' | translate }}</span>\r\n <clr-icon shape=\"check\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:block}.filter-button{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:0 var(--space-unit);height:calc(var(--space-unit) * 3);font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);background-color:var(--color-button-small-bg);color:var(--color-button-small-text)}.filter-button>button{border:none;gap:12px;cursor:pointer;background-color:transparent;display:flex;align-items:center;height:calc(var(--space-unit) * 2);border-radius:var(--border-radius-lg);color:var(--color-button-small-text)}.filter-button.active{background-color:var(--color-primary-700);color:var(--color-primary-100)}.filter-button.active>button{color:var(--color-primary-100)}label{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * .5)}.filter-heading{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-weight-600);margin:0 calc(var(--space-unit) * 2)}.apply-wrapper{display:flex;justify-content:flex-end;padding-right:calc(var(--space-unit) * 2)}\n"] }]
181
+ args: [{ selector: 'vdr-data-table-filters', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown [manualToggle]=\"true\" #dropdown>\r\n <div class=\"filter-button\" [ngClass]=\"state\">\r\n <clr-icon shape=\"plus\" size=\"12\" *ngIf=\"state === 'new'\"></clr-icon>\r\n <button *ngIf=\"state === 'active'\" class=\"remove\" (click)=\"deactivate()\">\r\n <clr-icon shape=\"times\" size=\"12\"></clr-icon>\r\n </button>\r\n <button vdrDropdownTrigger class=\"\">\r\n <span *ngIf=\"state === 'new'\">{{ 'common.add-filter' | translate }} <span class=\"filter-hotkey\">f</span></span>\r\n <span *ngIf=\"state === 'active'\">\r\n <vdr-data-table-filter-label\r\n [filterWithValue]=\"filterWithValue\"\r\n ></vdr-data-table-filter-label>\r\n </span>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n </div>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <div *ngIf=\"!selectedFilter\">\r\n <div class=\"filter-heading\">Filter by:</div>\r\n <div *ngFor=\"let filter of filters.getFilters()\">\r\n <button vdrDropdownItem (click)=\"selectFilter(filter)\">\r\n <vdr-localized-text [text]=\"filter?.label\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"filter-heading\" *ngIf=\"selectedFilter\">\r\n Filter by <vdr-localized-text [text]=\"selectedFilter.label\" />:\r\n </div>\r\n <div class=\"mx-2 mt-1\">\r\n <div vdrCustomFilterComponentHost #customComponentHost></div>\r\n </div>\r\n <form *ngIf=\"selectedFilter\" class=\"\" [cdkTrapFocus]=\"true\" [cdkTrapFocusAutoCapture]=\"true\">\r\n <ng-container *ngIf=\"selectedFilter.type.kind !== 'custom'\">\r\n <div class=\"mx-2 mt-1\" [ngSwitch]=\"selectedFilter.type.kind\">\r\n <div *ngSwitchCase=\"'select'\" [formGroup]=\"formControl\">\r\n <label *ngFor=\"let option of $any(selectedFilter.type).options; index as i\">\r\n <input type=\"checkbox\" [formControlName]=\"i\" />\r\n <span>{{ option.label | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n <label\r\n ><input type=\"checkbox\" [formControl]=\"formControl\" clrToggle />\r\n <span *ngIf=\"formControl.value\">{{ 'common.boolean-true' | translate }}</span>\r\n <span *ngIf=\"!formControl.value\">{{ 'common.boolean-false' | translate }}</span>\r\n </label>\r\n </div>\r\n <div *ngSwitchCase=\"'text'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"contains\">\r\n {{ 'common.operator-contains' | translate }}\r\n </option>\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"notContains\">\r\n {{ 'common.operator-not-contains' | translate }}\r\n </option>\r\n <option value=\"notEq\">{{ 'common.operator-not-eq' | translate }}</option>\r\n <option value=\"regex\">{{ 'common.operator-regex' | translate }}</option>\r\n </select>\r\n </div>\r\n <input type=\"text\" formControlName=\"term\" />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'number'\">\r\n <div [formGroup]=\"formControl\">\r\n <div>\r\n <select name=\"options\" formControlName=\"operator\" class=\"mb-1\">\r\n <option value=\"eq\">{{ 'common.operator-eq' | translate }}</option>\r\n <option value=\"gt\">{{ 'common.operator-gt' | translate }}</option>\r\n <option value=\"lt\">{{ 'common.operator-lt' | translate }}</option>\r\n </select>\r\n </div>\r\n <input\r\n *ngIf=\"$any(selectedFilter.type).inputType !== 'currency'\"\r\n type=\"text\"\r\n formControlName=\"amount\"\r\n />\r\n <vdr-currency-input\r\n *ngIf=\"$any(selectedFilter.type).inputType === 'currency'\"\r\n formControlName=\"amount\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"'dateRange'\">\r\n <div [formGroup]=\"formControl\">\r\n <label>\r\n <div>{{ 'common.start-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"start\"></vdr-datetime-picker>\r\n <label>\r\n <div>{{ 'common.end-date' | translate }}</div>\r\n </label>\r\n <vdr-datetime-picker formControlName=\"end\"></vdr-datetime-picker>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"apply-wrapper mt-2\">\r\n <button class=\"button\" (click)=\"activate()\" [disabled]=\"!formControl?.valid\">\r\n <span>{{ 'common.apply' | translate }}</span>\r\n <clr-icon shape=\"check\"></clr-icon>\r\n </button>\r\n </div>\r\n </form>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:block}.filter-button{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:0 var(--space-unit);height:calc(var(--space-unit) * 3);font-size:var(--font-size-xs);border-radius:var(--border-radius-lg);background-color:var(--color-button-small-bg);color:var(--color-button-small-text)}.filter-button>button{border:none;gap:12px;cursor:pointer;background-color:transparent;display:flex;align-items:center;height:calc(var(--space-unit) * 2);border-radius:var(--border-radius-lg);color:var(--color-button-small-text)}.filter-button.active{background-color:var(--color-primary-700);color:var(--color-primary-100)}.filter-button.active>button{color:var(--color-primary-100)}label{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * .5)}.filter-heading{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-weight-600);margin:0 calc(var(--space-unit) * 2)}.apply-wrapper{display:flex;justify-content:flex-end;padding-right:calc(var(--space-unit) * 2)}.filter-hotkey{font-size:var(--font-size-xs);color:var(--color-weight-500);border:1px solid var(--color-weight-200);background-color:var(--color-weight-100);border-radius:var(--border-radius);padding:0 3px;text-transform:uppercase;margin-inline-start:3px}\n"] }]
176
182
  }], ctorParameters: function () { return [{ type: i1.I18nService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filters: [{
177
183
  type: Input
178
184
  }], filterWithValue: [{
@@ -183,5 +189,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
183
189
  }], customComponentHost: [{
184
190
  type: ViewChild,
185
191
  args: ['customComponentHost', { static: false, read: CustomFilterComponentDirective }]
192
+ }], onFKeyPress: [{
193
+ type: HostListener,
194
+ args: ['window:keydown.f', ['$event']]
186
195
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXJzL2RhdGEtdGFibGUtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVycy9kYXRhLXRhYmxlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBVS9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVFyRixNQUFNLE9BQU8seUJBQXlCO0lBSWxDLElBQ0ksbUJBQW1CLENBQUMsT0FBdUM7UUFDM0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0lBT0QsWUFBb0IsV0FBd0IsRUFBVSxpQkFBb0M7UUFBdEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTGhGLFVBQUssR0FBcUIsS0FBSyxDQUFDO0lBS21ELENBQUM7SUFFOUYsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVB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LE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7OEdBdEtRLHlCQUF5QjtrR0FBekIseUJBQXlCLDhVQUl1Qiw4QkFBOEIsNkJDaEMzRixxdU1BNkdBOzsyRkRqRmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTtrSUFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ21DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbkMsbUJBQW1CO3NCQUR0QixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsOEJBQThCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0ZU9wZXJhdG9ycywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUZpbHRlciwgS2luZFZhbHVlTWFwIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXInO1xyXG5pbXBvcnQge1xyXG4gICAgRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbixcclxuICAgIEZpbHRlcldpdGhWYWx1ZSxcclxufSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci1jb2xsZWN0aW9uJztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvaTE4bi9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUZpbHRlckNvbXBvbmVudERpcmVjdGl2ZSB9IGZyb20gJy4vY3VzdG9tLWZpbHRlci1jb21wb25lbnQuZGlyZWN0aXZlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZGF0YS10YWJsZS1maWx0ZXJzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0YS10YWJsZS1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIGZpbHRlcnM6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb247XHJcbiAgICBASW5wdXQoKSBmaWx0ZXJXaXRoVmFsdWU/OiBGaWx0ZXJXaXRoVmFsdWU7XHJcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ2N1c3RvbUNvbXBvbmVudEhvc3QnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEN1c3RvbUZpbHRlckNvbXBvbmVudERpcmVjdGl2ZSB9KVxyXG4gICAgc2V0IGN1c3RvbUNvbXBvbmVudEhvc3QoY29udGVudDogQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlKSB7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tQ29tcG9uZW50SG9zdCA9IGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBfY3VzdG9tQ29tcG9uZW50SG9zdDogQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlO1xyXG4gICAgcHJvdGVjdGVkIHN0YXRlOiAnbmV3JyB8ICdhY3RpdmUnID0gJ25ldyc7XHJcbiAgICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICAgIHByb3RlY3RlZCBzZWxlY3RlZEZpbHRlcjogRGF0YVRhYmxlRmlsdGVyIHwgdW5kZWZpbmVkO1xyXG4gICAgcHJvdGVjdGVkIGN1c3RvbUNvbXBvbmVudD86IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bi5vbk9wZW5DaGFuZ2UoaXNPcGVuID0+IHtcclxuICAgICAgICAgICAgaWYgKCFpc09wZW4gJiYgdGhpcy5zdGF0ZSA9PT0gJ25ldycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAodGhpcy5maWx0ZXJXaXRoVmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXIsIHZhbHVlIH0gPSB0aGlzLmZpbHRlcldpdGhWYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSAnYWN0aXZlJztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RGaWx0ZXIoZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXIsIHZhbHVlPzogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlciA9IGZpbHRlcjtcclxuICAgICAgICBpZiAoZmlsdGVyLmlzVGV4dCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUdyb3VwKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wodmFsdWU/Lm9wZXJhdG9yID8/ICdjb250YWlucycpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRlcm06IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8udGVybSA/PyAnJyksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlLnRlcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbm9TZWxlY3Rpb246IHRydWUgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVyLmlzTnVtYmVyKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IG5ldyBGb3JtR3JvdXAoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8ub3BlcmF0b3IgPz8gJ2d0JyksXHJcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2wodmFsdWU/LmFtb3VudCA/PyAnJyksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlLmFtb3VudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBub1NlbGVjdGlvbjogdHJ1ZSB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIuaXNTZWxlY3QoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1BcnJheShcclxuICAgICAgICAgICAgICAgIGZpbHRlci50eXBlLm9wdGlvbnMubWFwKG8gPT4gbmV3IEZvcm1Db250cm9sKHZhbHVlPy5pbmNsdWRlcyhvLnZhbHVlKSA/PyBmYWxzZSkpLFxyXG4gICAgICAgICAgICAgICAgY29udHJvbCA9PiAoY29udHJvbC52YWx1ZS5zb21lKEJvb2xlYW4pID8gbnVsbCA6IHsgbm9TZWxlY3Rpb246IHRydWUgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIuaXNCb29sZWFuKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh2YWx1ZSA/PyBmYWxzZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIuaXNEYXRlUmFuZ2UoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1Hcm91cChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBzdGFydDogbmV3IEZvcm1Db250cm9sKHZhbHVlPy5zdGFydCA/PyBudWxsKSxcclxuICAgICAgICAgICAgICAgICAgICBlbmQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8uZW5kID8/IG51bGwpLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbC5zdGFydCAmJiB2YWwuZW5kICYmIHZhbC5zdGFydCA+IHZhbC5lbmQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZFJhbmdlOiB0cnVlIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsLnN0YXJ0ICYmICF2YWwuZW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG5vU2VsZWN0aW9uOiB0cnVlIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci5pc0N1c3RvbSgpICYmIHRoaXMuX2N1c3RvbUNvbXBvbmVudEhvc3QpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy4jY3VzdG9tQ29tcG9uZW50SG9zdC52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50ID0gdGhpcy5fY3VzdG9tQ29tcG9uZW50SG9zdC52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgICAgICAgICAgIGZpbHRlci50eXBlLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxhbnk+KHZhbHVlID8/IFtdKTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Db21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0ge307XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50Lmluc3RhbmNlLmZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPGFueT4odmFsdWUgPz8gW10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhY3RpdmF0ZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGaWx0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5zZWxlY3RlZEZpbHRlcj8udHlwZTtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUua2luZCkge1xyXG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgIHZhbHVlID0gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlIGFzIEtpbmRWYWx1ZU1hcFt0eXBlb2YgdHlwZS5raW5kXVsncmF3J107XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzoge1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGVPcGVyYXRvcnM6IERhdGVPcGVyYXRvcnM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWUuc3RhcnQgPz8gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZS5lbmQgPz8gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVPcGVyYXRvcnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHsgc3RhcnQsIGVuZCB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZU9wZXJhdG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXI6IHN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVPcGVyYXRvcnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZTogZW5kLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHsgc3RhcnQsIGVuZCB9IGFzIEtpbmRWYWx1ZU1hcFt0eXBlb2YgdHlwZS5raW5kXVsncmF3J107XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBOdW1iZXIodGhpcy5mb3JtQ29udHJvbC52YWx1ZS5hbW91bnQpLFxyXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB0aGlzLmZvcm1Db250cm9sLnZhbHVlLm9wZXJhdG9yLFxyXG4gICAgICAgICAgICAgICAgfSBhcyBLaW5kVmFsdWVNYXBbdHlwZW9mIHR5cGUua2luZF1bJ3JhdyddO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVcclxuICAgICAgICAgICAgICAgICAgICAubWFwKCh2LCBpKSA9PiAodiA/IHR5cGUub3B0aW9uc1tpXS52YWx1ZSA6IHVuZGVmaW5lZCkpXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcih2ID0+ICEhdik7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbnMgYXMgS2luZFZhbHVlTWFwW3R5cGVvZiB0eXBlLmtpbmRdWydyYXcnXTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB0aGlzLmZvcm1Db250cm9sLnZhbHVlLm9wZXJhdG9yLFxyXG4gICAgICAgICAgICAgICAgICAgIHRlcm06IHRoaXMuZm9ybUNvbnRyb2wudmFsdWUudGVybSxcclxuICAgICAgICAgICAgICAgIH0gYXMgS2luZFZhbHVlTWFwW3R5cGVvZiB0eXBlLmtpbmRdWydyYXcnXTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdjdXN0b20nOlxyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmN1c3RvbUNvbXBvbmVudD8uaW5zdGFuY2UuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnbmV3Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudEhvc3Qudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICduZXcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIuYWN0aXZhdGUodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyV2l0aFZhbHVlPy51cGRhdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlT3BlbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlYWN0aXZhdGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyV2l0aFZhbHVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maWx0ZXJzLmFjdGl2ZUZpbHRlcnMuaW5kZXhPZih0aGlzLmZpbHRlcldpdGhWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5yZW1vdmVBY3RpdmVGaWx0ZXJBdEluZGV4KGluZGV4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1kcm9wZG93biBbbWFudWFsVG9nZ2xlXT1cInRydWVcIiAjZHJvcGRvd24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvblwiIFtuZ0NsYXNzXT1cInN0YXRlXCI+XHJcbiAgICAgICAgPGNsci1pY29uIHNoYXBlPVwicGx1c1wiIHNpemU9XCIxMlwiICpuZ0lmPVwic3RhdGUgPT09ICduZXcnXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic3RhdGUgPT09ICdhY3RpdmUnXCIgY2xhc3M9XCJyZW1vdmVcIiAoY2xpY2spPVwiZGVhY3RpdmF0ZSgpXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRpbWVzXCIgc2l6ZT1cIjEyXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHZkckRyb3Bkb3duVHJpZ2dlciBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0YXRlID09PSAnbmV3J1wiPnt7ICdjb21tb24uYWRkLWZpbHRlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3RhdGUgPT09ICdhY3RpdmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWRhdGEtdGFibGUtZmlsdGVyLWxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcldpdGhWYWx1ZV09XCJmaWx0ZXJXaXRoVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmRyLWRhdGEtdGFibGUtZmlsdGVyLWxhYmVsPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImVsbGlwc2lzLXZlcnRpY2FsXCIgc2l6ZT1cIjEyXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLWxlZnRcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGVkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGluZ1wiPkZpbHRlciBieTo8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnMuZ2V0RmlsdGVycygpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHZkckRyb3Bkb3duSXRlbSAoY2xpY2spPVwic2VsZWN0RmlsdGVyKGZpbHRlcilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWxvY2FsaXplZC10ZXh0IFt0ZXh0XT1cImZpbHRlcj8ubGFiZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRpbmdcIiAqbmdJZj1cInNlbGVjdGVkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgIEZpbHRlciBieSA8dmRyLWxvY2FsaXplZC10ZXh0IFt0ZXh0XT1cInNlbGVjdGVkRmlsdGVyLmxhYmVsXCIgLz46XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgbXQtMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IHZkckN1c3RvbUZpbHRlckNvbXBvbmVudEhvc3QgI2N1c3RvbUNvbXBvbmVudEhvc3Q+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkRmlsdGVyXCIgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRmlsdGVyLnR5cGUua2luZCAhPT0gJ2N1c3RvbSdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIG10LTFcIiBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRGaWx0ZXIudHlwZS5raW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIiBbZm9ybUdyb3VwXT1cImZvcm1Db250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mICRhbnkoc2VsZWN0ZWRGaWx0ZXIudHlwZSkub3B0aW9uczsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiaVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBjbHJUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybUNvbnRyb2wudmFsdWVcIj57eyAnY29tbW9uLmJvb2xlYW4tdHJ1ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmb3JtQ29udHJvbC52YWx1ZVwiPnt7ICdjb21tb24uYm9vbGVhbi1mYWxzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtQ29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9XCJvcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwib3BlcmF0b3JcIiBjbGFzcz1cIm1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNvbnRhaW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm9wZXJhdG9yLWNvbnRhaW5zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImVxXCI+e3sgJ2NvbW1vbi5vcGVyYXRvci1lcScgfCB0cmFuc2xhdGUgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm5vdENvbnRhaW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm9wZXJhdG9yLW5vdC1jb250YWlucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJub3RFcVwiPnt7ICdjb21tb24ub3BlcmF0b3Itbm90LWVxJyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmVnZXhcIj57eyAnY29tbW9uLm9wZXJhdG9yLXJlZ2V4JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXJtXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Db250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT1cIm9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJvcGVyYXRvclwiIGNsYXNzPVwibWItMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZXFcIj57eyAnY29tbW9uLm9wZXJhdG9yLWVxJyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZ3RcIj57eyAnY29tbW9uLm9wZXJhdG9yLWd0JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibHRcIj57eyAnY29tbW9uLm9wZXJhdG9yLWx0JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkoc2VsZWN0ZWRGaWx0ZXIudHlwZSkuaW5wdXRUeXBlICE9PSAnY3VycmVuY3knXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWN1cnJlbmN5LWlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIkYW55KHNlbGVjdGVkRmlsdGVyLnR5cGUpLmlucHV0VHlwZSA9PT0gJ2N1cnJlbmN5J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidkYXRlUmFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtQ29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgJ2NvbW1vbi5zdGFydC1kYXRlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZGF0ZXRpbWUtcGlja2VyIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0XCI+PC92ZHItZGF0ZXRpbWUtcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgJ2NvbW1vbi5lbmQtZGF0ZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRhdGV0aW1lLXBpY2tlciBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIj48L3Zkci1kYXRldGltZS1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbHktd3JhcHBlciBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFjdGl2YXRlKClcIiBbZGlzYWJsZWRdPVwiIWZvcm1Db250cm9sPy52YWxpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdjb21tb24uYXBwbHknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImNoZWNrXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbjwvdmRyLWRyb3Bkb3duPlxyXG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXJzL2RhdGEtdGFibGUtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVycy9kYXRhLXRhYmxlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVUvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUXJGLE1BQU0sT0FBTyx5QkFBeUI7SUFJbEMsSUFDSSxtQkFBbUIsQ0FBQyxPQUF1QztRQUMzRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFRRCxXQUFXLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsWUFBb0IsV0FBd0IsRUFBVSxpQkFBb0M7UUFBdEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxzQkFBaUIsR0FBakIs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QztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7OEdBN0tRLHlCQUF5QjtrR0FBekIseUJBQXlCLGtaQUl1Qiw4QkFBOEIsNkJDakMzRix5ME1BNkdBOzsyRkRoRmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTtrSUFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ21DLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbkMsbUJBQW1CO3NCQUR0QixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsOEJBQThCLEVBQUU7Z0JBV3pGLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZU9wZXJhdG9ycywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXIsIEtpbmRWYWx1ZU1hcCB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyJztcbmltcG9ydCB7XG4gICAgRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbixcbiAgICBGaWx0ZXJXaXRoVmFsdWUsXG59IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9jdXN0b20tZmlsdGVyLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRhLXRhYmxlLWZpbHRlcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUtZmlsdGVycy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgZmlsdGVyczogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjtcbiAgICBASW5wdXQoKSBmaWx0ZXJXaXRoVmFsdWU/OiBGaWx0ZXJXaXRoVmFsdWU7XG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnY3VzdG9tQ29tcG9uZW50SG9zdCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlIH0pXG4gICAgc2V0IGN1c3RvbUNvbXBvbmVudEhvc3QoY29udGVudDogQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudEhvc3QgPSBjb250ZW50O1xuICAgIH1cbiAgICBfY3VzdG9tQ29tcG9uZW50SG9zdDogQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlO1xuICAgIHByb3RlY3RlZCBzdGF0ZTogJ25ldycgfCAnYWN0aXZlJyA9ICduZXcnO1xuICAgIHByb3RlY3RlZCBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZEZpbHRlcjogRGF0YVRhYmxlRmlsdGVyIHwgdW5kZWZpbmVkO1xuICAgIHByb3RlY3RlZCBjdXN0b21Db21wb25lbnQ/OiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50PjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duLmYnLCBbJyRldmVudCddKVxuICAgIG9uRktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wZG93bi5pc09wZW4gJiYgdGhpcy5zdGF0ZSA9PT0gJ25ldycpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlT3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLm9uT3BlbkNoYW5nZShpc09wZW4gPT4ge1xuICAgICAgICAgICAgaWYgKCFpc09wZW4gJiYgdGhpcy5zdGF0ZSA9PT0gJ25ldycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyV2l0aFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCB7IGZpbHRlciwgdmFsdWUgfSA9IHRoaXMuZmlsdGVyV2l0aFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gJ2FjdGl2ZSc7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbiAgICBzZWxlY3RGaWx0ZXIoZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXIsIHZhbHVlPzogYW55KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIgPSBmaWx0ZXI7XG4gICAgICAgIGlmIChmaWx0ZXIuaXNUZXh0KCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUdyb3VwKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8ub3BlcmF0b3IgPz8gJ2NvbnRhaW5zJyksXG4gICAgICAgICAgICAgICAgICAgIHRlcm06IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8udGVybSA/PyAnJyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb250cm9sID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlLnRlcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG5vU2VsZWN0aW9uOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlci5pc051bWJlcigpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1Hcm91cChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wodmFsdWU/Lm9wZXJhdG9yID8/ICdndCcpLFxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8uYW1vdW50ID8/ICcnKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUuYW1vdW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBub1NlbGVjdGlvbjogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlci5pc1NlbGVjdCgpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1BcnJheShcbiAgICAgICAgICAgICAgICBmaWx0ZXIudHlwZS5vcHRpb25zLm1hcChvID0+IG5ldyBGb3JtQ29udHJvbCh2YWx1ZT8uaW5jbHVkZXMoby52YWx1ZSkgPz8gZmFsc2UpKSxcbiAgICAgICAgICAgICAgICBjb250cm9sID0+IChjb250cm9sLnZhbHVlLnNvbWUoQm9vbGVhbikgPyBudWxsIDogeyBub1NlbGVjdGlvbjogdHJ1ZSB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmlzQm9vbGVhbigpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHZhbHVlID8/IGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIuaXNEYXRlUmFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzdGFydDogbmV3IEZvcm1Db250cm9sKHZhbHVlPy5zdGFydCA/PyBudWxsKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBuZXcgRm9ybUNvbnRyb2wodmFsdWU/LmVuZCA/PyBudWxsKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsLnN0YXJ0ICYmIHZhbC5lbmQgJiYgdmFsLnN0YXJ0ID4gdmFsLmVuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZFJhbmdlOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWwuc3RhcnQgJiYgIXZhbC5lbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG5vU2VsZWN0aW9uOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmlzQ3VzdG9tKCkgJiYgdGhpcy5fY3VzdG9tQ29tcG9uZW50SG9zdCkge1xuICAgICAgICAgICAgLy8gdGhpcy4jY3VzdG9tQ29tcG9uZW50SG9zdC52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudCA9IHRoaXMuX2N1c3RvbUNvbXBvbmVudEhvc3Qudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgZmlsdGVyLnR5cGUuY29tcG9uZW50LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8YW55Pih2YWx1ZSA/PyBbXSk7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB7fTtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50Lmluc3RhbmNlLmZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPGFueT4odmFsdWUgPz8gW10pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWN0aXZhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCB2YWx1ZTogYW55O1xuICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5zZWxlY3RlZEZpbHRlcj8udHlwZTtcbiAgICAgICAgc3dpdGNoICh0eXBlLmtpbmQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgIHZhbHVlID0gISF0aGlzLmZvcm1Db250cm9sLnZhbHVlIGFzIEtpbmRWYWx1ZU1hcFt0eXBlb2YgdHlwZS5raW5kXVsncmF3J107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkYXRlUmFuZ2UnOiB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVPcGVyYXRvcnM6IERhdGVPcGVyYXRvcnM7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlLnN0YXJ0ID8/IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlLmVuZCA/PyB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlT3BlcmF0b3JzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbjogeyBzdGFydCwgZW5kIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGFydCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlT3BlcmF0b3JzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXI6IHN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVPcGVyYXRvcnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmU6IGVuZCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7IHN0YXJ0LCBlbmQgfSBhcyBLaW5kVmFsdWVNYXBbdHlwZW9mIHR5cGUua2luZF1bJ3JhdyddO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBOdW1iZXIodGhpcy5mb3JtQ29udHJvbC52YWx1ZS5hbW91bnQpLFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5mb3JtQ29udHJvbC52YWx1ZS5vcGVyYXRvcixcbiAgICAgICAgICAgICAgICB9IGFzIEtpbmRWYWx1ZU1hcFt0eXBlb2YgdHlwZS5raW5kXVsncmF3J107XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgodiwgaSkgPT4gKHYgPyB0eXBlLm9wdGlvbnNbaV0udmFsdWUgOiB1bmRlZmluZWQpKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gISF2KTtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbnMgYXMgS2luZFZhbHVlTWFwW3R5cGVvZiB0eXBlLmtpbmRdWydyYXcnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5mb3JtQ29udHJvbC52YWx1ZS5vcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgdGVybTogdGhpcy5mb3JtQ29udHJvbC52YWx1ZS50ZXJtLFxuICAgICAgICAgICAgICAgIH0gYXMgS2luZFZhbHVlTWFwW3R5cGVvZiB0eXBlLmtpbmRdWydyYXcnXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmN1c3RvbUNvbXBvbmVudD8uaW5zdGFuY2UuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICduZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbUNvbXBvbmVudEhvc3Qudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICduZXcnKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyLmFjdGl2YXRlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyV2l0aFZhbHVlPy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGVPcGVuKCk7XG4gICAgfVxuXG4gICAgZGVhY3RpdmF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyV2l0aFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVycy5hY3RpdmVGaWx0ZXJzLmluZGV4T2YodGhpcy5maWx0ZXJXaXRoVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJzLnJlbW92ZUFjdGl2ZUZpbHRlckF0SW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHZkci1kcm9wZG93biBbbWFudWFsVG9nZ2xlXT1cInRydWVcIiAjZHJvcGRvd24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvblwiIFtuZ0NsYXNzXT1cInN0YXRlXCI+XHJcbiAgICAgICAgPGNsci1pY29uIHNoYXBlPVwicGx1c1wiIHNpemU9XCIxMlwiICpuZ0lmPVwic3RhdGUgPT09ICduZXcnXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic3RhdGUgPT09ICdhY3RpdmUnXCIgY2xhc3M9XCJyZW1vdmVcIiAoY2xpY2spPVwiZGVhY3RpdmF0ZSgpXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRpbWVzXCIgc2l6ZT1cIjEyXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHZkckRyb3Bkb3duVHJpZ2dlciBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0YXRlID09PSAnbmV3J1wiPnt7ICdjb21tb24uYWRkLWZpbHRlcicgfCB0cmFuc2xhdGUgfX0gPHNwYW4gY2xhc3M9XCJmaWx0ZXItaG90a2V5XCI+Zjwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3RhdGUgPT09ICdhY3RpdmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWRhdGEtdGFibGUtZmlsdGVyLWxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcldpdGhWYWx1ZV09XCJmaWx0ZXJXaXRoVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmRyLWRhdGEtdGFibGUtZmlsdGVyLWxhYmVsPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImVsbGlwc2lzLXZlcnRpY2FsXCIgc2l6ZT1cIjEyXCI+PC9jbHItaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLWxlZnRcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGVkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGluZ1wiPkZpbHRlciBieTo8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnMuZ2V0RmlsdGVycygpXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHZkckRyb3Bkb3duSXRlbSAoY2xpY2spPVwic2VsZWN0RmlsdGVyKGZpbHRlcilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWxvY2FsaXplZC10ZXh0IFt0ZXh0XT1cImZpbHRlcj8ubGFiZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRpbmdcIiAqbmdJZj1cInNlbGVjdGVkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgIEZpbHRlciBieSA8dmRyLWxvY2FsaXplZC10ZXh0IFt0ZXh0XT1cInNlbGVjdGVkRmlsdGVyLmxhYmVsXCIgLz46XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgbXQtMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IHZkckN1c3RvbUZpbHRlckNvbXBvbmVudEhvc3QgI2N1c3RvbUNvbXBvbmVudEhvc3Q+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGZvcm0gKm5nSWY9XCJzZWxlY3RlZEZpbHRlclwiIGNsYXNzPVwiXCIgW2Nka1RyYXBGb2N1c109XCJ0cnVlXCIgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRmlsdGVyLnR5cGUua2luZCAhPT0gJ2N1c3RvbSdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIG10LTFcIiBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRGaWx0ZXIudHlwZS5raW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIiBbZm9ybUdyb3VwXT1cImZvcm1Db250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mICRhbnkoc2VsZWN0ZWRGaWx0ZXIudHlwZSkub3B0aW9uczsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiaVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBjbHJUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybUNvbnRyb2wudmFsdWVcIj57eyAnY29tbW9uLmJvb2xlYW4tdHJ1ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFmb3JtQ29udHJvbC52YWx1ZVwiPnt7ICdjb21tb24uYm9vbGVhbi1mYWxzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtQ29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9XCJvcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwib3BlcmF0b3JcIiBjbGFzcz1cIm1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNvbnRhaW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm9wZXJhdG9yLWNvbnRhaW5zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImVxXCI+e3sgJ2NvbW1vbi5vcGVyYXRvci1lcScgfCB0cmFuc2xhdGUgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm5vdENvbnRhaW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm9wZXJhdG9yLW5vdC1jb250YWlucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJub3RFcVwiPnt7ICdjb21tb24ub3BlcmF0b3Itbm90LWVxJyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmVnZXhcIj57eyAnY29tbW9uLm9wZXJhdG9yLXJlZ2V4JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXJtXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Db250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT1cIm9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJvcGVyYXRvclwiIGNsYXNzPVwibWItMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZXFcIj57eyAnY29tbW9uLm9wZXJhdG9yLWVxJyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZ3RcIj57eyAnY29tbW9uLm9wZXJhdG9yLWd0JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibHRcIj57eyAnY29tbW9uLm9wZXJhdG9yLWx0JyB8IHRyYW5zbGF0ZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkoc2VsZWN0ZWRGaWx0ZXIudHlwZSkuaW5wdXRUeXBlICE9PSAnY3VycmVuY3knXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWN1cnJlbmN5LWlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIkYW55KHNlbGVjdGVkRmlsdGVyLnR5cGUpLmlucHV0VHlwZSA9PT0gJ2N1cnJlbmN5J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidkYXRlUmFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtQ29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgJ2NvbW1vbi5zdGFydC1kYXRlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItZGF0ZXRpbWUtcGlja2VyIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0XCI+PC92ZHItZGF0ZXRpbWUtcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3sgJ2NvbW1vbi5lbmQtZGF0ZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRhdGV0aW1lLXBpY2tlciBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIj48L3Zkci1kYXRldGltZS1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbHktd3JhcHBlciBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFjdGl2YXRlKClcIiBbZGlzYWJsZWRdPVwiIWZvcm1Db250cm9sPy52YWxpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdjb21tb24uYXBwbHknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImNoZWNrXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG48L3Zkci1kcm9wZG93bj5cclxuIl19