@esolve/ng-esolve-connect 0.29.6 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/account/esolve-account.service.mjs +4 -3
- package/esm2020/lib/account/transaction/classes/esolve-transaction-address.model.mjs +16 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-client.model.mjs +13 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-item-price.model.mjs +25 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-item.model.mjs +72 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-list.model.mjs +4 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-location.model.mjs +4 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-payment-method.model.mjs +10 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-shipping-method.model.mjs +12 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction-user.model.mjs +11 -0
- package/esm2020/lib/account/transaction/classes/esolve-transaction.model.mjs +54 -0
- package/esm2020/lib/account/transaction/classes/index.mjs +11 -0
- package/esm2020/lib/account/transaction/index.mjs +4 -23
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-client-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-item-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-options.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-payment-method-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-shipping-method-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/esolve-transaction-user-record.interface.mjs +2 -0
- package/esm2020/lib/account/transaction/interfaces/index.mjs +8 -0
- package/esm2020/lib/account/transaction/types/esolve-transaction-location-record.type.mjs +2 -0
- package/esm2020/lib/account/transaction/types/esolve-transaction-type.type.mjs +2 -0
- package/esm2020/lib/account/transaction/types/index.mjs +3 -0
- package/esm2020/lib/auth/esolve-auth-check-response.type.mjs +2 -0
- package/esm2020/lib/auth/esolve-auth-get-response.type.mjs +2 -0
- package/esm2020/lib/auth/esolve-auth.service.mjs +1 -1
- package/esm2020/lib/auth/index.mjs +3 -3
- package/esm2020/lib/cart/classes/esolve-cart-item.model.mjs +23 -22
- package/esm2020/lib/cart/classes/esolve-cart-stock-item.model.mjs +12 -11
- package/esm2020/lib/cart/classes/esolve-transaction-analytics-data.model.mjs +1 -1
- package/esm2020/lib/cart/esolve-cart.service.mjs +4 -5
- package/esm2020/lib/cart/interfaces/esolve-cart-item-record.interface.mjs +1 -1
- package/esm2020/lib/cart/interfaces/index.mjs +1 -3
- package/esm2020/lib/cart/types/esolve-cart-empty-response.type.mjs +2 -0
- package/esm2020/lib/cart/types/index.mjs +2 -1
- package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +2 -2
- package/esm2020/lib/coupons/classes/esolve-coupon.model.mjs +1 -1
- package/esm2020/lib/enquiry/esolve-enquiry-response.type.mjs +2 -0
- package/esm2020/lib/enquiry/esolve-enquiry-result.model.mjs +1 -1
- package/esm2020/lib/enquiry/esolve-enquiry.service.mjs +1 -1
- package/esm2020/lib/enquiry/index.mjs +2 -2
- package/esm2020/lib/manufacturers/esolve-manufacturer.model.mjs +1 -1
- package/esm2020/lib/news/esolve-news-article.model.mjs +1 -1
- package/esm2020/lib/payment/classes/esolve-payment-result.model.mjs +1 -1
- package/esm2020/lib/ranges/esolve-range.model.mjs +1 -1
- package/esm2020/lib/shared/assets/esolve-asset.model.mjs +1 -1
- package/esm2020/lib/shared/errors/esolve-error-handler.service.mjs +2 -3
- package/esm2020/lib/shared/filters/classes/esolve-range-filter.model.mjs +1 -1
- package/esm2020/lib/shared/filters/esolve-filter-factory.mjs +46 -54
- package/esm2020/lib/shared/filters/index.mjs +2 -2
- package/esm2020/lib/shared/response/esolve-response-handler.service.mjs +2 -3
- package/esm2020/lib/shared/seo/esolve-seo.service.mjs +2 -2
- package/esm2020/lib/stock/classes/esolve-additional-stock-image.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-dependant-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-linked-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-media-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-recipe-stock-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-group-item.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-group.model.mjs +1 -1
- package/esm2020/lib/stock/classes/esolve-stock-item-base.model.mjs +18 -8
- package/esm2020/lib/stock/classes/esolve-stock-lead-times.model.mjs +1 -1
- package/esm2020/lib/stock/esolve-stock.service.mjs +16 -16
- package/esm2020/lib/stock/interfaces/esolve-stock-base-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/esolve-stock-record.interface.mjs +1 -1
- package/esm2020/lib/stock/interfaces/index.mjs +1 -3
- package/esm2020/lib/stock/types/esolve-media-stock-item-record.type.mjs +2 -0
- package/esm2020/lib/stock/types/esolve-stock-group-item-record.type.mjs +2 -0
- package/esm2020/lib/stock/types/index.mjs +3 -1
- package/esm2020/lib/tags/esolve-tag.model.mjs +1 -1
- package/esm2020/lib/topics/esolve-topic.model.mjs +1 -1
- package/esm2020/media/lib/classes/esolve-media-article.model.mjs +3 -3
- package/esm2020/media/lib/classes/esolve-media-group.model.mjs +1 -1
- package/esm2020/media/lib/classes/esolve-media-layout-section.model.mjs +1 -1
- package/fesm2015/esolve-ng-esolve-connect-media.mjs +2 -2
- package/fesm2015/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2015/esolve-ng-esolve-connect.mjs +223 -156
- package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect-media.mjs +2 -2
- package/fesm2020/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2020/esolve-ng-esolve-connect.mjs +210 -146
- package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/account/esolve-account.service.d.ts +1 -1
- package/lib/account/transaction/{esolve-transaction-address.model.d.ts → classes/esolve-transaction-address.model.d.ts} +1 -1
- package/lib/account/transaction/{esolve-transaction-client.model.d.ts → classes/esolve-transaction-client.model.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-item-price.model.d.ts → classes/esolve-transaction-item-price.model.d.ts} +0 -0
- package/lib/account/transaction/classes/esolve-transaction-item.model.d.ts +39 -0
- package/lib/account/transaction/{esolve-transaction-list.model.d.ts → classes/esolve-transaction-list.model.d.ts} +1 -1
- package/lib/account/transaction/{esolve-transaction-location.model.d.ts → classes/esolve-transaction-location.model.d.ts} +1 -1
- package/lib/account/transaction/{esolve-transaction-payment-method.model.d.ts → classes/esolve-transaction-payment-method.model.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-shipping-method.model.d.ts → classes/esolve-transaction-shipping-method.model.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-user.model.d.ts → classes/esolve-transaction-user.model.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction.model.d.ts → classes/esolve-transaction.model.d.ts} +2 -2
- package/lib/account/transaction/classes/index.d.ts +10 -0
- package/lib/account/transaction/index.d.ts +3 -19
- package/lib/account/transaction/{esolve-transaction-client-record.interface.d.ts → interfaces/esolve-transaction-client-record.interface.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-item-record.interface.d.ts → interfaces/esolve-transaction-item-record.interface.d.ts} +5 -0
- package/lib/account/transaction/{esolve-transaction-options.interface.d.ts → interfaces/esolve-transaction-options.interface.d.ts} +1 -1
- package/lib/account/transaction/{esolve-transaction-payment-method-record.interface.d.ts → interfaces/esolve-transaction-payment-method-record.interface.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-record.interface.d.ts → interfaces/esolve-transaction-record.interface.d.ts} +2 -3
- package/lib/account/transaction/{esolve-transaction-shipping-method-record.interface.d.ts → interfaces/esolve-transaction-shipping-method-record.interface.d.ts} +0 -0
- package/lib/account/transaction/{esolve-transaction-user-record.interface.d.ts → interfaces/esolve-transaction-user-record.interface.d.ts} +0 -0
- package/lib/account/transaction/interfaces/index.d.ts +7 -0
- package/lib/account/transaction/types/esolve-transaction-location-record.type.d.ts +2 -0
- package/lib/account/transaction/{esolve-transaction-type.type.d.ts → types/esolve-transaction-type.type.d.ts} +0 -0
- package/lib/account/transaction/types/index.d.ts +2 -0
- package/lib/auth/{esolve-auth-check-response.interface.d.ts → esolve-auth-check-response.type.d.ts} +1 -2
- package/lib/auth/{esolve-auth-get-response.interface.d.ts → esolve-auth-get-response.type.d.ts} +1 -2
- package/lib/auth/esolve-auth.service.d.ts +1 -1
- package/lib/auth/index.d.ts +2 -2
- package/lib/cart/classes/esolve-cart-item.model.d.ts +9 -8
- package/lib/cart/classes/esolve-cart-stock-item.model.d.ts +5 -3
- package/lib/cart/interfaces/esolve-cart-item-record.interface.d.ts +1 -0
- package/lib/cart/interfaces/index.d.ts +0 -2
- package/lib/cart/types/esolve-cart-empty-response.type.d.ts +2 -0
- package/lib/cart/types/index.d.ts +1 -0
- package/lib/enquiry/esolve-enquiry-response.type.d.ts +2 -0
- package/lib/enquiry/esolve-enquiry-result.model.d.ts +1 -1
- package/lib/enquiry/index.d.ts +1 -1
- package/lib/payment/classes/esolve-payment-result.model.d.ts +4 -4
- package/lib/shared/errors/esolve-error-handler.service.d.ts +0 -1
- package/lib/shared/filters/esolve-filter-factory.d.ts +8 -10
- package/lib/shared/filters/index.d.ts +1 -1
- package/lib/shared/response/esolve-response-handler.service.d.ts +0 -1
- package/lib/stock/classes/esolve-media-stock-item.model.d.ts +1 -1
- package/lib/stock/classes/esolve-stock-group-item.model.d.ts +1 -1
- package/lib/stock/classes/esolve-stock-group.model.d.ts +1 -1
- package/lib/stock/classes/esolve-stock-item-base.model.d.ts +8 -0
- package/lib/stock/interfaces/esolve-stock-base-record.interface.d.ts +1 -0
- package/lib/stock/interfaces/esolve-stock-record.interface.d.ts +1 -1
- package/lib/stock/interfaces/index.d.ts +0 -2
- package/lib/stock/types/esolve-media-stock-item-record.type.d.ts +3 -0
- package/lib/stock/types/esolve-stock-group-item-record.type.d.ts +3 -0
- package/lib/stock/types/index.d.ts +2 -0
- package/package.json +1 -1
- package/esm2020/lib/account/transaction/esolve-transaction-address.model.mjs +0 -16
- package/esm2020/lib/account/transaction/esolve-transaction-client-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-client.model.mjs +0 -13
- package/esm2020/lib/account/transaction/esolve-transaction-item-price.model.mjs +0 -25
- package/esm2020/lib/account/transaction/esolve-transaction-item-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-item.model.mjs +0 -12
- package/esm2020/lib/account/transaction/esolve-transaction-list.model.mjs +0 -4
- package/esm2020/lib/account/transaction/esolve-transaction-location-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-location.model.mjs +0 -4
- package/esm2020/lib/account/transaction/esolve-transaction-options.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-payment-method-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-payment-method.model.mjs +0 -10
- package/esm2020/lib/account/transaction/esolve-transaction-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-shipping-method-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-shipping-method.model.mjs +0 -12
- package/esm2020/lib/account/transaction/esolve-transaction-type.type.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-user-record.interface.mjs +0 -2
- package/esm2020/lib/account/transaction/esolve-transaction-user.model.mjs +0 -11
- package/esm2020/lib/account/transaction/esolve-transaction.model.mjs +0 -58
- package/esm2020/lib/auth/esolve-auth-check-response.interface.mjs +0 -2
- package/esm2020/lib/auth/esolve-auth-get-response.interface.mjs +0 -2
- package/esm2020/lib/cart/interfaces/esolve-cart-empty-response.interface.mjs +0 -2
- package/esm2020/lib/enquiry/esolve-enquiry-response.interface.mjs +0 -2
- package/esm2020/lib/stock/interfaces/esolve-media-stock-item-record.interface.mjs +0 -2
- package/esm2020/lib/stock/interfaces/esolve-stock-group-item-record.interface.mjs +0 -2
- package/lib/account/transaction/esolve-transaction-item.model.d.ts +0 -11
- package/lib/account/transaction/esolve-transaction-location-record.interface.d.ts +0 -3
- package/lib/cart/interfaces/esolve-cart-empty-response.interface.d.ts +0 -3
- package/lib/enquiry/esolve-enquiry-response.interface.d.ts +0 -3
- package/lib/stock/interfaces/esolve-media-stock-item-record.interface.d.ts +0 -4
- package/lib/stock/interfaces/esolve-stock-group-item-record.interface.d.ts +0 -4
|
@@ -101,7 +101,7 @@ export class EsolveAccountService {
|
|
|
101
101
|
observe: 'body',
|
|
102
102
|
})
|
|
103
103
|
.pipe(map((http_response) => this.responseHandler.validateSingleHttpResponse(http_response, (response) => new EsolveAddressResult(response))), catchError((errorRes) => {
|
|
104
|
-
return this.errorHandler.handleHttpPostError('set-
|
|
104
|
+
return this.errorHandler.handleHttpPostError('set-address', errorRes);
|
|
105
105
|
}));
|
|
106
106
|
}
|
|
107
107
|
getAddresses() {
|
|
@@ -140,9 +140,10 @@ export class EsolveAccountService {
|
|
|
140
140
|
return this.errorHandler.handleHttpDeleteError('delete-address', errorRes);
|
|
141
141
|
}));
|
|
142
142
|
}
|
|
143
|
-
register(user_registration) {
|
|
143
|
+
register(user_registration, guest = false) {
|
|
144
144
|
const body = {
|
|
145
145
|
user: user_registration,
|
|
146
|
+
guest_registration: guest,
|
|
146
147
|
};
|
|
147
148
|
return this.http
|
|
148
149
|
.post(`${this.config.api_url}/set-registration.php`, body, {
|
|
@@ -390,4 +391,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
390
391
|
type: Inject,
|
|
391
392
|
args: [ESOLVE_CONNECT_CONFIG]
|
|
392
393
|
}] }, { type: i1.HttpClient }, { type: i2.EsolveSessionService }, { type: i3.EsolveErrorHandlerService }, { type: i4.EsolveResponseHandlerService }]; } });
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFJSCw0QkFBNEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBR0gsd0JBQXdCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNILGFBQWEsRUFFYixtQkFBbUIsR0FHdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVILGlCQUFpQixFQUVqQixxQkFBcUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUdqQix1QkFBdUIsRUFDdkIsK0JB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QUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQzs7aUhBdGtCUSxvQkFBb0Isa0JBZ0JqQixxQkFBcUI7cUhBaEJ4QixvQkFBb0IsY0FGakIsTUFBTTsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFpQlEsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXN1bHQubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XHJcbmltcG9ydCB7XHJcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcclxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxyXG4gICAgRXNvbHZlR2V0UmVzcG9uc2UsXHJcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxyXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24vZXNvbHZlLXNlc3Npb24uc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXVwZGF0ZS1yZXN1bHQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbSxcclxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvbkRhdGEsXHJcbiAgICBFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQsXHJcbn0gZnJvbSAnLi9yZWdpc3RyYXRpb24nO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQWRkcmVzcyxcclxuICAgIEVzb2x2ZUFkZHJlc3NSZWNvcmQsXHJcbiAgICBFc29sdmVBZGRyZXNzUmVzdWx0LFxyXG4gICAgRXNvbHZlQWRkcmVzc1Bvc3REYXRhLFxyXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3BvbnNlLFxyXG59IGZyb20gJy4vYWRkcmVzcyc7XHJcbmltcG9ydCB7XHJcbiAgICBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdCxcclxuICAgIEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQsXHJcbiAgICBFc29sdmVGb3Jnb3RQYXNzd29yZFJlc3BvbnNlLFxyXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQsXHJcbn0gZnJvbSAnLi9wYXNzd29yZCc7XHJcbmltcG9ydCB7XHJcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcclxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uLFxyXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25PcHRpb25zLFxyXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25MaXN0LFxyXG59IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlVXNlckFjY291bnQsXHJcbiAgICBFc29sdmVVc2VyQWNjb3VudERhdGEsXHJcbiAgICBFc29sdmVVc2VyQWNjb3VudFJlY29yZCxcclxuICAgIEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0LFxyXG4gICAgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyxcclxuICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXNSZWNvcmQsXHJcbn0gZnJvbSAnLi91c2VyLWFjY291bnQnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblBvc3RSZXNwb25zZUl0ZW0sXHJcbiAgICBFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUmVzdWx0LFxyXG59IGZyb20gJy4vY29uZmlybWF0aW9uJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4uL2NhcnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQWNjb3VudFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfdXNlcl9pZCA9IDA7XHJcblxyXG4gICAgcHVibGljIGdldCB1c2VyX2lkKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJfaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB1c2VyX2lkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB2YWx1ZSA9ICgodmFsdWUgPiAwKSA/IHZhbHVlIDogMCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl91c2VyX2lkICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl91c2VyX2lkID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZTogRXNvbHZlU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZXNwb25zZUhhbmRsZXI6IEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNlc3Npb24uc3Vic2NyaWJlKChzZXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZXNzaW9uLmtleSAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXNlcl9pZCA9IHNlc3Npb24uaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlVXNlckFjY291bnQodXNlcl9hY2NvdW50X2RhdGE6IEVzb2x2ZVVzZXJBY2NvdW50RGF0YSk6IE9ic2VydmFibGU8RXNvbHZlVXNlckFjY291bnRSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICBhY2NvdW50OiB1c2VyX2FjY291bnRfZGF0YSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC11c2VyLWFjY291bnQucGhwYCxcclxuICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcclxuICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0KHJlc3BvbnNlKSxcclxuICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoJ3NldC11c2VyLWFjY291bnQnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VXNlckFjY291bnQoKTogT2JzZXJ2YWJsZTxFc29sdmVVc2VyQWNjb3VudD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVVc2VyQWNjb3VudFJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjb3VudC5waHBgLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQWNjb3VudChyZWNvcmQpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbGV0ZVVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2RlbGV0ZS1hY2NvdW50LnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuY29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cERlbGV0ZUVycm9yKCdkZWxldGUtYWNjb3VudCcsIGVycm9yUmVzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRBZGRyZXNzKGFkZHJlc3NfcG9zdF9kYXRhOiBFc29sdmVBZGRyZXNzUG9zdERhdGEpOiBPYnNlcnZhYmxlPEVzb2x2ZUFkZHJlc3NSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzX3Bvc3RfZGF0YSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUFkZHJlc3NSZXNwb25zZT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWFkZHJlc3MucGhwYCxcclxuICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVBZGRyZXNzUmVzdWx0KHJlc3BvbnNlKSxcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtcmVnaXN0cmF0aW9uJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFkZHJlc3NlcygpOiBPYnNlcnZhYmxlPEVzb2x2ZUFkZHJlc3NbXT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBZGRyZXNzUmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWRkcmVzc2VzLnBocGAsXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgdXNlcl9pZDogdGhpcy51c2VyX2lkIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQWRkcmVzcyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVsZXRlQWRkcmVzcyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5kZWxldGU8RXNvbHZlRGVsZXRlUmVzcG9uc2U+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZGVsZXRlLWFkZHJlc3MucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSBudWxsKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcycpXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGh0dHBfcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc3VsdChcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5tZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwRGVsZXRlRXJyb3IoJ2RlbGV0ZS1hZGRyZXNzJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyKHVzZXJfcmVnaXN0cmF0aW9uOiBFc29sdmVSZWdpc3RyYXRpb25EYXRhKTogT2JzZXJ2YWJsZTxFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICB1c2VyOiB1c2VyX3JlZ2lzdHJhdGlvbixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZVJlZ2lzdHJhdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1yZWdpc3RyYXRpb24ucGhwYCxcclxuICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcclxuICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuYXV0b19sb2dpbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVnaXN0cmF0aW9uUmVzdWx0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LXJlZ2lzdHJhdGlvbicsIGVycm9yUmVzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2VQYXNzd29yZChwYXNzd29yZDogc3RyaW5nLCBjb25maXJtX3Bhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgcGFzc3dvcmQsXHJcbiAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2hhbmdlLXBhc3N3b3JkLnBocGAsXHJcbiAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoJ3NldC1jaGFuZ2UtcGFzc3dvcmQnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN1Ym1pdHMgdGhlIHVzZXJzIGNvbmZpcm1hdGlvbiBrZXkgdG8gdGhlIHJlbGV2YW50IGJhY2tlbmQgc2VydmVyIGluIG9yZGVyIHRvXHJcbiAgICAgKiBjb25maXJtIHRoZSBhY2NvdW50cyB2YWxpZGl0eS4gVGhlIGtleSB3YXMgZW1haWxlZCB0byB0aGUgdXNlciBoZW5jZSBpZiBoZSByZWNlaXZlZFxyXG4gICAgICogaXQgYW5kIGVudGVycyB0aGUgdmFsdWUsIHRoZSBlbWFpbCBhY2NvdW50IGNhbiBiZSBzZWVuIGFzIHZhbGlkLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0aGF0IHdhcyBlbWFpbGVkIHRvIHRoZSByZWdpc3RlcmVkIHVzZXIncyBlbWFpbCBhY2NvdW50LlxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHRoYXQgY29udGFpbnMgdGhlIHJlc3VsdCBvZiB0aGUgYWNjb3VudCBjb25maXJtYXRpb24gcmVxdWVzdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFjY291bnRDb25maXJtYXRpb25SZXF1ZXN0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAga2V5LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbi5waHBgLFxyXG4gICAgICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5hdXRvX2xvZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6ICtyZXNwb25zZS5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtYWNjb3VudC1jb25maXJtYXRpb24nLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VuZEZvcmdvdFBhc3N3b3JkUmVxdWVzdChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUZvcmdvdFBhc3N3b3JkR2V0UmVzdWx0Pj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtZm9yZ290LXBhc3N3b3JkLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7IHBhcmFtczogeyBlbWFpbCB9IH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAhKCdyZXNldF9saW5rX3NlbnQnIGluIHJlc3BvbnNlLnJlY29yZHMpXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlY29yZHMucmVzZXRfbGlua19zZW50O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc2V0UGFzc3dvcmQoXHJcbiAgICAgICAgcmVzZXRfa2V5OiBzdHJpbmcsXHJcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgICAgICBjb25maXJtX3Bhc3N3b3JkOiBzdHJpbmcsXHJcbiAgICAgICAgYXV0b19sb2dpbiA9IHRydWUsXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUZvcmdvdFBhc3N3b3JkUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1mb3Jnb3QtcGFzc3dvcmQucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICByZXNldF9rZXksXHJcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQsXHJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybV9wYXNzd29yZCxcclxuICAgICAgICAgICAgICAgICAgICBhdXRvX2xvZ2luLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UubG9naW5fcmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3BvbnNlLnNlc3Npb25fZGF0YS5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtZm9yZ290LXBhc3N3b3JkJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZUxvY2F0aW9uKGxvY2F0aW9uX2lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHsgbG9jYXRpb25faWQgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtc2Vzc2lvbi1sb2NhdGlvbi5waHBgLFxyXG4gICAgICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7IGxvY2F0aW9uX2lkIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbnMob3B0aW9uczogRXNvbHZlVHJhbnNhY3Rpb25PcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEVzb2x2ZVRyYW5zYWN0aW9uTGlzdD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyYW5zYWN0aW9ucy5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiB0aGlzLnVzZXJfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMucHJvY2Vzc1RyYW5zYWN0aW9ucyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWwgPSArcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhLnRvdGFsX3JlY29yZHMgPz8gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93cyA9IG9wdGlvbnMucm93cyA/PyB0b3RhbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZSA9IG9wdGlvbnMucGFnZSB8fCAxO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkxpc3QoaXRlbXMsIHBhZ2UsIHJvd3MsIHRvdGFsKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb24+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25faWQ6IGlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnByb2Nlc3NUcmFuc2FjdGlvbnMocmVzcG9uc2UucmVjb3Jkcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldENsaWVudEFjY291bnRCYWxhbmNlcygpOiBPYnNlcnZhYmxlPEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWQ+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNsaWVudC1hY2NvdW50LWJhbGFuY2VzLnBocGAsXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2xpZW50QmFsYW5jZXMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzVXNlckFjY291bnQocmVjb3JkOiBFc29sdmVVc2VyQWNjb3VudFJlY29yZCk6IEVzb2x2ZVVzZXJBY2NvdW50IHtcclxuICAgICAgICBpZiAoIXJlY29yZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVjb3JkJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoK3JlY29yZC51c2VyaWQgIT09IHRoaXMuX3VzZXJfaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIgYWNjb3VudCByZXRyaWV2ZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlVXNlckFjY291bnQocmVjb3JkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NVc2VyQWRkcmVzcyhyZWNvcmRzOiBFc29sdmVBZGRyZXNzUmVjb3JkW10pOiBFc29sdmVBZGRyZXNzW10ge1xyXG4gICAgICAgIGNvbnN0IHVzZXJfYWRkcmVzc2VzOiBFc29sdmVBZGRyZXNzW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCFyZWNvcmRzIHx8ICh0aGlzLl91c2VyX2lkID09PSAwKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlcl9hZGRyZXNzZXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGlmICgrcmVjb3JkLnVzZXJpZCAhPT0gdGhpcy5fdXNlcl9pZCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVzZXJfYWRkcmVzc2VzLnB1c2gobmV3IEVzb2x2ZUFkZHJlc3MoXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmlkLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnJlY2lwaWVudCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5hZGRyZXNzX3R5cGUsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucG9ib3gsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucGxhY2VfbmFtZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5zdHJlZXRfbnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN0cmVldCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5zdWJ1cmIsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuY2l0eSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5wcm92aW5jZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jb3VudHJ5LFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnBvc3RhbF9jb2RlLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5sYXRpdHVkZSxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQubG9uZ2l0dWRlLFxyXG4gICAgICAgICAgICApKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB1c2VyX2FkZHJlc3NlcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NUcmFuc2FjdGlvbnMocmVjb3JkczogRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXSk6IEVzb2x2ZVRyYW5zYWN0aW9uW10ge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uczogRXNvbHZlVHJhbnNhY3Rpb25bXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAocmVjb3Jkcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbihyZWNvcmQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NDbGllbnRCYWxhbmNlcyhcclxuICAgICAgICByZWNvcmRzOiBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkW10sXHJcbiAgICApOiBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzIHwgdW5kZWZpbmVkIHtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICBpZiAoISgrcmVjb3JkLmNsaWVudHNfaWQgPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgY2FydF90b3RhbHMgPSBuZXcgRXNvbHZlQ2FydFRvdGFscyhcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jYXJ0X3RvdGFscy5yZWNvcmRzLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy5pdGVtcyxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMudG90YWwsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLnZhdCxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMuZGlzY291bnQsXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgKFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jbGllbnRzX2lkLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLmFjY291bnQsXHJcbiAgICAgICAgICAgICAgICBjYXJ0X3RvdGFscyxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuY3JlZGl0X2xpbWl0LFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5leHRlcm5hbF9hY2NvdW50X2JhbGFuY2UsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmV4dGVybmFsX2F2YWlsYWJsZV9iYWxhbmNlLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5uZXdfZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXHJcbiAgICAgICAgICAgICAgICAhIStyZWNvcmQuY3JlZGl0X2xpbWl0X29rYXksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbG9naW5HdWFyZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy51c2VyX2lkIDw9IDApIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIudGhyb3dFcnJvcignbG9naW5fcmVxdWlyZWQnLCAnTG9naW4gaXMgcmVxdWlyZWQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFJSCw0QkFBNEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBR0gsd0JBQXdCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNILGFBQWEsRUFFYixtQkFBbUIsR0FHdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVILGlCQUFpQixFQUVqQixxQkFBcUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUdqQix1QkFBdUIsRUFDdkIsK0JB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SUFBSSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7O2lIQXZrQlEsb0JBQW9CLGtCQWdCakIscUJBQXFCO3FIQWhCeEIsb0JBQW9CLGNBRmpCLE1BQU07MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBaUJRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzdWx0Lm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlRGVsZXRlUmVzcG9uc2UsXHJcbiAgICBFc29sdmVTZXRSZXNwb25zZSxcclxuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxyXG4gICAgRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSxcclxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQgfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi11cGRhdGUtcmVzdWx0Lm1vZGVsJztcclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvblBvc3RSZXNwb25zZUl0ZW0sXHJcbiAgICBFc29sdmVSZWdpc3RyYXRpb25EYXRhLFxyXG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUmVzdWx0LFxyXG59IGZyb20gJy4vcmVnaXN0cmF0aW9uJztcclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZUFkZHJlc3MsXHJcbiAgICBFc29sdmVBZGRyZXNzUmVjb3JkLFxyXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3VsdCxcclxuICAgIEVzb2x2ZUFkZHJlc3NQb3N0RGF0YSxcclxuICAgIEVzb2x2ZUFkZHJlc3NSZXNwb25zZSxcclxufSBmcm9tICcuL2FkZHJlc3MnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQ2hhbmdlUGFzc3dvcmRSZXN1bHQsXHJcbiAgICBFc29sdmVSZXNldFBhc3N3b3JkUmVzdWx0LFxyXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZSxcclxuICAgIEVzb2x2ZUZvcmdvdFBhc3N3b3JkR2V0UmVzdWx0LFxyXG59IGZyb20gJy4vcGFzc3dvcmQnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmQsXHJcbiAgICBFc29sdmVUcmFuc2FjdGlvbixcclxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uT3B0aW9ucyxcclxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uTGlzdCxcclxufSBmcm9tICcuL3RyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZVVzZXJBY2NvdW50LFxyXG4gICAgRXNvbHZlVXNlckFjY291bnREYXRhLFxyXG4gICAgRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXHJcbiAgICBFc29sdmVVc2VyQWNjb3VudFJlc3VsdCxcclxuICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMsXHJcbiAgICBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkLFxyXG59IGZyb20gJy4vdXNlci1hY2NvdW50JztcclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25Qb3N0UmVzcG9uc2VJdGVtLFxyXG4gICAgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblJlc3VsdCxcclxufSBmcm9tICcuL2NvbmZpcm1hdGlvbic7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRUb3RhbHMgfSBmcm9tICcuLi9jYXJ0JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUFjY291bnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgX3VzZXJfaWQgPSAwO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgdXNlcl9pZCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyX2lkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgdXNlcl9pZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdmFsdWUgPSAoKHZhbHVlID4gMCkgPyB2YWx1ZSA6IDApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fdXNlcl9pZCAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fdXNlcl9pZCA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvblNlcnZpY2U6IEVzb2x2ZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVzcG9uc2VIYW5kbGVyOiBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXNzaW9uLnN1YnNjcmliZSgoc2Vzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2Vzc2lvbi5rZXkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJfaWQgPSBzZXNzaW9uLmlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZVVzZXJBY2NvdW50KHVzZXJfYWNjb3VudF9kYXRhOiBFc29sdmVVc2VyQWNjb3VudERhdGEpOiBPYnNlcnZhYmxlPEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgYWNjb3VudDogdXNlcl9hY2NvdW50X2RhdGEsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtdXNlci1hY2NvdW50LnBocGAsXHJcbiAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVVc2VyQWNjb3VudFJlc3VsdChyZXNwb25zZSksXHJcbiAgICAgICAgICAgICAgICApKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtdXNlci1hY2NvdW50JywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlVXNlckFjY291bnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckFjY291bnRSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY291bnQucGhwYCxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZXNwb25zZS5yZWNvcmRzWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVXNlckFjY291bnQocmVjb3JkKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWxldGVVc2VyQWNjb3VudCgpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtYWNjb3VudC5waHBgLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMgIT09ICdzdWNjZXNzJylcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LmNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcignZGVsZXRlLWFjY291bnQnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0QWRkcmVzcyhhZGRyZXNzX3Bvc3RfZGF0YTogRXNvbHZlQWRkcmVzc1Bvc3REYXRhKTogT2JzZXJ2YWJsZTxFc29sdmVBZGRyZXNzUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzc19wb3N0X2RhdGEsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVBZGRyZXNzUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1hZGRyZXNzLnBocGAsXHJcbiAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlQWRkcmVzc1Jlc3VsdChyZXNwb25zZSksXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LWFkZHJlc3MnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWRkcmVzc2VzKCk6IE9ic2VydmFibGU8RXNvbHZlQWRkcmVzc1tdPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dpbkd1YXJkKCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUFkZHJlc3NSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hZGRyZXNzZXMucGhwYCxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyB1c2VyX2lkOiB0aGlzLnVzZXJfaWQgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1VzZXJBZGRyZXNzKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWxldGVBZGRyZXNzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtYWRkcmVzcy5waHBgLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBpZCB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMgIT09ICdzdWNjZXNzJylcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LmNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcignZGVsZXRlLWFkZHJlc3MnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIodXNlcl9yZWdpc3RyYXRpb246IEVzb2x2ZVJlZ2lzdHJhdGlvbkRhdGEsIGd1ZXN0OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdD4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIHVzZXI6IHVzZXJfcmVnaXN0cmF0aW9uLFxyXG4gICAgICAgICAgICBndWVzdF9yZWdpc3RyYXRpb246IGd1ZXN0LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXJlZ2lzdHJhdGlvbi5waHBgLFxyXG4gICAgICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxyXG4gICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5hdXRvX2xvZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6ICtyZXNwb25zZS5zZXNzaW9uX2RhdGEubG9jYXRpb25faWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApKSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtcmVnaXN0cmF0aW9uJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYW5nZVBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcsIGNvbmZpcm1fcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXNvbHZlQ2hhbmdlUGFzc3dvcmRSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICBwYXNzd29yZCxcclxuICAgICAgICAgICAgY29uZmlybV9wYXNzd29yZCxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jaGFuZ2UtcGFzc3dvcmQucGhwYCxcclxuICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcclxuICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LWNoYW5nZS1wYXNzd29yZCcsIGVycm9yUmVzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3VibWl0cyB0aGUgdXNlcnMgY29uZmlybWF0aW9uIGtleSB0byB0aGUgcmVsZXZhbnQgYmFja2VuZCBzZXJ2ZXIgaW4gb3JkZXIgdG9cclxuICAgICAqIGNvbmZpcm0gdGhlIGFjY291bnRzIHZhbGlkaXR5LiBUaGUga2V5IHdhcyBlbWFpbGVkIHRvIHRoZSB1c2VyIGhlbmNlIGlmIGhlIHJlY2VpdmVkXHJcbiAgICAgKiBpdCBhbmQgZW50ZXJzIHRoZSB2YWx1ZSwgdGhlIGVtYWlsIGFjY291bnQgY2FuIGJlIHNlZW4gYXMgdmFsaWQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRoYXQgd2FzIGVtYWlsZWQgdG8gdGhlIHJlZ2lzdGVyZWQgdXNlcidzIGVtYWlsIGFjY291bnQuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgdGhhdCBjb250YWlucyB0aGUgcmVzdWx0IG9mIHRoZSBhY2NvdW50IGNvbmZpcm1hdGlvbiByZXF1ZXN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWNjb3VudENvbmZpcm1hdGlvblJlcXVlc3Qoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUG9zdFJlc3BvbnNlSXRlbT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWFjY291bnQtY29uZmlybWF0aW9uLnBocGAsXHJcbiAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmF1dG9fbG9naW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3BvbnNlLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblJlc3VsdChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoJ3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbicsIGVycm9yUmVzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZW5kRm9yZ290UGFzc3dvcmRSZXF1ZXN0KGVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQ+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1mb3Jnb3QtcGFzc3dvcmQucGhwYCxcclxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IGVtYWlsIH0gfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICEoJ3Jlc2V0X2xpbmtfc2VudCcgaW4gcmVzcG9uc2UucmVjb3JkcylcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy5yZXNldF9saW5rX3NlbnQ7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVzZXRQYXNzd29yZChcclxuICAgICAgICByZXNldF9rZXk6IHN0cmluZyxcclxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxyXG4gICAgICAgIGNvbmZpcm1fcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgICAgICBhdXRvX2xvZ2luID0gdHJ1ZSxcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUmVzZXRQYXNzd29yZFJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWZvcmdvdC1wYXNzd29yZC5waHBgLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc2V0X2tleSxcclxuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZCxcclxuICAgICAgICAgICAgICAgICAgICBjb25maXJtX3Bhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgICAgIGF1dG9fbG9naW4sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5sb2dpbl9yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzZXRQYXNzd29yZFJlc3VsdChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoJ3NldC1mb3Jnb3QtcGFzc3dvcmQnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb24obG9jYXRpb25faWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0geyBsb2NhdGlvbl9pZCB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1zZXNzaW9uLWxvY2F0aW9uLnBocGAsXHJcbiAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHsgbG9jYXRpb25faWQgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFRyYW5zYWN0aW9ucyhvcHRpb25zOiBFc29sdmVUcmFuc2FjdGlvbk9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25MaXN0PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dpbkd1YXJkKCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVRyYW5zYWN0aW9uUmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdHJhbnNhY3Rpb25zLnBocGAsXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcl9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3RhbCA9ICtyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcyA/PyAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dzID0gb3B0aW9ucy5yb3dzID8/IHRvdGFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlID0gb3B0aW9ucy5wYWdlIHx8IDE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uTGlzdChpdGVtcywgcGFnZSwgcm93cywgdG90YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVUcmFuc2FjdGlvbj4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyYW5zYWN0aW9ucy5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiB0aGlzLnVzZXJfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbl9pZDogaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMucHJvY2Vzc1RyYW5zYWN0aW9ucyhyZXNwb25zZS5yZWNvcmRzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1swXTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Q2xpZW50QWNjb3VudEJhbGFuY2VzKCk6IE9ic2VydmFibGU8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2xpZW50LWFjY291bnQtYmFsYW5jZXMucGhwYCxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDbGllbnRCYWxhbmNlcyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NVc2VyQWNjb3VudChyZWNvcmQ6IEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkKTogRXNvbHZlVXNlckFjY291bnQge1xyXG4gICAgICAgIGlmICghcmVjb3JkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZWNvcmQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICgrcmVjb3JkLnVzZXJpZCAhPT0gdGhpcy5fdXNlcl9pZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBhY2NvdW50IHJldHJpZXZlZCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyQWNjb3VudChyZWNvcmQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc1VzZXJBZGRyZXNzKHJlY29yZHM6IEVzb2x2ZUFkZHJlc3NSZWNvcmRbXSk6IEVzb2x2ZUFkZHJlc3NbXSB7XHJcbiAgICAgICAgY29uc3QgdXNlcl9hZGRyZXNzZXM6IEVzb2x2ZUFkZHJlc3NbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoIXJlY29yZHMgfHwgKHRoaXMuX3VzZXJfaWQgPT09IDApKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1c2VyX2FkZHJlc3NlcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgaWYgKCtyZWNvcmQudXNlcmlkICE9PSB0aGlzLl91c2VyX2lkKSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdXNlcl9hZGRyZXNzZXMucHVzaChuZXcgRXNvbHZlQWRkcmVzcyhcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucmVjaXBpZW50LFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfdHlwZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5wb2JveCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5wbGFjZV9uYW1lLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN0cmVldF9udW1iZXIsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuc3RyZWV0LFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YnVyYixcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jaXR5LFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnByb3ZpbmNlLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNvdW50cnksXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucG9zdGFsX2NvZGUsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5sb25naXR1ZGUsXHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHVzZXJfYWRkcmVzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9ucyhyZWNvcmRzOiBFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdKTogRXNvbHZlVHJhbnNhY3Rpb25bXSB7XHJcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zOiBFc29sdmVUcmFuc2FjdGlvbltdID0gW107XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uKHJlY29yZCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NsaWVudEJhbGFuY2VzKFxyXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXNSZWNvcmRbXSxcclxuICAgICk6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWQge1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGlmICghKCtyZWNvcmQuY2xpZW50c19pZCA+IDApKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjYXJ0X3RvdGFscyA9IG5ldyBFc29sdmVDYXJ0VG90YWxzKFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhcnRfdG90YWxzLnJlY29yZHMsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLml0ZW1zLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy50b3RhbCxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMudmF0LFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy5kaXNjb3VudCxcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyAoXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNsaWVudHNfaWQsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuYWNjb3VudCxcclxuICAgICAgICAgICAgICAgIGNhcnRfdG90YWxzLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jcmVkaXRfbGltaXQsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmV4dGVybmFsX2FjY291bnRfYmFsYW5jZSxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQuZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLm5ld19leHRlcm5hbF9hdmFpbGFibGVfYmFsYW5jZSxcclxuICAgICAgICAgICAgICAgICEhK3JlY29yZC5jcmVkaXRfbGltaXRfb2theSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBsb2dpbkd1YXJkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnVzZXJfaWQgPD0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9ySGFuZGxlci50aHJvd0Vycm9yKCdsb2dpbl9yZXF1aXJlZCcsICdMb2dpbiBpcyByZXF1aXJlZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class EsolveTransactionAddress {
|
|
2
|
+
constructor(recipient, address_type, address_description, street_number, street, suburb, city, province, country, postal_code, pobox) {
|
|
3
|
+
this.recipient = recipient;
|
|
4
|
+
this.address_type = address_type;
|
|
5
|
+
this.address_description = address_description;
|
|
6
|
+
this.street_number = street_number;
|
|
7
|
+
this.street = street;
|
|
8
|
+
this.suburb = suburb;
|
|
9
|
+
this.city = city;
|
|
10
|
+
this.province = province;
|
|
11
|
+
this.country = country;
|
|
12
|
+
this.postal_code = postal_code;
|
|
13
|
+
this.pobox = pobox;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWFkZHJlc3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi1hZGRyZXNzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsWUFDVyxTQUFpQixFQUNqQixZQUErQixFQUMvQixtQkFBMkIsRUFDM0IsYUFBcUIsRUFDckIsTUFBYyxFQUNkLE1BQWMsRUFDZCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBZSxFQUNmLFdBQW1CLEVBQ25CLEtBQWE7UUFWYixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNwQixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVBZGRyZXNzVHlwZSB9IGZyb20gJy4uLy4uL2FkZHJlc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uQWRkcmVzcyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgcmVjaXBpZW50OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFkZHJlc3NfdHlwZTogRXNvbHZlQWRkcmVzc1R5cGUsXHJcbiAgICAgICAgcHVibGljIGFkZHJlc3NfZGVzY3JpcHRpb246IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgc3RyZWV0X251bWJlcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBzdHJlZXQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgc3VidXJiOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGNpdHk6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgcHJvdmluY2U6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgY291bnRyeTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBwb3N0YWxfY29kZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBwb2JveDogc3RyaW5nLFxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class EsolveTransactionClient {
|
|
2
|
+
constructor(id, account, company_name, branch_code, email, first_name, last_name, contact_number) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.account = account;
|
|
5
|
+
this.company_name = company_name;
|
|
6
|
+
this.branch_code = branch_code;
|
|
7
|
+
this.email = email;
|
|
8
|
+
this.first_name = first_name;
|
|
9
|
+
this.last_name = last_name;
|
|
10
|
+
this.contact_number = contact_number;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWNsaWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3RyYW5zYWN0aW9uL2NsYXNzZXMvZXNvbHZlLXRyYW5zYWN0aW9uLWNsaWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQ1csRUFBVSxFQUNWLE9BQWUsRUFDZixZQUFvQixFQUNwQixXQUFtQixFQUNuQixLQUFhLEVBQ2IsVUFBa0IsRUFDbEIsU0FBaUIsRUFDakIsY0FBc0I7UUFQdEIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQzdCLENBQUM7Q0FDUiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFc29sdmVUcmFuc2FjdGlvbkNsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgYWNjb3VudDogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBjb21wYW55X25hbWU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYnJhbmNoX2NvZGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZW1haWw6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZmlyc3RfbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBsYXN0X25hbWU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgY29udGFjdF9udW1iZXI6IHN0cmluZyxcclxuICAgICkgeyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class EsolveTransactionItemPrice {
|
|
2
|
+
constructor(
|
|
3
|
+
/**
|
|
4
|
+
* Price without tax
|
|
5
|
+
*/
|
|
6
|
+
price,
|
|
7
|
+
/**
|
|
8
|
+
* Price with tax
|
|
9
|
+
*/
|
|
10
|
+
price_with_tax,
|
|
11
|
+
/**
|
|
12
|
+
* Price without tax and with discounts applied if applicable
|
|
13
|
+
*/
|
|
14
|
+
price_discounted,
|
|
15
|
+
/**
|
|
16
|
+
* Price with tax and with discounts applied if applicable
|
|
17
|
+
*/
|
|
18
|
+
price_with_tax_discounted) {
|
|
19
|
+
this.price = price;
|
|
20
|
+
this.price_with_tax = price_with_tax;
|
|
21
|
+
this.price_discounted = price_discounted;
|
|
22
|
+
this.price_with_tax_discounted = price_with_tax_discounted;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcHJpY2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi1pdGVtLXByaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7SUFDbkM7SUFDSTs7T0FFRztJQUNJLEtBQWE7SUFDcEI7O09BRUc7SUFDSSxjQUFzQjtJQUM3Qjs7T0FFRztJQUNJLGdCQUF3QjtJQUMvQjs7T0FFRztJQUNJLHlCQUFpQztRQVpqQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBSWIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFJdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBSXhCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBUTtJQUN4QyxDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aG91dCB0YXhcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgcHJpY2U6IG51bWJlcixcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBQcmljZSB3aXRoIHRheFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBwcmljZV93aXRoX3RheDogbnVtYmVyLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGhvdXQgdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgcHJpY2VfZGlzY291bnRlZDogbnVtYmVyLFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGggdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgcHJpY2Vfd2l0aF90YXhfZGlzY291bnRlZDogbnVtYmVyLFxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { EsolveTransactionItemPrice } from './esolve-transaction-item-price.model';
|
|
2
|
+
export class EsolveTransactionItem {
|
|
3
|
+
constructor(record) {
|
|
4
|
+
this.code = '';
|
|
5
|
+
this.name = '';
|
|
6
|
+
this.sef_name = '';
|
|
7
|
+
this.image_name = '';
|
|
8
|
+
this.image_last_modified = '';
|
|
9
|
+
this.pack_description = '';
|
|
10
|
+
this.pack_size = 0;
|
|
11
|
+
this.qty = 0;
|
|
12
|
+
this.discount = 0;
|
|
13
|
+
this.vat_rate = 0;
|
|
14
|
+
this.price = new EsolveTransactionItemPrice(0, 0, 0, 0);
|
|
15
|
+
this.line_total = new EsolveTransactionItemPrice(0, 0, 0, 0);
|
|
16
|
+
if (record) {
|
|
17
|
+
this.code = record.code ?? '';
|
|
18
|
+
this.name = record.name ?? '';
|
|
19
|
+
this.sef_name = record.sef_name ?? '';
|
|
20
|
+
this.image_name = record.image_name ?? '';
|
|
21
|
+
this.image_last_modified = record.image_last_modified ?? '';
|
|
22
|
+
this.pack_description = record.pack_description ?? '';
|
|
23
|
+
this.pack_size = +(record.items_in_pack ?? 0);
|
|
24
|
+
this.qty = +(record.qty ?? 0);
|
|
25
|
+
this.discount = +(record.discount ?? 0);
|
|
26
|
+
this.vat_rate = +(record.vat_rate ?? 0);
|
|
27
|
+
this.price = new EsolveTransactionItemPrice(+record.price_exclusive, +record.price_inclusive, +record.price_exclusive_after_discount, +record.price_inclusive_after_discount);
|
|
28
|
+
this.line_total = new EsolveTransactionItemPrice(+record.line_total_exclusive, +record.line_total_inclusive, +record.line_total_exclusive_after_discount, +record.line_total_inclusive_after_discount);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Path to tiny stock image
|
|
33
|
+
*/
|
|
34
|
+
get tiny_image_src() {
|
|
35
|
+
return this.getImagePath('tiny');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Path to thumbnail stock image
|
|
39
|
+
*/
|
|
40
|
+
get thumbnail_image_src() {
|
|
41
|
+
return this.getImagePath('thumb');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Path to small stock image
|
|
45
|
+
*/
|
|
46
|
+
get small_image_src() {
|
|
47
|
+
return this.getImagePath('small');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Path to big stock image
|
|
51
|
+
*/
|
|
52
|
+
get big_image_src() {
|
|
53
|
+
return this.getImagePath('big');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Path to original stock image
|
|
57
|
+
*/
|
|
58
|
+
get original_image_src() {
|
|
59
|
+
return this.getImagePath('original');
|
|
60
|
+
}
|
|
61
|
+
getImagePath(image_size) {
|
|
62
|
+
if (this.image_name !== '') {
|
|
63
|
+
let param = '';
|
|
64
|
+
if (this.image_last_modified !== '') {
|
|
65
|
+
param = `?t=${this.image_last_modified}`;
|
|
66
|
+
}
|
|
67
|
+
return `/images/stock/${image_size}/${this.image_name}${param}`;
|
|
68
|
+
}
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRW5GLE1BQU0sT0FBTyxxQkFBcUI7SUFpRDlCLFlBQVksTUFBb0M7UUFoRHpDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBd0NoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksMEJBQTBCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLDBCQUEwQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdELElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwwQkFBMEIsQ0FDdkMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUN2QixDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQ3ZCLENBQUMsTUFBTSxDQUFDLDhCQUE4QixFQUN0QyxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FDekMsQ0FBQztZQUVGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwwQkFBMEIsQ0FDNUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQzVCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUM1QixDQUFDLE1BQU0sQ0FBQyxtQ0FBbUMsRUFDM0MsQ0FBQyxNQUFNLENBQUMsbUNBQW1DLENBQzlDLENBQUM7U0FDTDtJQUNMLENBQUM7SUFqRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFrQ00sWUFBWSxDQUFDLFVBQWdDO1FBQ2hELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBRWYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssRUFBRSxFQUFFO2dCQUNqQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QztZQUVELE9BQU8saUJBQWlCLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQ25FO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdG9ja0ltYWdlU2l6ZSB9IGZyb20gJy4uLy4uLy4uL3N0b2NrJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2UgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1pdGVtLXByaWNlLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVUcmFuc2FjdGlvbkl0ZW0ge1xyXG4gICAgcHVibGljIGNvZGUgPSAnJztcclxuICAgIHB1YmxpYyBuYW1lID0gJyc7XHJcbiAgICBwdWJsaWMgc2VmX25hbWUgPSAnJztcclxuICAgIHB1YmxpYyBpbWFnZV9uYW1lID0gJyc7XHJcbiAgICBwdWJsaWMgaW1hZ2VfbGFzdF9tb2RpZmllZCA9ICcnO1xyXG4gICAgcHVibGljIHBhY2tfZGVzY3JpcHRpb24gPSAnJztcclxuICAgIHB1YmxpYyBwYWNrX3NpemUgPSAwO1xyXG4gICAgcHVibGljIHF0eSA9IDA7XHJcbiAgICBwdWJsaWMgZGlzY291bnQgPSAwO1xyXG4gICAgcHVibGljIHZhdF9yYXRlID0gMDtcclxuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2U7XHJcbiAgICBwdWJsaWMgbGluZV90b3RhbDogRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRpbnkgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGlueScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byB0aHVtYm5haWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aHVtYicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNtYWxsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gYmlnIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnYmlnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIG9yaWdpbmFsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgb3JpZ2luYWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdvcmlnaW5hbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCkge1xyXG4gICAgICAgIHRoaXMucHJpY2UgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2UoMCwgMCwgMCwgMCk7XHJcbiAgICAgICAgdGhpcy5saW5lX3RvdGFsID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVByaWNlKDAsIDAsIDAsIDApO1xyXG5cclxuICAgICAgICBpZiAocmVjb3JkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHJlY29yZC5jb2RlID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5zZWZfbmFtZSA9IHJlY29yZC5zZWZfbmFtZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCA9IHJlY29yZC5pbWFnZV9sYXN0X21vZGlmaWVkID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnBhY2tfZGVzY3JpcHRpb24gPSByZWNvcmQucGFja19kZXNjcmlwdGlvbiA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5wYWNrX3NpemUgPSArKHJlY29yZC5pdGVtc19pbl9wYWNrID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLnF0eSA9ICsocmVjb3JkLnF0eSA/PyAwKTtcclxuICAgICAgICAgICAgdGhpcy5kaXNjb3VudCA9ICsocmVjb3JkLmRpc2NvdW50ID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLnZhdF9yYXRlID0gKyhyZWNvcmQudmF0X3JhdGUgPz8gMCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVByaWNlKFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5wcmljZV9leGNsdXNpdmUsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLnByaWNlX2luY2x1c2l2ZSxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQucHJpY2VfZXhjbHVzaXZlX2FmdGVyX2Rpc2NvdW50LFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5wcmljZV9pbmNsdXNpdmVfYWZ0ZXJfZGlzY291bnQsXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVfdG90YWwgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2UoXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmxpbmVfdG90YWxfZXhjbHVzaXZlLFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5saW5lX3RvdGFsX2luY2x1c2l2ZSxcclxuICAgICAgICAgICAgICAgICtyZWNvcmQubGluZV90b3RhbF9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQsXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmxpbmVfdG90YWxfaW5jbHVzaXZlX2FmdGVyX2Rpc2NvdW50LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZV9uYW1lICE9PSAnJykge1xyXG4gICAgICAgICAgICBsZXQgcGFyYW0gPSAnJztcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbSA9IGA/dD0ke3RoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZH1gO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvc3RvY2svJHtpbWFnZV9zaXplfS8ke3RoaXMuaW1hZ2VfbmFtZX0ke3BhcmFtfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { EsolveList } from '../../../shared/esolve-list.model';
|
|
2
|
+
export class EsolveTransactionList extends EsolveList {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWxpc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi1saXN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUkvRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsVUFBNkI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUxpc3QgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZXNvbHZlLWxpc3QubW9kZWwnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlVHJhbnNhY3Rpb25MaXN0IGV4dGVuZHMgRXNvbHZlTGlzdDxFc29sdmVUcmFuc2FjdGlvbj4ge31cclxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { EsolveLocation } from '../../../locations';
|
|
2
|
+
export class EsolveTransactionLocation extends EsolveLocation {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWxvY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdHJhbnNhY3Rpb24vY2xhc3Nlcy9lc29sdmUtdHJhbnNhY3Rpb24tbG9jYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0NBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVMb2NhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2xvY2F0aW9ucyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlVHJhbnNhY3Rpb25Mb2NhdGlvbiBleHRlbmRzIEVzb2x2ZUxvY2F0aW9uIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class EsolveTransactionPaymentMethod {
|
|
2
|
+
constructor(id, name, description, integration_type, service_provider) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.name = name;
|
|
5
|
+
this.description = description;
|
|
6
|
+
this.integration_type = integration_type;
|
|
7
|
+
this.service_provider = service_provider;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLXBheW1lbnQtbWV0aG9kLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdHJhbnNhY3Rpb24vY2xhc3Nlcy9lc29sdmUtdHJhbnNhY3Rpb24tcGF5bWVudC1tZXRob2QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUNXLEVBQVUsRUFDVixJQUFZLEVBQ1osV0FBbUIsRUFDbkIsZ0JBQXdCLEVBQ3hCLGdCQUF3QjtRQUp4QixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7SUFDL0IsQ0FBQztDQUNSIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBpbnRlZ3JhdGlvbl90eXBlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHNlcnZpY2VfcHJvdmlkZXI6IHN0cmluZyxcclxuICAgICkgeyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class EsolveTransactionShippingMethod {
|
|
2
|
+
constructor(id, name, delivery_category, location, description, pricing, client_to_collect) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.name = name;
|
|
5
|
+
this.delivery_category = delivery_category;
|
|
6
|
+
this.location = location;
|
|
7
|
+
this.description = description;
|
|
8
|
+
this.pricing = pricing;
|
|
9
|
+
this.client_to_collect = client_to_collect;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLXNoaXBwaW5nLW1ldGhvZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3RyYW5zYWN0aW9uL2NsYXNzZXMvZXNvbHZlLXRyYW5zYWN0aW9uLXNoaXBwaW5nLW1ldGhvZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sK0JBQStCO0lBQ3hDLFlBQ1csRUFBVSxFQUNWLElBQVksRUFDWixpQkFBeUIsRUFDekIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLGlCQUEwQjtRQU4xQixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7SUFDakMsQ0FBQztDQUNSIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uU2hpcHBpbmdNZXRob2Qge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGlkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIG5hbWU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZGVsaXZlcnlfY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgbG9jYXRpb246IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgcHJpY2luZzogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBjbGllbnRfdG9fY29sbGVjdDogYm9vbGVhbixcclxuICAgICkgeyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class EsolveTransactionUser {
|
|
2
|
+
constructor(id, email, first_name, last_name, tel_number, cell_number) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.email = email;
|
|
5
|
+
this.first_name = first_name;
|
|
6
|
+
this.last_name = last_name;
|
|
7
|
+
this.tel_number = tel_number;
|
|
8
|
+
this.cell_number = cell_number;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLXVzZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi11c2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDVyxFQUFVLEVBQ1YsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCLEVBQ2pCLFVBQWtCLEVBQ2xCLFdBQW1CO1FBTG5CLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFDMUIsQ0FBQztDQUNSIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uVXNlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgZW1haWw6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZmlyc3RfbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBsYXN0X25hbWU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgdGVsX251bWJlcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBjZWxsX251bWJlcjogc3RyaW5nLFxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EsolveTransactionAddress } from './esolve-transaction-address.model';
|
|
2
|
+
import { EsolveTransactionClient } from './esolve-transaction-client.model';
|
|
3
|
+
import { EsolveTransactionItem } from './esolve-transaction-item.model';
|
|
4
|
+
import { EsolveTransactionLocation } from './esolve-transaction-location.model';
|
|
5
|
+
import { EsolveTransactionPaymentMethod } from './esolve-transaction-payment-method.model';
|
|
6
|
+
import { EsolveTransactionShippingMethod } from './esolve-transaction-shipping-method.model';
|
|
7
|
+
import { EsolveTransactionUser } from './esolve-transaction-user.model';
|
|
8
|
+
export class EsolveTransaction {
|
|
9
|
+
constructor(record) {
|
|
10
|
+
// Transaction Items
|
|
11
|
+
this.items = [];
|
|
12
|
+
this.id = +record.id;
|
|
13
|
+
this.type = record.transaction_type;
|
|
14
|
+
this.status = record.status;
|
|
15
|
+
this.loyalty_number = record.loyaltynumber;
|
|
16
|
+
this.external_order_number = record.external_order_number;
|
|
17
|
+
this.external_invoice_number = record.external_invoice_number;
|
|
18
|
+
this.date = new Date(+record.txdate_timestamp * 1000);
|
|
19
|
+
this.expected_date = new Date(+record.expected_date_timestamp * 1000);
|
|
20
|
+
this.invoice_amount = +record.invoice_amount;
|
|
21
|
+
this.vat = +record.vat;
|
|
22
|
+
this.discount = +record.discount;
|
|
23
|
+
this.total = +record.total;
|
|
24
|
+
this.shipping_total = +record.shipping_total;
|
|
25
|
+
this.insurance_total = +record.insurance_total;
|
|
26
|
+
this.payment = +record.payment;
|
|
27
|
+
this.payment_reference = record.payment_reference;
|
|
28
|
+
this.payment_description = record.payment_description;
|
|
29
|
+
this.gateway_transaction_id = record.gateway_transaction_id;
|
|
30
|
+
this.address = new EsolveTransactionAddress(record.recipient, record.address_type, record.address_description, record.street_number, record.street, record.suburb, record.city, record.province, record.country, record.postal_code, record.pobox);
|
|
31
|
+
if (record.user) {
|
|
32
|
+
this.user = new EsolveTransactionUser(+record.user.id, record.user.email, record.user.firstname, record.user.surname, record.user.telnumber, record.user.cellnumber);
|
|
33
|
+
}
|
|
34
|
+
if (record.client) {
|
|
35
|
+
this.client = new EsolveTransactionClient(+record.client.id, record.client.account, record.client.company_name, record.client.branch_code, record.client.email, record.client.firstname, record.client.surname, record.client.contact_number);
|
|
36
|
+
}
|
|
37
|
+
if (record.location_details) {
|
|
38
|
+
this.location = new EsolveTransactionLocation(record.location_details);
|
|
39
|
+
}
|
|
40
|
+
if (record.payment_method_details) {
|
|
41
|
+
this.payment_method = new EsolveTransactionPaymentMethod(record.payment_method_details.id, record.payment_method_details.paymethod_name, record.payment_method_details.description, record.payment_method_details.integration_type, record.payment_method_details.service_provider);
|
|
42
|
+
}
|
|
43
|
+
if (record.shipping_method_details) {
|
|
44
|
+
this.shipping_method = new EsolveTransactionShippingMethod(+record.shipping_method_details.id, record.shipping_method_details.carrier_name, record.shipping_method_details.delivery_category, record.shipping_method_details.location, record.shipping_method_details.description, record.shipping_method_details.pricing, !!record.shipping_method_details.client_to_collect);
|
|
45
|
+
}
|
|
46
|
+
this.parseTransactionItems(record.transaction_items);
|
|
47
|
+
}
|
|
48
|
+
parseTransactionItems(record_items) {
|
|
49
|
+
for (const record_item of record_items) {
|
|
50
|
+
this.items.push(new EsolveTransactionItem(record_item));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdHJhbnNhY3Rpb24vY2xhc3Nlcy9lc29sdmUtdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsTUFBTSxPQUFPLGlCQUFpQjtJQTBDMUIsWUFBWSxNQUErQjtRQUgzQyxvQkFBb0I7UUFDYixVQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUd2QyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztR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LEVBQzVDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQ3pDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFDOUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUNqRCxDQUFDO1NBQ0w7UUFFRCxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRTtZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksK0JBQStCLENBQ3RELENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsRUFDbEMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFDM0MsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixFQUNoRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUN2QyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUMxQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUNyRCxDQUFDO1NBQ0w7UUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFlBQTJDO1FBQ3JFLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmQsIEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25BZGRyZXNzIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tYWRkcmVzcy5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50IH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25JdGVtIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24taXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb24gfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1sb2NhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXBheW1lbnQtbWV0aG9kLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25TaGlwcGluZ01ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXNoaXBwaW5nLW1ldGhvZC5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVXNlciB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXVzZXIubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uIHtcclxuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xyXG4gICAgcHVibGljIHR5cGU6IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZTtcclxuICAgIHB1YmxpYyBzdGF0dXM6IHN0cmluZztcclxuICAgIHB1YmxpYyBsb3lhbHR5X251bWJlcjogc3RyaW5nO1xyXG4gICAgcHVibGljIGV4dGVybmFsX29yZGVyX251bWJlcjogc3RyaW5nO1xyXG4gICAgcHVibGljIGV4dGVybmFsX2ludm9pY2VfbnVtYmVyOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gRGF0ZXNcclxuICAgIHB1YmxpYyBkYXRlOiBEYXRlO1xyXG4gICAgcHVibGljIGV4cGVjdGVkX2RhdGU6IERhdGU7XHJcblxyXG4gICAgcHVibGljIGNsaWVudD86IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50O1xyXG4gICAgcHVibGljIHVzZXI/OiBFc29sdmVUcmFuc2FjdGlvblVzZXI7XHJcblxyXG4gICAgLy8gTG9jYXRpb25cclxuICAgIHB1YmxpYyBsb2NhdGlvbj86IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb247XHJcblxyXG4gICAgLy8gVG90YWxzXHJcbiAgICBwdWJsaWMgaW52b2ljZV9hbW91bnQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyB2YXQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBkaXNjb3VudDogbnVtYmVyO1xyXG4gICAgcHVibGljIHRvdGFsOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgc2hpcHBpbmdfdG90YWw6IG51bWJlcjtcclxuICAgIHB1YmxpYyBpbnN1cmFuY2VfdG90YWw6IG51bWJlcjtcclxuXHJcbiAgICAvLyBQYXltZW50XHJcbiAgICBwdWJsaWMgcGF5bWVudF9tZXRob2Q/OiBFc29sdmVUcmFuc2FjdGlvblBheW1lbnRNZXRob2Q7XHJcbiAgICBwdWJsaWMgcGF5bWVudDogbnVtYmVyO1xyXG4gICAgcHVibGljIGdhdGV3YXlfdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBwYXltZW50X3JlZmVyZW5jZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHBheW1lbnRfZGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgICAvLyBTaGlwcGluZ1xyXG4gICAgcHVibGljIHNoaXBwaW5nX21ldGhvZD86IEVzb2x2ZVRyYW5zYWN0aW9uU2hpcHBpbmdNZXRob2Q7XHJcblxyXG4gICAgLy8gQWRkcmVzcyBEZXRhaWxzXHJcbiAgICBwdWJsaWMgYWRkcmVzczogRXNvbHZlVHJhbnNhY3Rpb25BZGRyZXNzO1xyXG5cclxuICAgIC8vIFRyYW5zYWN0aW9uIEl0ZW1zXHJcbiAgICBwdWJsaWMgaXRlbXM6IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBFc29sdmVUcmFuc2FjdGlvblJlY29yZCkge1xyXG4gICAgICAgIHRoaXMuaWQgPSArcmVjb3JkLmlkO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50cmFuc2FjdGlvbl90eXBlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gcmVjb3JkLnN0YXR1cztcclxuICAgICAgICB0aGlzLmxveWFsdHlfbnVtYmVyID0gcmVjb3JkLmxveWFsdHludW1iZXI7XHJcbiAgICAgICAgdGhpcy5leHRlcm5hbF9vcmRlcl9udW1iZXIgPSByZWNvcmQuZXh0ZXJuYWxfb3JkZXJfbnVtYmVyO1xyXG4gICAgICAgIHRoaXMuZXh0ZXJuYWxfaW52b2ljZV9udW1iZXIgPSByZWNvcmQuZXh0ZXJuYWxfaW52b2ljZV9udW1iZXI7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKCtyZWNvcmQudHhkYXRlX3RpbWVzdGFtcCAqIDEwMDApO1xyXG4gICAgICAgIHRoaXMuZXhwZWN0ZWRfZGF0ZSA9IG5ldyBEYXRlKCtyZWNvcmQuZXhwZWN0ZWRfZGF0ZV90aW1lc3RhbXAgKiAxMDAwKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbnZvaWNlX2Ftb3VudCA9ICtyZWNvcmQuaW52b2ljZV9hbW91bnQ7XHJcbiAgICAgICAgdGhpcy52YXQgPSArcmVjb3JkLnZhdDtcclxuICAgICAgICB0aGlzLmRpc2NvdW50ID0gK3JlY29yZC5kaXNjb3VudDtcclxuICAgICAgICB0aGlzLnRvdGFsID0gK3JlY29yZC50b3RhbDtcclxuICAgICAgICB0aGlzLnNoaXBwaW5nX3RvdGFsID0gK3JlY29yZC5zaGlwcGluZ190b3RhbDtcclxuICAgICAgICB0aGlzLmluc3VyYW5jZV90b3RhbCA9ICtyZWNvcmQuaW5zdXJhbmNlX3RvdGFsO1xyXG5cclxuICAgICAgICB0aGlzLnBheW1lbnQgPSArcmVjb3JkLnBheW1lbnQ7XHJcbiAgICAgICAgdGhpcy5wYXltZW50X3JlZmVyZW5jZSA9IHJlY29yZC5wYXltZW50X3JlZmVyZW5jZTtcclxuICAgICAgICB0aGlzLnBheW1lbnRfZGVzY3JpcHRpb24gPSByZWNvcmQucGF5bWVudF9kZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLmdhdGV3YXlfdHJhbnNhY3Rpb25faWQgPSByZWNvcmQuZ2F0ZXdheV90cmFuc2FjdGlvbl9pZDtcclxuXHJcbiAgICAgICAgdGhpcy5hZGRyZXNzID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQWRkcmVzcyhcclxuICAgICAgICAgICAgcmVjb3JkLnJlY2lwaWVudCxcclxuICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfdHlwZSxcclxuICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHJlY29yZC5zdHJlZXRfbnVtYmVyLFxyXG4gICAgICAgICAgICByZWNvcmQuc3RyZWV0LFxyXG4gICAgICAgICAgICByZWNvcmQuc3VidXJiLFxyXG4gICAgICAgICAgICByZWNvcmQuY2l0eSxcclxuICAgICAgICAgICAgcmVjb3JkLnByb3ZpbmNlLFxyXG4gICAgICAgICAgICByZWNvcmQuY291bnRyeSxcclxuICAgICAgICAgICAgcmVjb3JkLnBvc3RhbF9jb2RlLFxyXG4gICAgICAgICAgICByZWNvcmQucG9ib3gsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZC51c2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXNlciA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblVzZXIoXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLnVzZXIuaWQsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQudXNlci5lbWFpbCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLmZpcnN0bmFtZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLnN1cm5hbWUsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQudXNlci50ZWxudW1iZXIsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQudXNlci5jZWxsbnVtYmVyLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlY29yZC5jbGllbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGllbnQgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25DbGllbnQoXHJcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNsaWVudC5pZCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuYWNjb3VudCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuY29tcGFueV9uYW1lLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudC5icmFuY2hfY29kZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuZW1haWwsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50LmZpcnN0bmFtZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuc3VybmFtZSxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuY29udGFjdF9udW1iZXIsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocmVjb3JkLmxvY2F0aW9uX2RldGFpbHMpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbkxvY2F0aW9uKHJlY29yZC5sb2NhdGlvbl9kZXRhaWxzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscykge1xyXG4gICAgICAgICAgICB0aGlzLnBheW1lbnRfbWV0aG9kID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZChcclxuICAgICAgICAgICAgICAgIHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzLmlkLFxyXG4gICAgICAgICAgICAgICAgcmVjb3JkLnBheW1lbnRfbWV0aG9kX2RldGFpbHMucGF5bWV0aG9kX25hbWUsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgIHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzLmludGVncmF0aW9uX3R5cGUsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5zZXJ2aWNlX3Byb3ZpZGVyLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscykge1xyXG4gICAgICAgICAgICB0aGlzLnNoaXBwaW5nX21ldGhvZCA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblNoaXBwaW5nTWV0aG9kKFxyXG4gICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5pZCxcclxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5jYXJyaWVyX25hbWUsXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMuZGVsaXZlcnlfY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMucHJpY2luZyxcclxuICAgICAgICAgICAgICAgICEhcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmNsaWVudF90b19jb2xsZWN0LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wYXJzZVRyYW5zYWN0aW9uSXRlbXMocmVjb3JkLnRyYW5zYWN0aW9uX2l0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhcnNlVHJhbnNhY3Rpb25JdGVtcyhyZWNvcmRfaXRlbXM6IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZFtdKTogdm9pZCB7XHJcbiAgICAgICAgZm9yIChjb25zdCByZWNvcmRfaXRlbSBvZiByZWNvcmRfaXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW0ocmVjb3JkX2l0ZW0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './esolve-transaction-address.model';
|
|
2
|
+
export * from './esolve-transaction-client.model';
|
|
3
|
+
export * from './esolve-transaction-item-price.model';
|
|
4
|
+
export * from './esolve-transaction-item.model';
|
|
5
|
+
export * from './esolve-transaction-list.model';
|
|
6
|
+
export * from './esolve-transaction-location.model';
|
|
7
|
+
export * from './esolve-transaction-payment-method.model';
|
|
8
|
+
export * from './esolve-transaction-shipping-method.model';
|
|
9
|
+
export * from './esolve-transaction-user.model';
|
|
10
|
+
export * from './esolve-transaction.model';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9jbGFzc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1hZGRyZXNzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24taXRlbS1wcmljZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1saXN0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tbG9jYXRpb24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1wYXltZW50LW1ldGhvZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXNoaXBwaW5nLW1ldGhvZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXVzZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi5tb2RlbCc7XHJcbiJdfQ==
|
|
@@ -1,23 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
|
|
5
|
-
export * from './esolve-transaction-item.model';
|
|
6
|
-
export * from './esolve-transaction-list.model';
|
|
7
|
-
export * from './esolve-transaction-item-price.model';
|
|
8
|
-
export * from './esolve-transaction-location.model';
|
|
9
|
-
export * from './esolve-transaction-options.interface';
|
|
10
|
-
export * from './esolve-transaction-payment-method.model';
|
|
11
|
-
export * from './esolve-transaction-shipping-method.model';
|
|
12
|
-
export * from './esolve-transaction-user.model';
|
|
13
|
-
// Interfaces
|
|
14
|
-
export * from './esolve-transaction-record.interface';
|
|
15
|
-
export * from './esolve-transaction-client-record.interface';
|
|
16
|
-
export * from './esolve-transaction-item-record.interface';
|
|
17
|
-
export * from './esolve-transaction-location-record.interface';
|
|
18
|
-
export * from './esolve-transaction-payment-method-record.interface';
|
|
19
|
-
export * from './esolve-transaction-shipping-method-record.interface';
|
|
20
|
-
export * from './esolve-transaction-user-record.interface';
|
|
21
|
-
// Types
|
|
22
|
-
export * from './esolve-transaction-type.type';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGFBQWE7QUFDYixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELFFBQVE7QUFDUixjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2xhc3Nlc1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWFkZHJlc3MubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1jbGllbnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1pdGVtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tbGlzdC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcHJpY2UubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1sb2NhdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tcGF5bWVudC1tZXRob2QubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1zaGlwcGluZy1tZXRob2QubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi11c2VyLm1vZGVsJztcclxuLy8gSW50ZXJmYWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1yZWNvcmQuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50LXJlY29yZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1pdGVtLXJlY29yZC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1sb2NhdGlvbi1yZWNvcmQuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tcGF5bWVudC1tZXRob2QtcmVjb3JkLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdXNlci1yZWNvcmQuaW50ZXJmYWNlJztcclxuLy8gVHlwZXNcclxuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdHlwZS50eXBlJztcclxuIl19
|
|
1
|
+
export * from './classes';
|
|
2
|
+
export * from './interfaces';
|
|
3
|
+
export * from './types';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC90cmFuc2FjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xyXG4iXX0=
|
package/esm2020/lib/account/transaction/interfaces/esolve-transaction-client-record.interface.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWNsaWVudC1yZWNvcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdHJhbnNhY3Rpb24vaW50ZXJmYWNlcy9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50LXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlVHJhbnNhY3Rpb25DbGllbnRSZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGNvbXBhbnlfbmFtZTogc3RyaW5nO1xyXG4gICAgYWNjb3VudDogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2NvZGU6IHN0cmluZztcclxuICAgIGZpcnN0bmFtZTogc3RyaW5nO1xyXG4gICAgc3VybmFtZTogc3RyaW5nO1xyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIGNvbnRhY3RfbnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuIl19
|
package/esm2020/lib/account/transaction/interfaces/esolve-transaction-item-record.interface.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3RyYW5zYWN0aW9uL2ludGVyZmFjZXMvZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcmVjb3JkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVUcmFuc2FjdGlvbkl0ZW1SZWNvcmQge1xyXG4gICAgY29kZTogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgc2VmX25hbWU6IHN0cmluZztcclxuICAgIGltYWdlX25hbWU6IHN0cmluZztcclxuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ6IHN0cmluZztcclxuICAgIHBhY2tfZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGl0ZW1zX2luX3BhY2s6IG51bWJlcjtcclxuICAgIHF0eTogbnVtYmVyO1xyXG4gICAgZGlzY291bnQ6IG51bWJlcjtcclxuICAgIHZhdF9yYXRlOiBudW1iZXI7XHJcbiAgICBwcmljZTogbnVtYmVyO1xyXG4gICAgcHJpY2VfZXhjbHVzaXZlOiBudW1iZXI7XHJcbiAgICBwcmljZV9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQ6IG51bWJlcjtcclxuICAgIHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xyXG4gICAgcHJpY2VfaW5jbHVzaXZlX2FmdGVyX2Rpc2NvdW50OiBudW1iZXI7XHJcbiAgICBsaW5lX3RvdGFsX2V4Y2x1c2l2ZTogbnVtYmVyO1xyXG4gICAgbGluZV90b3RhbF9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQ6IG51bWJlcjtcclxuICAgIGxpbmVfdG90YWxfaW5jbHVzaXZlOiBudW1iZXI7XHJcbiAgICBsaW5lX3RvdGFsX2luY2x1c2l2ZV9hZnRlcl9kaXNjb3VudDogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|