@colijnit/transaction 12.1.78 → 12.1.80
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.
- package/README.md +10 -13
- package/bundles/colijnit-transaction.umd.js +25560 -0
- package/bundles/colijnit-transaction.umd.js.map +1 -0
- package/colijnit-transaction.d.ts +350 -0
- package/colijnit-transaction.metadata.json +1 -0
- package/esm2015/colijnit-transaction.js +351 -0
- package/esm2015/lib/assets/dictionary/text.properties.js +751 -0
- package/esm2015/lib/cache/cache-field.js +75 -0
- package/esm2015/lib/cache/parameter-cache-field.js +54 -0
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +150 -0
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +38 -0
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +47 -0
- package/esm2015/lib/cache/service/select-single-cache.service.js +30 -0
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +27 -0
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +21 -0
- package/esm2015/lib/component/avatar/avatar.component.js +106 -0
- package/esm2015/lib/component/avatar/avatar.module.js +21 -0
- package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +106 -0
- package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +47 -0
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +267 -0
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +101 -0
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +235 -0
- package/esm2015/lib/component/checkout/checkout.component.js +180 -0
- package/esm2015/lib/component/checkout/checkout.module.js +124 -0
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +67 -0
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +25 -0
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +83 -0
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.js +26 -0
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.js +41 -0
- package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.js +21 -0
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +47 -0
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +19 -0
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +64 -0
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.module.js +26 -0
- package/esm2015/lib/component/core/base/dialog-base.component.js +6 -0
- package/esm2015/lib/component/core/base/dialog-transaction-base.component.js +40 -0
- package/esm2015/lib/component/core/base/dynamic-base-component.js +8 -0
- package/esm2015/lib/component/core/base/transaction-base.component.js +160 -0
- package/esm2015/lib/component/core/base/transaction-filter-base.component.js +61 -0
- package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +44 -0
- package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +103 -0
- package/esm2015/lib/component/core/base/transaction-grid-base.component.js +51 -0
- package/esm2015/lib/component/core/base/transaction-input-field-base.component.js +55 -0
- package/esm2015/lib/component/core/base/transaction-search-grid-base.component.js +25 -0
- package/esm2015/lib/component/core/base/transaction-search-tile-base.component.js +28 -0
- package/esm2015/lib/component/core/core.module.js +50 -0
- package/esm2015/lib/component/core/directive/lazy-render-master.directive.js +43 -0
- package/esm2015/lib/component/core/directive/lazy-render.directive.js +29 -0
- package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +11 -0
- package/esm2015/lib/component/core/enum/app-popup-type.enum.js +8 -0
- package/esm2015/lib/component/core/icon/icon.component.js +31 -0
- package/esm2015/lib/component/core/image-display/image-display.component.js +29 -0
- package/esm2015/lib/component/core/relation/customer-groups.component.js +46 -0
- package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +24 -0
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +47 -0
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +26 -0
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +47 -0
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +23 -0
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.component.js +37 -0
- package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.module.js +23 -0
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +78 -0
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.js +29 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +36 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +95 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.js +36 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +36 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +80 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +31 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +44 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.js +28 -0
- package/esm2015/lib/component/discount/discount.component.js +110 -0
- package/esm2015/lib/component/discount/discount.module.js +29 -0
- package/esm2015/lib/component/down-payment/down-payment.component.js +71 -0
- package/esm2015/lib/component/down-payment/down-payment.module.js +27 -0
- package/esm2015/lib/component/editable-label/editable-label.component.js +65 -0
- package/esm2015/lib/component/editable-label/editable-label.module.js +21 -0
- package/esm2015/lib/component/loader/loader.component.js +51 -0
- package/esm2015/lib/component/loader/loader.module.js +19 -0
- package/esm2015/lib/component/payment/payment.component.js +242 -0
- package/esm2015/lib/component/payment/payment.module.js +37 -0
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +23 -0
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +23 -0
- package/esm2015/lib/component/payment-tile/payment-tile.component.js +34 -0
- package/esm2015/lib/component/payment-tile/payment-tile.module.js +25 -0
- package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +50 -0
- package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +27 -0
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +111 -0
- package/esm2015/lib/component/relation/relation-address/relation-address.module.js +29 -0
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +145 -0
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +33 -0
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +65 -0
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +32 -0
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +112 -0
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +34 -0
- package/esm2015/lib/component/relation/relation-base.component.js +31 -0
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +65 -0
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +24 -0
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +231 -0
- package/esm2015/lib/component/relation/relation-general/relation-general.module.js +27 -0
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +68 -0
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +21 -0
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +30 -0
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +21 -0
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +33 -0
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +19 -0
- package/esm2015/lib/component/relation/relation-type/relation-type.component.js +47 -0
- package/esm2015/lib/component/relation/relation-type/relation-type.module.js +23 -0
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +165 -0
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +34 -0
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +126 -0
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +30 -0
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +69 -0
- package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +27 -0
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +58 -0
- package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +29 -0
- package/esm2015/lib/component/stepper/component/stepper-step.component.js +40 -0
- package/esm2015/lib/component/stepper/stepper.component.js +126 -0
- package/esm2015/lib/component/stepper/stepper.module.js +29 -0
- package/esm2015/lib/component/tile/tile.component.js +32 -0
- package/esm2015/lib/component/tile/tile.module.js +19 -0
- package/esm2015/lib/component/toast/toast.component.js +36 -0
- package/esm2015/lib/component/toast/toast.module.js +19 -0
- package/esm2015/lib/component/transaction/transaction.component.js +174 -0
- package/esm2015/lib/component/transaction/transaction.module.js +67 -0
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +81 -0
- package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.js +25 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +37 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +73 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +40 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +57 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +35 -0
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +137 -0
- package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.js +34 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +113 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +33 -0
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +94 -0
- package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.js +24 -0
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +55 -0
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +30 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +82 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +19 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +90 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +28 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +117 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +48 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +51 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +29 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +155 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +34 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +50 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +31 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +135 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +48 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +56 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +33 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +122 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +35 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +229 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +46 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +62 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +78 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +26 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +48 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +53 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +97 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +29 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.js +74 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.component.js +59 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-button.component.js +57 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-button.module.js +25 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.js +59 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.js +60 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +58 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +58 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +51 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +26 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +54 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +61 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +57 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +57 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +57 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +23 -0
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +49 -0
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +23 -0
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +92 -0
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.js +26 -0
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +63 -0
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +111 -0
- package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +33 -0
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +110 -0
- package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +21 -0
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +15 -0
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +124 -0
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +36 -0
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +93 -0
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +63 -0
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +103 -0
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +46 -0
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +68 -0
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +122 -0
- package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +36 -0
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +192 -0
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +30 -0
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +55 -0
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +25 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +52 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +21 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +56 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +26 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.component.js +63 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +33 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +64 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +53 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +26 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +68 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-description.module.js +24 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-button.component.js +58 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-button.module.js +25 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +90 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +52 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +26 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +41 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +55 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +60 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +28 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +57 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +25 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat-button.component.js +60 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat-button.module.js +21 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +49 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +28 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.js +65 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +58 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.js +21 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +48 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.js +23 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +52 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +27 -0
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +23 -0
- package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +21 -0
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +99 -0
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.js +27 -0
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +118 -0
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +41 -0
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +114 -0
- package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +60 -0
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +119 -0
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +35 -0
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +81 -0
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +25 -0
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +95 -0
- package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.js +23 -0
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +172 -0
- package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +32 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +87 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +41 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +69 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +25 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +44 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +29 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +65 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +28 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +56 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +28 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +137 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +31 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.js +128 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.js +29 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +91 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +27 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +110 -0
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +78 -0
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +30 -0
- package/esm2015/lib/component/transaction-search/service/filter-request.service.js +172 -0
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +114 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +96 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.js +56 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.js +56 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +42 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +27 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +143 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.js +29 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +236 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.js +35 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +225 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +133 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.js +29 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +235 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.js +35 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +248 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +55 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +26 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +64 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.js +23 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +81 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.js +84 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.js +25 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.js +84 -0
- package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.js +27 -0
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +126 -0
- package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +27 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +119 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +44 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.js +67 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.js +29 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +74 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.js +32 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +89 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +79 -0
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.js +23 -0
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +146 -0
- package/esm2015/lib/component/transaction-search/transaction-search.module.js +32 -0
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +139 -0
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +194 -0
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +51 -0
- package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +35 -0
- package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +116 -0
- package/esm2015/lib/component/transaction-tile/transaction-tile.module.js +30 -0
- package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +59 -0
- package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +25 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +61 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +23 -0
- package/esm2015/lib/enum/content-view-mode.enum.js +11 -0
- package/esm2015/lib/enum/direction.enum.js +9 -0
- package/esm2015/lib/enum/icon.enum.js +84 -0
- package/esm2015/lib/enum/language-code.enum.js +8 -0
- package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
- package/esm2015/lib/enum/position-grid-row.enum.js +6 -0
- package/esm2015/lib/enum/search-view-mode.enum.js +7 -0
- package/esm2015/lib/enum/searchbar-view-mode.enum.js +7 -0
- package/esm2015/lib/enum/status-type.enum.js +7 -0
- package/esm2015/lib/enum/time-size.type.js +10 -0
- package/esm2015/lib/enum/transaction-type-category.enum.js +17 -0
- package/esm2015/lib/interface/dialog-response.interface.js +2 -0
- package/esm2015/lib/model/down-payment-view-model.js +7 -0
- package/esm2015/lib/model/extended-transaction-line-view-model.js +4 -0
- package/esm2015/lib/model/filter-item.viewmodel.js +9 -0
- package/esm2015/lib/model/filter-viewmodel.js +11 -0
- package/esm2015/lib/model/icon-svg.js +83 -0
- package/esm2015/lib/model/payment.viewmodel.js +6 -0
- package/esm2015/lib/model/received-goods-view-model.js +11 -0
- package/esm2015/lib/model/relation-any-type.js +3 -0
- package/esm2015/lib/model/standard-text.js +3 -0
- package/esm2015/lib/model/text-value-container.js +3 -0
- package/esm2015/lib/model/transaction-bar-button.js +2 -0
- package/esm2015/lib/model/transaction-search-result.js +3 -0
- package/esm2015/lib/pipe/append.pipe.js +17 -0
- package/esm2015/lib/pipe/co-currency.pipe.js +47 -0
- package/esm2015/lib/pipe/date-duration.pipe.js +57 -0
- package/esm2015/lib/pipe/delivery-time.pipe.js +36 -0
- package/esm2015/lib/pipe/localize.pipe.js +28 -0
- package/esm2015/lib/pipe/pipe.module.js +37 -0
- package/esm2015/lib/pipe/safe-html.pipe.js +19 -0
- package/esm2015/lib/pipe/safe-style.pipe.js +19 -0
- package/esm2015/lib/service/article-connector.service.js +106 -0
- package/esm2015/lib/service/article.service.js +33 -0
- package/esm2015/lib/service/dialog.service.js +137 -0
- package/esm2015/lib/service/dictionary.service.js +76 -0
- package/esm2015/lib/service/dynamic-component.service.js +93 -0
- package/esm2015/lib/service/error.service.js +68 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -0
- package/esm2015/lib/service/options.service.js +71 -0
- package/esm2015/lib/service/payment.service.js +105 -0
- package/esm2015/lib/service/pending-reason.service.js +337 -0
- package/esm2015/lib/service/relation-connector.service.js +222 -0
- package/esm2015/lib/service/relation.service.js +158 -0
- package/esm2015/lib/service/shared-connector.service.js +53 -0
- package/esm2015/lib/service/shared.service.js +42 -0
- package/esm2015/lib/service/transaction-connector-adapter.service.js +1830 -0
- package/esm2015/lib/service/transaction-connector.service.js +670 -0
- package/esm2015/lib/service/transaction-event.service.js +35 -0
- package/esm2015/lib/service/transaction-image.service.js +53 -0
- package/esm2015/lib/service/transaction-mapping.service.js +178 -0
- package/esm2015/lib/service/transaction.service.js +793 -0
- package/esm2015/public_api.js +46 -0
- package/fesm2015/colijnit-transaction.js +25050 -0
- package/fesm2015/colijnit-transaction.js.map +1 -0
- package/lib/assets/dictionary/text.properties.d.ts +3 -0
- package/lib/cache/cache-field.d.ts +25 -0
- package/lib/cache/parameter-cache-field.d.ts +11 -0
- package/lib/cache/service/business-object-cache-manager.service.d.ts +58 -0
- package/lib/cache/service/select-multiple-cache.service.d.ts +15 -0
- package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +19 -0
- package/lib/cache/service/select-single-cache.service.d.ts +12 -0
- package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +5 -0
- package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/animated-checkbox/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/animated-checkbox/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/animated-checkbox/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/animated-checkbox/style/material.scss +0 -0
- package/lib/component/avatar/avatar.component.d.ts +31 -0
- package/lib/component/avatar/avatar.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/avatar/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/avatar/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/avatar/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/avatar/style/material.scss +0 -0
- package/lib/component/checkout/checkout-login/checkout-login.component.d.ts +21 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
- package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +11 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +65 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -0
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +21 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-payment/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-payment/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-payment/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-payment/style/material.scss +0 -0
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +44 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -0
- package/lib/component/checkout/checkout.component.d.ts +48 -0
- package/lib/component/checkout/checkout.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/checkout/style/material.scss +0 -0
- package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
- package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/confirmation-dialog/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/confirmation-dialog/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/confirmation-dialog/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/confirmation-dialog/style/material.scss +0 -0
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +21 -0
- package/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/characteristic-answer/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/characteristic-answer/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/characteristic-answer/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/characteristic-answer/style/material.scss +0 -0
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.d.ts +13 -0
- package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/default-ok-cancel-buttons/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/default-ok-cancel-buttons/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/default-ok-cancel-buttons/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/default-ok-cancel-buttons/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/transaction-header-block/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/transaction-header-block/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/transaction-header-block/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/transaction-header-block/style/material.scss +0 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +10 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/warehouse/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/warehouse/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/warehouse/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/base/components/warehouse/style/material.scss +0 -0
- package/lib/component/core/base/components/warehouse/warehouse.component.d.ts +20 -0
- package/lib/component/core/base/components/warehouse/warehouse.module.d.ts +2 -0
- package/lib/component/core/base/dialog-base.component.d.ts +4 -0
- package/lib/component/core/base/dialog-transaction-base.component.d.ts +16 -0
- package/lib/component/core/base/dynamic-base-component.d.ts +3 -0
- package/lib/component/core/base/transaction-base.component.d.ts +56 -0
- package/lib/component/core/base/transaction-filter-base.component.d.ts +26 -0
- package/lib/component/core/base/transaction-filter-content-base.component.d.ts +21 -0
- package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +40 -0
- package/lib/component/core/base/transaction-grid-base.component.d.ts +25 -0
- package/lib/component/core/base/transaction-input-field-base.component.d.ts +15 -0
- package/lib/component/core/base/transaction-search-grid-base.component.d.ts +11 -0
- package/lib/component/core/base/transaction-search-tile-base.component.d.ts +13 -0
- package/lib/component/core/core.module.d.ts +2 -0
- package/lib/component/core/directive/lazy-render-master.directive.d.ts +10 -0
- package/lib/component/core/directive/lazy-render.directive.d.ts +10 -0
- package/lib/component/core/enum/app-popup-button-type.enum.d.ts +9 -0
- package/lib/component/core/enum/app-popup-type.enum.d.ts +6 -0
- package/lib/component/core/icon/icon.component.d.ts +12 -0
- package/{projects/transaction/src/lib → lib}/component/core/icon/icon.component.scss +0 -0
- package/lib/component/core/image-display/image-display.component.d.ts +5 -0
- package/{projects/transaction/src/lib → lib}/component/core/image-display/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/image-display/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/image-display/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/core/image-display/style/material.scss +0 -0
- package/lib/component/core/relation/customer-groups.component.d.ts +14 -0
- package/{projects/transaction/src/lib → lib}/component/core/relation/relation-customer-groups.component.scss +0 -0
- package/lib/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +5 -0
- package/{projects/transaction/src/lib → lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -0
- package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +10 -0
- package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/delivery-type-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/delivery-type-tile/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/delivery-type-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/delivery-type-tile/style/material.scss +0 -0
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +15 -0
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/catalog/dialog-catalog/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/catalog/dialog-catalog/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/catalog/dialog-catalog/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/catalog/dialog-catalog/style/material.scss +0 -0
- package/lib/component/dialog/dialog-header-search/dialog-header-search.component.d.ts +10 -0
- package/lib/component/dialog/dialog-header-search/dialog-header-search.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/dialog-header-search/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/dialog-header-search/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/dialog-header-search/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/dialog-header-search/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/material.scss +0 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.d.ts +4 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/material.scss +0 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +8 -0
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +14 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.d.ts +12 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/material.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.d.ts +6 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +0 -0
- package/lib/component/discount/discount.component.d.ts +19 -0
- package/lib/component/discount/discount.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/discount/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/discount/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/discount/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/discount/style/material.scss +0 -0
- package/lib/component/down-payment/down-payment.component.d.ts +16 -0
- package/lib/component/down-payment/down-payment.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/down-payment/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/down-payment/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/down-payment/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/down-payment/style/material.scss +0 -0
- package/lib/component/editable-label/editable-label.component.d.ts +16 -0
- package/lib/component/editable-label/editable-label.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/editable-label/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/editable-label/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/editable-label/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/editable-label/style/material.scss +0 -0
- package/lib/component/loader/loader.component.d.ts +3 -0
- package/lib/component/loader/loader.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/loader/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/loader/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/loader/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/loader/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/order-confirmation-create/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/order-confirmation-create/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/order-confirmation-create/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/order-confirmation-create/style/material.scss +0 -0
- package/lib/component/payment/payment.component.d.ts +58 -0
- package/lib/component/payment/payment.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/payment/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment/style/material.scss +0 -0
- package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +4 -0
- package/lib/component/payment-qr-code/payment-qr-code.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/payment-qr-code/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-qr-code/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-qr-code/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-qr-code/style/material.scss +0 -0
- package/lib/component/payment-tile/payment-tile.component.d.ts +10 -0
- package/lib/component/payment-tile/payment-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/payment-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-tile/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/payment-tile/style/material.scss +0 -0
- package/lib/component/quick-send-button/quick-send-button.component.d.ts +15 -0
- package/lib/component/quick-send-button/quick-send-button.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/quick-send-button/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/quick-send-button/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/quick-send-button/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/quick-send-button/style/material.scss +0 -0
- package/lib/component/relation/relation-address/relation-address.component.d.ts +25 -0
- package/lib/component/relation/relation-address/relation-address.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address/style/material.scss +0 -0
- package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +33 -0
- package/lib/component/relation/relation-address-select/relation-address-select.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-select/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-select/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-select/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-select/style/material.scss +0 -0
- package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +15 -0
- package/lib/component/relation/relation-address-tile/relation-address-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-tile/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-address-tile/style/material.scss +0 -0
- package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +27 -0
- package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-addresses/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-addresses/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-addresses/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-addresses/style/material.scss +0 -0
- package/lib/component/relation/relation-base.component.d.ts +11 -0
- package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +12 -0
- package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-contact-details/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-contact-details/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-contact-details/style/material.scss +0 -0
- package/lib/component/relation/relation-general/relation-general.component.d.ts +33 -0
- package/lib/component/relation/relation-general/relation-general.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-general/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-general/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-general/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-general/style/material.scss +0 -0
- package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +15 -0
- package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-preferences/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-preferences/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-preferences/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-preferences/style/material.scss +0 -0
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +7 -0
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list/style/material.scss +0 -0
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +8 -0
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list-item/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list-item/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list-item/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-suggestions-list-item/style/material.scss +0 -0
- package/lib/component/relation/relation-type/relation-type.component.d.ts +11 -0
- package/lib/component/relation/relation-type/relation-type.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-type/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-type/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-type/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/relation/relation-type/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text/style/material.scss +0 -0
- package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +44 -0
- package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text-overview/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text-overview/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text-overview/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shared/transaction-article-text-overview/style/material.scss +0 -0
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +29 -0
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +2 -0
- package/lib/component/shopping-cart/shopping-cart.component.d.ts +17 -0
- package/lib/component/shopping-cart/shopping-cart.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -0
- package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +13 -0
- package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart-preview/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart-preview/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart-preview/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/shopping-cart-preview/style/material.scss +0 -0
- package/lib/component/stepper/component/stepper-step.component.d.ts +12 -0
- package/lib/component/stepper/stepper.component.d.ts +36 -0
- package/lib/component/stepper/stepper.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/stepper/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/stepper/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/stepper/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/stepper/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/tile/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/tile/style/material.scss +0 -0
- package/lib/component/tile/tile.component.d.ts +6 -0
- package/lib/component/tile/tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/toast/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/toast/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/toast/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/toast/style/material.scss +0 -0
- package/lib/component/toast/toast.component.d.ts +6 -0
- package/lib/component/toast/toast.module.d.ts +2 -0
- package/lib/component/transaction/style/_layout.scss +56 -0
- package/{projects/transaction/src/lib → lib}/component/transaction/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction/style/_theme.scss +0 -0
- package/lib/component/transaction/style/material.scss +13 -0
- package/lib/component/transaction/transaction.component.d.ts +45 -0
- package/lib/component/transaction/transaction.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-allocate-goods-history/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-allocate-goods-history/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-allocate-goods-history/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-allocate-goods-history/style/material.scss +0 -0
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +18 -0
- package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-button-bar/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-button-bar/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-button-bar/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-button-bar/style/material.scss +0 -0
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +16 -0
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +18 -0
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +12 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +19 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-details/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-details/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-details/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-details/style/material.scss +0 -0
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +24 -0
- package/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-history/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-history/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-history/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-confirmation-history/style/material.scss +0 -0
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +30 -0
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-available-stock-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-footer → lib/component/transaction-grid/transaction-available-stock-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-available-stock-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-available-stock-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +26 -0
- package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-base-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-base-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-base-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +8 -0
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-header → lib/component/transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +24 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-history-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-history-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-history-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +19 -0
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-lines-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-lines-grid/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-lines-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-lines-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +21 -0
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +4 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview → lib/component/transaction-grid/transaction-received-goods-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-footer → lib/component/transaction-grid/transaction-received-goods-grid}/style/material.scss +0 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +37 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header/style/material.scss +0 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +12 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-delivery/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-delivery/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-delivery/style/material.scss +0 -0
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +21 -0
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-order/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-order/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-order/style/material.scss +0 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +11 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-payment/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-payment/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-payment/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-payment/style/material.scss +0 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +20 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-relation/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-relation/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header/transaction-header-relation/style/material.scss +0 -0
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +39 -0
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +14 -0
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +9 -0
- package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +7 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +20 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-header → lib/component/transaction-header-fields/transaction-header-delivery-options}/style/material.scss +0 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.d.ts +21 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-amount.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-button.component.d.ts +16 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-button.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.d.ts +11 -0
- package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +14 -0
- package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +11 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +10 -0
- package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-history-grid-status/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-history-grid-status/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-history-grid-status/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-history-grid-status/style/material.scss +0 -0
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +11 -0
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-base-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-base-line/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-base-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview → lib/component/transaction-line/transaction-base-line}/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +21 -0
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.d.ts +2 -0
- package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +12 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid → lib/component/transaction-line/transaction-goods-allocation-line}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid → lib/component/transaction-line/transaction-goods-allocation-line}/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +29 -0
- package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-line/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-line/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +27 -0
- package/lib/component/transaction-line/transaction-line/transaction-line.module.d.ts +2 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +4 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price → lib/component/transaction-line/transaction-order-delivery-line}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-order-delivery-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options → lib/component/transaction-line/transaction-order-delivery-line}/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +27 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line-grid → lib/component/transaction-line/transaction-overview-line}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-overview-line/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +26 -0
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-purchase-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line-side-panel-purchase → lib/component/transaction-line/transaction-purchase-line}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-purchase-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price → lib/component/transaction-line/transaction-purchase-line}/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +21 -0
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +2 -0
- package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +19 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line-side-panel-sales → lib/component/transaction-line/transaction-receive-goods-line}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line/transaction-receive-goods-line/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-base-line → lib/component/transaction-line/transaction-receive-goods-line}/style/material.scss +0 -0
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +32 -0
- package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-action-buttons/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-action-buttons/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-action-buttons/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-action-buttons/style/material.scss +0 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +49 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-checkbox-list/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-checkbox-list/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-checkbox-list/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-checkbox-list/style/material.scss +0 -0
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +20 -0
- package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-button.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +15 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.component.d.ts +14 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +11 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +14 -0
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +15 -0
- package/lib/component/transaction-line-fields/transaction-line-description.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-button.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-discount-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-fields/transaction-line-price/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview → lib/component/transaction-line-fields/transaction-line-price}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-fields/transaction-line-price/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview → lib/component/transaction-line-fields/transaction-line-price}/style/material.scss +0 -0
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +18 -0
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +14 -0
- package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +7 -0
- package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +16 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-vat-button.component.d.ts +12 -0
- package/lib/component/transaction-line-fields/transaction-line-vat-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +13 -0
- package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.d.ts +15 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +18 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +15 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +14 -0
- package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-card/transaction-card → lib/component/transaction-line-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-grid/style/material.scss +0 -0
- package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +5 -0
- package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-image-and-description/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-image-and-description/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-image-and-description/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-image-and-description/style/material.scss +0 -0
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +29 -0
- package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel/style/material.scss +0 -0
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +27 -0
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-default/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-default/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-default/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-default/style/material.scss +0 -0
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +21 -0
- package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-purchase/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid → lib/component/transaction-line-side-panel-purchase}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-purchase/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-purchase/style/material.scss +0 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +28 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-sales/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-grid/transaction-grid → lib/component/transaction-line-side-panel-sales}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-sales/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-side-panel-sales/style/material.scss +0 -0
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +20 -0
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-statusbar/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-statusbar/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-statusbar/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-line-statusbar/style/material.scss +0 -0
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +26 -0
- package/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-lines/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-lines/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-lines/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-lines/style/material.scss +0 -0
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +42 -0
- package/lib/component/transaction-lines/transaction-lines.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +28 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line → lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line → lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +20 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line → lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line → lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +7 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-overview-line → lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-purchase-line → lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +19 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-purchase-line → lib/component/transaction-quick-access/transaction-quick-access-order-purchase}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line → lib/component/transaction-quick-access/transaction-quick-access-order-purchase}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +14 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation → lib/component/transaction-quick-access/transaction-quick-access-overview}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +34 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation → lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.d.ts +33 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line → lib/component/transaction-quick-access/transaction-quick-access-received-goods}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery → lib/component/transaction-quick-access/transaction-quick-access-received-goods}/style/material.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +34 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +43 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-receiving-goods-history/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-receiving-goods-history/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-receiving-goods-history/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-receiving-goods-history/style/material.scss +0 -0
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +17 -0
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +2 -0
- package/lib/component/transaction-search/service/filter-request.service.d.ts +87 -0
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +37 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-filter/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics → lib/component/transaction-search/transaction-filter/transaction-filter}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-filter/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-filter/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +26 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.d.ts +9 -0
- package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.d.ts +9 -0
- package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-categories/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation → lib/component/transaction-search/transaction-filter-categories}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-categories/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-categories/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +10 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +25 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +40 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation → lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.d.ts +36 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +50 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +40 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery → lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +36 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +57 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase → lib/component/transaction-search/transaction-filter-content}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-content/style/material.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods → lib/component/transaction-search/transaction-filter-historic-state}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-historic-state/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +24 -0
- package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-item/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-categories → lib/component/transaction-search/transaction-filter-item}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-item/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-filter-item/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +21 -0
- package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics → lib/component/transaction-search/transaction-search-grid/transaction-search-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +22 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-content → lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.d.ts +7 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.d.ts +7 -0
- package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-header/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-header/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-header/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-header/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +36 -0
- package/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-result/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-result/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-result/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-result/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +32 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state → lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.d.ts +3 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter-item → lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +6 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter → lib/component/transaction-search/transaction-search-tile/transaction-search-tile}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +25 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/material.scss +0 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.d.ts +22 -0
- package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search.component.d.ts +32 -0
- package/lib/component/transaction-search/transaction-search.module.d.ts +2 -0
- package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +28 -0
- package/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts +43 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-side-panel-edit-request-details/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-side-panel-edit-request-details/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-side-panel-edit-request-details/style/material.scss +0 -0
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +15 -0
- package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-tile/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid → lib/component/transaction-tile}/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-tile/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-tile/style/material.scss +0 -0
- package/lib/component/transaction-tile/transaction-tile.component.d.ts +20 -0
- package/lib/component/transaction-tile/transaction-tile.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-totals/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-totals/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-totals/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/transaction-totals/style/material.scss +0 -0
- package/lib/component/transaction-totals/transaction-totals.component.d.ts +10 -0
- package/lib/component/transaction-totals/transaction-totals.module.d.ts +2 -0
- package/{projects/transaction/src/lib → lib}/component/view-mode-buttons/style/_layout.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/view-mode-buttons/style/_material-definition.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/view-mode-buttons/style/_theme.scss +0 -0
- package/{projects/transaction/src/lib → lib}/component/view-mode-buttons/style/material.scss +0 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +17 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +2 -0
- package/lib/enum/content-view-mode.enum.d.ts +8 -0
- package/lib/enum/direction.enum.d.ts +6 -0
- package/lib/enum/icon.enum.d.ts +82 -0
- package/lib/enum/language-code.enum.d.ts +6 -0
- package/lib/enum/order-discount-type.enum.d.ts +5 -0
- package/lib/enum/position-grid-row.enum.d.ts +4 -0
- package/lib/enum/search-view-mode.enum.d.ts +4 -0
- package/lib/enum/searchbar-view-mode.enum.d.ts +4 -0
- package/lib/enum/status-type.enum.d.ts +5 -0
- package/lib/enum/time-size.type.d.ts +7 -0
- package/lib/enum/transaction-type-category.enum.d.ts +15 -0
- package/lib/interface/dialog-response.interface.d.ts +5 -0
- package/lib/model/down-payment-view-model.d.ts +7 -0
- package/lib/model/extended-transaction-line-view-model.d.ts +10 -0
- package/lib/model/filter-item.viewmodel.d.ts +7 -0
- package/lib/model/filter-viewmodel.d.ts +8 -0
- package/lib/model/icon-svg.d.ts +4 -0
- package/lib/model/payment.viewmodel.d.ts +6 -0
- package/lib/model/received-goods-view-model.d.ts +10 -0
- package/lib/model/relation-any-type.d.ts +3 -0
- package/lib/model/standard-text.d.ts +5 -0
- package/lib/model/text-value-container.d.ts +4 -0
- package/lib/model/transaction-bar-button.d.ts +10 -0
- package/lib/model/transaction-search-result.d.ts +5 -0
- package/lib/pipe/append.pipe.d.ts +4 -0
- package/lib/pipe/co-currency.pipe.d.ts +10 -0
- package/lib/pipe/date-duration.pipe.d.ts +10 -0
- package/lib/pipe/delivery-time.pipe.d.ts +12 -0
- package/lib/pipe/localize.pipe.d.ts +7 -0
- package/lib/pipe/pipe.module.d.ts +2 -0
- package/lib/pipe/safe-html.pipe.d.ts +7 -0
- package/lib/pipe/safe-style.pipe.d.ts +7 -0
- package/lib/service/article-connector.service.d.ts +20 -0
- package/lib/service/article.service.d.ts +8 -0
- package/lib/service/dialog.service.d.ts +29 -0
- package/lib/service/dictionary.service.d.ts +21 -0
- package/lib/service/dynamic-component.service.d.ts +12 -0
- package/lib/service/error.service.d.ts +12 -0
- package/lib/service/icon-cache.service.d.ts +18 -0
- package/lib/service/options.service.d.ts +13 -0
- package/lib/service/payment.service.d.ts +23 -0
- package/lib/service/pending-reason.service.d.ts +63 -0
- package/lib/service/relation-connector.service.d.ts +36 -0
- package/lib/service/relation.service.d.ts +44 -0
- package/lib/service/shared-connector.service.d.ts +12 -0
- package/lib/service/shared.service.d.ts +15 -0
- package/lib/service/transaction-connector-adapter.service.d.ts +207 -0
- package/lib/service/transaction-connector.service.d.ts +198 -0
- package/lib/service/transaction-event.service.d.ts +67 -0
- package/lib/service/transaction-image.service.d.ts +10 -0
- package/lib/service/transaction-mapping.service.d.ts +25 -0
- package/lib/service/transaction.service.d.ts +175 -0
- package/{projects/transaction/src/lib → lib}/style/_mixin.scss +0 -0
- package/{projects/transaction/src/lib → lib}/style/_variables.scss +0 -0
- package/{projects/transaction/src/lib → lib}/style/transaction-globals.scss +0 -0
- package/package.json +45 -92
- package/public_api.d.ts +45 -0
- package/.browserslistrc +0 -18
- package/.editorconfig +0 -16
- package/.eslintrc.json +0 -49
- package/angular.json +0 -165
- package/custom_webpack.config.js +0 -6
- package/e2e/protractor.conf.js +0 -32
- package/e2e/src/app.e2e-spec.ts +0 -23
- package/e2e/src/app.po.ts +0 -11
- package/e2e/tsconfig.json +0 -13
- package/import.bat +0 -8
- package/karma.conf.js +0 -32
- package/move-assets.js +0 -14
- package/projects/transaction/README.md +0 -24
- package/projects/transaction/karma.conf.js +0 -44
- package/projects/transaction/ng-package.json +0 -13
- package/projects/transaction/package.json +0 -44
- package/projects/transaction/src/lib/assets/.gitkeep +0 -0
- package/projects/transaction/src/lib/assets/dictionary/text.properties.ts +0 -748
- package/projects/transaction/src/lib/assets/icons/arrow_point_down.svg +0 -6
- package/projects/transaction/src/lib/assets/icons/arrow_point_left.svg +0 -8
- package/projects/transaction/src/lib/assets/icons/arrow_point_right.svg +0 -8
- package/projects/transaction/src/lib/assets/icons/article.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/at_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/barcode_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/barcode_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/bars_filter.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/calendar_day.svg +0 -37
- package/projects/transaction/src/lib/assets/icons/calendar_day_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/cancel.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/cart_check.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/cart_flatbed_boxes_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/cart_shopping_solid.svg +0 -5
- package/projects/transaction/src/lib/assets/icons/cash_register.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/credit_card_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/delivery_truck.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/edit_pencil.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/ellipsis_light.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/ellipsis_vertical_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/expand_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/file_circle_info_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/file_export_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/file_export_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/file_pdf_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/file_pdf_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/gear_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/grip_dots_vertical_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/ideal_logo.svg +0 -38
- package/projects/transaction/src/lib/assets/icons/inbox_in_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/list_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/list_view.svg +0 -8
- package/projects/transaction/src/lib/assets/icons/location_dot_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/lock.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_open_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/lock_keyhole_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/magnifier.svg +0 -12
- package/projects/transaction/src/lib/assets/icons/map_marker.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/master_detail.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/memo_circle_check_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/menu.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/message_sms_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/message_sms_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/object_intersect_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/pallet_boxes_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/pdf.svg +0 -15
- package/projects/transaction/src/lib/assets/icons/percent_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/plus_round.svg +0 -9
- package/projects/transaction/src/lib/assets/icons/plus_simple.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/print_regular.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/print_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/purchase.svg +0 -15
- package/projects/transaction/src/lib/assets/icons/resize.svg +0 -3
- package/projects/transaction/src/lib/assets/icons/share_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/shelves_light.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/shelves_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/side_panel.svg +0 -7
- package/projects/transaction/src/lib/assets/icons/slide_in.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/square_full.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/square_full_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/sync_alt.svg +0 -3
- package/projects/transaction/src/lib/assets/icons/tag.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/text_size_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/text_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/thick_lines.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/thin_lines.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/trash_bin.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/trash_can_light.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/triangle_down.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/triangle_up.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/truck.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/truck_arrow_right_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/truck_container_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/truck_fast_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/truck_moving_solid.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/txt.svg +0 -9
- package/projects/transaction/src/lib/assets/icons/unlock.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/warehouse.svg +0 -1
- package/projects/transaction/src/lib/assets/icons/x_solid.svg +0 -1
- package/projects/transaction/src/lib/cache/cache-field.ts +0 -91
- package/projects/transaction/src/lib/cache/parameter-cache-field.ts +0 -63
- package/projects/transaction/src/lib/cache/service/business-object-cache-manager.service.ts +0 -194
- package/projects/transaction/src/lib/cache/service/select-multiple-cache.service.ts +0 -36
- package/projects/transaction/src/lib/cache/service/select-multiple-parameterized-cache.service.ts +0 -46
- package/projects/transaction/src/lib/cache/service/select-single-cache.service.ts +0 -28
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.component.ts +0 -26
- package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.module.ts +0 -19
- package/projects/transaction/src/lib/component/avatar/avatar.component.ts +0 -120
- package/projects/transaction/src/lib/component/avatar/avatar.module.ts +0 -20
- package/projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts +0 -115
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts +0 -50
- package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts +0 -296
- package/projects/transaction/src/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.ts +0 -107
- package/projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts +0 -256
- package/projects/transaction/src/lib/component/checkout/checkout.component.ts +0 -205
- package/projects/transaction/src/lib/component/checkout/checkout.module.ts +0 -144
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts +0 -72
- package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts +0 -23
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.ts +0 -87
- package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.ts +0 -25
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.ts +0 -46
- package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.ts +0 -20
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts +0 -51
- package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts +0 -17
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.component.ts +0 -65
- package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.module.ts +0 -24
- package/projects/transaction/src/lib/component/core/base/dialog-base.component.ts +0 -8
- package/projects/transaction/src/lib/component/core/base/dialog-transaction-base.component.ts +0 -44
- package/projects/transaction/src/lib/component/core/base/dynamic-base-component.ts +0 -8
- package/projects/transaction/src/lib/component/core/base/transaction-base.component.ts +0 -188
- package/projects/transaction/src/lib/component/core/base/transaction-filter-base.component.ts +0 -70
- package/projects/transaction/src/lib/component/core/base/transaction-filter-content-base.component.ts +0 -49
- package/projects/transaction/src/lib/component/core/base/transaction-filter-popup-base.component.ts +0 -113
- package/projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts +0 -54
- package/projects/transaction/src/lib/component/core/base/transaction-header-filter-popup-base.component.ts +0 -124
- package/projects/transaction/src/lib/component/core/base/transaction-input-field-base.component.ts +0 -54
- package/projects/transaction/src/lib/component/core/base/transaction-lines-grid-view-base.component.ts +0 -6
- package/projects/transaction/src/lib/component/core/base/transaction-lines-list-view-base.component.ts +0 -6
- package/projects/transaction/src/lib/component/core/base/transaction-search-grid-base.component.ts +0 -24
- package/projects/transaction/src/lib/component/core/base/transaction-search-tile-base.component.ts +0 -30
- package/projects/transaction/src/lib/component/core/characteristic-answer/characteristic-answer.component.ts +0 -104
- package/projects/transaction/src/lib/component/core/core.module.ts +0 -47
- package/projects/transaction/src/lib/component/core/directive/lazy-render-master.directive.ts +0 -47
- package/projects/transaction/src/lib/component/core/directive/lazy-render.directive.ts +0 -37
- package/projects/transaction/src/lib/component/core/directive/template-wrapper.directive.ts +0 -72
- package/projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts +0 -9
- package/projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts +0 -6
- package/projects/transaction/src/lib/component/core/icon/icon.component.ts +0 -33
- package/projects/transaction/src/lib/component/core/image-display/image-display.component.ts +0 -27
- package/projects/transaction/src/lib/component/core/relation/customer-groups.component.ts +0 -47
- package/projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts +0 -25
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts +0 -48
- package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts +0 -25
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.ts +0 -53
- package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.ts +0 -21
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.component.ts +0 -40
- package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.module.ts +0 -21
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.component.ts +0 -24
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.module.ts +0 -23
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.ts +0 -35
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.ts +0 -70
- package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.ts +0 -27
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.ts +0 -33
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.ts +0 -34
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.ts +0 -93
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.ts +0 -34
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.ts +0 -34
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.ts +0 -34
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.ts +0 -35
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.ts +0 -33
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.ts +0 -26
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.ts +0 -84
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.ts +0 -29
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.ts +0 -42
- package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.ts +0 -26
- package/projects/transaction/src/lib/component/discount/discount.component.ts +0 -120
- package/projects/transaction/src/lib/component/discount/discount.module.ts +0 -26
- package/projects/transaction/src/lib/component/down-payment/down-payment.component.ts +0 -77
- package/projects/transaction/src/lib/component/down-payment/down-payment.module.ts +0 -25
- package/projects/transaction/src/lib/component/editable-label/editable-label.component.ts +0 -74
- package/projects/transaction/src/lib/component/editable-label/editable-label.module.ts +0 -18
- package/projects/transaction/src/lib/component/loader/loader.component.ts +0 -49
- package/projects/transaction/src/lib/component/loader/loader.module.ts +0 -17
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.component.ts +0 -42
- package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.module.ts +0 -26
- package/projects/transaction/src/lib/component/payment/payment.component.ts +0 -264
- package/projects/transaction/src/lib/component/payment/payment.module.ts +0 -36
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.component.ts +0 -24
- package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.module.ts +0 -21
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts +0 -38
- package/projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts +0 -24
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.component.ts +0 -60
- package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.module.ts +0 -25
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.component.ts +0 -113
- package/projects/transaction/src/lib/component/relation/relation-address/relation-address.module.ts +0 -28
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.component.ts +0 -158
- package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.module.ts +0 -32
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.component.ts +0 -70
- package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.module.ts +0 -31
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.component.ts +0 -123
- package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.module.ts +0 -32
- package/projects/transaction/src/lib/component/relation/relation-base.component.ts +0 -33
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.component.ts +0 -65
- package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.module.ts +0 -22
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.component.ts +0 -237
- package/projects/transaction/src/lib/component/relation/relation-general/relation-general.module.ts +0 -25
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.component.ts +0 -64
- package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.module.ts +0 -19
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.ts +0 -28
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.ts +0 -19
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.ts +0 -33
- package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.ts +0 -17
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.component.ts +0 -48
- package/projects/transaction/src/lib/component/relation/relation-type/relation-type.module.ts +0 -21
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts +0 -181
- package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts +0 -40
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts +0 -145
- package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts +0 -27
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts +0 -73
- package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts +0 -25
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.component.ts +0 -190
- package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.module.ts +0 -81
- package/projects/transaction/src/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.ts +0 -508
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts +0 -59
- package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts +0 -27
- package/projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts +0 -45
- package/projects/transaction/src/lib/component/stepper/stepper.component.ts +0 -148
- package/projects/transaction/src/lib/component/stepper/stepper.module.ts +0 -28
- package/projects/transaction/src/lib/component/tile/tile.component.ts +0 -31
- package/projects/transaction/src/lib/component/tile/tile.module.ts +0 -18
- package/projects/transaction/src/lib/component/toast/toast.component.ts +0 -35
- package/projects/transaction/src/lib/component/toast/toast.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction/style/_layout.scss +0 -56
- package/projects/transaction/src/lib/component/transaction/style/material.scss +0 -14
- package/projects/transaction/src/lib/component/transaction/transaction.component.ts +0 -206
- package/projects/transaction/src/lib/component/transaction/transaction.module.ts +0 -68
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.ts +0 -95
- package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.ts +0 -26
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.ts +0 -45
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts +0 -76
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.ts +0 -40
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts +0 -63
- package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts +0 -33
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_layout.scss +0 -12
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_theme.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/material.scss +0 -7
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.component.ts +0 -125
- package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_layout.scss +0 -25
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_theme.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.ts +0 -59
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_layout.scss +0 -66
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_theme.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.ts +0 -68
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.module.ts +0 -31
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_layout.scss +0 -67
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_theme.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.ts +0 -64
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.module.ts +0 -44
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_layout.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_theme.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.module.ts +0 -18
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.ts +0 -148
- package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.ts +0 -40
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts +0 -129
- package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts +0 -38
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.ts +0 -107
- package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.ts +0 -23
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts +0 -31
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts +0 -91
- package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts +0 -102
- package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts +0 -26
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts +0 -119
- package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts +0 -165
- package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts +0 -41
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts +0 -128
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts +0 -45
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts +0 -30
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts +0 -118
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts +0 -33
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts +0 -235
- package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts +0 -43
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.ts +0 -60
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.component.ts +0 -76
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.component.ts +0 -41
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.component.ts +0 -46
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.component.ts +0 -94
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.ts +0 -77
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.component.ts +0 -50
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.ts +0 -50
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.ts +0 -47
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.ts +0 -93
- package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.ts +0 -67
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.ts +0 -115
- package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.ts +0 -35
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.component.ts +0 -143
- package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.module.ts +0 -20
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.ts +0 -70
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.ts +0 -178
- package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.ts +0 -41
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.ts +0 -95
- package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.ts +0 -60
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.ts +0 -105
- package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.ts +0 -44
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.ts +0 -73
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.ts +0 -130
- package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.ts +0 -46
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.ts +0 -224
- package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.ts +0 -30
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.ts +0 -58
- package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.ts +0 -23
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.component.ts +0 -46
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.module.ts +0 -19
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.module.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.module.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.module.ts +0 -22
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts +0 -55
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.component.ts +0 -58
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.module.ts +0 -22
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.ts +0 -34
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.ts +0 -22
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts +0 -56
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.component.ts +0 -61
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.module.ts +0 -22
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.component.ts +0 -53
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.module.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.ts +0 -90
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts +0 -35
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts +0 -47
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts +0 -49
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.module.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.component.ts +0 -56
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.component.ts +0 -56
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.module.ts +0 -23
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.component.ts +0 -55
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.module.ts +0 -20
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts +0 -45
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts +0 -26
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.ts +0 -61
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.ts +0 -22
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.ts +0 -57
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.ts +0 -20
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.ts +0 -46
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts +0 -48
- package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts +0 -25
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts +0 -20
- package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts +0 -19
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.ts +0 -102
- package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.ts +0 -26
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts +0 -125
- package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts +0 -43
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts +0 -120
- package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts +0 -58
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts +0 -123
- package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts +0 -39
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.ts +0 -85
- package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.ts +0 -30
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.ts +0 -110
- package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts +0 -180
- package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts +0 -30
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts +0 -107
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts +0 -42
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.ts +0 -68
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts +0 -41
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.ts +0 -120
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.ts +0 -54
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.ts +0 -26
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts +0 -139
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts +0 -29
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/material.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.ts +0 -133
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +0 -4
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts +0 -96
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts +0 -31
- package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.ts +0 -132
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts +0 -90
- package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts +0 -28
- package/projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts +0 -194
- package/projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts +0 -134
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.ts +0 -119
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.ts +0 -40
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.ts +0 -51
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.ts +0 -38
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts +0 -44
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.ts +0 -25
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.ts +0 -155
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.ts +0 -249
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.ts +0 -33
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.ts +0 -246
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.ts +0 -38
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.ts +0 -145
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.ts +0 -248
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.ts +0 -33
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.ts +0 -274
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.ts +0 -38
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.ts +0 -70
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.ts +0 -24
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.ts +0 -71
- package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.ts +0 -104
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.ts +0 -80
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.ts +0 -23
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.ts +0 -80
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.ts +0 -25
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.ts +0 -135
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.ts +0 -25
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts +0 -136
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts +0 -42
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.ts +0 -65
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.ts +0 -72
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.ts +0 -30
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.ts +0 -118
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.ts +0 -17
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.ts +0 -90
- package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.ts +0 -21
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts +0 -166
- package/projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts +0 -34
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.ts +0 -143
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/confirm-request.component.ts +0 -0
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.ts +0 -207
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.ts +0 -63
- package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.ts +0 -42
- package/projects/transaction/src/lib/component/transaction-tile/style/_material-definition.scss +0 -0
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.component.ts +0 -117
- package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.module.ts +0 -27
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts +0 -55
- package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts +0 -23
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts +0 -63
- package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts +0 -21
- package/projects/transaction/src/lib/enum/content-view-mode.enum.ts +0 -9
- package/projects/transaction/src/lib/enum/direction.enum.ts +0 -7
- package/projects/transaction/src/lib/enum/icon.enum.ts +0 -83
- package/projects/transaction/src/lib/enum/language-code.enum.ts +0 -6
- package/projects/transaction/src/lib/enum/order-discount-type.enum.ts +0 -5
- package/projects/transaction/src/lib/enum/position-grid-row.enum.ts +0 -4
- package/projects/transaction/src/lib/enum/search-view-mode.enum.ts +0 -5
- package/projects/transaction/src/lib/enum/searchbar-view-mode.enum.ts +0 -5
- package/projects/transaction/src/lib/enum/status-type.enum.ts +0 -5
- package/projects/transaction/src/lib/enum/time-size.type.ts +0 -8
- package/projects/transaction/src/lib/enum/transaction-type-category.enum.ts +0 -15
- package/projects/transaction/src/lib/interface/dialog-response.interface.ts +0 -6
- package/projects/transaction/src/lib/model/Settings.ts +0 -20
- package/projects/transaction/src/lib/model/article-characteristic-text-question-answer.ts +0 -8
- package/projects/transaction/src/lib/model/delivery-type.ts +0 -8
- package/projects/transaction/src/lib/model/down-payment-view-model.ts +0 -13
- package/projects/transaction/src/lib/model/extended-transaction-line-view-model.ts +0 -12
- package/projects/transaction/src/lib/model/filter-item.viewmodel.ts +0 -13
- package/projects/transaction/src/lib/model/filter-viewmodel.ts +0 -11
- package/projects/transaction/src/lib/model/icon-svg.ts +0 -83
- package/projects/transaction/src/lib/model/payment.viewmodel.ts +0 -10
- package/projects/transaction/src/lib/model/received-goods-view-model.ts +0 -17
- package/projects/transaction/src/lib/model/relation-any-type.ts +0 -5
- package/projects/transaction/src/lib/model/standard-text.ts +0 -5
- package/projects/transaction/src/lib/model/text-value-container.ts +0 -4
- package/projects/transaction/src/lib/model/transaction-bar-button.ts +0 -11
- package/projects/transaction/src/lib/model/transaction-search-result.ts +0 -6
- package/projects/transaction/src/lib/pipe/append.pipe.ts +0 -17
- package/projects/transaction/src/lib/pipe/co-currency.pipe.ts +0 -45
- package/projects/transaction/src/lib/pipe/date-duration.pipe.ts +0 -51
- package/projects/transaction/src/lib/pipe/delivery-time.pipe.ts +0 -34
- package/projects/transaction/src/lib/pipe/localize.pipe.ts +0 -23
- package/projects/transaction/src/lib/pipe/pipe.module.ts +0 -34
- package/projects/transaction/src/lib/pipe/safe-html.pipe.ts +0 -14
- package/projects/transaction/src/lib/pipe/safe-style.pipe.ts +0 -14
- package/projects/transaction/src/lib/provider/token/all-icons.token.ts +0 -4
- package/projects/transaction/src/lib/service/article-connector.service.ts +0 -93
- package/projects/transaction/src/lib/service/article.service.ts +0 -22
- package/projects/transaction/src/lib/service/dialog.service.ts +0 -143
- package/projects/transaction/src/lib/service/dictionary.service.ts +0 -86
- package/projects/transaction/src/lib/service/dynamic-component.service.ts +0 -101
- package/projects/transaction/src/lib/service/error.service.ts +0 -63
- package/projects/transaction/src/lib/service/icon-cache.service.ts +0 -51
- package/projects/transaction/src/lib/service/options.service.ts +0 -66
- package/projects/transaction/src/lib/service/payment.service.ts +0 -93
- package/projects/transaction/src/lib/service/pending-reason.service.ts +0 -323
- package/projects/transaction/src/lib/service/relation-connector.service.ts +0 -202
- package/projects/transaction/src/lib/service/relation.service.ts +0 -168
- package/projects/transaction/src/lib/service/shared-connector.service.ts +0 -47
- package/projects/transaction/src/lib/service/shared.service.ts +0 -40
- package/projects/transaction/src/lib/service/transaction-connector-adapter.service.ts +0 -1695
- package/projects/transaction/src/lib/service/transaction-connector.service.ts +0 -648
- package/projects/transaction/src/lib/service/transaction-event.service.ts +0 -35
- package/projects/transaction/src/lib/service/transaction-image.service.ts +0 -42
- package/projects/transaction/src/lib/service/transaction-initializer.service.ts +0 -29
- package/projects/transaction/src/lib/service/transaction-mapping.service.ts +0 -230
- package/projects/transaction/src/lib/service/transaction.service.ts +0 -848
- package/projects/transaction/src/public_api.ts +0 -50
- package/projects/transaction/src/test.ts +0 -25
- package/projects/transaction/tsconfig.lib.json +0 -20
- package/projects/transaction/tsconfig.lib.prod.json +0 -16
- package/projects/transaction/tsconfig.spec.json +0 -17
- package/publish.bat +0 -7
- package/script/merge-icons.js +0 -39
- package/src/app/app-transaction.component.ts +0 -18
- package/src/app/app.component.scss +0 -45
- package/src/app/app.component.ts +0 -327
- package/src/app/app.module.ts +0 -62
- package/src/environments/environment.prod.ts +0 -3
- package/src/environments/environment.ts +0 -16
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -15
- package/src/main.ts +0 -14
- package/src/polyfills.ts +0 -63
- package/src/styles.scss +0 -93
- package/src/test.ts +0 -25
- package/src/transaction.unit.test.ts +0 -60
- package/tsconfig.app.json +0 -15
- package/tsconfig.json +0 -42
- package/tsconfig.spec.json +0 -18
- package/webpack.config.js +0 -18
|
@@ -0,0 +1,1830 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
|
|
4
|
+
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
|
|
5
|
+
import { Country } from "@colijnit/transactionapi/build/model/country.bo";
|
|
6
|
+
import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
|
|
7
|
+
import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
|
|
8
|
+
import { GetPostalCodeRetrievalOutputParams } from "@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params";
|
|
9
|
+
import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
|
|
10
|
+
import { Transaction } from "@colijnit/transactionapi/build/transaction";
|
|
11
|
+
import { StandardText } from "../model/standard-text";
|
|
12
|
+
import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
|
|
13
|
+
import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
|
|
14
|
+
import { OptionsService } from "./options.service";
|
|
15
|
+
import { CashRegister } from "@colijnit/transactionapi/build/model/cash-register";
|
|
16
|
+
import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
|
|
17
|
+
import { Vat } from "@colijnit/transactionapi/build/model/vat";
|
|
18
|
+
import { TransactionSearchView } from "@colijnit/transactionapi/build/model/transaction-search-view.bo";
|
|
19
|
+
import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
|
|
20
|
+
import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
|
|
21
|
+
import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
|
|
22
|
+
import { GoodsReceiptStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo";
|
|
23
|
+
import { PaymentMethod } from "@colijnit/transactionapi/build/model/payment-method.bo";
|
|
24
|
+
import { PurchasePortalLine } from "@colijnit/transactionapi/build/model/purchase-portal-line.bo";
|
|
25
|
+
import { CreatePaymentLinkResult } from "@colijnit/transactionapi/build/model/create-payment-link-result.bo";
|
|
26
|
+
import { TransactionSearchResult } from "../model/transaction-search-result";
|
|
27
|
+
import { PaymentLinkStatus } from "@colijnit/transactionapi/build/model/payment-link-status.bo";
|
|
28
|
+
import { SelectMultipleCacheService } from "../cache/service/select-multiple-cache.service";
|
|
29
|
+
import { SelectMultipleParameterizedCacheService } from "../cache/service/select-multiple-parameterized-cache.service";
|
|
30
|
+
import { ErrorService } from "./error.service";
|
|
31
|
+
import { TransactionDownPaymentInfo } from "@colijnit/transactionapi/build/model/transaction-down-payment-info.bo";
|
|
32
|
+
import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
|
|
33
|
+
import { PrivacySetting } from "@colijnit/mainapi/build/model/privacy-setting.bo";
|
|
34
|
+
import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
|
|
35
|
+
import { BusinessObjectFactory } from "@colijnit/ioneconnector/build/factory/business-object-factory";
|
|
36
|
+
import { ImageUtils } from "@colijnit/ioneconnector/build/utils/image-utils";
|
|
37
|
+
import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
|
|
38
|
+
import { Tag } from "@colijnit/mainapi/build/model/tag";
|
|
39
|
+
import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
|
|
40
|
+
import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
|
|
41
|
+
import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
|
|
42
|
+
import { Sharedapi } from "@colijnit/sharedapi/build/sharedapi";
|
|
43
|
+
import { AvailableStock } from "@colijnit/transactionapi/build/model/available-stock.bo";
|
|
44
|
+
import { GoodsAllocationStatus } from "@colijnit/transactionapi/build/model/goods-allocation-status.bo";
|
|
45
|
+
import { GoodsAllocationStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo";
|
|
46
|
+
import { ReportLayoutSelectionEmail } from "@colijnit/mainapi/build/model/report-layout-selection-email.bo";
|
|
47
|
+
import { ReportLayoutSelectionPrint } from "@colijnit/mainapi/build/model/report-layout-selection-print.bo";
|
|
48
|
+
import { PurchaseAdviceLine } from "@colijnit/transactionapi/build/model/purchase-advice-line.bo";
|
|
49
|
+
import * as i0 from "@angular/core";
|
|
50
|
+
import * as i1 from "./options.service";
|
|
51
|
+
import * as i2 from "../cache/service/select-multiple-cache.service";
|
|
52
|
+
import * as i3 from "../cache/service/select-multiple-parameterized-cache.service";
|
|
53
|
+
import * as i4 from "./error.service";
|
|
54
|
+
export class TransactionConnectorAdapterService {
|
|
55
|
+
constructor(_optionsService, _selectMultipleCacheService, _selectMultipleParameterizedCacheService, _errorService) {
|
|
56
|
+
this._optionsService = _optionsService;
|
|
57
|
+
this._selectMultipleCacheService = _selectMultipleCacheService;
|
|
58
|
+
this._selectMultipleParameterizedCacheService = _selectMultipleParameterizedCacheService;
|
|
59
|
+
this._errorService = _errorService;
|
|
60
|
+
this._boFactory = new BusinessObjectFactory();
|
|
61
|
+
}
|
|
62
|
+
connect() {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
this.connector = new Transaction(this._optionsService.options);
|
|
65
|
+
this.sharedConnector = new Sharedapi(this._optionsService.options);
|
|
66
|
+
this._optionsService.options.session = this.connector.session;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
getArticleFullObject(goodId) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const result = yield this.connector.getArticleFullObject(goodId);
|
|
72
|
+
if (result.validationResult && result.validationResult.success) {
|
|
73
|
+
return this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this._handleExceptionFromResponse(result);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getGoodIdFromArticleNr(articleNr) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const result = yield this.connector.getGoodIdFromArticleNr(articleNr);
|
|
84
|
+
if (result.validationResult && result.validationResult.success) {
|
|
85
|
+
return result.resultObject;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this._handleExceptionFromResponse(result);
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
getSingleImage(nodeId, publication, includeMimetype, thumb) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const result = yield this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb);
|
|
96
|
+
if (result.validationResult && result.validationResult.success) {
|
|
97
|
+
if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== "") {
|
|
98
|
+
return ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
if (result.resultObject) {
|
|
102
|
+
if (includeMimetype) {
|
|
103
|
+
return ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
|
|
104
|
+
}
|
|
105
|
+
return thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody;
|
|
106
|
+
}
|
|
107
|
+
else { // no image
|
|
108
|
+
return "";
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this._handleExceptionFromResponse(result);
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
getCountries() {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const result = yield this.connector.getCountries();
|
|
121
|
+
if (result.validationResult && result.validationResult.success) {
|
|
122
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(Country, result.resultObjects);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this._handleExceptionFromResponse(result);
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
getCustomerGroups() {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const result = yield this.connector.getCustomerGroups();
|
|
133
|
+
if (result.validationResult && result.validationResult.success) {
|
|
134
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(CustomerGroup, result.resultObjects);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this._handleExceptionFromResponse(result);
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
getCountry(countryCode) {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
const countries = yield this.getCountries();
|
|
145
|
+
return countries.find(country => country.code === countryCode);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
getPrivacySettings() {
|
|
149
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
const result = yield this.connector.getPrivacySettings();
|
|
151
|
+
if (result.validationResult && result.validationResult.success) {
|
|
152
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(PrivacySetting, result.resultObjects);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this._handleExceptionFromResponse(result);
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
getRelationPrivacySettings() {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
const privacySettings = [];
|
|
163
|
+
const basePrivacySettings = yield this.getPrivacySettings();
|
|
164
|
+
for (let i = 0, len = basePrivacySettings.length; i < len; i++) {
|
|
165
|
+
const basePrivSetting = basePrivacySettings[i];
|
|
166
|
+
const newRelPrivSet = this._boFactory.instantiateNewBo(RelationPrivacySetting);
|
|
167
|
+
newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);
|
|
168
|
+
privacySettings.push(newRelPrivSet);
|
|
169
|
+
}
|
|
170
|
+
return privacySettings;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
getMarketingCodes() {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const result = yield this.connector.getMarketingCodes();
|
|
176
|
+
if (result.validationResult && result.validationResult.success) {
|
|
177
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(Marketing, result.resultObjects);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this._handleExceptionFromResponse(result);
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
getArticleBoundTextLinesOfArticleLine(articleLineUuid) {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
const result = yield this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);
|
|
188
|
+
if (result.validationResult && result.validationResult.success) {
|
|
189
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
this._handleExceptionFromResponse(result);
|
|
193
|
+
return [];
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
getTransactionByNrAndKind(kind, transactionNo) {
|
|
198
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
const result = yield this.connector.getTransactionByNrAndKind(kind, transactionNo);
|
|
200
|
+
if (result.validationResult && result.validationResult.success) {
|
|
201
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
this._handleExceptionFromResponse(result);
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
getTransactionById(transactionId) {
|
|
210
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
+
const result = yield this.connector.getTransactionById(transactionId);
|
|
212
|
+
if (result.validationResult && result.validationResult.success) {
|
|
213
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
this._handleExceptionFromResponse(result);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
lockTransactionById(transactionId, version) {
|
|
222
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
223
|
+
const result = yield this.connector.lockTransactionByTransId(transactionId, version);
|
|
224
|
+
if (result.validationResult && result.validationResult.success) {
|
|
225
|
+
return this._boFactory.makeWithRawBackendData(TransactionLockResult, result.resultObject);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
this._handleExceptionFromResponse(result);
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
getCashRegisters(branch, group) {
|
|
234
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
235
|
+
const result = yield this.connector.getCashRegister(branch, group);
|
|
236
|
+
if (result.validationResult && result.validationResult.success) {
|
|
237
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, result.resultObjects);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this._handleExceptionFromResponse(result);
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
getPriceLists(code) {
|
|
246
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
247
|
+
const result = yield this.connector.getPriceLists(code);
|
|
248
|
+
if (result.validationResult && result.validationResult.success) {
|
|
249
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, result.resultObjects);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
this._handleExceptionFromResponse(result);
|
|
253
|
+
return [];
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
getVatList(onlyValid = false) {
|
|
258
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
+
const result = yield this.connector.getVatList(onlyValid);
|
|
260
|
+
if (result.validationResult && result.validationResult.success) {
|
|
261
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, result.resultObjects);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
this._handleExceptionFromResponse(result);
|
|
265
|
+
return [];
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
searchTransactions(request) {
|
|
270
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
271
|
+
const response = yield this.connector.searchTransactions(request);
|
|
272
|
+
if (response.validationResult && response.validationResult.success) {
|
|
273
|
+
const result = new TransactionSearchResult();
|
|
274
|
+
result.count = response.pagingParameters.resultCount; // todo: fix property in api
|
|
275
|
+
result.transactions = this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects);
|
|
276
|
+
return result;
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
this._handleExceptionFromResponse(response);
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
getSequenceValue(sequenceName) {
|
|
285
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
286
|
+
return new Promise((resolve, reject) => {
|
|
287
|
+
return this.connector.getSequenceValue(sequenceName).then((result) => {
|
|
288
|
+
if (result.validationResult && result.validationResult.success) {
|
|
289
|
+
resolve(result.resultObject);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
this._handleExceptionFromResponse(result);
|
|
293
|
+
reject(null);
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
getDeliveryMethods() {
|
|
300
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
301
|
+
const result = yield this.connector.getDeliveryMethods();
|
|
302
|
+
if (result.validationResult && result.validationResult.success) {
|
|
303
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
this._handleExceptionFromResponse(result);
|
|
307
|
+
return [];
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
getDeliveryOptions() {
|
|
312
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
313
|
+
const result = yield this.connector.getDeliveryOptions();
|
|
314
|
+
if (result.validationResult && result.validationResult.success) {
|
|
315
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryOption, result.resultObjects);
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
this._handleExceptionFromResponse(result);
|
|
319
|
+
return [];
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
getPostalCodeRetrieval(postcalCode, houseNo) {
|
|
324
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
325
|
+
const result = yield this.connector.getPostalCodeRetrieval(postcalCode, houseNo);
|
|
326
|
+
if (result.validationResult && result.validationResult.success) {
|
|
327
|
+
if (result.validationResult && result.validationResult.success) {
|
|
328
|
+
const outputParams = new GetPostalCodeRetrievalOutputParams();
|
|
329
|
+
outputParams.city = result.resultObject.city;
|
|
330
|
+
outputParams.street = result.resultObject.street;
|
|
331
|
+
outputParams.status = result.resultObject.status;
|
|
332
|
+
outputParams.netNumber = result.resultObject.netNumber;
|
|
333
|
+
return outputParams;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
this._handleExceptionFromResponse(result);
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
getCommissionCodes(languageCode) {
|
|
343
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
344
|
+
const result = yield this.connector.getCommissionCodes(languageCode);
|
|
345
|
+
if (result.validationResult && result.validationResult.success) {
|
|
346
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
this._handleExceptionFromResponse(result);
|
|
350
|
+
return [];
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
getInOutCollection(languageCode) {
|
|
355
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
356
|
+
const result = yield this.connector.getInOutCollection(languageCode);
|
|
357
|
+
if (result.validationResult && result.validationResult.success) {
|
|
358
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
this._handleExceptionFromResponse(result);
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
getTransactionArticleWarehouses(goodId) {
|
|
367
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
368
|
+
return new Promise((resolve, reject) => {
|
|
369
|
+
return this.connector.getTransactionArticleWarehouses(goodId).then((result) => {
|
|
370
|
+
if (result.validationResult && result.validationResult.success) {
|
|
371
|
+
resolve(result.resultObjects);
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
this._handleExceptionFromResponse(result);
|
|
375
|
+
reject([]);
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
});
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
getTextTypes(languageCode) {
|
|
382
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
383
|
+
const result = yield this.connector.getTextTypes(languageCode);
|
|
384
|
+
if (result.validationResult && result.validationResult.success) {
|
|
385
|
+
const texts = this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
|
|
386
|
+
texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);
|
|
387
|
+
return texts;
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
this._handleExceptionFromResponse(result);
|
|
391
|
+
return [];
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
getStandardTexts(languageCode) {
|
|
396
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
397
|
+
const result = yield this.connector.getStandardTexts(languageCode);
|
|
398
|
+
if (result.validationResult && result.validationResult.success) {
|
|
399
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject);
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
this._handleExceptionFromResponse(result);
|
|
403
|
+
return [];
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
getSalesPersons(date) {
|
|
408
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
+
const result = yield this.connector.getSalesPersons(date);
|
|
410
|
+
if (result.validationResult && result.validationResult.success) {
|
|
411
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects);
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
this._handleExceptionFromResponse(result);
|
|
415
|
+
return [];
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
getTags(category) {
|
|
420
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
421
|
+
const result = yield this.connector.getTags(category);
|
|
422
|
+
if (result.validationResult && result.validationResult.success) {
|
|
423
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
this._handleExceptionFromResponse(result);
|
|
427
|
+
return [];
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
getOnHoldCodes() {
|
|
432
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
433
|
+
const result = yield this.connector.getOnHoldCodes();
|
|
434
|
+
if (result.validationResult && result.validationResult.success) {
|
|
435
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects);
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
this._handleExceptionFromResponse(result);
|
|
439
|
+
return [];
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
getWarehouses(branchNr) {
|
|
444
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
445
|
+
const result = yield this.connector.getWarehouses(branchNr);
|
|
446
|
+
if (result.validationResult && result.validationResult.success) {
|
|
447
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects);
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
this._handleExceptionFromResponse(result);
|
|
451
|
+
return [];
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
getHistoricStateValues() {
|
|
456
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
457
|
+
const result = yield this.connector.getHistoricStateValues();
|
|
458
|
+
if (result.validationResult && result.validationResult.success) {
|
|
459
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects);
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
this._handleExceptionFromResponse(result);
|
|
463
|
+
return [];
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
getPaymentMethods() {
|
|
468
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
469
|
+
const result = yield this.connector.getPaymentMethodsForSalesOrder();
|
|
470
|
+
if (result.validationResult && result.validationResult.success) {
|
|
471
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(PaymentMethod, result.resultObject);
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
this._handleExceptionFromResponse(result);
|
|
475
|
+
return [];
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
commit() {
|
|
480
|
+
return new Promise((resolve, reject) => {
|
|
481
|
+
return this.connector.commit().then((result) => {
|
|
482
|
+
if (result) {
|
|
483
|
+
resolve(true);
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
this._handleExceptionFromResponse(result);
|
|
487
|
+
reject(null);
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
rollback() {
|
|
493
|
+
return new Promise((resolve, reject) => {
|
|
494
|
+
return this.connector.rollback().then((result) => {
|
|
495
|
+
if (result) {
|
|
496
|
+
resolve(true);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
this._handleExceptionFromResponse(result);
|
|
500
|
+
reject(null);
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
createTransaction(kind, branchNr) {
|
|
506
|
+
return new Promise((resolve, reject) => {
|
|
507
|
+
return this.connector.createTransaction(kind, branchNr).then((result) => {
|
|
508
|
+
if (result.validationResult && result.validationResult.success) {
|
|
509
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
this._handleExceptionFromResponse(result);
|
|
513
|
+
reject(null);
|
|
514
|
+
}
|
|
515
|
+
});
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
createSalesOrder(request) {
|
|
519
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
520
|
+
return new Promise((resolve, reject) => {
|
|
521
|
+
return this.connector.createSalesOrder(request).then((result) => {
|
|
522
|
+
if (result.validationResult && result.validationResult.success) {
|
|
523
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
this._handleExceptionFromResponse(result);
|
|
527
|
+
reject(null);
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
});
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
createCashRegisterOrder(request) {
|
|
534
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
535
|
+
return new Promise((resolve, reject) => {
|
|
536
|
+
return this.connector.createCashRegisterOrder(request).then((result) => {
|
|
537
|
+
if (result.validationResult && result.validationResult.success) {
|
|
538
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
539
|
+
}
|
|
540
|
+
else {
|
|
541
|
+
this._handleExceptionFromResponse(result);
|
|
542
|
+
reject(null);
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
});
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
createPurchaseOrder(request) {
|
|
549
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
550
|
+
return new Promise((resolve, reject) => {
|
|
551
|
+
return this.connector.createPurchaseOrder(request).then((result) => {
|
|
552
|
+
if (result.validationResult && result.validationResult.success) {
|
|
553
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
this._handleExceptionFromResponse(result);
|
|
557
|
+
reject(null);
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
});
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
createServiceOrder(request) {
|
|
564
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
565
|
+
return new Promise((resolve, reject) => {
|
|
566
|
+
return this.connector.createServiceOrder(request).then((result) => {
|
|
567
|
+
if (result.validationResult && result.validationResult.success) {
|
|
568
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
this._handleExceptionFromResponse(result);
|
|
572
|
+
reject(null);
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
});
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
createSalesQuotation(request) {
|
|
579
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
580
|
+
return new Promise((resolve, reject) => {
|
|
581
|
+
return this.connector.createSalesQuotation(request).then((result) => {
|
|
582
|
+
if (result.validationResult && result.validationResult.success) {
|
|
583
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
this._handleExceptionFromResponse(result);
|
|
587
|
+
reject(null);
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
saveTransaction(uuid) {
|
|
594
|
+
return new Promise((resolve, reject) => {
|
|
595
|
+
return this.connector.saveTransaction(uuid).then((result) => {
|
|
596
|
+
if (result.validationResult && result.validationResult.success) {
|
|
597
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
this._handleExceptionFromResponse(result);
|
|
601
|
+
reject(null);
|
|
602
|
+
}
|
|
603
|
+
});
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
setRelationByUser(uuid, username, password) {
|
|
607
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
608
|
+
return new Promise((resolve, reject) => {
|
|
609
|
+
return this.connector.setRelationByUser(uuid, username, password).then((result) => {
|
|
610
|
+
if (result.validationResult && result.validationResult.success) {
|
|
611
|
+
resolve(result.validationResult.success);
|
|
612
|
+
}
|
|
613
|
+
else {
|
|
614
|
+
this._handleExceptionFromResponse(result);
|
|
615
|
+
reject(false);
|
|
616
|
+
}
|
|
617
|
+
});
|
|
618
|
+
});
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
resolvePendingHeaderReason(pendingHeaderValues) {
|
|
622
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
623
|
+
return new Promise((resolve, reject) => {
|
|
624
|
+
return this.connector.resolvePendingHeaderReason(pendingHeaderValues).then((result) => {
|
|
625
|
+
if (result.validationResult && result.validationResult.success) {
|
|
626
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
this._handleExceptionFromResponse(result);
|
|
630
|
+
reject(null);
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
});
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
resolvePendingLineReason(pendingLineValues) {
|
|
637
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
638
|
+
return new Promise((resolve, reject) => {
|
|
639
|
+
return this.connector.resolvePendingLineReason(pendingLineValues).then((result) => {
|
|
640
|
+
if (result.validationResult && result.validationResult.success) {
|
|
641
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
this._handleExceptionFromResponse(result);
|
|
645
|
+
reject(null);
|
|
646
|
+
}
|
|
647
|
+
});
|
|
648
|
+
});
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
addTransactionLine(uuid, articleLine, articleNo, amount, isReturn, aboveLineNr, belowLineNr) {
|
|
652
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
653
|
+
return new Promise((resolve, reject) => {
|
|
654
|
+
return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, isReturn, aboveLineNr, belowLineNr).then((result) => {
|
|
655
|
+
if (result.validationResult && result.validationResult.success) {
|
|
656
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
657
|
+
}
|
|
658
|
+
else {
|
|
659
|
+
this._handleExceptionFromResponse(result);
|
|
660
|
+
reject(null);
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
});
|
|
664
|
+
});
|
|
665
|
+
}
|
|
666
|
+
addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
|
|
667
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
668
|
+
return new Promise((resolve, reject) => {
|
|
669
|
+
return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result) => {
|
|
670
|
+
if (result.validationResult && result.validationResult.success) {
|
|
671
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
672
|
+
}
|
|
673
|
+
else {
|
|
674
|
+
this._handleExceptionFromResponse(result);
|
|
675
|
+
reject(null);
|
|
676
|
+
}
|
|
677
|
+
});
|
|
678
|
+
});
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
addRelationToTransaction(uuid, relationId) {
|
|
682
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
683
|
+
return new Promise((resolve, reject) => {
|
|
684
|
+
return this.connector.addRelationToTransaction(uuid, relationId).then((result) => {
|
|
685
|
+
if (result.validationResult && result.validationResult.success) {
|
|
686
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
this._handleExceptionFromResponse(result);
|
|
690
|
+
reject(null);
|
|
691
|
+
}
|
|
692
|
+
});
|
|
693
|
+
});
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
setTransactionDeliveryOptions(transactionDeliveryOptionsRequest) {
|
|
697
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
698
|
+
return new Promise((resolve, reject) => {
|
|
699
|
+
return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result) => {
|
|
700
|
+
if (result.validationResult && result.validationResult.success) {
|
|
701
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
702
|
+
}
|
|
703
|
+
else {
|
|
704
|
+
this._handleExceptionFromResponse(result);
|
|
705
|
+
reject(null);
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
});
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr) {
|
|
712
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
713
|
+
return new Promise((resolve, reject) => {
|
|
714
|
+
const request = {
|
|
715
|
+
transactionUuid: uuid,
|
|
716
|
+
lineUuid: lineUuid,
|
|
717
|
+
aboveLineNr: aboveLineNr,
|
|
718
|
+
belowLineNr: belowLineNr
|
|
719
|
+
};
|
|
720
|
+
return this.connector.changeLineSequence(request).then((result) => {
|
|
721
|
+
if (result.validationResult && result.validationResult.success) {
|
|
722
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
723
|
+
}
|
|
724
|
+
else {
|
|
725
|
+
this._handleExceptionFromResponse(result);
|
|
726
|
+
reject(null);
|
|
727
|
+
}
|
|
728
|
+
});
|
|
729
|
+
});
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
cancelAddTransactionLine(lineUuid) {
|
|
733
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
734
|
+
return new Promise((resolve, reject) => {
|
|
735
|
+
return this.connector.cancelAddTransactionLine(lineUuid).then((result) => {
|
|
736
|
+
if (result.validationResult && result.validationResult.success) {
|
|
737
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
this._handleExceptionFromResponse(result);
|
|
741
|
+
reject(null);
|
|
742
|
+
}
|
|
743
|
+
});
|
|
744
|
+
});
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
deleteTransactionLine(uuid, lineUuid) {
|
|
748
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
749
|
+
return new Promise((resolve, reject) => {
|
|
750
|
+
return this.connector.deleteTransactionLine(uuid, lineUuid).then((result) => {
|
|
751
|
+
if (result.validationResult && result.validationResult.success) {
|
|
752
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
this._handleExceptionFromResponse(result);
|
|
756
|
+
reject(null);
|
|
757
|
+
}
|
|
758
|
+
});
|
|
759
|
+
});
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
changeTransactionLineQuantity(uuid, lineUuid, newQuantity) {
|
|
763
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
764
|
+
return new Promise((resolve, reject) => {
|
|
765
|
+
const request = {
|
|
766
|
+
transactionUuid: uuid,
|
|
767
|
+
lineUuid: lineUuid,
|
|
768
|
+
newQuantity: newQuantity
|
|
769
|
+
};
|
|
770
|
+
return this.connector.changeTransactionLineQuantity(request).then((result) => {
|
|
771
|
+
if (result.validationResult && result.validationResult.success) {
|
|
772
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
this._handleExceptionFromResponse(result);
|
|
776
|
+
reject(null);
|
|
777
|
+
}
|
|
778
|
+
});
|
|
779
|
+
});
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
changeTransactionLineCommissionCode(uuid, lineUuid, code) {
|
|
783
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
784
|
+
const request = {
|
|
785
|
+
transactionUuid: uuid,
|
|
786
|
+
lineUuid: lineUuid,
|
|
787
|
+
newCommissionCode: code
|
|
788
|
+
};
|
|
789
|
+
const response = yield this.connector.changeTransactionLineCommissionCode(request);
|
|
790
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
791
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
792
|
+
}
|
|
793
|
+
else {
|
|
794
|
+
this._handleExceptionFromResponse(response);
|
|
795
|
+
return null;
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
changeTransactionLineSupplier(uuid, lineUuid, id) {
|
|
800
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
801
|
+
const request = {
|
|
802
|
+
transactionUuid: uuid,
|
|
803
|
+
lineUuid: lineUuid,
|
|
804
|
+
newSupplierId: id
|
|
805
|
+
};
|
|
806
|
+
const response = yield this.connector.changeTransactionLineSupplier(request);
|
|
807
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
808
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
this._handleExceptionFromResponse(response);
|
|
812
|
+
return null;
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber) {
|
|
817
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
818
|
+
const request = {
|
|
819
|
+
transactionUuid: uuid,
|
|
820
|
+
lineUuid: lineUuid,
|
|
821
|
+
newWarehouseNumber: warehouseNumber
|
|
822
|
+
};
|
|
823
|
+
const response = yield this.connector.changeTransactionLineWarehouse(request);
|
|
824
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
825
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
826
|
+
}
|
|
827
|
+
else {
|
|
828
|
+
this._handleExceptionFromResponse(response);
|
|
829
|
+
return null;
|
|
830
|
+
}
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
changeTransactionLinePrice(uuid, lineUuid, price) {
|
|
834
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
835
|
+
const request = {
|
|
836
|
+
transactionUuid: uuid,
|
|
837
|
+
lineUuid: lineUuid,
|
|
838
|
+
newPrice: price
|
|
839
|
+
};
|
|
840
|
+
const response = yield this.connector.changeTransactionLinePrice(request);
|
|
841
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
842
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
843
|
+
}
|
|
844
|
+
else {
|
|
845
|
+
this._handleExceptionFromResponse(response);
|
|
846
|
+
return null;
|
|
847
|
+
}
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
changeTransactionLinePriceList(uuid, lineUuid, priceList) {
|
|
851
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
852
|
+
const request = {
|
|
853
|
+
transactionUuid: uuid,
|
|
854
|
+
lineUuid: lineUuid,
|
|
855
|
+
newPriceListCode: priceList
|
|
856
|
+
};
|
|
857
|
+
const response = yield this.connector.changeTransactionLinePriceList(request);
|
|
858
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
859
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
860
|
+
}
|
|
861
|
+
else {
|
|
862
|
+
this._handleExceptionFromResponse(response);
|
|
863
|
+
return null;
|
|
864
|
+
}
|
|
865
|
+
});
|
|
866
|
+
}
|
|
867
|
+
changeTransactionLineVat(uuid, lineUuid, id) {
|
|
868
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
869
|
+
const request = {
|
|
870
|
+
transactionUuid: uuid,
|
|
871
|
+
lineUuid: lineUuid,
|
|
872
|
+
newVatId: id
|
|
873
|
+
};
|
|
874
|
+
const response = yield this.connector.changeTransactionLineVat(request);
|
|
875
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
876
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
877
|
+
}
|
|
878
|
+
else {
|
|
879
|
+
this._handleExceptionFromResponse(response);
|
|
880
|
+
return null;
|
|
881
|
+
}
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code) {
|
|
885
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
886
|
+
const request = {
|
|
887
|
+
transactionUuid: uuid,
|
|
888
|
+
lineUuid: lineUuid,
|
|
889
|
+
discountType: type,
|
|
890
|
+
newDiscount: discount,
|
|
891
|
+
newDiscountReason: reason,
|
|
892
|
+
newDiscountCode: code
|
|
893
|
+
};
|
|
894
|
+
const response = yield this.connector.changeTransactionLineDiscount(request);
|
|
895
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
896
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
897
|
+
}
|
|
898
|
+
else {
|
|
899
|
+
this._handleExceptionFromResponse(response);
|
|
900
|
+
return null;
|
|
901
|
+
}
|
|
902
|
+
});
|
|
903
|
+
}
|
|
904
|
+
changeTransactionLineDeliveryMethod(uuid, lineUuid, method) {
|
|
905
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
906
|
+
const request = {
|
|
907
|
+
transactionUuid: uuid,
|
|
908
|
+
lineUuid: lineUuid,
|
|
909
|
+
newDeliveryMethodCode: method
|
|
910
|
+
};
|
|
911
|
+
const response = yield this.connector.changeTransactionLineDeliveryMethod(request);
|
|
912
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
913
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
914
|
+
}
|
|
915
|
+
else {
|
|
916
|
+
this._handleExceptionFromResponse(response);
|
|
917
|
+
return null;
|
|
918
|
+
}
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
changeTransactionLineDeliveryDate(uuid, lineUuid, date) {
|
|
922
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
923
|
+
const request = {
|
|
924
|
+
transactionUuid: uuid,
|
|
925
|
+
lineUuid: lineUuid,
|
|
926
|
+
newDeliveryDate: date
|
|
927
|
+
};
|
|
928
|
+
const response = yield this.connector.changeTransactionLineDeliveryDate(request);
|
|
929
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
930
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
931
|
+
}
|
|
932
|
+
else {
|
|
933
|
+
this._handleExceptionFromResponse(response);
|
|
934
|
+
return null;
|
|
935
|
+
}
|
|
936
|
+
});
|
|
937
|
+
}
|
|
938
|
+
changeTransactionLineAssemblyTime(uuid, lineUuid, time) {
|
|
939
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
940
|
+
const request = {
|
|
941
|
+
transactionUuid: uuid,
|
|
942
|
+
lineUuid: lineUuid,
|
|
943
|
+
newAssemblyTime: time
|
|
944
|
+
};
|
|
945
|
+
const response = yield this.connector.changeTransactionLineAssemblyTime(request);
|
|
946
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
947
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
948
|
+
}
|
|
949
|
+
else {
|
|
950
|
+
this._handleExceptionFromResponse(response);
|
|
951
|
+
return null;
|
|
952
|
+
}
|
|
953
|
+
});
|
|
954
|
+
}
|
|
955
|
+
changeTransactionLineEditTime(uuid, lineUuid, time) {
|
|
956
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
957
|
+
const request = {
|
|
958
|
+
transactionUuid: uuid,
|
|
959
|
+
lineUuid: lineUuid,
|
|
960
|
+
newEditTime: time
|
|
961
|
+
};
|
|
962
|
+
const response = yield this.connector.changeTransactionLineEditTime(request);
|
|
963
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
964
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
965
|
+
}
|
|
966
|
+
else {
|
|
967
|
+
this._handleExceptionFromResponse(response);
|
|
968
|
+
return null;
|
|
969
|
+
}
|
|
970
|
+
});
|
|
971
|
+
}
|
|
972
|
+
changeTransactionLineSupplierArticleNumber(uuid, lineUuid, articleNumber) {
|
|
973
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
974
|
+
const request = {
|
|
975
|
+
transactionUuid: uuid,
|
|
976
|
+
lineUuid: lineUuid,
|
|
977
|
+
newSupplierArticleNumber: articleNumber
|
|
978
|
+
};
|
|
979
|
+
const response = yield this.connector.changeTransactionLineSupplierArticleNumber(request);
|
|
980
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
981
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
this._handleExceptionFromResponse(response);
|
|
985
|
+
return null;
|
|
986
|
+
}
|
|
987
|
+
});
|
|
988
|
+
}
|
|
989
|
+
changeTransactionLineReference(uuid, lineUuid, reference) {
|
|
990
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
991
|
+
const request = {
|
|
992
|
+
transactionUuid: uuid,
|
|
993
|
+
lineUuid: lineUuid,
|
|
994
|
+
newReference: reference
|
|
995
|
+
};
|
|
996
|
+
const response = yield this.connector.changeTransactionLineReference(request);
|
|
997
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
998
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
999
|
+
}
|
|
1000
|
+
else {
|
|
1001
|
+
this._handleExceptionFromResponse(response);
|
|
1002
|
+
return null;
|
|
1003
|
+
}
|
|
1004
|
+
});
|
|
1005
|
+
}
|
|
1006
|
+
changeTransactionLineGoodDescription(uuid, lineUuid, goodDescription) {
|
|
1007
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1008
|
+
const request = {
|
|
1009
|
+
transactionUuid: uuid,
|
|
1010
|
+
lineUuid: lineUuid,
|
|
1011
|
+
newGoodDescription: goodDescription
|
|
1012
|
+
};
|
|
1013
|
+
const response = yield this.connector.changeTransactionLineGoodDescription(request);
|
|
1014
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1015
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1016
|
+
}
|
|
1017
|
+
else {
|
|
1018
|
+
this._handleExceptionFromResponse(response);
|
|
1019
|
+
return null;
|
|
1020
|
+
}
|
|
1021
|
+
});
|
|
1022
|
+
}
|
|
1023
|
+
changeHeaderTransactionDefinitive(uuid, definitive) {
|
|
1024
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1025
|
+
const request = {
|
|
1026
|
+
transactionUuid: uuid,
|
|
1027
|
+
newTransactionDefinitive: definitive
|
|
1028
|
+
};
|
|
1029
|
+
const response = yield this.connector.changeHeaderTransactionDefinitive(request);
|
|
1030
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1031
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1032
|
+
}
|
|
1033
|
+
else {
|
|
1034
|
+
this._handleExceptionFromResponse(response);
|
|
1035
|
+
return null;
|
|
1036
|
+
}
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
changeHeaderDeliveryAddress(uuid, newNawNr) {
|
|
1040
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1041
|
+
const request = {
|
|
1042
|
+
transactionUuid: uuid,
|
|
1043
|
+
newTransactionAddressNawNr: newNawNr
|
|
1044
|
+
};
|
|
1045
|
+
const response = yield this.connector.changeHeaderTransactionAddress(request);
|
|
1046
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1047
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1048
|
+
}
|
|
1049
|
+
else {
|
|
1050
|
+
this._handleExceptionFromResponse(response);
|
|
1051
|
+
return null;
|
|
1052
|
+
}
|
|
1053
|
+
});
|
|
1054
|
+
}
|
|
1055
|
+
changeHeaderInvoiceAddress(uuid, newNawNr) {
|
|
1056
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1057
|
+
const request = {
|
|
1058
|
+
transactionUuid: uuid,
|
|
1059
|
+
newInvoiceAddressNawNr: newNawNr
|
|
1060
|
+
};
|
|
1061
|
+
const response = yield this.connector.changeHeaderInvoiceAddress(request);
|
|
1062
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1063
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1064
|
+
}
|
|
1065
|
+
else {
|
|
1066
|
+
this._handleExceptionFromResponse(response);
|
|
1067
|
+
return null;
|
|
1068
|
+
}
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
changeHeaderTransactionDeliveryDate(uuid, date) {
|
|
1072
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1073
|
+
const request = {
|
|
1074
|
+
transactionUuid: uuid,
|
|
1075
|
+
newDeliveryDate: date
|
|
1076
|
+
};
|
|
1077
|
+
const response = yield this.connector.changeHeaderDeliveryDate(request);
|
|
1078
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1079
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1080
|
+
}
|
|
1081
|
+
else {
|
|
1082
|
+
this._handleExceptionFromResponse(response);
|
|
1083
|
+
return null;
|
|
1084
|
+
}
|
|
1085
|
+
});
|
|
1086
|
+
}
|
|
1087
|
+
changeHeaderTransactionDeliveryDateDefinitive(uuid, definitive) {
|
|
1088
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1089
|
+
const request = {
|
|
1090
|
+
transactionUuid: uuid,
|
|
1091
|
+
newDeliveryDateDefinitive: definitive
|
|
1092
|
+
};
|
|
1093
|
+
const response = yield this.connector.changeHeaderDeliveryDateDefinitive(request);
|
|
1094
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1095
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1096
|
+
}
|
|
1097
|
+
else {
|
|
1098
|
+
this._handleExceptionFromResponse(response);
|
|
1099
|
+
return null;
|
|
1100
|
+
}
|
|
1101
|
+
});
|
|
1102
|
+
}
|
|
1103
|
+
changeHeaderTransactionRemark(uuid, remark) {
|
|
1104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1105
|
+
const request = {
|
|
1106
|
+
transactionUuid: uuid,
|
|
1107
|
+
newRemarks: remark
|
|
1108
|
+
};
|
|
1109
|
+
const response = yield this.connector.changeHeaderRemarks(request);
|
|
1110
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1111
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1112
|
+
}
|
|
1113
|
+
else {
|
|
1114
|
+
this._handleExceptionFromResponse(response);
|
|
1115
|
+
return null;
|
|
1116
|
+
}
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
changeHeaderTransactionReference(uuid, reference) {
|
|
1120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1121
|
+
const request = {
|
|
1122
|
+
transactionUuid: uuid,
|
|
1123
|
+
newOwnReference: reference
|
|
1124
|
+
};
|
|
1125
|
+
const response = yield this.connector.changeHeaderOwnReference(request);
|
|
1126
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1127
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1128
|
+
}
|
|
1129
|
+
else {
|
|
1130
|
+
this._handleExceptionFromResponse(response);
|
|
1131
|
+
return null;
|
|
1132
|
+
}
|
|
1133
|
+
});
|
|
1134
|
+
}
|
|
1135
|
+
changeHeaderTransactionRelationReference(uuid, reference) {
|
|
1136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1137
|
+
const request = {
|
|
1138
|
+
transactionUuid: uuid,
|
|
1139
|
+
newRelationReference: reference
|
|
1140
|
+
};
|
|
1141
|
+
const response = yield this.connector.changeHeaderRelationReference(request);
|
|
1142
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1143
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1144
|
+
}
|
|
1145
|
+
else {
|
|
1146
|
+
this._handleExceptionFromResponse(response);
|
|
1147
|
+
return null;
|
|
1148
|
+
}
|
|
1149
|
+
});
|
|
1150
|
+
}
|
|
1151
|
+
changeHeaderToDownPayPercentage(uuid, amount) {
|
|
1152
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1153
|
+
const request = {
|
|
1154
|
+
transactionUuid: uuid,
|
|
1155
|
+
newToDownPayPercentage: amount
|
|
1156
|
+
};
|
|
1157
|
+
const response = yield this.connector.changeHeaderToDownPayPercentage(request);
|
|
1158
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1159
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1160
|
+
}
|
|
1161
|
+
else {
|
|
1162
|
+
this._handleExceptionFromResponse(response);
|
|
1163
|
+
return null;
|
|
1164
|
+
}
|
|
1165
|
+
});
|
|
1166
|
+
}
|
|
1167
|
+
changeHeaderToDownPayAmount(uuid, amount) {
|
|
1168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1169
|
+
const request = {
|
|
1170
|
+
transactionUuid: uuid,
|
|
1171
|
+
newToDownPayAmount: amount
|
|
1172
|
+
};
|
|
1173
|
+
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1174
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1175
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1176
|
+
}
|
|
1177
|
+
else {
|
|
1178
|
+
this._handleExceptionFromResponse(response);
|
|
1179
|
+
return null;
|
|
1180
|
+
}
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
changeHeaderTransactionPreferredDeliveryDate(uuid, date) {
|
|
1184
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1185
|
+
const request = {
|
|
1186
|
+
transactionUuid: uuid,
|
|
1187
|
+
newPreferredDeliveryDate: date,
|
|
1188
|
+
newPreferredDeliveryDateOption: ""
|
|
1189
|
+
};
|
|
1190
|
+
const response = yield this.connector.changeHeaderPreferredDeliveryDate(request);
|
|
1191
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1192
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1193
|
+
}
|
|
1194
|
+
else {
|
|
1195
|
+
this._handleExceptionFromResponse(response);
|
|
1196
|
+
return null;
|
|
1197
|
+
}
|
|
1198
|
+
});
|
|
1199
|
+
}
|
|
1200
|
+
changeHeaderTransactionDeliveryMethod(uuid, method) {
|
|
1201
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1202
|
+
const request = {
|
|
1203
|
+
transactionUuid: uuid,
|
|
1204
|
+
newDeliveryMethodCode: method
|
|
1205
|
+
};
|
|
1206
|
+
const response = yield this.connector.changeHeaderDeliveryMethod(request);
|
|
1207
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1208
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1209
|
+
}
|
|
1210
|
+
else {
|
|
1211
|
+
this._handleExceptionFromResponse(response);
|
|
1212
|
+
return null;
|
|
1213
|
+
}
|
|
1214
|
+
});
|
|
1215
|
+
}
|
|
1216
|
+
changeHeaderTransactionDeliveryOptions(uuid, options) {
|
|
1217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1218
|
+
const request = {
|
|
1219
|
+
transactionUuid: uuid,
|
|
1220
|
+
newDeliveryOptions: options
|
|
1221
|
+
};
|
|
1222
|
+
const response = yield this.connector.changeHeaderDeliveryOptions(request);
|
|
1223
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1224
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1225
|
+
}
|
|
1226
|
+
else {
|
|
1227
|
+
this._handleExceptionFromResponse(response);
|
|
1228
|
+
return null;
|
|
1229
|
+
}
|
|
1230
|
+
});
|
|
1231
|
+
}
|
|
1232
|
+
changeHeaderTransactionPartialDelivery(uuid, allowPartial) {
|
|
1233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1234
|
+
const request = {
|
|
1235
|
+
transactionUuid: uuid,
|
|
1236
|
+
newPartialDeliveryAllowed: allowPartial
|
|
1237
|
+
};
|
|
1238
|
+
const response = yield this.connector.changeHeaderPartialDeliveryAllowed(request);
|
|
1239
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1240
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1241
|
+
}
|
|
1242
|
+
else {
|
|
1243
|
+
this._handleExceptionFromResponse(response);
|
|
1244
|
+
return null;
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
}
|
|
1248
|
+
changeHeaderTransactionBranch(uuid, branch) {
|
|
1249
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1250
|
+
const request = {
|
|
1251
|
+
transactionUuid: uuid,
|
|
1252
|
+
newBranchId: branch
|
|
1253
|
+
};
|
|
1254
|
+
const response = yield this.connector.changeHeaderBranch(request);
|
|
1255
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1256
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1257
|
+
}
|
|
1258
|
+
else {
|
|
1259
|
+
this._handleExceptionFromResponse(response);
|
|
1260
|
+
return null;
|
|
1261
|
+
}
|
|
1262
|
+
});
|
|
1263
|
+
}
|
|
1264
|
+
changeHeaderTransactionAdmCoordinator(uuid, relation) {
|
|
1265
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1266
|
+
const request = {
|
|
1267
|
+
transactionUuid: uuid,
|
|
1268
|
+
newAdmCoordinator: relation
|
|
1269
|
+
};
|
|
1270
|
+
const response = yield this.connector.changeHeaderAdmCoordinator(request);
|
|
1271
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1272
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1273
|
+
}
|
|
1274
|
+
else {
|
|
1275
|
+
this._handleExceptionFromResponse(response);
|
|
1276
|
+
return null;
|
|
1277
|
+
}
|
|
1278
|
+
});
|
|
1279
|
+
}
|
|
1280
|
+
changeHeaderTransactionMarketing(uuid, code) {
|
|
1281
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1282
|
+
const request = {
|
|
1283
|
+
transactionUuid: uuid,
|
|
1284
|
+
newMarketingCode: code
|
|
1285
|
+
};
|
|
1286
|
+
const response = yield this.connector.changeHeaderMarketingCode(request);
|
|
1287
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1288
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1289
|
+
}
|
|
1290
|
+
else {
|
|
1291
|
+
this._handleExceptionFromResponse(response);
|
|
1292
|
+
return null;
|
|
1293
|
+
}
|
|
1294
|
+
});
|
|
1295
|
+
}
|
|
1296
|
+
changeHeaderTransactionDiscount(uuid, type, amount) {
|
|
1297
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1298
|
+
const request = {
|
|
1299
|
+
transactionUuid: uuid,
|
|
1300
|
+
orderDiscountType: type,
|
|
1301
|
+
discountValue: amount
|
|
1302
|
+
};
|
|
1303
|
+
const response = yield this.connector.setTransactionDiscounts(request);
|
|
1304
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1305
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1306
|
+
}
|
|
1307
|
+
else {
|
|
1308
|
+
this._handleExceptionFromResponse(response);
|
|
1309
|
+
return null;
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
1312
|
+
}
|
|
1313
|
+
changeHeaderTransactionToDownPay(uuid, downPayment) {
|
|
1314
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1315
|
+
const request = {
|
|
1316
|
+
transactionUuid: uuid,
|
|
1317
|
+
newToDownPayAmount: downPayment
|
|
1318
|
+
};
|
|
1319
|
+
const response = yield this.connector.changeHeaderToDownPayAmount(request);
|
|
1320
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1321
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1322
|
+
}
|
|
1323
|
+
else {
|
|
1324
|
+
this._handleExceptionFromResponse(response);
|
|
1325
|
+
return null;
|
|
1326
|
+
}
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
changeTransactionLineCollectionCode(uuid, lineUuid, code) {
|
|
1330
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1331
|
+
const request = {
|
|
1332
|
+
transactionUuid: uuid,
|
|
1333
|
+
lineUuid: lineUuid,
|
|
1334
|
+
newCollectionCode: code
|
|
1335
|
+
};
|
|
1336
|
+
const response = yield this.connector.changeTransactionLineCollectionCode(request);
|
|
1337
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1338
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1339
|
+
}
|
|
1340
|
+
else {
|
|
1341
|
+
this._handleExceptionFromResponse(response);
|
|
1342
|
+
return null;
|
|
1343
|
+
}
|
|
1344
|
+
});
|
|
1345
|
+
}
|
|
1346
|
+
createOutstandingEntry(uuid, amount) {
|
|
1347
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1348
|
+
const request = {
|
|
1349
|
+
transUUID: uuid,
|
|
1350
|
+
amount: amount
|
|
1351
|
+
};
|
|
1352
|
+
const response = yield this.connector.createOutstandingEntry(request);
|
|
1353
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1354
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1355
|
+
}
|
|
1356
|
+
else {
|
|
1357
|
+
this._handleExceptionFromResponse(response);
|
|
1358
|
+
return null;
|
|
1359
|
+
}
|
|
1360
|
+
});
|
|
1361
|
+
}
|
|
1362
|
+
registerSalesOrderPayment(uuid, amount, currencyId, paymentMethod, cashRegisterGroupId) {
|
|
1363
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1364
|
+
const request = {
|
|
1365
|
+
transUUID: uuid,
|
|
1366
|
+
amount: amount,
|
|
1367
|
+
currencyId: currencyId,
|
|
1368
|
+
paymentMethodCode: paymentMethod,
|
|
1369
|
+
cashRegisterGroupId: cashRegisterGroupId
|
|
1370
|
+
};
|
|
1371
|
+
const response = yield this.connector.registerSalesOrderPayment(request);
|
|
1372
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1373
|
+
return response;
|
|
1374
|
+
}
|
|
1375
|
+
else {
|
|
1376
|
+
this._handleExceptionFromResponse(response);
|
|
1377
|
+
return null;
|
|
1378
|
+
}
|
|
1379
|
+
});
|
|
1380
|
+
}
|
|
1381
|
+
createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode) {
|
|
1382
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1383
|
+
const request = {
|
|
1384
|
+
transUUID: uuid,
|
|
1385
|
+
amount: amount,
|
|
1386
|
+
paymentMethodCode: paymentMethodCode
|
|
1387
|
+
};
|
|
1388
|
+
const response = yield this.connector.createIonePaymentLinkAndQRCode(request);
|
|
1389
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1390
|
+
return this._boFactory.makeWithRawBackendData(CreatePaymentLinkResult, response.resultObject);
|
|
1391
|
+
}
|
|
1392
|
+
else {
|
|
1393
|
+
this._handleExceptionFromResponse(response);
|
|
1394
|
+
return null;
|
|
1395
|
+
}
|
|
1396
|
+
});
|
|
1397
|
+
}
|
|
1398
|
+
getPaymentLinkStatus(paymentLinkUUID) {
|
|
1399
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1400
|
+
const response = yield this.connector.getPaymentLinkStatus(paymentLinkUUID);
|
|
1401
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1402
|
+
return this._boFactory.makeWithRawBackendData(PaymentLinkStatus, response.resultObject);
|
|
1403
|
+
}
|
|
1404
|
+
else {
|
|
1405
|
+
this._handleExceptionFromResponse(response);
|
|
1406
|
+
return null;
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
}
|
|
1410
|
+
getDownPaymentInfo(uuid) {
|
|
1411
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1412
|
+
const response = yield this.connector.getDownPaymentInfo(uuid);
|
|
1413
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1414
|
+
return this._boFactory.makeWithRawBackendData(TransactionDownPaymentInfo, response.resultObject);
|
|
1415
|
+
}
|
|
1416
|
+
else {
|
|
1417
|
+
this._handleExceptionFromResponse(response);
|
|
1418
|
+
return null;
|
|
1419
|
+
}
|
|
1420
|
+
});
|
|
1421
|
+
}
|
|
1422
|
+
getGoodsReceiptStatus(transId, lineNr) {
|
|
1423
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1424
|
+
const response = yield this.connector.getGoodsReceiptStatus(transId, lineNr);
|
|
1425
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1426
|
+
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1427
|
+
}
|
|
1428
|
+
else {
|
|
1429
|
+
this._handleExceptionFromResponse(response);
|
|
1430
|
+
return null;
|
|
1431
|
+
}
|
|
1432
|
+
});
|
|
1433
|
+
}
|
|
1434
|
+
getGoodsReceiptStatusWithHistory(transId, lineNr) {
|
|
1435
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1436
|
+
const response = yield this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);
|
|
1437
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1438
|
+
return this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);
|
|
1439
|
+
}
|
|
1440
|
+
else {
|
|
1441
|
+
this._handleExceptionFromResponse(response);
|
|
1442
|
+
return null;
|
|
1443
|
+
}
|
|
1444
|
+
});
|
|
1445
|
+
}
|
|
1446
|
+
receiveGoodsForPurchaseOrder(request) {
|
|
1447
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1448
|
+
const response = yield this.connector.receiveGoodsForPurchaseOrder(request);
|
|
1449
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1450
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1451
|
+
}
|
|
1452
|
+
else {
|
|
1453
|
+
this._handleExceptionFromResponse(response);
|
|
1454
|
+
return null;
|
|
1455
|
+
}
|
|
1456
|
+
});
|
|
1457
|
+
}
|
|
1458
|
+
receiveGoodsForPurchaseOrderCorrection(request) {
|
|
1459
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1460
|
+
const response = yield this.connector.receiveGoodsForPurchaseOrderCorrection(request);
|
|
1461
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1462
|
+
return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
|
|
1463
|
+
}
|
|
1464
|
+
else {
|
|
1465
|
+
this._handleExceptionFromResponse(response);
|
|
1466
|
+
return null;
|
|
1467
|
+
}
|
|
1468
|
+
});
|
|
1469
|
+
}
|
|
1470
|
+
getPurchasePortalLines(request) {
|
|
1471
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1472
|
+
return new Promise((resolve, reject) => {
|
|
1473
|
+
return this.connector.getPurchasePortalLines(request).then((result) => {
|
|
1474
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1475
|
+
if (result.resultObjects) {
|
|
1476
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(PurchasePortalLine, result.resultObjects));
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
else {
|
|
1480
|
+
this._handleExceptionFromResponse(result);
|
|
1481
|
+
reject(null);
|
|
1482
|
+
}
|
|
1483
|
+
});
|
|
1484
|
+
});
|
|
1485
|
+
});
|
|
1486
|
+
}
|
|
1487
|
+
updatePurchasePortalLines(purchasePortalLine) {
|
|
1488
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1489
|
+
const result = yield this.connector.updatePurchasePortalLines(purchasePortalLine);
|
|
1490
|
+
if (result && result.validationResult && result.validationResult.success) {
|
|
1491
|
+
yield this.commit();
|
|
1492
|
+
return null;
|
|
1493
|
+
}
|
|
1494
|
+
});
|
|
1495
|
+
}
|
|
1496
|
+
purchaseOrderConfirmation(purchaseOrderConfirmation) {
|
|
1497
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1498
|
+
const result = yield this.connector.getPurchaseOrderConfirmation(purchaseOrderConfirmation);
|
|
1499
|
+
if (result && result.validationResult && result.validationResult.success) {
|
|
1500
|
+
yield this.commit();
|
|
1501
|
+
return null;
|
|
1502
|
+
}
|
|
1503
|
+
});
|
|
1504
|
+
}
|
|
1505
|
+
lockPurchasePortalLines(transIdPurchase, lineId) {
|
|
1506
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1507
|
+
return new Promise((resolve, reject) => {
|
|
1508
|
+
return this.connector.lockPurchasePortalLines(transIdPurchase, lineId).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1509
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1510
|
+
resolve(true);
|
|
1511
|
+
}
|
|
1512
|
+
else {
|
|
1513
|
+
reject(result.validationMessagesAsString);
|
|
1514
|
+
}
|
|
1515
|
+
}));
|
|
1516
|
+
});
|
|
1517
|
+
});
|
|
1518
|
+
}
|
|
1519
|
+
getStockStickerTemplates(data) {
|
|
1520
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1521
|
+
return new Promise((resolve, reject) => {
|
|
1522
|
+
// @ts-ignore
|
|
1523
|
+
return this.sharedConnector.getStockStickerPrintLayouts(data).then((result) => {
|
|
1524
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1525
|
+
if (result.resultObject) {
|
|
1526
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));
|
|
1527
|
+
}
|
|
1528
|
+
}
|
|
1529
|
+
else {
|
|
1530
|
+
reject(result.validationMessagesAsString);
|
|
1531
|
+
}
|
|
1532
|
+
});
|
|
1533
|
+
});
|
|
1534
|
+
});
|
|
1535
|
+
}
|
|
1536
|
+
generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
|
|
1537
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1538
|
+
return new Promise((resolve, reject) => {
|
|
1539
|
+
return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then((result) => __awaiter(this, void 0, void 0, function* () {
|
|
1540
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1541
|
+
resolve(true);
|
|
1542
|
+
}
|
|
1543
|
+
else {
|
|
1544
|
+
reject(result.validationMessagesAsString);
|
|
1545
|
+
}
|
|
1546
|
+
}));
|
|
1547
|
+
});
|
|
1548
|
+
});
|
|
1549
|
+
}
|
|
1550
|
+
getDeliveryOrderStatus(transId, lineNr) {
|
|
1551
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1552
|
+
const response = yield this.connector.getDeliveryOrderStatus(transId, lineNr);
|
|
1553
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1554
|
+
return this._boFactory.makeWithRawBackendData(DeliveryOrderStatus, response.resultObject);
|
|
1555
|
+
}
|
|
1556
|
+
else {
|
|
1557
|
+
this._handleExceptionFromResponse(response);
|
|
1558
|
+
return null;
|
|
1559
|
+
}
|
|
1560
|
+
});
|
|
1561
|
+
}
|
|
1562
|
+
getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr) {
|
|
1563
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1564
|
+
const response = yield this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);
|
|
1565
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1566
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(AvailableStock, response.resultObject);
|
|
1567
|
+
}
|
|
1568
|
+
else {
|
|
1569
|
+
this._handleExceptionFromResponse(response);
|
|
1570
|
+
return null;
|
|
1571
|
+
}
|
|
1572
|
+
});
|
|
1573
|
+
}
|
|
1574
|
+
allocateGoodsForSalesOrder(request) {
|
|
1575
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1576
|
+
const response = yield this.connector.allocateGoodsForSalesOrder(request);
|
|
1577
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1578
|
+
return true;
|
|
1579
|
+
}
|
|
1580
|
+
else {
|
|
1581
|
+
this._handleExceptionFromResponse(response);
|
|
1582
|
+
return null;
|
|
1583
|
+
}
|
|
1584
|
+
});
|
|
1585
|
+
}
|
|
1586
|
+
allocateGoodsForSalesOrderCorrection(request) {
|
|
1587
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1588
|
+
const response = yield this.connector.allocateGoodsForSalesOrderCorrection(request);
|
|
1589
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1590
|
+
return true;
|
|
1591
|
+
}
|
|
1592
|
+
else {
|
|
1593
|
+
this._handleExceptionFromResponse(response);
|
|
1594
|
+
return null;
|
|
1595
|
+
}
|
|
1596
|
+
});
|
|
1597
|
+
}
|
|
1598
|
+
getGoodsAllocationStatus(transId, lineNr) {
|
|
1599
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1600
|
+
const response = yield this.connector.getGoodsAllocationStatus(transId, lineNr);
|
|
1601
|
+
if (response && response.resultObject) {
|
|
1602
|
+
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatus, response.resultObject);
|
|
1603
|
+
}
|
|
1604
|
+
else {
|
|
1605
|
+
this._handleExceptionFromResponse(response);
|
|
1606
|
+
return null;
|
|
1607
|
+
}
|
|
1608
|
+
});
|
|
1609
|
+
}
|
|
1610
|
+
getGoodsAllocationStatusWithHistory(transId, lineNr) {
|
|
1611
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1612
|
+
const response = yield this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);
|
|
1613
|
+
if (response && response.resultObject) {
|
|
1614
|
+
return this._boFactory.makeWithRawBackendData(GoodsAllocationStatusWithHistory, response.resultObject);
|
|
1615
|
+
}
|
|
1616
|
+
else {
|
|
1617
|
+
this._handleExceptionFromResponse(response);
|
|
1618
|
+
return null;
|
|
1619
|
+
}
|
|
1620
|
+
});
|
|
1621
|
+
}
|
|
1622
|
+
getOrderConfirmationEmailLayouts(transactionUUID) {
|
|
1623
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1624
|
+
const response = yield this.connector.getOrderConfirmationEmailLayouts(transactionUUID);
|
|
1625
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1626
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1627
|
+
}
|
|
1628
|
+
else {
|
|
1629
|
+
this._handleExceptionFromResponse(response);
|
|
1630
|
+
return null;
|
|
1631
|
+
}
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
getOrderConfirmationPrintLayouts(transactionUUID) {
|
|
1635
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1636
|
+
const response = yield this.connector.getOrderConfirmationPrintLayouts(transactionUUID);
|
|
1637
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1638
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1639
|
+
}
|
|
1640
|
+
else {
|
|
1641
|
+
this._handleExceptionFromResponse(response);
|
|
1642
|
+
return null;
|
|
1643
|
+
}
|
|
1644
|
+
});
|
|
1645
|
+
}
|
|
1646
|
+
getOrderConfirmationDefaultSendMethod(relationId) {
|
|
1647
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1648
|
+
const response = yield this.connector.getOrderConfirmationDefaultSendMethod(relationId);
|
|
1649
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1650
|
+
return response.resultObject;
|
|
1651
|
+
}
|
|
1652
|
+
else {
|
|
1653
|
+
this._handleExceptionFromResponse(response);
|
|
1654
|
+
return null;
|
|
1655
|
+
}
|
|
1656
|
+
});
|
|
1657
|
+
}
|
|
1658
|
+
printOrderConfirmation(request) {
|
|
1659
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1660
|
+
const response = yield this.connector.printOrderConfirmation(request);
|
|
1661
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1662
|
+
return response.resultObject;
|
|
1663
|
+
}
|
|
1664
|
+
else {
|
|
1665
|
+
this._handleExceptionFromResponse(response);
|
|
1666
|
+
return null;
|
|
1667
|
+
}
|
|
1668
|
+
});
|
|
1669
|
+
}
|
|
1670
|
+
emailOrderConfirmation(request) {
|
|
1671
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1672
|
+
const response = yield this.connector.emailOrderConfirmation(request);
|
|
1673
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1674
|
+
return response.resultObject;
|
|
1675
|
+
}
|
|
1676
|
+
else {
|
|
1677
|
+
this._handleExceptionFromResponse(response);
|
|
1678
|
+
return null;
|
|
1679
|
+
}
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
pdfOrderConfirmation(request) {
|
|
1683
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1684
|
+
const response = yield this.connector.pdfOrderConfirmation(request);
|
|
1685
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1686
|
+
return response.resultObject;
|
|
1687
|
+
}
|
|
1688
|
+
else {
|
|
1689
|
+
this._handleExceptionFromResponse(response);
|
|
1690
|
+
return null;
|
|
1691
|
+
}
|
|
1692
|
+
});
|
|
1693
|
+
}
|
|
1694
|
+
printPurchaseOrder(request) {
|
|
1695
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1696
|
+
const response = yield this.connector.printPurchaseOrder(request);
|
|
1697
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1698
|
+
return response.resultObject;
|
|
1699
|
+
}
|
|
1700
|
+
else {
|
|
1701
|
+
this._handleExceptionFromResponse(response);
|
|
1702
|
+
return null;
|
|
1703
|
+
}
|
|
1704
|
+
});
|
|
1705
|
+
}
|
|
1706
|
+
emailPurchaseOrder(request) {
|
|
1707
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1708
|
+
const response = yield this.connector.emailPurchaseOrder(request);
|
|
1709
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1710
|
+
return response.resultObject;
|
|
1711
|
+
}
|
|
1712
|
+
else {
|
|
1713
|
+
this._handleExceptionFromResponse(response);
|
|
1714
|
+
return null;
|
|
1715
|
+
}
|
|
1716
|
+
});
|
|
1717
|
+
}
|
|
1718
|
+
pdfPurchaseOrder(request) {
|
|
1719
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1720
|
+
const response = yield this.connector.pdfPurchaseOrder(request);
|
|
1721
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1722
|
+
return response.resultObject;
|
|
1723
|
+
}
|
|
1724
|
+
else {
|
|
1725
|
+
this._handleExceptionFromResponse(response);
|
|
1726
|
+
return null;
|
|
1727
|
+
}
|
|
1728
|
+
});
|
|
1729
|
+
}
|
|
1730
|
+
getPurchaseOrderEmailLayouts(transactionUUID) {
|
|
1731
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1732
|
+
const response = yield this.connector.getPurchaseOrderEmailLayouts(transactionUUID);
|
|
1733
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1734
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);
|
|
1735
|
+
}
|
|
1736
|
+
else {
|
|
1737
|
+
this._handleExceptionFromResponse(response);
|
|
1738
|
+
return null;
|
|
1739
|
+
}
|
|
1740
|
+
});
|
|
1741
|
+
}
|
|
1742
|
+
getPurchaseOrderPrintLayouts(transactionUUID) {
|
|
1743
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1744
|
+
const response = yield this.connector.getPurchaseOrderPrintLayouts(transactionUUID);
|
|
1745
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1746
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);
|
|
1747
|
+
}
|
|
1748
|
+
else {
|
|
1749
|
+
this._handleExceptionFromResponse(response);
|
|
1750
|
+
return null;
|
|
1751
|
+
}
|
|
1752
|
+
});
|
|
1753
|
+
}
|
|
1754
|
+
getDefaultEmailAddressListForOrderConfirmation(transactionUUID) {
|
|
1755
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1756
|
+
const response = yield this.connector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
|
|
1757
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1758
|
+
return response.resultObject;
|
|
1759
|
+
}
|
|
1760
|
+
else {
|
|
1761
|
+
this._handleExceptionFromResponse(response);
|
|
1762
|
+
return null;
|
|
1763
|
+
}
|
|
1764
|
+
});
|
|
1765
|
+
}
|
|
1766
|
+
getPurchaseOrderDefaultSendMethod(relationId) {
|
|
1767
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1768
|
+
const response = yield this.connector.getPurchaseOrderDefaultSendMethod(relationId);
|
|
1769
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1770
|
+
return response.resultObject;
|
|
1771
|
+
}
|
|
1772
|
+
else {
|
|
1773
|
+
this._handleExceptionFromResponse(response);
|
|
1774
|
+
return null;
|
|
1775
|
+
}
|
|
1776
|
+
});
|
|
1777
|
+
}
|
|
1778
|
+
generateAndSendPurchaseOrdersForSalesOrder(transactionId) {
|
|
1779
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1780
|
+
const response = yield this.connector.generateAndSendPurchaseOrdersForSalesOrder(transactionId);
|
|
1781
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1782
|
+
return response.resultObject;
|
|
1783
|
+
}
|
|
1784
|
+
else {
|
|
1785
|
+
this._handleExceptionFromResponse(response);
|
|
1786
|
+
return null;
|
|
1787
|
+
}
|
|
1788
|
+
});
|
|
1789
|
+
}
|
|
1790
|
+
getPurchaseAdviceLines(filters, goodId) {
|
|
1791
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1792
|
+
const response = yield this.connector.getPurchaseAdviceLines(filters, goodId);
|
|
1793
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1794
|
+
return this._boFactory.makeBOArrayFromRawBackendDataArray(PurchaseAdviceLine, response.resultObject);
|
|
1795
|
+
}
|
|
1796
|
+
else {
|
|
1797
|
+
this._handleExceptionFromResponse(response);
|
|
1798
|
+
return null;
|
|
1799
|
+
}
|
|
1800
|
+
});
|
|
1801
|
+
}
|
|
1802
|
+
generateAndSendPurchaseOrders(purchaseAdviceLines) {
|
|
1803
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1804
|
+
const response = yield this.connector.generateAndSendPurchaseOrders(purchaseAdviceLines);
|
|
1805
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1806
|
+
return true;
|
|
1807
|
+
}
|
|
1808
|
+
else {
|
|
1809
|
+
this._handleExceptionFromResponse(response);
|
|
1810
|
+
return null;
|
|
1811
|
+
}
|
|
1812
|
+
});
|
|
1813
|
+
}
|
|
1814
|
+
_handleExceptionFromResponse(result) {
|
|
1815
|
+
this._errorService.showValidationError(result);
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
TransactionConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorAdapterService_Factory() { return new TransactionConnectorAdapterService(i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SelectMultipleCacheService), i0.ɵɵinject(i3.SelectMultipleParameterizedCacheService), i0.ɵɵinject(i4.ErrorService)); }, token: TransactionConnectorAdapterService, providedIn: "root" });
|
|
1819
|
+
TransactionConnectorAdapterService.decorators = [
|
|
1820
|
+
{ type: Injectable, args: [{
|
|
1821
|
+
providedIn: "root"
|
|
1822
|
+
},] }
|
|
1823
|
+
];
|
|
1824
|
+
TransactionConnectorAdapterService.ctorParameters = () => [
|
|
1825
|
+
{ type: OptionsService },
|
|
1826
|
+
{ type: SelectMultipleCacheService },
|
|
1827
|
+
{ type: SelectMultipleParameterizedCacheService },
|
|
1828
|
+
{ type: ErrorService }
|
|
1829
|
+
];
|
|
1830
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUUxRyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV2RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUdoSSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBR2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFHN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFFdEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkVBQTJFLENBQUM7QUFFeEgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBRXJGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzlGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUNqSCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzNFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMvRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzlFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFHdkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEcsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFZMUcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOERBQThELENBQUM7Ozs7OztBQU1oRyxNQUFNLE9BQU8sa0NBQWtDO0lBTTdDLFlBQ1UsZUFBK0IsRUFDL0IsMkJBQXVELEVBQ3ZELHdDQUFpRixFQUNqRixhQUEyQjtRQUgzQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE0QjtRQUN2RCw2Q0FBd0MsR0FBeEMsd0NBQXdDLENBQXlDO1FBQ2pGLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBTjdCLGVBQVUsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBT3JFLENBQUM7SUFFUyxPQUFPOztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNoRSxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FBQyxNQUFjOztZQUM5QyxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFpQyxDQUFDO2FBQ3ZIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLFNBQWlCOztZQUNuRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9GLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQzthQUM1QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxjQUFjLENBQUMsTUFBdUIsRUFBRSxXQUFtQixFQUFFLGVBQXdCLEVBQUUsS0FBYzs7WUFDaEgsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekgsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO29CQUNySixPQUFPLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUMxRTtxQkFBTTtvQkFDTCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksZUFBZSxFQUFFOzRCQUNuQixPQUFPLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFDN0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQzt5QkFDakY7d0JBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztxQkFDckY7eUJBQ0ksRUFBRSxXQUFXO3dCQUNoQixPQUFPLEVBQUUsQ0FBQztxQkFDWDtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLFlBQVk7O1lBQ3ZCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUF5QixDQUFDO2FBQ2xIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGlCQUFpQjs7WUFDNUIsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2pGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBK0IsQ0FBQzthQUM5SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxVQUFVLENBQUMsV0FBbUI7O1lBQ3pDLE1BQU0sU0FBUyxHQUFjLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDakUsQ0FBQztLQUFBO0lBRVksa0JBQWtCOztZQUM3QixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFnQyxDQUFDO2FBQ2hJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLDBCQUEwQjs7WUFDckMsTUFBTSxlQUFlLEdBQTZCLEVBQUUsQ0FBQztZQUVyRCxNQUFNLG1CQUFtQixHQUFxQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzlFLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDOUUsTUFBTSxlQUFlLEdBQW1CLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLGFBQWEsR0FBNEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUN4SSxhQUFhLENBQUMsNkJBQTZCLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdELGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckM7WUFDRCxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFFWSxpQkFBaUI7O1lBQzVCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQTJCLENBQUM7YUFDdEg7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsZUFBdUI7O1lBQ3hFLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEgsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBdUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDckk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMsSUFBcUIsRUFBRSxhQUFxQjs7WUFDakYsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDNUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQXVDLENBQUM7YUFDbkk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsYUFBcUI7O1lBQ25ELE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0YsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQXVDLENBQUM7YUFDbkk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsYUFBcUIsRUFBRSxPQUFlOztZQUNyRSxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBcUMsQ0FBQzthQUMvSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxnQkFBZ0IsQ0FBQyxNQUFlLEVBQUUsS0FBYzs7WUFDM0QsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBOEIsQ0FBQzthQUM1SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxhQUFhLENBQUMsSUFBYTs7WUFDdEMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUEyQixDQUFDO2FBQ3RIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLFVBQVUsQ0FBQyxZQUFxQixLQUFLOztZQUNoRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQXFCLENBQUM7YUFDMUc7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsT0FBcUM7O1lBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUNsRSxNQUFNLE1BQU0sR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO2dCQUN0RSxNQUFNLENBQUMsS0FBSyxHQUFJLFFBQVEsQ0FBQyxnQkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyw0QkFBNEI7Z0JBQzNGLE1BQU0sQ0FBQyxZQUFZLEdBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUE0QixDQUFDO2dCQUM1SixPQUFPLE1BQU0sQ0FBQzthQUNmO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdCQUFnQixDQUFDLFlBQTBCOztZQUN0RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQzlCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxrQkFBa0I7O1lBQzdCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNsRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQWdDLENBQUM7YUFDaEk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCOztZQUM3QixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFnQyxDQUFDO2FBQ2hJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLFdBQW1CLEVBQUUsT0FBZTs7WUFDdEUsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtvQkFDOUQsTUFBTSxZQUFZLEdBQXVDLElBQUksa0NBQWtDLEVBQUUsQ0FBQztvQkFDbEcsWUFBWSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQkFDN0MsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztvQkFDakQsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztvQkFDakQsWUFBWSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztvQkFDdkQsT0FBTyxZQUFZLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtRQUNILENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLFlBQW9COztZQUNsRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBK0IsQ0FBQzthQUM5SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxZQUFvQjs7WUFDbEQsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQStCLENBQUM7YUFDOUg7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRVksK0JBQStCLENBQUMsTUFBYzs7WUFDekQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUNyRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQWdDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDOUQ7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ1o7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLFlBQVksQ0FBQyxZQUFvQjs7WUFDNUMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsTUFBTSxLQUFLLEdBQThDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakosS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGdCQUFnQixDQUFDLFlBQW9COztZQUNoRCxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBOEIsQ0FBQzthQUMzSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxlQUFlLENBQUMsSUFBVzs7WUFDdEMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUE2QixDQUFDO2FBQzFIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLE9BQU8sQ0FBQyxRQUFnQjs7WUFDbkMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0UsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFxQixDQUFDO2FBQzFHO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGNBQWM7O1lBQ3pCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDOUUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUE0QixDQUFDO2FBQ3hIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxRQUFpQjs7WUFDMUMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUEyQixDQUFDO2FBQ3RIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQjs7WUFDakMsTUFBTSxNQUFNLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3RGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBaUMsQ0FBQzthQUNsSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQkFBaUI7O1lBQzVCLE1BQU0sTUFBTSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUM5RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQStCLENBQUM7YUFDN0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQztLQUFBO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO2dCQUN0RSxJQUFJLE1BQU0sRUFBRTtvQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Q7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7WUFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtnQkFDeEUsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNmO3FCQUFNO29CQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFxQixFQUFFLFFBQWdCO1FBQzlELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtnQkFDL0YsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtvQkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7aUJBQy9GO3FCQUFNO29CQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFWSxnQkFBZ0IsQ0FBQyxPQUFnQzs7WUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUN2RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHVCQUF1QixDQUFDLE9BQXVDOztZQUMxRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzlGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsT0FBbUM7O1lBQ2xFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDMUYsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxPQUFrQzs7WUFDaEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUN6RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLE9BQW9DOztZQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzNGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBR00sZUFBZSxDQUFDLElBQVk7UUFDakMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO1lBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO2dCQUNuRixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO29CQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztpQkFDL0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2Q7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVZLGlCQUFpQixDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLFFBQWdCOztZQUM3RSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDekcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDMUM7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLDBCQUEwQixDQUFDLG1CQUFzRDs7WUFDNUYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzdHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsaUJBQWtEOztZQUN0RixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDekcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FDN0IsSUFBWSxFQUNaLFdBQWdDLEVBQ2hDLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxRQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFtQjs7WUFHbkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUMxSixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLElBQVksRUFBRSxlQUF1QixFQUFFLElBQVksRUFBRSxNQUFjLEVBQUUsWUFBcUIsRUFBRSxnQkFBd0IsRUFBRSxXQUFvQixFQUFFLFdBQW9COztZQUVwTSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3JMLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsSUFBWSxFQUFFLFVBQWtCOztZQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUN4RyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLDZCQUE2QixDQUFDLGlDQUF1RTs7WUFDaEgsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQzlILElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBb0IsRUFBRSxXQUFvQjs7WUFFeEcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxNQUFNLE9BQU8sR0FBOEI7b0JBQ3pDLGVBQWUsRUFBRSxJQUFJO29CQUNyQixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLFdBQVc7b0JBQ3hCLFdBQVcsRUFBRSxXQUFXO2lCQUN6QixDQUFBO2dCQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3pGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsUUFBZ0I7O1lBQ3BELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRTtvQkFDaEcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7cUJBQy9GO3lCQUFNO3dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNkO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFTCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7O1lBQy9ELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ25HLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3FCQUMvRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBR1ksNkJBQTZCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBbUI7O1lBQzVGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsZUFBZSxFQUFFLElBQUk7b0JBQ3JCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixXQUFXLEVBQUUsV0FBVztpQkFDekIsQ0FBQTtnQkFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUNwRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDL0Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLG1DQUFtQyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLElBQVk7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsRUFBVTs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixhQUFhLEVBQUUsRUFBRTthQUNsQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksOEJBQThCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsZUFBdUI7O1lBQ2pHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsa0JBQWtCLEVBQUUsZUFBZTthQUNwQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsS0FBYTs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksOEJBQThCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsU0FBaUI7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUzthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksd0JBQXdCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsRUFBVTs7WUFDOUUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsRUFBRTthQUNiLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7O1lBQy9JLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixpQkFBaUIsRUFBRSxNQUFNO2dCQUN6QixlQUFlLEVBQUUsSUFBSTthQUN0QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYzs7WUFDN0YsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSxNQUFNO2FBQzlCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFVOztZQUN2RixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFZOztZQUN6RixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw2QkFBNkIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxJQUFZOztZQUNyRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwwQ0FBMEMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxhQUFxQjs7WUFDM0csTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQix3QkFBd0IsRUFBRSxhQUFhO2FBQ3hDLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw4QkFBOEIsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQjs7WUFDM0YsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixZQUFZLEVBQUUsU0FBUzthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksb0NBQW9DLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsZUFBdUI7O1lBQ3ZHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsa0JBQWtCLEVBQUUsZUFBZTthQUNwQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksaUNBQWlDLENBQUMsSUFBWSxFQUFFLFVBQW1COztZQUM5RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsd0JBQXdCLEVBQUUsVUFBVTthQUNyQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUNyRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsMEJBQTBCLEVBQUUsUUFBUTthQUNyQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMEJBQTBCLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUNwRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsc0JBQXNCLEVBQUUsUUFBUTthQUNqQyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsSUFBWSxFQUFFLElBQVU7O1lBQ3ZFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixlQUFlLEVBQUUsSUFBSTthQUN0QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkNBQTZDLENBQUMsSUFBWSxFQUFFLFVBQW1COztZQUMxRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIseUJBQXlCLEVBQUUsVUFBVTthQUN0QyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ3JFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixVQUFVLEVBQUUsTUFBTTthQUNuQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0NBQWdDLENBQUMsSUFBWSxFQUFFLFNBQWlCOztZQUMzRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsZUFBZSxFQUFFLFNBQVM7YUFDM0IsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHdDQUF3QyxDQUFDLElBQVksRUFBRSxTQUFpQjs7WUFDbkYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLG9CQUFvQixFQUFFLFNBQVM7YUFDaEMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLCtCQUErQixDQUFDLElBQVksRUFBRSxNQUFjOztZQUN2RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsc0JBQXNCLEVBQUUsTUFBTTthQUMvQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksMkJBQTJCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ25FLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixrQkFBa0IsRUFBRSxNQUFNO2FBQzNCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw0Q0FBNEMsQ0FBQyxJQUFZLEVBQUUsSUFBVTs7WUFDaEYsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLHdCQUF3QixFQUFFLElBQUk7Z0JBQzlCLDhCQUE4QixFQUFFLEVBQUU7YUFDbkMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHFDQUFxQyxDQUFDLElBQVksRUFBRSxNQUFjOztZQUM3RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIscUJBQXFCLEVBQUUsTUFBTTthQUM5QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0NBQXNDLENBQUMsSUFBWSxFQUFFLE9BQWlCOztZQUNqRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsa0JBQWtCLEVBQUUsT0FBTzthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0NBQXNDLENBQUMsSUFBWSxFQUFFLFlBQXFCOztZQUNyRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIseUJBQXlCLEVBQUUsWUFBWTthQUN4QyxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQ3JFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixXQUFXLEVBQUUsTUFBTTthQUNwQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUMvRSxNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsaUJBQWlCLEVBQUUsUUFBUTthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0NBQWdDLENBQUMsSUFBWSxFQUFFLElBQVk7O1lBQ3RFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwrQkFBK0IsQ0FBQyxJQUFZLEVBQUUsSUFBa0IsRUFBRSxNQUFjOztZQUMzRixNQUFNLE9BQU8sR0FBRztnQkFDZCxlQUFlLEVBQUUsSUFBSTtnQkFDckIsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsYUFBYSxFQUFFLE1BQU07YUFDdEIsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLElBQVksRUFBRSxXQUFtQjs7WUFDN0UsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLGtCQUFrQixFQUFFLFdBQVc7YUFDaEMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLG1DQUFtQyxDQUFDLElBQVksRUFBRSxRQUFnQixFQUFFLElBQVk7O1lBQzNGLE1BQU0sT0FBTyxHQUFHO2dCQUNkLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBeUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsSUFBWSxFQUFFLE1BQWM7O1lBQzlELE1BQU0sT0FBTyxHQUFHO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0YsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHlCQUF5QixDQUNwQyxJQUFZLEVBQUUsTUFBYyxFQUFFLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxtQkFBMkI7O1lBRXBHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixpQkFBaUIsRUFBRSxhQUFhO2dCQUNoQyxtQkFBbUIsRUFBRSxtQkFBbUI7YUFDekMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDhCQUE4QixDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsaUJBQXlCOztZQUNqRyxNQUFNLE9BQU8sR0FBRztnQkFDZCxTQUFTLEVBQUUsSUFBSTtnQkFDZixNQUFNLEVBQUUsTUFBTTtnQkFDZCxpQkFBaUIsRUFBRSxpQkFBaUI7YUFDckMsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUF1QyxDQUFDO2FBQ3JJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLGVBQXVCOztZQUN2RCxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBaUMsQ0FBQzthQUN6SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxJQUFZOztZQUMxQyxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hGLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBMEMsQ0FBQzthQUMzSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDaEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQStDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsNkJBQTZCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLE9BQWUsRUFBRSxNQUFjOztZQUMzRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqSCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBK0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0k7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNEJBQTRCLENBQUMsT0FBNEM7O1lBQ3BGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQXlDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pJO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNDQUFzQyxDQUFDLE9BQXNEOztZQUN4RyxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9HLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUF5QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqSTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxzQkFBc0IsQ0FBQyxPQUE4Qjs7WUFDaEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFO29CQUM3RixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7NEJBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO3lCQUN2RztxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDZDtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMsa0JBQXNDOztZQUMzRSxNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0csSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMseUJBQXVEOztZQUM1RixNQUFNLE1BQU0sR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDckgsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksdUJBQXVCLENBQUMsZUFBdUIsRUFBRSxNQUFjOztZQUMxRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQU8sTUFBK0IsRUFBRSxFQUFFO29CQUNwSCxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Y7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO3FCQUMzQztnQkFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSx3QkFBd0IsQ0FBQyxJQUErQjs7WUFDbkUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxhQUFhO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3JHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTs0QkFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMseUJBQXlCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7eUJBQzdHO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLHdCQUF3QixDQUFDLE9BQWUsRUFBRSxrQ0FBMkM7O1lBQ2hHLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFPLE1BQStCLEVBQUUsRUFBRTtvQkFDekksSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNmO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsT0FBZSxFQUFFLE1BQWM7O1lBQ2pFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFxQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN6SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw2Q0FBNkMsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDeEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2Q0FBNkMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQWtDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3SDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSwwQkFBMEIsQ0FBQyxPQUEwQzs7WUFDaEYsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxvQ0FBb0MsQ0FBQyxPQUFvRDs7WUFDcEcsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSx3QkFBd0IsQ0FBQyxPQUFlLEVBQUUsTUFBYzs7WUFDbkUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDekcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQXFDLENBQUM7YUFDakk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksbUNBQW1DLENBQUMsT0FBZSxFQUFFLE1BQWM7O1lBQzlFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxnQ0FBZ0MsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFnRCxDQUFDO2FBQ3ZKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGdDQUFnQyxDQUFDLGVBQXVCOztZQUNuRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUE4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNySjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxnQ0FBZ0MsQ0FBQyxlQUF1Qjs7WUFDbkUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqSCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBOEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcko7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUNBQXFDLENBQUMsVUFBa0I7O1lBQ25FLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxzQkFBc0IsQ0FBQyxPQUFzQzs7WUFDeEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLE9BQXNDOztZQUN4RSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9GLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksb0JBQW9CLENBQUMsT0FBb0M7O1lBQ3BFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0YsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxPQUFrQzs7WUFDaEUsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLE9BQWtDOztZQUNoRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNGLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksZ0JBQWdCLENBQUMsT0FBZ0M7O1lBQzVELE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekYsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSw0QkFBNEIsQ0FBQyxlQUF1Qjs7WUFDL0QsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBOEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcko7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNEJBQTRCLENBQUMsZUFBdUI7O1lBQy9ELE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0csSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQThDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3JKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDhDQUE4QyxDQUFDLGVBQWU7O1lBQ3pFLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsOENBQThDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0gsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFWSxpQ0FBaUMsQ0FBQyxVQUFrQjs7WUFDL0QsTUFBTSxRQUFRLEdBQTRCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLENBQUM7YUFDYjtRQUNILENBQUM7S0FBQTtJQUVZLDBDQUEwQyxDQUFDLGFBQXFCOztZQUMzRSxNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDBDQUEwQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pILElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM5RSxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksc0JBQXNCLENBQUMsT0FBOEIsRUFBRSxNQUFlOztZQUNqRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN2RyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDOUUsT0FBc0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDckk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksNkJBQTZCLENBQUMsbUJBQXlDOztZQUNsRixNQUFNLFFBQVEsR0FBNEIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbEgsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRU8sNEJBQTRCLENBQUMsTUFBK0I7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7O1lBaGhERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTlETyxjQUFjO1lBc0JkLDBCQUEwQjtZQUMxQix1Q0FBdUM7WUFDdkMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNYXJrZXRpbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbWFya2V0aW5nLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bVwiO1xyXG5pbXBvcnQge0NvdW50cnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ib1wiO1xyXG5pbXBvcnQge1NlcXVlbmNlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3NlcXVlbmNlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5T3B0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW9wdGlvbi5ib1wiO1xyXG5pbXBvcnQge1NldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9zZXQtdHJhbnNhY3Rpb24tZGVsaXZlcnktb3B0aW9ucy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7R2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nZXQtcG9zdGFsLWNvZGUtcmV0cmlldmFsLW91dHB1dC1wYXJhbXNcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24tbGluZS10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYXJ0aWNsZS13YXJlaG91c2UuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZXNwb25zZUJhc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tcmVzcG9uc2UtYmFzZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3RyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7U3RhbmRhcmRUZXh0fSBmcm9tIFwiLi4vbW9kZWwvc3RhbmRhcmQtdGV4dFwiO1xyXG5pbXBvcnQge0N1c3RvbWVyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZ3JvdXAuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2FzaC1yZWdpc3RlclwiO1xyXG5pbXBvcnQge0NoYW5nZUxpbmVTZXF1ZW5jZVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY2hhbmdlLWxpbmUtc2VxdWVuY2UtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1Jlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UHJpY2VMaXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaWNlLWxpc3RcIjtcclxuaW1wb3J0IHtWYXR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdmF0XCI7XHJcbmltcG9ydCB7RGlzY291bnRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZGlzY291bnQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC12aWV3LmJvXCI7XHJcbmltcG9ydCB7T25Ib2xkQ29kZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vbi1ob2xkLWNvZGUuYm9cIjtcclxuaW1wb3J0IHtXYXJlaG91c2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLmJvXCI7XHJcbmltcG9ydCB7Q29kZURlc2NyaXB0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvZGUtZGVzY3JpcHRpb25cIjtcclxuaW1wb3J0IHtSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWNlaXZlLWdvb2RzLWZvci1wdXJjaGFzZS1vcmRlci1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ29vZHMtcmVjZWlwdC1zdGF0dXMtd2l0aC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7UmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlckNvcnJlY3Rpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlY2VpdmUtZ29vZHMtZm9yLXB1cmNoYXNlLW9yZGVyLWNvcnJlY3Rpb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm9cIjtcclxuaW1wb3J0IHtHZXRQdXJjaGFzZVBvcnRhbExpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXB1cmNoYXNlLXBvcnRhbC1saW5lXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLXBvcnRhbC1saW5lLmJvXCI7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFJlc3VsdH0gZnJvbSBcIi4uL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHRcIjtcclxuaW1wb3J0IHtSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1oZWFkZXItcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbGluay1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtTZWxlY3RNdWx0aXBsZUNhY2hlU2VydmljZX0gZnJvbSBcIi4uL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZVNlcnZpY2V9IGZyb20gXCIuLi9jYWNoZS9zZXJ2aWNlL3NlbGVjdC1tdWx0aXBsZS1wYXJhbWV0ZXJpemVkLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFcnJvclNlcnZpY2V9IGZyb20gXCIuL2Vycm9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtHZXRQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dldC1wdXJjaGFzZS1vcmRlci1jb25maXJtYXRpb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRvd25QYXltZW50SW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kb3duLXBheW1lbnQtaW5mby5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTG9ja1Jlc3VsdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1sb2NrLXJlc3VsdC5ib1wiO1xyXG5pbXBvcnQge1ByaXZhY3lTZXR0aW5nfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpdmFjeS1zZXR0aW5nLmJvXCI7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uUHJpdmFjeVNldHRpbmd9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcHJpdmFjeS1zZXR0aW5nLmJvXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge0ltYWdlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9pbWFnZS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm9cIjtcclxuaW1wb3J0IHtUYWd9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHtEZWxpdmVyeU9yZGVyU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW9yZGVyLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1NhbGVzUGVyc29ufSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3NhbGVzLXBlcnNvbi5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkYXBpfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9zaGFyZWRhcGlcIjtcclxuaW1wb3J0IHtBdmFpbGFibGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hdmFpbGFibGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWxsb2NhdGUtZ29vZHMtZm9yLXNhbGVzLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlckNvcnJlY3Rpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FsbG9jYXRlLWdvb2RzLWZvci1zYWxlcy1vcmRlci1jb3JyZWN0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtHb29kc0FsbG9jYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ29vZHMtYWxsb2NhdGlvbi1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9nb29kcy1hbGxvY2F0aW9uLXN0YXR1cy13aXRoLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ib1wiO1xyXG5pbXBvcnQge0VtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50LW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGRmLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRQdXJjaGFzZU9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50LXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtFbWFpbFB1cmNoYXNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtcHVyY2hhc2Utb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BkZlB1cmNoYXNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGRmLXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTYWxlc09yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtc2FsZXMtb3JkZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtY2FzaC1yZWdpc3Rlci1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q3JlYXRlUHVyY2hhc2VPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXB1cmNoYXNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTZXJ2aWNlT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDcmVhdGVTYWxlc1F1b3RhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXNhbGVzLXF1b3RhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHVyY2hhc2VBZHZpY2VMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLWFkdmljZS1saW5lLmJvXCI7XHJcbmltcG9ydCB7UHVyY2hhc2VBZHZpY2VGaWx0ZXJzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLWFkdmljZS1maWx0ZXJzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29ubmVjdG9yQWRhcHRlclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBjb25uZWN0b3I6IFRyYW5zYWN0aW9uO1xyXG4gIHB1YmxpYyBzaGFyZWRDb25uZWN0b3I6IFNoYXJlZGFwaTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2U6IFNlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlOiBTZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lcnJvclNlcnZpY2U6IEVycm9yU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNvbm5lY3RvciA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMuc2hhcmVkQ29ubmVjdG9yID0gbmV3IFNoYXJlZGFwaSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMuc2Vzc2lvbiA9IHRoaXMuY29ubmVjdG9yLnNlc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBcnRpY2xlRnVsbE9iamVjdCwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBBcnRpY2xlRnVsbE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tQXJ0aWNsZU5yKGFydGljbGVOcjogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRHb29kSWRGcm9tQXJ0aWNsZU5yKGFydGljbGVOcik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdE9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTaW5nbGVJbWFnZShub2RlSWQ6IG51bWJlciB8IHN0cmluZywgcHVibGljYXRpb246IG51bWJlciwgaW5jbHVkZU1pbWV0eXBlOiBib29sZWFuLCB0aHVtYjogYm9vbGVhbik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0U2luZ2xlSW1hZ2Uobm9kZUlkLCBwdWJsaWNhdGlvbiwgaW5jbHVkZU1pbWV0eXBlLCB0aHVtYik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCAmJiByZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoICE9PSBudWxsICYmIHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZVBhdGggIT09IHVuZGVmaW5lZCAmJiByZXN1bHQucmVzdWx0T2JqZWN0LmZpbGVQYXRoICE9PSBcIlwiKSB7XHJcbiAgICAgICAgcmV0dXJuIEltYWdlVXRpbHMuZ2V0Rml4ZWRJbWFnZUZpbGVwYXRoVXJsKHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZVBhdGgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICBpZiAoaW5jbHVkZU1pbWV0eXBlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBJbWFnZVV0aWxzLmdldERvY0JvZHlXaXRoTWltZVR5cGVEZWZpbml0aW9uKHJlc3VsdC5yZXN1bHRPYmplY3QuZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgdGh1bWIgPyByZXN1bHQucmVzdWx0T2JqZWN0LnRodW1ibmFpbEJvZHkgOiByZXN1bHQucmVzdWx0T2JqZWN0LmRvY3VtZW50Qm9keSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGh1bWIgPyByZXN1bHQucmVzdWx0T2JqZWN0LnRodW1ibmFpbEJvZHkgOiByZXN1bHQucmVzdWx0T2JqZWN0LmRvY3VtZW50Qm9keTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vIGltYWdlXHJcbiAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxDb3VudHJ5W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDb3VudHJpZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb3VudHJ5LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDb3VudHJ5W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbWVyR3JvdXBzKCk6IFByb21pc2U8Q3VzdG9tZXJHcm91cFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q3VzdG9tZXJHcm91cHMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDdXN0b21lckdyb3VwLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDdXN0b21lckdyb3VwW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENvdW50cnkoY291bnRyeUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q291bnRyeT4ge1xyXG4gICAgY29uc3QgY291bnRyaWVzOiBDb3VudHJ5W10gPSBhd2FpdCB0aGlzLmdldENvdW50cmllcygpO1xyXG4gICAgcmV0dXJuIGNvdW50cmllcy5maW5kKGNvdW50cnkgPT4gY291bnRyeS5jb2RlID09PSBjb3VudHJ5Q29kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpdmFjeVNldHRpbmdzKCk6IFByb21pc2U8UHJpdmFjeVNldHRpbmdbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFByaXZhY3lTZXR0aW5ncygpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFByaXZhY3lTZXR0aW5nLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBQcml2YWN5U2V0dGluZ1tdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRSZWxhdGlvblByaXZhY3lTZXR0aW5ncygpOiBQcm9taXNlPFJlbGF0aW9uUHJpdmFjeVNldHRpbmdbXT4ge1xyXG4gICAgY29uc3QgcHJpdmFjeVNldHRpbmdzOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nW10gPSBbXTtcclxuXHJcbiAgICBjb25zdCBiYXNlUHJpdmFjeVNldHRpbmdzOiBQcml2YWN5U2V0dGluZ1tdID0gYXdhaXQgdGhpcy5nZXRQcml2YWN5U2V0dGluZ3MoKTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYmFzZVByaXZhY3lTZXR0aW5ncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICBjb25zdCBiYXNlUHJpdlNldHRpbmc6IFByaXZhY3lTZXR0aW5nID0gYmFzZVByaXZhY3lTZXR0aW5nc1tpXTtcclxuICAgICAgY29uc3QgbmV3UmVsUHJpdlNldDogUmVsYXRpb25Qcml2YWN5U2V0dGluZyA9IDxSZWxhdGlvblByaXZhY3lTZXR0aW5nPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5pbnN0YW50aWF0ZU5ld0JvKFJlbGF0aW9uUHJpdmFjeVNldHRpbmcpO1xyXG4gICAgICBuZXdSZWxQcml2U2V0LmFwcGx5QmFzZVByaXZhY3lTZXR0aW5nVmFsdWVzKGJhc2VQcml2U2V0dGluZyk7XHJcbiAgICAgIHByaXZhY3lTZXR0aW5ncy5wdXNoKG5ld1JlbFByaXZTZXQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhY3lTZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRNYXJrZXRpbmdDb2RlcygpOiBQcm9taXNlPE1hcmtldGluZ1tdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0TWFya2V0aW5nQ29kZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShNYXJrZXRpbmcsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIE1hcmtldGluZ1tdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlQm91bmRUZXh0TGluZXNPZkFydGljbGVMaW5lKGFydGljbGVMaW5lVXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkxpbmVJbmZvW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRBcnRpY2xlQm91bmRUZXh0TGluZXNPZkFydGljbGVMaW5lKGFydGljbGVMaW5lVXVpZCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uTGluZUluZm9bXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShUcmFuc2FjdGlvbkxpbmVJbmZvLCByZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25CeU5yQW5kS2luZChraW5kOiBUcmFuc2FjdGlvbktpbmQsIHRyYW5zYWN0aW9uTm86IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUcmFuc2FjdGlvbkJ5TnJBbmRLaW5kKGtpbmQsIHRyYW5zYWN0aW9uTm8pO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uQnlJZCh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VHJhbnNhY3Rpb25CeUlkKHRyYW5zYWN0aW9uSWQpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvY2tUcmFuc2FjdGlvbkJ5SWQodHJhbnNhY3Rpb25JZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uTG9ja1Jlc3VsdD4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmxvY2tUcmFuc2FjdGlvbkJ5VHJhbnNJZCh0cmFuc2FjdGlvbklkLCB2ZXJzaW9uKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkxvY2tSZXN1bHQsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgVHJhbnNhY3Rpb25Mb2NrUmVzdWx0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENhc2hSZWdpc3RlcnMoYnJhbmNoPzogc3RyaW5nLCBncm91cD86IG51bWJlcik6IFByb21pc2U8Q2FzaFJlZ2lzdGVyW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDYXNoUmVnaXN0ZXIoYnJhbmNoLCBncm91cCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ2FzaFJlZ2lzdGVyLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDYXNoUmVnaXN0ZXJbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpY2VMaXN0cyhjb2RlPzogc3RyaW5nKTogUHJvbWlzZTxQcmljZUxpc3RbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFByaWNlTGlzdHMoY29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHJpY2VMaXN0LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBQcmljZUxpc3RbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VmF0TGlzdChvbmx5VmFsaWQ6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8VmF0W10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRWYXRMaXN0KG9ubHlWYWxpZCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoVmF0LCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBWYXRbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2VhcmNoVHJhbnNhY3Rpb25zKHJlcXVlc3Q6IFRyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnNlYXJjaFRyYW5zYWN0aW9ucyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBjb25zdCByZXN1bHQ6IFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0ID0gbmV3IFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0KCk7XHJcbiAgICAgIHJlc3VsdC5jb3VudCA9IChyZXNwb25zZS5wYWdpbmdQYXJhbWV0ZXJzIGFzIGFueSkucmVzdWx0Q291bnQ7IC8vIHRvZG86IGZpeCBwcm9wZXJ0eSBpbiBhcGlcclxuICAgICAgcmVzdWx0LnRyYW5zYWN0aW9ucyA9IDx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFRyYW5zYWN0aW9uU2VhcmNoVmlldywgcmVzcG9uc2UucmVzdWx0T2JqZWN0cykgYXMgVHJhbnNhY3Rpb25TZWFyY2hWaWV3W107XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTZXF1ZW5jZVZhbHVlKHNlcXVlbmNlTmFtZTogU2VxdWVuY2VOYW1lKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFNlcXVlbmNlVmFsdWUoc2VxdWVuY2VOYW1lKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeU1ldGhvZHMoKTogUHJvbWlzZTxEZWxpdmVyeU1ldGhvZFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RGVsaXZlcnlNZXRob2RzKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoRGVsaXZlcnlNZXRob2QsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIERlbGl2ZXJ5TWV0aG9kW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5T3B0aW9ucygpOiBQcm9taXNlPERlbGl2ZXJ5T3B0aW9uW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXREZWxpdmVyeU9wdGlvbnMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShEZWxpdmVyeU9wdGlvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgRGVsaXZlcnlPcHRpb25bXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UG9zdGFsQ29kZVJldHJpZXZhbChwb3N0Y2FsQ29kZTogc3RyaW5nLCBob3VzZU5vOiBzdHJpbmcpOiBQcm9taXNlPEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXM+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQb3N0YWxDb2RlUmV0cmlldmFsKHBvc3RjYWxDb2RlLCBob3VzZU5vKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3Qgb3V0cHV0UGFyYW1zOiBHZXRQb3N0YWxDb2RlUmV0cmlldmFsT3V0cHV0UGFyYW1zID0gbmV3IEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXMoKTtcclxuICAgICAgICBvdXRwdXRQYXJhbXMuY2l0eSA9IHJlc3VsdC5yZXN1bHRPYmplY3QuY2l0eTtcclxuICAgICAgICBvdXRwdXRQYXJhbXMuc3RyZWV0ID0gcmVzdWx0LnJlc3VsdE9iamVjdC5zdHJlZXQ7XHJcbiAgICAgICAgb3V0cHV0UGFyYW1zLnN0YXR1cyA9IHJlc3VsdC5yZXN1bHRPYmplY3Quc3RhdHVzO1xyXG4gICAgICAgIG91dHB1dFBhcmFtcy5uZXROdW1iZXIgPSByZXN1bHQucmVzdWx0T2JqZWN0Lm5ldE51bWJlcjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0UGFyYW1zO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Q29tbWlzc2lvbkNvZGVzKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogUHJvbWlzZTxDb0RvbWFpblZhbHVlW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDb21taXNzaW9uQ29kZXMobGFuZ3VhZ2VDb2RlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb0RvbWFpblZhbHVlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBDb0RvbWFpblZhbHVlW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEluT3V0Q29sbGVjdGlvbihsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0SW5PdXRDb2xsZWN0aW9uKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQ29Eb21haW5WYWx1ZSwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ29Eb21haW5WYWx1ZVtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VzKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkFydGljbGVXYXJlaG91c2VbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuZ2V0VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlcyhnb29kSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSg8VHJhbnNhY3Rpb25BcnRpY2xlV2FyZWhvdXNlW10+cmVzdWx0LnJlc3VsdE9iamVjdHMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRleHRUeXBlcyhsYW5ndWFnZUNvZGU6IHN0cmluZyk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VGV4dFR5cGVzKGxhbmd1YWdlQ29kZSk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBjb25zdCB0ZXh0czogQ29Eb21haW5WYWx1ZVtdID0gPENvRG9tYWluVmFsdWVbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShDb0RvbWFpblZhbHVlLCByZXN1bHQucmVzdWx0T2JqZWN0cyk7XHJcbiAgICAgIHRleHRzLnNvcnQoKGEsIGIpID0+IGEuc2VxdWVuY2UgPiBiLnNlcXVlbmNlID8gMSA6IC0xKTtcclxuICAgICAgcmV0dXJuIHRleHRzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFuZGFyZFRleHRzKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogUHJvbWlzZTxTdGFuZGFyZFRleHRbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFN0YW5kYXJkVGV4dHMobGFuZ3VhZ2VDb2RlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdGFuZGFyZFRleHQsIHJlc3VsdC5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgU3RhbmRhcmRUZXh0W107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNhbGVzUGVyc29ucyhkYXRlPzogRGF0ZSk6IFByb21pc2U8U2FsZXNQZXJzb25bXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFNhbGVzUGVyc29ucyhkYXRlKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTYWxlc1BlcnNvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgU2FsZXNQZXJzb25bXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VGFncyhjYXRlZ29yeTogbnVtYmVyKTogUHJvbWlzZTxUYWdbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFRhZ3MoY2F0ZWdvcnkpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFRhZywgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgVGFnW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9uSG9sZENvZGVzKCk6IFByb21pc2U8T25Ib2xkQ29kZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T25Ib2xkQ29kZXMoKTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShPbkhvbGRDb2RlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBPbkhvbGRDb2RlW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFdhcmVob3VzZXMoYnJhbmNoTnI/OiBzdHJpbmcpOiBQcm9taXNlPFdhcmVob3VzZVtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0V2FyZWhvdXNlcyhicmFuY2hOcik7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoV2FyZWhvdXNlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBXYXJlaG91c2VbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SGlzdG9yaWNTdGF0ZVZhbHVlcygpOiBQcm9taXNlPENvZGVEZXNjcmlwdGlvbltdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0SGlzdG9yaWNTdGF0ZVZhbHVlcygpO1xyXG4gICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KENvZGVEZXNjcmlwdGlvbiwgcmVzdWx0LnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgQ29kZURlc2NyaXB0aW9uW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRNZXRob2RzKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UGF5bWVudE1ldGhvZHNGb3JTYWxlc09yZGVyKCk7XHJcbiAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUGF5bWVudE1ldGhvZCwgcmVzdWx0LnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBQYXltZW50TWV0aG9kW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNvbW1pdCgpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm9sbGJhY2soKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5yb2xsYmFjaygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlVHJhbnNhY3Rpb24oa2luZDogVHJhbnNhY3Rpb25LaW5kLCBicmFuY2hOcjogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuY3JlYXRlVHJhbnNhY3Rpb24oa2luZCwgYnJhbmNoTnIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlcihyZXF1ZXN0OiBDcmVhdGVTYWxlc09yZGVyUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNyZWF0ZVNhbGVzT3JkZXIocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0OiBDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVB1cmNoYXNlT3JkZXIocmVxdWVzdDogQ3JlYXRlUHVyY2hhc2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVQdXJjaGFzZU9yZGVyKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2VydmljZU9yZGVyKHJlcXVlc3Q6IENyZWF0ZVNlcnZpY2VPcmRlclJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVTZXJ2aWNlT3JkZXIocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTYWxlc1F1b3RhdGlvbihyZXF1ZXN0OiBDcmVhdGVTYWxlc1F1b3RhdGlvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jcmVhdGVTYWxlc1F1b3RhdGlvbihyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzYXZlVHJhbnNhY3Rpb24odXVpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3Iuc2F2ZVRyYW5zYWN0aW9uKHV1aWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0UmVsYXRpb25CeVVzZXIodXVpZDogc3RyaW5nLCB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5zZXRSZWxhdGlvbkJ5VXNlcih1dWlkLCB1c2VybmFtZSwgcGFzc3dvcmQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzOiBSZXNvbHZlSGVhZGVyUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5yZXNvbHZlUGVuZGluZ0hlYWRlclJlYXNvbihwZW5kaW5nSGVhZGVyVmFsdWVzKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3VsdCk7XHJcbiAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlcykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRUcmFuc2FjdGlvbkxpbmUoXHJcbiAgICB1dWlkOiBzdHJpbmcsXHJcbiAgICBhcnRpY2xlTGluZTogVHJhbnNhY3Rpb25MaW5lVHlwZSxcclxuICAgIGFydGljbGVObzogc3RyaW5nLFxyXG4gICAgYW1vdW50OiBudW1iZXIsXHJcbiAgICBpc1JldHVybjogYm9vbGVhbixcclxuICAgIGFib3ZlTGluZU5yOiBudW1iZXIsXHJcbiAgICBiZWxvd0xpbmVOcjogbnVtYmVyXHJcbiAgKTpcclxuICAgIFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmFkZFRyYW5zYWN0aW9uTGluZSh1dWlkLCBhcnRpY2xlTGluZSwgYXJ0aWNsZU5vLCBhbW91bnQsIGlzUmV0dXJuLCBhYm92ZUxpbmVOciwgYmVsb3dMaW5lTnIpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkVGV4dExpbmVUb1RyYW5zYWN0aW9uKHV1aWQ6IHN0cmluZywgc2hvd09uRG9jdW1lbnRzOiBudW1iZXIsIHRleHQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGFydGljbGVCb3VuZDogYm9vbGVhbiwgcmVmQXJ0aWNsZUxpbmVOcjogbnVtYmVyLCBhYm92ZUxpbmVOcj86IG51bWJlciwgYmVsb3dMaW5lTnI/OiBudW1iZXIpOlxyXG4gICAgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuYWRkVGV4dExpbmVUb1RyYW5zYWN0aW9uKHV1aWQsIHNob3dPbkRvY3VtZW50cywgdGV4dCwgYW1vdW50LCBhcnRpY2xlQm91bmQsIHJlZkFydGljbGVMaW5lTnIsIGFib3ZlTGluZU5yLCBiZWxvd0xpbmVOcikudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRSZWxhdGlvblRvVHJhbnNhY3Rpb24odXVpZDogc3RyaW5nLCByZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5hZGRSZWxhdGlvblRvVHJhbnNhY3Rpb24odXVpZCwgcmVsYXRpb25JZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucyh0cmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3Q6IFNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZUJhc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLnNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zKHRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VMaW5lU2VxdWVuY2UodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBhYm92ZUxpbmVOcj86IG51bWJlciwgYmVsb3dMaW5lTnI/OiBudW1iZXIpOlxyXG4gICAgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBjb25zdCByZXF1ZXN0OiBDaGFuZ2VMaW5lU2VxdWVuY2VSZXF1ZXN0ID0ge1xyXG4gICAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgICAgYWJvdmVMaW5lTnI6IGFib3ZlTGluZU5yLFxyXG4gICAgICAgIGJlbG93TGluZU5yOiBiZWxvd0xpbmVOclxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VMaW5lU2VxdWVuY2UocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNhbmNlbEFkZFRyYW5zYWN0aW9uTGluZShsaW5lVXVpZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlVHJhbnNhY3Rpb25MaW5lKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmRlbGV0ZVRyYW5zYWN0aW9uTGluZSh1dWlkLCBsaW5lVXVpZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lUXVhbnRpdHkodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBuZXdRdWFudGl0eTogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgICAgbmV3UXVhbnRpdHk6IG5ld1F1YW50aXR5XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVF1YW50aXR5KHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0KTtcclxuICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lQ29tbWlzc2lvbkNvZGUodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3Q29tbWlzc2lvbkNvZGU6IGNvZGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVDb21taXNzaW9uQ29kZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lU3VwcGxpZXIodXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBpZDogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1N1cHBsaWVySWQ6IGlkXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lU3VwcGxpZXIocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVdhcmVob3VzZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHdhcmVob3VzZU51bWJlcjogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1dhcmVob3VzZU51bWJlcjogd2FyZWhvdXNlTnVtYmVyXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lV2FyZWhvdXNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVQcmljZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHByaWNlOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3UHJpY2U6IHByaWNlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lUHJpY2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVByaWNlTGlzdCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHByaWNlTGlzdDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1ByaWNlTGlzdENvZGU6IHByaWNlTGlzdFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZVByaWNlTGlzdChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lVmF0KHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgaWQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdWYXRJZDogaWRcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVWYXQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUxpbmVEaXNjb3VudCh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHR5cGU6IERpc2NvdW50VHlwZSwgZGlzY291bnQ6IG51bWJlciwgcmVhc29uOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBkaXNjb3VudFR5cGU6IHR5cGUsXHJcbiAgICAgIG5ld0Rpc2NvdW50OiBkaXNjb3VudCxcclxuICAgICAgbmV3RGlzY291bnRSZWFzb246IHJlYXNvbixcclxuICAgICAgbmV3RGlzY291bnRDb2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGlzY291bnQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZURlbGl2ZXJ5TWV0aG9kKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIGxpbmVVdWlkOiBsaW5lVXVpZCxcclxuICAgICAgbmV3RGVsaXZlcnlNZXRob2RDb2RlOiBtZXRob2RcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeU1ldGhvZChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlVHJhbnNhY3Rpb25MaW5lRGVsaXZlcnlEYXRlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgZGF0ZTogRGF0ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeURhdGU6IGRhdGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVEZWxpdmVyeURhdGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUFzc2VtYmx5VGltZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHRpbWU6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdBc3NlbWJseVRpbWU6IHRpbWVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVBc3NlbWJseVRpbWUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUVkaXRUaW1lKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgdGltZTogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0VkaXRUaW1lOiB0aW1lXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lRWRpdFRpbWUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVN1cHBsaWVyQXJ0aWNsZU51bWJlcih1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIGFydGljbGVOdW1iZXI6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdTdXBwbGllckFydGljbGVOdW1iZXI6IGFydGljbGVOdW1iZXJcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VUcmFuc2FjdGlvbkxpbmVTdXBwbGllckFydGljbGVOdW1iZXIocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZVJlZmVyZW5jZSh1dWlkOiBzdHJpbmcsIGxpbmVVdWlkOiBzdHJpbmcsIHJlZmVyZW5jZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld1JlZmVyZW5jZTogcmVmZXJlbmNlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lUmVmZXJlbmNlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VUcmFuc2FjdGlvbkxpbmVHb29kRGVzY3JpcHRpb24odXVpZDogc3RyaW5nLCBsaW5lVXVpZDogc3RyaW5nLCBnb29kRGVzY3JpcHRpb246IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbGluZVV1aWQ6IGxpbmVVdWlkLFxyXG4gICAgICBuZXdHb29kRGVzY3JpcHRpb246IGdvb2REZXNjcmlwdGlvblxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZVRyYW5zYWN0aW9uTGluZUdvb2REZXNjcmlwdGlvbihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EZWZpbml0aXZlKHV1aWQ6IHN0cmluZywgZGVmaW5pdGl2ZTogYm9vbGVhbik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3VHJhbnNhY3Rpb25EZWZpbml0aXZlOiBkZWZpbml0aXZlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EZWZpbml0aXZlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJEZWxpdmVyeUFkZHJlc3ModXVpZDogc3RyaW5nLCBuZXdOYXdOcjogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdUcmFuc2FjdGlvbkFkZHJlc3NOYXdOcjogbmV3TmF3TnJcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkFkZHJlc3MocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlckludm9pY2VBZGRyZXNzKHV1aWQ6IHN0cmluZywgbmV3TmF3TnI6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3SW52b2ljZUFkZHJlc3NOYXdOcjogbmV3TmF3TnJcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJJbnZvaWNlQWRkcmVzcyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25EZWxpdmVyeURhdGUodXVpZDogc3RyaW5nLCBkYXRlOiBEYXRlKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdEZWxpdmVyeURhdGU6IGRhdGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJEZWxpdmVyeURhdGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVsaXZlcnlEYXRlRGVmaW5pdGl2ZSh1dWlkOiBzdHJpbmcsIGRlZmluaXRpdmU6IGJvb2xlYW4pOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0RlbGl2ZXJ5RGF0ZURlZmluaXRpdmU6IGRlZmluaXRpdmVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJEZWxpdmVyeURhdGVEZWZpbml0aXZlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvblJlbWFyayh1dWlkOiBzdHJpbmcsIHJlbWFyazogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdSZW1hcmtzOiByZW1hcmtcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJSZW1hcmtzKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvblJlZmVyZW5jZSh1dWlkOiBzdHJpbmcsIHJlZmVyZW5jZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdPd25SZWZlcmVuY2U6IHJlZmVyZW5jZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlck93blJlZmVyZW5jZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25SZWxhdGlvblJlZmVyZW5jZSh1dWlkOiBzdHJpbmcsIHJlZmVyZW5jZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdSZWxhdGlvblJlZmVyZW5jZTogcmVmZXJlbmNlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyUmVsYXRpb25SZWZlcmVuY2UocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRvRG93blBheVBlcmNlbnRhZ2UodXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgbmV3VG9Eb3duUGF5UGVyY2VudGFnZTogYW1vdW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVG9Eb3duUGF5UGVyY2VudGFnZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVG9Eb3duUGF5QW1vdW50KHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RvRG93blBheUFtb3VudDogYW1vdW50XHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyVG9Eb3duUGF5QW1vdW50KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvblByZWZlcnJlZERlbGl2ZXJ5RGF0ZSh1dWlkOiBzdHJpbmcsIGRhdGU6IERhdGUpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1ByZWZlcnJlZERlbGl2ZXJ5RGF0ZTogZGF0ZSxcclxuICAgICAgbmV3UHJlZmVycmVkRGVsaXZlcnlEYXRlT3B0aW9uOiBcIlwiXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyUHJlZmVycmVkRGVsaXZlcnlEYXRlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRlbGl2ZXJ5TWV0aG9kKHV1aWQ6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0RlbGl2ZXJ5TWV0aG9kQ29kZTogbWV0aG9kXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlSGVhZGVyRGVsaXZlcnlNZXRob2QocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zKHV1aWQ6IHN0cmluZywgb3B0aW9uczogc3RyaW5nW10pOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0RlbGl2ZXJ5T3B0aW9uczogb3B0aW9uc1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlckRlbGl2ZXJ5T3B0aW9ucyhyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25QYXJ0aWFsRGVsaXZlcnkodXVpZDogc3RyaW5nLCBhbGxvd1BhcnRpYWw6IGJvb2xlYW4pOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1BhcnRpYWxEZWxpdmVyeUFsbG93ZWQ6IGFsbG93UGFydGlhbFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNoYW5nZUhlYWRlclBhcnRpYWxEZWxpdmVyeUFsbG93ZWQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uQnJhbmNoKHV1aWQ6IHN0cmluZywgYnJhbmNoOiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld0JyYW5jaElkOiBicmFuY2hcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJCcmFuY2gocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZUhlYWRlclRyYW5zYWN0aW9uQWRtQ29vcmRpbmF0b3IodXVpZDogc3RyaW5nLCByZWxhdGlvbjogbnVtYmVyKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBuZXdBZG1Db29yZGluYXRvcjogcmVsYXRpb25cclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJBZG1Db29yZGluYXRvcihyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2hhbmdlSGVhZGVyVHJhbnNhY3Rpb25NYXJrZXRpbmcodXVpZDogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld01hcmtldGluZ0NvZGU6IGNvZGVcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJNYXJrZXRpbmdDb2RlKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvbkRpc2NvdW50KHV1aWQ6IHN0cmluZywgdHlwZTogRGlzY291bnRUeXBlLCBhbW91bnQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zYWN0aW9uVXVpZDogdXVpZCxcclxuICAgICAgb3JkZXJEaXNjb3VudFR5cGU6IHR5cGUsXHJcbiAgICAgIGRpc2NvdW50VmFsdWU6IGFtb3VudFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnNldFRyYW5zYWN0aW9uRGlzY291bnRzKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VIZWFkZXJUcmFuc2FjdGlvblRvRG93blBheSh1dWlkOiBzdHJpbmcsIGRvd25QYXltZW50OiBudW1iZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICB0cmFuc2FjdGlvblV1aWQ6IHV1aWQsXHJcbiAgICAgIG5ld1RvRG93blBheUFtb3VudDogZG93blBheW1lbnRcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jaGFuZ2VIZWFkZXJUb0Rvd25QYXlBbW91bnQocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNoYW5nZVRyYW5zYWN0aW9uTGluZUNvbGxlY3Rpb25Db2RlKHV1aWQ6IHN0cmluZywgbGluZVV1aWQ6IHN0cmluZywgY29kZTogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgdHJhbnNhY3Rpb25VdWlkOiB1dWlkLFxyXG4gICAgICBsaW5lVXVpZDogbGluZVV1aWQsXHJcbiAgICAgIG5ld0NvbGxlY3Rpb25Db2RlOiBjb2RlXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuY2hhbmdlVHJhbnNhY3Rpb25MaW5lQ29sbGVjdGlvbkNvZGUocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZU91dHN0YW5kaW5nRW50cnkodXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlcik6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zVVVJRDogdXVpZCxcclxuICAgICAgYW1vdW50OiBhbW91bnRcclxuICAgIH07XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jcmVhdGVPdXRzdGFuZGluZ0VudHJ5KHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZWdpc3RlclNhbGVzT3JkZXJQYXltZW50KFxyXG4gICAgdXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgY3VycmVuY3lJZDogbnVtYmVyLCBwYXltZW50TWV0aG9kOiBzdHJpbmcsIGNhc2hSZWdpc3Rlckdyb3VwSWQ6IG51bWJlclxyXG4gICk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zVVVJRDogdXVpZCxcclxuICAgICAgYW1vdW50OiBhbW91bnQsXHJcbiAgICAgIGN1cnJlbmN5SWQ6IGN1cnJlbmN5SWQsXHJcbiAgICAgIHBheW1lbnRNZXRob2RDb2RlOiBwYXltZW50TWV0aG9kLFxyXG4gICAgICBjYXNoUmVnaXN0ZXJHcm91cElkOiBjYXNoUmVnaXN0ZXJHcm91cElkXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUodXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgcGF5bWVudE1ldGhvZENvZGU6IHN0cmluZyk6IFByb21pc2U8Q3JlYXRlUGF5bWVudExpbmtSZXN1bHQ+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIHRyYW5zVVVJRDogdXVpZCxcclxuICAgICAgYW1vdW50OiBhbW91bnQsXHJcbiAgICAgIHBheW1lbnRNZXRob2RDb2RlOiBwYXltZW50TWV0aG9kQ29kZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZShyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBDcmVhdGVQYXltZW50TGlua1Jlc3VsdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRMaW5rU3RhdHVzKHBheW1lbnRMaW5rVVVJRDogc3RyaW5nKTogUHJvbWlzZTxQYXltZW50TGlua1N0YXR1cz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UGF5bWVudExpbmtTdGF0dXMocGF5bWVudExpbmtVVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoUGF5bWVudExpbmtTdGF0dXMsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBQYXltZW50TGlua1N0YXR1cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERvd25QYXltZW50SW5mbyh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uRG93blBheW1lbnRJbmZvPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXREb3duUGF5bWVudEluZm8odXVpZCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFRyYW5zYWN0aW9uRG93blBheW1lbnRJbmZvLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgVHJhbnNhY3Rpb25Eb3duUGF5bWVudEluZm87XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kc1JlY2VpcHRTdGF0dXModHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RzUmVjZWlwdFN0YXR1cyh0cmFuc0lkLCBsaW5lTnIpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3Rvcnk+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoR29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3RvcnksIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeSh0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxHb29kc1JlY2VpcHRTdGF0dXNXaXRoSGlzdG9yeT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0R29vZHNSZWNlaXB0U3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5Pjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEdvb2RzUmVjZWlwdFN0YXR1c1dpdGhIaXN0b3J5LCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlcihyZXF1ZXN0OiBSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXIocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXJDb3JyZWN0aW9uKHJlcXVlc3Q6IFJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXJDb3JyZWN0aW9uUmVxdWVzdCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlY2VpdmVHb29kc0ZvclB1cmNoYXNlT3JkZXJDb3JyZWN0aW9uKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZVBvcnRhbExpbmVzKHJlcXVlc3Q6IEdldFB1cmNoYXNlUG9ydGFsTGluZSk6IFByb21pc2U8UHVyY2hhc2VQb3J0YWxMaW5lW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlUG9ydGFsTGluZXMocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShQdXJjaGFzZVBvcnRhbExpbmUsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXN1bHQpO1xyXG4gICAgICAgICAgcmVqZWN0KG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVQdXJjaGFzZVBvcnRhbExpbmVzKHB1cmNoYXNlUG9ydGFsTGluZTogUHVyY2hhc2VQb3J0YWxMaW5lKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnVwZGF0ZVB1cmNoYXNlUG9ydGFsTGluZXMocHVyY2hhc2VQb3J0YWxMaW5lKTtcclxuICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdCgpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uKHB1cmNoYXNlT3JkZXJDb25maXJtYXRpb246IEdldFB1cmNoYXNlT3JkZXJDb25maXJtYXRpb24pOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbihwdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uKTtcclxuICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdCgpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrUHVyY2hhc2VQb3J0YWxMaW5lcyh0cmFuc0lkUHVyY2hhc2U6IG51bWJlciwgbGluZUlkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmxvY2tQdXJjaGFzZVBvcnRhbExpbmVzKHRyYW5zSWRQdXJjaGFzZSwgbGluZUlkKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YTogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldFN0b2NrU3RpY2tlclByaW50TGF5b3V0cyhkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVDb21taXNzaW9uT3JkZXJzKHRyYW5zSWQ6IG51bWJlciwgb25seUdlbmVyYXRlRm9yRGlyZWN0U2VsbFN1cHBsaWVyczogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuZ2VuZXJhdGVDb21taXNzaW9uT3JkZXJzKHRyYW5zSWQsIG9ubHlHZW5lcmF0ZUZvckRpcmVjdFNlbGxTdXBwbGllcnMpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5T3JkZXJTdGF0dXModHJhbnNJZDogbnVtYmVyLCBsaW5lTnI6IG51bWJlcik6IFByb21pc2U8RGVsaXZlcnlPcmRlclN0YXR1cz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RGVsaXZlcnlPcmRlclN0YXR1cyh0cmFuc0lkLCBsaW5lTnIpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8RGVsaXZlcnlPcmRlclN0YXR1cz48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShEZWxpdmVyeU9yZGVyU3RhdHVzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXZhaWxhYmxlU3RvY2tHcm91cGVkQnlXTEJTQnlUcmFuc0lkTGluZU5yKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPEF2YWlsYWJsZVN0b2NrW10+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEF2YWlsYWJsZVN0b2NrR3JvdXBlZEJ5V0xCU0J5VHJhbnNJZExpbmVOcih0cmFuc0lkLCBsaW5lTnIpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8QXZhaWxhYmxlU3RvY2tbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBdmFpbGFibGVTdG9jaywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyKHJlcXVlc3Q6IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyUmVxdWVzdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuYWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXIocmVxdWVzdCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlckNvcnJlY3Rpb24ocmVxdWVzdDogQWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJDb3JyZWN0aW9uUmVxdWVzdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuYWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJDb3JyZWN0aW9uKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0R29vZHNBbGxvY2F0aW9uU3RhdHVzKHRyYW5zSWQ6IG51bWJlciwgbGluZU5yOiBudW1iZXIpOiBQcm9taXNlPEdvb2RzQWxsb2NhdGlvblN0YXR1cz4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0R29vZHNBbGxvY2F0aW9uU3RhdHVzKHRyYW5zSWQsIGxpbmVOcik7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShHb29kc0FsbG9jYXRpb25TdGF0dXMsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBHb29kc0FsbG9jYXRpb25TdGF0dXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeSh0cmFuc0lkOiBudW1iZXIsIGxpbmVOcjogbnVtYmVyKTogUHJvbWlzZTxHb29kc0FsbG9jYXRpb25TdGF0dXNXaXRoSGlzdG9yeT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0R29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3RvcnkodHJhbnNJZCwgbGluZU5yKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEdvb2RzQWxsb2NhdGlvblN0YXR1c1dpdGhIaXN0b3J5LCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgR29vZHNBbGxvY2F0aW9uU3RhdHVzV2l0aEhpc3Rvcnk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlckNvbmZpcm1hdGlvbkVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25FbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWwsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlckNvbmZpcm1hdGlvblByaW50TGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25QcmludExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRPcmRlckNvbmZpcm1hdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRPcmRlckNvbmZpcm1hdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwcmludE9yZGVyQ29uZmlybWF0aW9uKHJlcXVlc3Q6IFByaW50T3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5wcmludE9yZGVyQ29uZmlybWF0aW9uKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBlbWFpbE9yZGVyQ29uZmlybWF0aW9uKHJlcXVlc3Q6IEVtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5lbWFpbE9yZGVyQ29uZmlybWF0aW9uKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwZGZPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0OiBQZGZPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnBkZk9yZGVyQ29uZmlybWF0aW9uKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwcmludFB1cmNoYXNlT3JkZXIocmVxdWVzdDogUHJpbnRQdXJjaGFzZU9yZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucHJpbnRQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBlbWFpbFB1cmNoYXNlT3JkZXIocmVxdWVzdDogRW1haWxQdXJjaGFzZU9yZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZW1haWxQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwZGZQdXJjaGFzZU9yZGVyKHJlcXVlc3Q6IFBkZlB1cmNoYXNlT3JkZXJSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5wZGZQdXJjaGFzZU9yZGVyKHJlcXVlc3QpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIDxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlclByaW50TGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UHVyY2hhc2VPcmRlclByaW50TGF5b3V0cyh0cmFuc2FjdGlvblVVSUQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUV4Y2VwdGlvbkZyb21SZXNwb25zZShyZXNwb25zZSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZU9yZGVyRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJEZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVBbmRTZW5kUHVyY2hhc2VPcmRlcnNGb3JTYWxlc09yZGVyKHRyYW5zYWN0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2VuZXJhdGVBbmRTZW5kUHVyY2hhc2VPcmRlcnNGb3JTYWxlc09yZGVyKHRyYW5zYWN0aW9uSWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZUFkdmljZUxpbmVzKGZpbHRlcnM6IFB1cmNoYXNlQWR2aWNlRmlsdGVycywgZ29vZElkPzogbnVtYmVyKTogUHJvbWlzZTxQdXJjaGFzZUFkdmljZUxpbmVbXT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UHVyY2hhc2VBZHZpY2VMaW5lcyhmaWx0ZXJzLCBnb29kSWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiA8UHVyY2hhc2VBZHZpY2VMaW5lW10+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHVyY2hhc2VBZHZpY2VMaW5lLCByZXNwb25zZS5yZXN1bHRPYmplY3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGVBbmRTZW5kUHVyY2hhc2VPcmRlcnMocHVyY2hhc2VBZHZpY2VMaW5lczogUHVyY2hhc2VBZHZpY2VMaW5lW10pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdlbmVyYXRlQW5kU2VuZFB1cmNoYXNlT3JkZXJzKHB1cmNoYXNlQWR2aWNlTGluZXMpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlRXhjZXB0aW9uRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVFeGNlcHRpb25Gcm9tUmVzcG9uc2UocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5fZXJyb3JTZXJ2aWNlLnNob3dWYWxpZGF0aW9uRXJyb3IocmVzdWx0KTtcclxuICB9XHJcbn1cclxuIl19
|