@esolve/ng-esolve-connect 0.89.0 → 0.90.0
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/esm2022/lib/account/user-account/classes/esolve-user-account.model.mjs +2 -1
- package/esm2022/lib/cart/esolve-cart.service.mjs +6 -2
- package/esm2022/lib/cart/interfaces/esolve-checkout-body.interface.mjs +1 -1
- package/esm2022/lib/transactions/classes/esolve-transaction.model.mjs +4 -2
- package/esm2022/lib/transactions/interfaces/esolve-transaction-record.interface.mjs +1 -1
- package/fesm2022/esolve-ng-esolve-connect.mjs +9 -2
- package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/cart/esolve-cart.service.d.ts +4 -1
- package/lib/cart/interfaces/esolve-checkout-body.interface.d.ts +1 -0
- package/lib/transactions/classes/esolve-transaction.model.d.ts +1 -0
- package/lib/transactions/interfaces/esolve-transaction-record.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ export class EsolveUserAccount {
|
|
|
13
13
|
this.initials = record.initials ?? '';
|
|
14
14
|
this.gender = record.gender ?? '';
|
|
15
15
|
this.identification_number = record.idnumber ?? '';
|
|
16
|
+
this.loyalty_number = record.loyaltynumber ?? '';
|
|
16
17
|
this.contact_details = new EsolveUserAccountContact(record);
|
|
17
18
|
this.business_details = new EsolveUserAccountBusiness(record);
|
|
18
19
|
if (record.client_details && record.client_details.account !== '') {
|
|
@@ -21,4 +22,4 @@ export class EsolveUserAccount {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS11c2VyLWFjY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0UsTUFBTSxPQUFPLGlCQUFpQjtJQWdCMUIsWUFBWSxNQUF5QztRQUNqRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUVqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUQsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksdUJBQXVCLENBQzdDLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVVc2VyQWNjb3VudEJ1c2luZXNzIH0gZnJvbSAnLi9lc29sdmUtdXNlci1hY2NvdW50LWJ1c2luZXNzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVVzZXJBY2NvdW50Q29udGFjdCB9IGZyb20gJy4vZXNvbHZlLXVzZXItYWNjb3VudC1jb250YWN0Lm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50IH0gZnJvbSAnLi9lc29sdmUtdXNlci1jbGllbnQtYWNjb3VudC5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVVc2VyQWNjb3VudCB7XG4gICAgcHVibGljIGVzb2x2ZV9pZD86IG51bWJlcjtcbiAgICBwdWJsaWMgZW1haWw/OiBzdHJpbmc7XG4gICAgcHVibGljIHJlZ2lzdHJhdGlvbl90eXBlPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0aXRsZT86IHN0cmluZztcbiAgICBwdWJsaWMgZmlyc3RfbmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgbGFzdF9uYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBpbml0aWFscz86IHN0cmluZztcbiAgICBwdWJsaWMgZ2VuZGVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBpZGVudGlmaWNhdGlvbl9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGFjY291bnRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBsb3lhbHR5X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgYnVzaW5lc3NfZGV0YWlscz86IEVzb2x2ZVVzZXJBY2NvdW50QnVzaW5lc3M7XG4gICAgcHVibGljIGNvbnRhY3RfZGV0YWlscz86IEVzb2x2ZVVzZXJBY2NvdW50Q29udGFjdDtcbiAgICBwdWJsaWMgY2xpZW50X2RldGFpbHM/OiBFc29sdmVVc2VyQ2xpZW50QWNjb3VudDtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlVXNlckFjY291bnRSZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuZXNvbHZlX2lkID0gKyhyZWNvcmQudXNlcmlkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5lbWFpbCA9IHJlY29yZC5lbWFpbCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucmVnaXN0cmF0aW9uX3R5cGUgPSByZWNvcmQucmVnaXN0cmF0aW9uX3R5cGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gcmVjb3JkLnRpdGxlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5maXJzdF9uYW1lID0gcmVjb3JkLmZpcnN0bmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMubGFzdF9uYW1lID0gcmVjb3JkLnN1cm5hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzID0gcmVjb3JkLmluaXRpYWxzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5nZW5kZXIgPSByZWNvcmQuZ2VuZGVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pZGVudGlmaWNhdGlvbl9udW1iZXIgPSByZWNvcmQuaWRudW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmxveWFsdHlfbnVtYmVyID0gcmVjb3JkLmxveWFsdHludW1iZXIgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuY29udGFjdF9kZXRhaWxzID0gbmV3IEVzb2x2ZVVzZXJBY2NvdW50Q29udGFjdChyZWNvcmQpO1xuICAgICAgICAgICAgdGhpcy5idXNpbmVzc19kZXRhaWxzID0gbmV3IEVzb2x2ZVVzZXJBY2NvdW50QnVzaW5lc3MocmVjb3JkKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC5jbGllbnRfZGV0YWlscyAmJiByZWNvcmQuY2xpZW50X2RldGFpbHMuYWNjb3VudCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWVudF9kZXRhaWxzID0gbmV3IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50KFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50X2RldGFpbHMsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -161,10 +161,13 @@ export class EsolveCartService {
|
|
|
161
161
|
* @param payment_method_id The ID of the selected payment method
|
|
162
162
|
* @param location_id The ID of the selected branch from with shipping needs to be calculated
|
|
163
163
|
* @param comments Additional comments on the cart
|
|
164
|
+
* @param time_slot The time slot to be used
|
|
165
|
+
* @param apply_wallet Whether to apply wallet to the order
|
|
166
|
+
* @param purchase_order_number Custom purchase order to added to transaction
|
|
164
167
|
*
|
|
165
168
|
* @returns An `Observable` with the transaction ID
|
|
166
169
|
*/
|
|
167
|
-
checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '', time_slot, apply_wallet) {
|
|
170
|
+
checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '', time_slot, apply_wallet, purchase_order_number) {
|
|
168
171
|
const body = {
|
|
169
172
|
type,
|
|
170
173
|
addresses_id,
|
|
@@ -175,6 +178,7 @@ export class EsolveCartService {
|
|
|
175
178
|
tracking: 0,
|
|
176
179
|
time_slot,
|
|
177
180
|
apply_wallet,
|
|
181
|
+
purchase_order_number,
|
|
178
182
|
};
|
|
179
183
|
return this.getTrackingCode().pipe(switchMap((tracking) => {
|
|
180
184
|
if (tracking <= 0) {
|
|
@@ -301,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
301
305
|
providedIn: 'root',
|
|
302
306
|
}]
|
|
303
307
|
}] });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUlILDRCQUE0QixFQUM1QixvQkFBb0IsR0FFdkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDakMsTUFBTSxXQUFXLENBQUM7O0FBd0JuQixNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZ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QyxxQkFBcUIsQ0FDMUMseUJBQXlCLEVBQ3pCLFFBQVEsQ0FDWCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFdBQVcsQ0FBQyxpQkFBeUM7UUFDekQsTUFBTSxVQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUV4QyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLHVCQUF1QixDQUMzQixPQUFzQztRQUV0QyxNQUFNLFlBQVksR0FBOEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLFlBQVksQ0FBQyxHQUFHLENBQ1osQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUNmLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQ3BDLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssaUJBQWlCLENBQ3JCLE1BQThCO1FBRTlCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQXhjUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3JzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlRGVsZXRlUmVzcG9uc2UsXG4gICAgRXNvbHZlR2V0UmVzcG9uc2UsXG4gICAgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZVJlc3BvbnNlUmVzdWx0LFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuaW1wb3J0IHsgRXNvbHZlUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXN1bHQubW9kZWwnO1xuXG5pbXBvcnQgeyBFc29sdmVDb3Vwb25zU2VydmljZSB9IGZyb20gJy4uL2NvdXBvbnMnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEVzb2x2ZVZvdWNoZXJzU2VydmljZSB9IGZyb20gJy4uL3ZvdWNoZXJzJztcblxuaW1wb3J0IHtcbiAgICBFc29sdmVDYXJ0QWx0ZXJuYXRpdmUsXG4gICAgRXNvbHZlQ2FydEl0ZW0sXG4gICAgRXNvbHZlQ2FydFRvdGFscyxcbiAgICBFc29sdmVDaGVja291dFJlc3VsdCxcbiAgICBFc29sdmVFbXB0eUNhcnRSZXN1bHQsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhLFxufSBmcm9tICcuL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBZGRpdGlvbmFsV2hlcmUsXG4gICAgRXNvbHZlQ2FydEFsdGVybmF0aXZlUmVjb3JkLFxuICAgIEVzb2x2ZUNhcnRJdGVtUmVjb3JkLFxuICAgIEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2UsXG4gICAgRXNvbHZlQ2FydFNldEl0ZW0sXG4gICAgRXNvbHZlQ2FydFRvdGFsc1JlY29yZCxcbiAgICBFc29sdmVDaGVja291dEJvZHksXG4gICAgRXNvbHZlQ2hlY2tvdXRSZXNwb25zZSxcbiAgICBFc29sdmVUaW1lU2xvdENoZWNrb3V0LFxuICAgIEVzb2x2ZVRyYWNraW5nQ29kZSxcbiAgICBFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGFSZWNvcmQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUNhcnQsXG4gICAgRXNvbHZlQ2FydFNldEFjdGlvbixcbiAgICBFc29sdmVDYXJ0RW1wdHlSZXNwb25zZSxcbiAgICBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwLFxufSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQ2FydFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlSGFuZGxlciA9IGluamVjdChFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdXBvbnMgPSBpbmplY3QoRXNvbHZlQ291cG9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdm91Y2hlcnMgPSBpbmplY3QoRXNvbHZlVm91Y2hlcnNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX2NhY2hlZF90cmFja2luZyA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgY2FydFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgY2FydCBpdGVtc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJ0KCk6IE9ic2VydmFibGU8RXNvbHZlQ2FydD4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBjb25zdCBjb3Vwb25zID0gdGhpcy5jb3Vwb25zLmdldEFwcGxpZWRDb3Vwb25LZXlzKCk7XG5cbiAgICAgICAgaWYgKGNvdXBvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291cG9ucycsIGNvdXBvbnMuam9pbignLCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2FydEl0ZW1SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1jYXJ0LnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydChyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgY2FydCBieSBwcmVmb3JtaW5nIHZhcmlvdXMgYWN0aW9ucywgc3VjaCBhcyBhZGRpbmcsIGVkaXRpbmcgb3IgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgY2FydC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBvcHRpb25zIHRvIHVwZGF0ZSB0aGUgY2FydFxuICAgICAqIEBwYXJhbSBhY3Rpb24gVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHByZWZvcm1cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHJlc3BvbnNlcyB0aGF0IGdpdmVzIGZlZWRiYWNrIG9uIHRoZSByZXF1ZXN0ZWQgY2hhbmdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDYXJ0KFxuICAgICAgICBpdGVtczogRXNvbHZlQ2FydFNldEl0ZW1bXSxcbiAgICAgICAgYWN0aW9uOiBFc29sdmVDYXJ0U2V0QWN0aW9uID0gJ2FkZCcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlW10+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2FydC1pdGVtLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzcG9uc2VzO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2FydEVtcHR5KFxuICAgICAgICB0eXBlOiBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgICAgIGFkZGl0aW9uYWxfd2hlcmU6IEVzb2x2ZUFkZGl0aW9uYWxXaGVyZVtdLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlRW1wdHlDYXJ0UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgYWRkaXRpb25hbF93aGVyZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDYXJ0RW1wdHlSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jYXJ0LWVtcHR5LnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZF90cmFja2luZyA9IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUVtcHR5Q2FydFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jYXJ0LWVtcHR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHRvdGFscyBvZiB0aGUgY2FydCB3aXRoIGFsbCB0aGUgdG90YWxzIGNhbGN1bGF0ZWRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIGNhcnQgdG90YWxzXG4gICAgICovXG4gICAgcHVibGljIGdldFRvdGFscyhcbiAgICAgICAgdHlwZT86IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRUb3RhbHM+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlID8/ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgdm91Y2hlcnMgPSB0aGlzLnZvdWNoZXJzLmdldEFwcGxpZWRWb3VjaGVyS2V5cygpO1xuXG4gICAgICAgIGlmICh2b3VjaGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd2b3VjaGVycycsIHZvdWNoZXJzLmpvaW4oJywnKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhcnRUb3RhbHNSZWNvcmQ+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2FydC10b3RhbHMucGhwYCxcbiAgICAgICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDYXJ0VG90YWxzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSB0cmFja2luZyBjb2RlIGZvciB0aGUgY2FydFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIGNhcnQgdHJhY2tpbmcgY29kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFja2luZ0NvZGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGlpZihcbiAgICAgICAgICAgICgpID0+IHRoaXMuX2NhY2hlZF90cmFja2luZyA+IDAsXG4gICAgICAgICAgICBvZih0aGlzLl9jYWNoZWRfdHJhY2tpbmcpLFxuICAgICAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFja2luZ0NvZGU+PihcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNoZWNrb3V0LXRyYWNraW5nLnBocGAsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZF90cmFja2luZyA9IHJlc3BvbnNlLnJlY29yZHMudHJhY2tpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgZGF0YSBvZiB0aGUgdHJhbnNhY3Rpb24gZm9yIHRoZSBhbmFseXRpY3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbl9pZCBJRCBvZiB0aGUgdHJhbnNhY3Rpb24gdXNlZCBpbiBlU29sdmVcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSBhbmFseXRpY3MgZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGE8VCA9IGFueT4oXG4gICAgICAgIHRyYW5zYWN0aW9uX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGE8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGFSZWNvcmQ8VD4+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdHJhbnNhY3Rpb24tYW5hbHl0aWNzLWRhdGEucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25faWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YTxUPihcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyBjaGVja291dCBvZiB0aGUgY2FydCBpdGVtc1xuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGUgVGhlIGNhcnQgdHlwZSB0aGF0IG5lZWRzIHRvIGJlIGNoZWNrZWQgb3V0XG4gICAgICogQHBhcmFtIGFkZHJlc3Nlc19pZCBUaGUgSUQgb2YgdGhlIGRlbGl2ZXJ5IGFkZHJlc3NcbiAgICAgKiBAcGFyYW0gc2hpcHBpbmdfaWQgVGhlIElEIG9mIHRoZSBzaGlwcGluZyBtZXRob2RcbiAgICAgKiBAcGFyYW0gcGF5bWVudF9tZXRob2RfaWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBwYXltZW50IG1ldGhvZFxuICAgICAqIEBwYXJhbSBsb2NhdGlvbl9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIGJyYW5jaCBmcm9tIHdpdGggc2hpcHBpbmcgbmVlZHMgdG8gYmUgY2FsY3VsYXRlZFxuICAgICAqIEBwYXJhbSBjb21tZW50cyBBZGRpdGlvbmFsIGNvbW1lbnRzIG9uIHRoZSBjYXJ0XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgdHJhbnNhY3Rpb24gSURcbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tvdXQoXG4gICAgICAgIHR5cGU6IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSxcbiAgICAgICAgYWRkcmVzc2VzX2lkOiBudW1iZXIsXG4gICAgICAgIHNoaXBwaW5nX2lkOiBudW1iZXIsXG4gICAgICAgIHBheW1lbnRfbWV0aG9kX2lkID0gMCxcbiAgICAgICAgbG9jYXRpb25faWQgPSAwLFxuICAgICAgICBjb21tZW50cyA9ICcnLFxuICAgICAgICB0aW1lX3Nsb3Q/OiBFc29sdmVUaW1lU2xvdENoZWNrb3V0LFxuICAgICAgICBhcHBseV93YWxsZXQ/OiBib29sZWFuLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2hlY2tvdXRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keTogRXNvbHZlQ2hlY2tvdXRCb2R5ID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgcGF5bWVudF9tZXRob2RfaWQsXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcbiAgICAgICAgICAgIGNvbW1lbnRzLFxuICAgICAgICAgICAgdHJhY2tpbmc6IDAsXG4gICAgICAgICAgICB0aW1lX3Nsb3QsXG4gICAgICAgICAgICBhcHBseV93YWxsZXQsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2tpbmdDb2RlKCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodHJhY2tpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHJhY2tpbmcgPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyB0cmFja2luZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBib2R5LnRyYWNraW5nID0gdHJhY2tpbmc7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2b3VjaGVyX2tleXMgPSB0aGlzLnZvdWNoZXJzLmdldEFwcGxpZWRWb3VjaGVyS2V5cygpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHZvdWNoZXJfa2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHkudm91Y2hlcnMgPSB2b3VjaGVyX2tleXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDaGVja291dFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2hlY2tvdXQucGhwYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3Vwb25zLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZvdWNoZXJzLnJlc2V0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2hlY2tvdXRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtY2hlY2tvdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FydEFsdGVybmF0aXZlcygpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZXNNYXA+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1jYXJ0LWFsdGVybmF0aXZlcy5waHBgLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDYXJ0QWx0ZXJuYXRpdmVzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgYW4gYWx0ZXJuYXRpdmUgc3RvY2sgaXRlbSB0byBjdXJyZW50IGNhcnQgaXRlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIEl0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwZWNpZmljIGNhcnQgaXRlbSBmb3Igd2hpY2ggdGhlIGFsdGVybmF0aXZlIGlzIGJlaW5nIHNldFxuICAgICAqIEBwYXJhbSBhbHRlcm5hdGl2ZSBUaGUgYWx0ZXJuYXRpdmUgdmFsdWUgdGhhdCB5b3Ugd2FudCB0byBzZXQgZm9yIGEgc3BlY2lmaWMgY2FydCBpdGVtLlxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgb2YgdHlwZSBFc29sdmVSZXNwb25zZVJlc3VsdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2FydEFsdGVybmF0aXZlKFxuICAgICAgICBpZDogbnVtYmVyLFxuICAgICAgICBhbHRlcm5hdGl2ZTogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUmVzcG9uc2VSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUG9zdFJlc3BvbnNlSXRlbT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jYXJ0LWFsdGVybmF0aXZlcy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pZDogaWQsXG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0aXZlOiBhbHRlcm5hdGl2ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlUmVzcG9uc2VSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jYXJ0LWFsdGVybmF0aXZlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZUNhcnRBbHRlcm5hdGl2ZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZGVsZXRlLWNhcnQtYWx0ZXJuYXRpdmUucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBpZCB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwRGVsZXRlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLWNhcnQtYWx0ZXJuYXRpdmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3Jkc1xuICAgICAqXG4gICAgICogQHBhcmFtIGNhcnRfaXRlbV9yZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBjYXJ0IGl0ZW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydChjYXJ0X2l0ZW1fcmVjb3JkczogRXNvbHZlQ2FydEl0ZW1SZWNvcmRbXSk6IEVzb2x2ZUNhcnQge1xuICAgICAgICBjb25zdCBjYXJ0X2l0ZW1zOiBFc29sdmVDYXJ0SXRlbVtdID0gW107XG5cbiAgICAgICAgaWYgKGNhcnRfaXRlbV9yZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhcnRfaXRlbV9yZWNvcmQgb2YgY2FydF9pdGVtX3JlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1zLnB1c2gobmV3IEVzb2x2ZUNhcnRJdGVtKGNhcnRfaXRlbV9yZWNvcmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYXJ0X2l0ZW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGNhcnQgYWx0ZXJuYXRpdmVzIHJlY29yZHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQSBgTWFwYCBvZiBwcm9jZXNzZWQgY2FydCBhbHRlcm5hdGl2ZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NDYXJ0QWx0ZXJuYXRpdmVzKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmRbXSxcbiAgICApOiBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwIHtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpdmVzOiBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgIGFsdGVybmF0aXZlcy5zZXQoXG4gICAgICAgICAgICAgICAgK3JlY29yZC5pdGVtX2lkLFxuICAgICAgICAgICAgICAgIG5ldyBFc29sdmVDYXJ0QWx0ZXJuYXRpdmUocmVjb3JkKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWx0ZXJuYXRpdmVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGNhcnQgdG90YWxzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBjYXJ0IHRvdGFsc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnRUb3RhbHMoXG4gICAgICAgIHJlY29yZDogRXNvbHZlQ2FydFRvdGFsc1JlY29yZCxcbiAgICApOiBFc29sdmVDYXJ0VG90YWxzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDYXJ0VG90YWxzKHJlY29yZCk7XG4gICAgfVxufVxuIl19
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUlILDRCQUE0QixFQUM1QixvQkFBb0IsR0FFdkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDakMsTUFBTSxXQUFXLENBQUM7O0FBd0JuQixNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZ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WUFDN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUMxQyx5QkFBeUIsRUFDekIsUUFBUSxDQUNYLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssV0FBVyxDQUFDLGlCQUF5QztRQUN6RCxNQUFNLFVBQVUsR0FBcUIsRUFBRSxDQUFDO1FBRXhDLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixLQUFLLE1BQU0sZ0JBQWdCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDL0MsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssdUJBQXVCLENBQzNCLE9BQXNDO1FBRXRDLE1BQU0sWUFBWSxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTFELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDM0IsWUFBWSxDQUFDLEdBQUcsQ0FDWixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ2YsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FDcEMsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxpQkFBaUIsQ0FDckIsTUFBOEI7UUFFOUIsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBM2NRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVQb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlUmVzcG9uc2VSZXN1bHQsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5pbXBvcnQgeyBFc29sdmVSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3VsdC5tb2RlbCc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvdXBvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY291cG9ucyc7XG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgRXNvbHZlVm91Y2hlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vdm91Y2hlcnMnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZSxcbiAgICBFc29sdmVDYXJ0SXRlbSxcbiAgICBFc29sdmVDYXJ0VG90YWxzLFxuICAgIEVzb2x2ZUNoZWNrb3V0UmVzdWx0LFxuICAgIEVzb2x2ZUVtcHR5Q2FydFJlc3VsdCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGEsXG59IGZyb20gJy4vY2xhc3Nlcyc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUFkZGl0aW9uYWxXaGVyZSxcbiAgICBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmQsXG4gICAgRXNvbHZlQ2FydEl0ZW1SZWNvcmQsXG4gICAgRXNvbHZlQ2FydEl0ZW1SZXNwb25zZSxcbiAgICBFc29sdmVDYXJ0U2V0SXRlbSxcbiAgICBFc29sdmVDYXJ0VG90YWxzUmVjb3JkLFxuICAgIEVzb2x2ZUNoZWNrb3V0Qm9keSxcbiAgICBFc29sdmVDaGVja291dFJlc3BvbnNlLFxuICAgIEVzb2x2ZVRpbWVTbG90Q2hlY2tvdXQsXG4gICAgRXNvbHZlVHJhY2tpbmdDb2RlLFxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uQW5hbHl0aWNzRGF0YVJlY29yZCxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQ2FydCxcbiAgICBFc29sdmVDYXJ0U2V0QWN0aW9uLFxuICAgIEVzb2x2ZUNhcnRFbXB0eVJlc3BvbnNlLFxuICAgIEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZXNNYXAsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVDYXJ0U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY291cG9ucyA9IGluamVjdChFc29sdmVDb3Vwb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2b3VjaGVycyA9IGluamVjdChFc29sdmVWb3VjaGVyc1NlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBfY2FjaGVkX3RyYWNraW5nID0gMDtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBjYXJ0XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBjYXJ0IGl0ZW1zXG4gICAgICovXG4gICAgcHVibGljIGdldENhcnQoKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0PiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgIGNvbnN0IGNvdXBvbnMgPSB0aGlzLmNvdXBvbnMuZ2V0QXBwbGllZENvdXBvbktleXMoKTtcblxuICAgICAgICBpZiAoY291cG9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3Vwb25zJywgY291cG9ucy5qb2luKCcsJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICBFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlY29yZFtdPlxuICAgICAgICAgICAgPihgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2FydC5waHBgLCB7IHBhcmFtcyB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDYXJ0KHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBjYXJ0IGJ5IHByZWZvcm1pbmcgdmFyaW91cyBhY3Rpb25zLCBzdWNoIGFzIGFkZGluZywgZWRpdGluZyBvciByZW1vdmluZyBpdGVtcyBmcm9tIHRoZSBjYXJ0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zIEFuIGFycmF5IG9mIG9wdGlvbnMgdG8gdXBkYXRlIHRoZSBjYXJ0XG4gICAgICogQHBhcmFtIGFjdGlvbiBUaGUgZGVmYXVsdCBhY3Rpb24gdG8gcHJlZm9ybVxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcmVzcG9uc2VzIHRoYXQgZ2l2ZXMgZmVlZGJhY2sgb24gdGhlIHJlcXVlc3RlZCBjaGFuZ2VzXG4gICAgICovXG4gICAgcHVibGljIHNldENhcnQoXG4gICAgICAgIGl0ZW1zOiBFc29sdmVDYXJ0U2V0SXRlbVtdLFxuICAgICAgICBhY3Rpb246IEVzb2x2ZUNhcnRTZXRBY3Rpb24gPSAnYWRkJyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2VbXT4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQ2FydEl0ZW1SZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jYXJ0LWl0ZW0ucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZXNwb25zZXM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRDYXJ0RW1wdHkoXG4gICAgICAgIHR5cGU6IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSxcbiAgICAgICAgYWRkaXRpb25hbF93aGVyZTogRXNvbHZlQWRkaXRpb25hbFdoZXJlW10sXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVFbXB0eUNhcnRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhZGRpdGlvbmFsX3doZXJlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNhcnRFbXB0eVJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWNhcnQtZW1wdHkucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FjaGVkX3RyYWNraW5nID0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlRW1wdHlDYXJ0UmVzdWx0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWNhcnQtZW1wdHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdG90YWxzIG9mIHRoZSBjYXJ0IHdpdGggYWxsIHRoZSB0b3RhbHMgY2FsY3VsYXRlZFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gb2JqZWN0IGNvbnRhaW5pbmcgY2FydCB0b3RhbHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG90YWxzKFxuICAgICAgICB0eXBlPzogRXNvbHZlVHJhbnNhY3Rpb25UeXBlLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2FydFRvdGFscz4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgICAgZnJvbU9iamVjdDoge1xuICAgICAgICAgICAgICAgIHR5cGU6IHR5cGUgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB2b3VjaGVycyA9IHRoaXMudm91Y2hlcnMuZ2V0QXBwbGllZFZvdWNoZXJLZXlzKCk7XG5cbiAgICAgICAgaWYgKHZvdWNoZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3ZvdWNoZXJzJywgdm91Y2hlcnMuam9pbignLCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8XG4gICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2FydFRvdGFsc1JlY29yZD5cbiAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNhcnQtdG90YWxzLnBocGAsIHsgcGFyYW1zIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NhcnRUb3RhbHMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHRyYWNraW5nIGNvZGUgZm9yIHRoZSBjYXJ0XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgY2FydCB0cmFja2luZyBjb2RlXG4gICAgICovXG4gICAgcHVibGljIGdldFRyYWNraW5nQ29kZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gaWlmKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5fY2FjaGVkX3RyYWNraW5nID4gMCxcbiAgICAgICAgICAgIG9mKHRoaXMuX2NhY2hlZF90cmFja2luZyksXG4gICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAuZ2V0PFxuICAgICAgICAgICAgICAgICAgICBFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFja2luZ0NvZGU+XG4gICAgICAgICAgICAgICAgPihgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtY2hlY2tvdXQtdHJhY2tpbmcucGhwYClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGRhdGEgb2YgdGhlIHRyYW5zYWN0aW9uIGZvciB0aGUgYW5hbHl0aWNzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25faWQgSUQgb2YgdGhlIHRyYW5zYWN0aW9uIHVzZWQgaW4gZVNvbHZlXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgYW5hbHl0aWNzIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhPFQgPSBhbnk+KFxuICAgICAgICB0cmFuc2FjdGlvbl9pZDogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25BbmFseXRpY3NEYXRhUmVjb3JkPFQ+Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXRyYW5zYWN0aW9uLWFuYWx5dGljcy1kYXRhLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkFuYWx5dGljc0RhdGE8VD4oXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWF0ZXMgY2hlY2tvdXQgb2YgdGhlIGNhcnQgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSBjYXJ0IHR5cGUgdGhhdCBuZWVkcyB0byBiZSBjaGVja2VkIG91dFxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgVGhlIElEIG9mIHRoZSBkZWxpdmVyeSBhZGRyZXNzXG4gICAgICogQHBhcmFtIHNoaXBwaW5nX2lkIFRoZSBJRCBvZiB0aGUgc2hpcHBpbmcgbWV0aG9kXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kX2lkIFRoZSBJRCBvZiB0aGUgc2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcbiAgICAgKiBAcGFyYW0gbG9jYXRpb25faWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBicmFuY2ggZnJvbSB3aXRoIHNoaXBwaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWRcbiAgICAgKiBAcGFyYW0gY29tbWVudHMgQWRkaXRpb25hbCBjb21tZW50cyBvbiB0aGUgY2FydFxuICAgICAqIEBwYXJhbSB0aW1lX3Nsb3QgVGhlIHRpbWUgc2xvdCB0byBiZSB1c2VkXG4gICAgICogQHBhcmFtIGFwcGx5X3dhbGxldCBXaGV0aGVyIHRvIGFwcGx5IHdhbGxldCB0byB0aGUgb3JkZXJcbiAgICAgKiBAcGFyYW0gcHVyY2hhc2Vfb3JkZXJfbnVtYmVyIEN1c3RvbSBwdXJjaGFzZSBvcmRlciB0byBhZGRlZCB0byB0cmFuc2FjdGlvblxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHRyYW5zYWN0aW9uIElEXG4gICAgICovXG4gICAgcHVibGljIGNoZWNrb3V0KFxuICAgICAgICB0eXBlOiBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxuICAgICAgICBzaGlwcGluZ19pZDogbnVtYmVyLFxuICAgICAgICBwYXltZW50X21ldGhvZF9pZCA9IDAsXG4gICAgICAgIGxvY2F0aW9uX2lkID0gMCxcbiAgICAgICAgY29tbWVudHMgPSAnJyxcbiAgICAgICAgdGltZV9zbG90PzogRXNvbHZlVGltZVNsb3RDaGVja291dCxcbiAgICAgICAgYXBwbHlfd2FsbGV0PzogYm9vbGVhbixcbiAgICAgICAgcHVyY2hhc2Vfb3JkZXJfbnVtYmVyPzogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2hlY2tvdXRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keTogRXNvbHZlQ2hlY2tvdXRCb2R5ID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgcGF5bWVudF9tZXRob2RfaWQsXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcbiAgICAgICAgICAgIGNvbW1lbnRzLFxuICAgICAgICAgICAgdHJhY2tpbmc6IDAsXG4gICAgICAgICAgICB0aW1lX3Nsb3QsXG4gICAgICAgICAgICBhcHBseV93YWxsZXQsXG4gICAgICAgICAgICBwdXJjaGFzZV9vcmRlcl9udW1iZXIsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2tpbmdDb2RlKCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodHJhY2tpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHJhY2tpbmcgPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyB0cmFja2luZztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBib2R5LnRyYWNraW5nID0gdHJhY2tpbmc7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2b3VjaGVyX2tleXMgPSB0aGlzLnZvdWNoZXJzLmdldEFwcGxpZWRWb3VjaGVyS2V5cygpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHZvdWNoZXJfa2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHkudm91Y2hlcnMgPSB2b3VjaGVyX2tleXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDaGVja291dFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2hlY2tvdXQucGhwYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3Vwb25zLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZvdWNoZXJzLnJlc2V0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2hlY2tvdXRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtY2hlY2tvdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FydEFsdGVybmF0aXZlcygpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZXNNYXA+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICBFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmRbXT5cbiAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNhcnQtYWx0ZXJuYXRpdmVzLnBocGApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NhcnRBbHRlcm5hdGl2ZXMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBhbiBhbHRlcm5hdGl2ZSBzdG9jayBpdGVtIHRvIGN1cnJlbnQgY2FydCBpdGVtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgSXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgc3BlY2lmaWMgY2FydCBpdGVtIGZvciB3aGljaCB0aGUgYWx0ZXJuYXRpdmUgaXMgYmVpbmcgc2V0XG4gICAgICogQHBhcmFtIGFsdGVybmF0aXZlIFRoZSBhbHRlcm5hdGl2ZSB2YWx1ZSB0aGF0IHlvdSB3YW50IHRvIHNldCBmb3IgYSBzcGVjaWZpYyBjYXJ0IGl0ZW0uXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB0eXBlIEVzb2x2ZVJlc3BvbnNlUmVzdWx0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDYXJ0QWx0ZXJuYXRpdmUoXG4gICAgICAgIGlkOiBudW1iZXIsXG4gICAgICAgIGFsdGVybmF0aXZlOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVSZXNwb25zZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVQb3N0UmVzcG9uc2VJdGVtPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWNhcnQtYWx0ZXJuYXRpdmVzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjYXJ0X2lkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpdmU6IGFsdGVybmF0aXZlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVSZXNwb25zZVJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWNhcnQtYWx0ZXJuYXRpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlQ2FydEFsdGVybmF0aXZlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtY2FydC1hbHRlcm5hdGl2ZS5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGlkIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtY2FydC1hbHRlcm5hdGl2ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgdHJlZSByZWNvcmRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FydF9pdGVtX3JlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIGNhcnQgaXRlbXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NDYXJ0KGNhcnRfaXRlbV9yZWNvcmRzOiBFc29sdmVDYXJ0SXRlbVJlY29yZFtdKTogRXNvbHZlQ2FydCB7XG4gICAgICAgIGNvbnN0IGNhcnRfaXRlbXM6IEVzb2x2ZUNhcnRJdGVtW10gPSBbXTtcblxuICAgICAgICBpZiAoY2FydF9pdGVtX3JlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FydF9pdGVtX3JlY29yZCBvZiBjYXJ0X2l0ZW1fcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNhcnRfaXRlbXMucHVzaChuZXcgRXNvbHZlQ2FydEl0ZW0oY2FydF9pdGVtX3JlY29yZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhcnRfaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgY2FydCBhbHRlcm5hdGl2ZXMgcmVjb3Jkc1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBIGBNYXBgIG9mIHByb2Nlc3NlZCBjYXJ0IGFsdGVybmF0aXZlc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnRBbHRlcm5hdGl2ZXMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZVJlY29yZFtdLFxuICAgICk6IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZXNNYXAge1xuICAgICAgICBjb25zdCBhbHRlcm5hdGl2ZXM6IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZXNNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgYWx0ZXJuYXRpdmVzLnNldChcbiAgICAgICAgICAgICAgICArcmVjb3JkLml0ZW1faWQsXG4gICAgICAgICAgICAgICAgbmV3IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZShyZWNvcmQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbHRlcm5hdGl2ZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgY2FydCB0b3RhbHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmQgRGF0YSB0byBwcm9jZXNzXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNhcnQgdG90YWxzXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydFRvdGFscyhcbiAgICAgICAgcmVjb3JkOiBFc29sdmVDYXJ0VG90YWxzUmVjb3JkLFxuICAgICk6IEVzb2x2ZUNhcnRUb3RhbHMge1xuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNhcnRUb3RhbHMocmVjb3JkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNoZWNrb3V0LWJvZHkuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NhcnQvaW50ZXJmYWNlcy9lc29sdmUtY2hlY2tvdXQtYm9keS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9ucyc7XG5cbmltcG9ydCB7IEVzb2x2ZVRpbWVTbG90Q2hlY2tvdXQgfSBmcm9tICcuL2Vzb2x2ZS10aW1lLXNsb3QtY2hlY2tvdXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVDaGVja291dEJvZHkge1xuICAgIHR5cGU6IEVzb2x2ZVRyYW5zYWN0aW9uVHlwZTtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xuICAgIHBheW1lbnRfbWV0aG9kX2lkOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBjb21tZW50czogc3RyaW5nO1xuICAgIHRyYWNraW5nOiBudW1iZXI7XG4gICAgcHVyY2hhc2Vfb3JkZXJfbnVtYmVyPzogbnVtYmVyO1xuICAgIHRpbWVfc2xvdD86IEVzb2x2ZVRpbWVTbG90Q2hlY2tvdXQ7XG4gICAgdm91Y2hlcnM/OiBzdHJpbmdbXTtcbiAgICBhcHBseV93YWxsZXQ/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -20,6 +20,7 @@ export class EsolveTransaction {
|
|
|
20
20
|
this.loyalty_number = record.loyaltynumber;
|
|
21
21
|
this.external_order_number = record.external_order_number;
|
|
22
22
|
this.external_invoice_number = record.external_invoice_number;
|
|
23
|
+
this.purchase_order_number = record.purchase_order_number;
|
|
23
24
|
this.date = new Date(+record.txdate_timestamp * 1000);
|
|
24
25
|
this.expected_date = new Date(+record.expected_date_timestamp * 1000);
|
|
25
26
|
this.invoice_amount = +record.invoice_amount;
|
|
@@ -47,7 +48,8 @@ export class EsolveTransaction {
|
|
|
47
48
|
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);
|
|
48
49
|
}
|
|
49
50
|
if (record.shipping_method_details) {
|
|
50
|
-
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.delivery_integration_type ??
|
|
51
|
+
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.delivery_integration_type ??
|
|
52
|
+
'none', record.shipping_method_details.location, record.shipping_method_details.description, record.shipping_method_details.pricing, !!record.shipping_method_details.client_to_collect);
|
|
51
53
|
}
|
|
52
54
|
if (record.time_slot) {
|
|
53
55
|
this.time_slot = new EsolveTransactionTimeSlot(record.time_slot);
|
|
@@ -80,4 +82,4 @@ export class EsolveTransaction {
|
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3RyYW5zYWN0aW9ucy9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gscUJBQXFCLEdBR3hCLE1BQU0sWUFBWSxDQUFDO0FBUXBCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxpQkFBaUI7SUFxRDFCLFlBQVksTUFBK0I7UUFaM0Msb0JBQW9CO1FBQ2IsVUFBSyxHQUE0QixFQUFFLENBQUM7UUFZdkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FB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LFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUF1QztRQUM3RCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFFOUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDakIsTUFBTSxDQUFDLE9BQU8sRUFDZCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUNwQyxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRXNvbHZlQ2FydEFsdGVybmF0aXZlLFxuICAgIEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZVJlY29yZCxcbiAgICBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwLFxufSBmcm9tICcuLi8uLi9jYXJ0JztcblxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbkl0ZW1SZWNvcmQsXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvbkFkZHJlc3MgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1hZGRyZXNzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50IH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50Lm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25Mb2NhdGlvbiB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWxvY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXBheW1lbnQtbWV0aG9kLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uU2hpcHBpbmdNZXRob2QgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1zaGlwcGluZy1tZXRob2QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25Vc2VyIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvblBpY2sgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1waWNrLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVGltZVNsb3QgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi10aW1lLXNsb3QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25EZWxpdmVyeSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWRlbGl2ZXJ5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uIHtcbiAgICBwdWJsaWMgaWQ6IG51bWJlcjtcbiAgICBwdWJsaWMgdHlwZTogRXNvbHZlVHJhbnNhY3Rpb25UeXBlO1xuICAgIHB1YmxpYyBzdGF0dXM6IHN0cmluZztcbiAgICBwdWJsaWMgY29tbWVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBsb3lhbHR5X251bWJlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBleHRlcm5hbF9vcmRlcl9udW1iZXI6IHN0cmluZztcbiAgICBwdWJsaWMgZXh0ZXJuYWxfaW52b2ljZV9udW1iZXI6IHN0cmluZztcblxuICAgIC8vIERhdGVzXG4gICAgcHVibGljIGRhdGU6IERhdGU7XG4gICAgcHVibGljIGV4cGVjdGVkX2RhdGU6IERhdGU7XG5cbiAgICBwdWJsaWMgY2xpZW50PzogRXNvbHZlVHJhbnNhY3Rpb25DbGllbnQ7XG4gICAgcHVibGljIHVzZXI/OiBFc29sdmVUcmFuc2FjdGlvblVzZXI7XG5cbiAgICAvLyBMb2NhdGlvblxuICAgIHB1YmxpYyBsb2NhdGlvbj86IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb247XG5cbiAgICAvLyBUb3RhbHNcbiAgICBwdWJsaWMgaW52b2ljZV9hbW91bnQ6IG51bWJlcjtcbiAgICBwdWJsaWMgdmF0OiBudW1iZXI7XG4gICAgcHVibGljIGRpc2NvdW50OiBudW1iZXI7XG4gICAgcHVibGljIHRvdGFsOiBudW1iZXI7XG4gICAgcHVibGljIHNoaXBwaW5nX3RvdGFsOiBudW1iZXI7XG4gICAgcHVibGljIGluc3VyYW5jZV90b3RhbDogbnVtYmVyO1xuICAgIHB1YmxpYyBhbGxvd2FuY2U6IG51bWJlcjtcblxuICAgIC8vIFBheW1lbnRcbiAgICBwdWJsaWMgcGF5bWVudF9tZXRob2Q/OiBFc29sdmVUcmFuc2FjdGlvblBheW1lbnRNZXRob2Q7XG4gICAgcHVibGljIHBheW1lbnQ6IG51bWJlcjtcbiAgICBwdWJsaWMgZ2F0ZXdheV90cmFuc2FjdGlvbl9pZDogc3RyaW5nO1xuICAgIHB1YmxpYyBwYXltZW50X3JlZmVyZW5jZTogc3RyaW5nO1xuICAgIHB1YmxpYyBwYXltZW50X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvLyBTaGlwcGluZ1xuICAgIHB1YmxpYyBzaGlwcGluZ19tZXRob2Q/OiBFc29sdmVUcmFuc2FjdGlvblNoaXBwaW5nTWV0aG9kO1xuXG4gICAgLy8gQWRkcmVzcyBEZXRhaWxzXG4gICAgcHVibGljIGFkZHJlc3M6IEVzb2x2ZVRyYW5zYWN0aW9uQWRkcmVzcztcblxuICAgIC8vIFRyYW5zYWN0aW9uIEl0ZW1zXG4gICAgcHVibGljIGl0ZW1zOiBFc29sdmVUcmFuc2FjdGlvbkl0ZW1bXSA9IFtdO1xuICAgIHB1YmxpYyBhbHRlcm5hdGl2ZXM/OiBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwO1xuXG4gICAgcHVibGljIHRpbWVfc2xvdD86IEVzb2x2ZVRyYW5zYWN0aW9uVGltZVNsb3Q7XG5cbiAgICAvL1BpY2tpbmdcbiAgICBwdWJsaWMgcGljaz86IEVzb2x2ZVRyYW5zYWN0aW9uUGljaztcblxuICAgIC8vRGVsaXZlcnlcbiAgICBwdWJsaWMgZGVsaXZlcnk/OiBFc29sdmVUcmFuc2FjdGlvbkRlbGl2ZXJ5O1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBFc29sdmVUcmFuc2FjdGlvblJlY29yZCkge1xuICAgICAgICB0aGlzLmlkID0gK3JlY29yZC5pZDtcbiAgICAgICAgdGhpcy50eXBlID0gcmVjb3JkLnRyYW5zYWN0aW9uX3R5cGU7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gcmVjb3JkLnN0YXR1cztcbiAgICAgICAgdGhpcy5jb21tZW50ID0gcmVjb3JkLmNvbW1lbnQgPz8gJyc7XG4gICAgICAgIHRoaXMubG95YWx0eV9udW1iZXIgPSByZWNvcmQubG95YWx0eW51bWJlcjtcbiAgICAgICAgdGhpcy5leHRlcm5hbF9vcmRlcl9udW1iZXIgPSByZWNvcmQuZXh0ZXJuYWxfb3JkZXJfbnVtYmVyO1xuICAgICAgICB0aGlzLmV4dGVybmFsX2ludm9pY2VfbnVtYmVyID0gcmVjb3JkLmV4dGVybmFsX2ludm9pY2VfbnVtYmVyO1xuXG4gICAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKCtyZWNvcmQudHhkYXRlX3RpbWVzdGFtcCAqIDEwMDApO1xuICAgICAgICB0aGlzLmV4cGVjdGVkX2RhdGUgPSBuZXcgRGF0ZSgrcmVjb3JkLmV4cGVjdGVkX2RhdGVfdGltZXN0YW1wICogMTAwMCk7XG5cbiAgICAgICAgdGhpcy5pbnZvaWNlX2Ftb3VudCA9ICtyZWNvcmQuaW52b2ljZV9hbW91bnQ7XG4gICAgICAgIHRoaXMudmF0ID0gK3JlY29yZC52YXQ7XG4gICAgICAgIHRoaXMuZGlzY291bnQgPSArcmVjb3JkLmRpc2NvdW50O1xuICAgICAgICB0aGlzLnRvdGFsID0gK3JlY29yZC50b3RhbDtcbiAgICAgICAgdGhpcy5zaGlwcGluZ190b3RhbCA9ICtyZWNvcmQuc2hpcHBpbmdfdG90YWw7XG4gICAgICAgIHRoaXMuaW5zdXJhbmNlX3RvdGFsID0gK3JlY29yZC5pbnN1cmFuY2VfdG90YWw7XG4gICAgICAgIHRoaXMuYWxsb3dhbmNlID0gK3JlY29yZC5hbGxvd2FuY2U7XG5cbiAgICAgICAgdGhpcy5wYXltZW50ID0gK3JlY29yZC5wYXltZW50O1xuICAgICAgICB0aGlzLnBheW1lbnRfcmVmZXJlbmNlID0gcmVjb3JkLnBheW1lbnRfcmVmZXJlbmNlO1xuICAgICAgICB0aGlzLnBheW1lbnRfZGVzY3JpcHRpb24gPSByZWNvcmQucGF5bWVudF9kZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5nYXRld2F5X3RyYW5zYWN0aW9uX2lkID0gcmVjb3JkLmdhdGV3YXlfdHJhbnNhY3Rpb25faWQ7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQWRkcmVzcyhcbiAgICAgICAgICAgIHJlY29yZC5yZWNpcGllbnQsXG4gICAgICAgICAgICByZWNvcmQuYWRkcmVzc190eXBlLFxuICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWNvcmQuc3RyZWV0X251bWJlcixcbiAgICAgICAgICAgIHJlY29yZC5zdHJlZXQsXG4gICAgICAgICAgICByZWNvcmQuc3VidXJiLFxuICAgICAgICAgICAgcmVjb3JkLmNpdHksXG4gICAgICAgICAgICByZWNvcmQucHJvdmluY2UsXG4gICAgICAgICAgICByZWNvcmQuY291bnRyeSxcbiAgICAgICAgICAgIHJlY29yZC5wb3N0YWxfY29kZSxcbiAgICAgICAgICAgIHJlY29yZC5wb2JveCxcbiAgICAgICAgICAgIHJlY29yZC5hZGRyZXNzX2FsaWFzLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZWNvcmQudXNlcikge1xuICAgICAgICAgICAgdGhpcy51c2VyID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uVXNlcihcbiAgICAgICAgICAgICAgICArcmVjb3JkLnVzZXIuaWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIuZW1haWwsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIuZmlyc3RuYW1lLFxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLnN1cm5hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIudGVsbnVtYmVyLFxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLmNlbGxudW1iZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5jbGllbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpZW50ID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50KFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2xpZW50LmlkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuYWNjb3VudCxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50LmNvbXBhbnlfbmFtZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50LmJyYW5jaF9jb2RlLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuZW1haWwsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudC5maXJzdG5hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudC5zdXJuYW1lLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuY29udGFjdF9udW1iZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5sb2NhdGlvbl9kZXRhaWxzKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb24oXG4gICAgICAgICAgICAgICAgcmVjb3JkLmxvY2F0aW9uX2RldGFpbHMsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzKSB7XG4gICAgICAgICAgICB0aGlzLnBheW1lbnRfbWV0aG9kID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZChcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5wYXltZXRob2RfbmFtZSxcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5pbnRlZ3JhdGlvbl90eXBlLFxuICAgICAgICAgICAgICAgIHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzLnNlcnZpY2VfcHJvdmlkZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscykge1xuICAgICAgICAgICAgdGhpcy5zaGlwcGluZ19tZXRob2QgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25TaGlwcGluZ01ldGhvZChcbiAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmlkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5jYXJyaWVyX25hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmRlbGl2ZXJ5X2NhdGVnb3J5LFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5kZWxpdmVyeV9pbnRlZ3JhdGlvbl90eXBlID8/ICdub25lJyxcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5wcmljaW5nLFxuICAgICAgICAgICAgICAgICEhcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmNsaWVudF90b19jb2xsZWN0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWNvcmQudGltZV9zbG90KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVfc2xvdCA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblRpbWVTbG90KHJlY29yZC50aW1lX3Nsb3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXJzZVRyYW5zYWN0aW9uSXRlbXMocmVjb3JkLnRyYW5zYWN0aW9uX2l0ZW1zKTtcbiAgICAgICAgdGhpcy5wYXJzZUFsdGVybmF0aXZlcyhyZWNvcmQuYWx0ZXJuYXRpdmVzKTtcblxuICAgICAgICBpZiAocmVjb3JkLmNhcnRfcGlja19pZCAmJiByZWNvcmQucGlja19zdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMucGljayA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblBpY2soXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhcnRfcGlja19pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQucGlja19iYWxhbmNlZCA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICByZWNvcmQucGlja19zdGF0dXMsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnBpY2tfc3RhcnQgIT09IHVuZGVmaW5lZCAmJiByZWNvcmQucGlja19zdGFydCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGljay5zdGFydF9kYXRlID0gbmV3IERhdGUoK3JlY29yZC5waWNrX3N0YXJ0ICogMTAwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucGlja19lbmQgIT09IHVuZGVmaW5lZCAmJiByZWNvcmQucGlja19lbmQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2suZW5kX2RhdGUgPSBuZXcgRGF0ZSgrcmVjb3JkLnBpY2tfZW5kICogMTAwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGVsaXZlcnkgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25EZWxpdmVyeShyZWNvcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbkl0ZW1zKFxuICAgICAgICByZWNvcmRfaXRlbXM6IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZFtdLFxuICAgICk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZF9pdGVtIG9mIHJlY29yZF9pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW0ocmVjb3JkX2l0ZW0pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VBbHRlcm5hdGl2ZXMocmVjb3Jkcz86IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZVJlY29yZFtdKSB7XG4gICAgICAgIGlmICghcmVjb3JkcyB8fCByZWNvcmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbHRlcm5hdGl2ZXMgPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgdGhpcy5hbHRlcm5hdGl2ZXMuc2V0KFxuICAgICAgICAgICAgICAgIHJlY29yZC5pdGVtX2lkLFxuICAgICAgICAgICAgICAgIG5ldyBFc29sdmVDYXJ0QWx0ZXJuYXRpdmUocmVjb3JkKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3RyYW5zYWN0aW9ucy9jbGFzc2VzL2Vzb2x2ZS10cmFuc2FjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gscUJBQXFCLEdBR3hCLE1BQU0sWUFBWSxDQUFDO0FBUXBCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxpQkFBaUI7SUFzRDFCLFlBQVksTUFBK0I7UUFaM0Msb0JBQW9CO1FBQ2IsVUFBSyxHQUE0QixFQUFFLENBQUM7UUFZdkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FB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QUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUF1QztRQUM3RCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFFOUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDakIsTUFBTSxDQUFDLE9BQU8sRUFDZCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUNwQyxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRXNvbHZlQ2FydEFsdGVybmF0aXZlLFxuICAgIEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZVJlY29yZCxcbiAgICBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVzTWFwLFxufSBmcm9tICcuLi8uLi9jYXJ0JztcblxuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbkl0ZW1SZWNvcmQsXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvbkFkZHJlc3MgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1hZGRyZXNzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50IH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tY2xpZW50Lm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25Mb2NhdGlvbiB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWxvY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLXBheW1lbnQtbWV0aG9kLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uU2hpcHBpbmdNZXRob2QgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1zaGlwcGluZy1tZXRob2QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25Vc2VyIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvblBpY2sgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1waWNrLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uVGltZVNsb3QgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi10aW1lLXNsb3QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25EZWxpdmVyeSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWRlbGl2ZXJ5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVRyYW5zYWN0aW9uIHtcbiAgICBwdWJsaWMgaWQ6IG51bWJlcjtcbiAgICBwdWJsaWMgdHlwZTogRXNvbHZlVHJhbnNhY3Rpb25UeXBlO1xuICAgIHB1YmxpYyBzdGF0dXM6IHN0cmluZztcbiAgICBwdWJsaWMgY29tbWVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBsb3lhbHR5X251bWJlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBleHRlcm5hbF9vcmRlcl9udW1iZXI6IHN0cmluZztcbiAgICBwdWJsaWMgZXh0ZXJuYWxfaW52b2ljZV9udW1iZXI6IHN0cmluZztcbiAgICBwdWJsaWMgcHVyY2hhc2Vfb3JkZXJfbnVtYmVyOiBzdHJpbmc7XG5cbiAgICAvLyBEYXRlc1xuICAgIHB1YmxpYyBkYXRlOiBEYXRlO1xuICAgIHB1YmxpYyBleHBlY3RlZF9kYXRlOiBEYXRlO1xuXG4gICAgcHVibGljIGNsaWVudD86IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50O1xuICAgIHB1YmxpYyB1c2VyPzogRXNvbHZlVHJhbnNhY3Rpb25Vc2VyO1xuXG4gICAgLy8gTG9jYXRpb25cbiAgICBwdWJsaWMgbG9jYXRpb24/OiBFc29sdmVUcmFuc2FjdGlvbkxvY2F0aW9uO1xuXG4gICAgLy8gVG90YWxzXG4gICAgcHVibGljIGludm9pY2VfYW1vdW50OiBudW1iZXI7XG4gICAgcHVibGljIHZhdDogbnVtYmVyO1xuICAgIHB1YmxpYyBkaXNjb3VudDogbnVtYmVyO1xuICAgIHB1YmxpYyB0b3RhbDogbnVtYmVyO1xuICAgIHB1YmxpYyBzaGlwcGluZ190b3RhbDogbnVtYmVyO1xuICAgIHB1YmxpYyBpbnN1cmFuY2VfdG90YWw6IG51bWJlcjtcbiAgICBwdWJsaWMgYWxsb3dhbmNlOiBudW1iZXI7XG5cbiAgICAvLyBQYXltZW50XG4gICAgcHVibGljIHBheW1lbnRfbWV0aG9kPzogRXNvbHZlVHJhbnNhY3Rpb25QYXltZW50TWV0aG9kO1xuICAgIHB1YmxpYyBwYXltZW50OiBudW1iZXI7XG4gICAgcHVibGljIGdhdGV3YXlfdHJhbnNhY3Rpb25faWQ6IHN0cmluZztcbiAgICBwdWJsaWMgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZztcbiAgICBwdWJsaWMgcGF5bWVudF9kZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLy8gU2hpcHBpbmdcbiAgICBwdWJsaWMgc2hpcHBpbmdfbWV0aG9kPzogRXNvbHZlVHJhbnNhY3Rpb25TaGlwcGluZ01ldGhvZDtcblxuICAgIC8vIEFkZHJlc3MgRGV0YWlsc1xuICAgIHB1YmxpYyBhZGRyZXNzOiBFc29sdmVUcmFuc2FjdGlvbkFkZHJlc3M7XG5cbiAgICAvLyBUcmFuc2FjdGlvbiBJdGVtc1xuICAgIHB1YmxpYyBpdGVtczogRXNvbHZlVHJhbnNhY3Rpb25JdGVtW10gPSBbXTtcbiAgICBwdWJsaWMgYWx0ZXJuYXRpdmVzPzogRXNvbHZlQ2FydEFsdGVybmF0aXZlc01hcDtcblxuICAgIHB1YmxpYyB0aW1lX3Nsb3Q/OiBFc29sdmVUcmFuc2FjdGlvblRpbWVTbG90O1xuXG4gICAgLy9QaWNraW5nXG4gICAgcHVibGljIHBpY2s/OiBFc29sdmVUcmFuc2FjdGlvblBpY2s7XG5cbiAgICAvL0RlbGl2ZXJ5XG4gICAgcHVibGljIGRlbGl2ZXJ5PzogRXNvbHZlVHJhbnNhY3Rpb25EZWxpdmVyeTtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmQpIHtcbiAgICAgICAgdGhpcy5pZCA9ICtyZWNvcmQuaWQ7XG4gICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50cmFuc2FjdGlvbl90eXBlO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IHJlY29yZC5zdGF0dXM7XG4gICAgICAgIHRoaXMuY29tbWVudCA9IHJlY29yZC5jb21tZW50ID8/ICcnO1xuICAgICAgICB0aGlzLmxveWFsdHlfbnVtYmVyID0gcmVjb3JkLmxveWFsdHludW1iZXI7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxfb3JkZXJfbnVtYmVyID0gcmVjb3JkLmV4dGVybmFsX29yZGVyX251bWJlcjtcbiAgICAgICAgdGhpcy5leHRlcm5hbF9pbnZvaWNlX251bWJlciA9IHJlY29yZC5leHRlcm5hbF9pbnZvaWNlX251bWJlcjtcbiAgICAgICAgdGhpcy5wdXJjaGFzZV9vcmRlcl9udW1iZXIgPSByZWNvcmQucHVyY2hhc2Vfb3JkZXJfbnVtYmVyO1xuXG4gICAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKCtyZWNvcmQudHhkYXRlX3RpbWVzdGFtcCAqIDEwMDApO1xuICAgICAgICB0aGlzLmV4cGVjdGVkX2RhdGUgPSBuZXcgRGF0ZSgrcmVjb3JkLmV4cGVjdGVkX2RhdGVfdGltZXN0YW1wICogMTAwMCk7XG5cbiAgICAgICAgdGhpcy5pbnZvaWNlX2Ftb3VudCA9ICtyZWNvcmQuaW52b2ljZV9hbW91bnQ7XG4gICAgICAgIHRoaXMudmF0ID0gK3JlY29yZC52YXQ7XG4gICAgICAgIHRoaXMuZGlzY291bnQgPSArcmVjb3JkLmRpc2NvdW50O1xuICAgICAgICB0aGlzLnRvdGFsID0gK3JlY29yZC50b3RhbDtcbiAgICAgICAgdGhpcy5zaGlwcGluZ190b3RhbCA9ICtyZWNvcmQuc2hpcHBpbmdfdG90YWw7XG4gICAgICAgIHRoaXMuaW5zdXJhbmNlX3RvdGFsID0gK3JlY29yZC5pbnN1cmFuY2VfdG90YWw7XG4gICAgICAgIHRoaXMuYWxsb3dhbmNlID0gK3JlY29yZC5hbGxvd2FuY2U7XG5cbiAgICAgICAgdGhpcy5wYXltZW50ID0gK3JlY29yZC5wYXltZW50O1xuICAgICAgICB0aGlzLnBheW1lbnRfcmVmZXJlbmNlID0gcmVjb3JkLnBheW1lbnRfcmVmZXJlbmNlO1xuICAgICAgICB0aGlzLnBheW1lbnRfZGVzY3JpcHRpb24gPSByZWNvcmQucGF5bWVudF9kZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5nYXRld2F5X3RyYW5zYWN0aW9uX2lkID0gcmVjb3JkLmdhdGV3YXlfdHJhbnNhY3Rpb25faWQ7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQWRkcmVzcyhcbiAgICAgICAgICAgIHJlY29yZC5yZWNpcGllbnQsXG4gICAgICAgICAgICByZWNvcmQuYWRkcmVzc190eXBlLFxuICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWNvcmQuc3RyZWV0X251bWJlcixcbiAgICAgICAgICAgIHJlY29yZC5zdHJlZXQsXG4gICAgICAgICAgICByZWNvcmQuc3VidXJiLFxuICAgICAgICAgICAgcmVjb3JkLmNpdHksXG4gICAgICAgICAgICByZWNvcmQucHJvdmluY2UsXG4gICAgICAgICAgICByZWNvcmQuY291bnRyeSxcbiAgICAgICAgICAgIHJlY29yZC5wb3N0YWxfY29kZSxcbiAgICAgICAgICAgIHJlY29yZC5wb2JveCxcbiAgICAgICAgICAgIHJlY29yZC5hZGRyZXNzX2FsaWFzLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZWNvcmQudXNlcikge1xuICAgICAgICAgICAgdGhpcy51c2VyID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uVXNlcihcbiAgICAgICAgICAgICAgICArcmVjb3JkLnVzZXIuaWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIuZW1haWwsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIuZmlyc3RuYW1lLFxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLnN1cm5hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnVzZXIudGVsbnVtYmVyLFxuICAgICAgICAgICAgICAgIHJlY29yZC51c2VyLmNlbGxudW1iZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5jbGllbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpZW50ID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50KFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2xpZW50LmlkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuYWNjb3VudCxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50LmNvbXBhbnlfbmFtZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2xpZW50LmJyYW5jaF9jb2RlLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuZW1haWwsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudC5maXJzdG5hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudC5zdXJuYW1lLFxuICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnQuY29udGFjdF9udW1iZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5sb2NhdGlvbl9kZXRhaWxzKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb24oXG4gICAgICAgICAgICAgICAgcmVjb3JkLmxvY2F0aW9uX2RldGFpbHMsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzKSB7XG4gICAgICAgICAgICB0aGlzLnBheW1lbnRfbWV0aG9kID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uUGF5bWVudE1ldGhvZChcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5wYXltZXRob2RfbmFtZSxcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICByZWNvcmQucGF5bWVudF9tZXRob2RfZGV0YWlscy5pbnRlZ3JhdGlvbl90eXBlLFxuICAgICAgICAgICAgICAgIHJlY29yZC5wYXltZW50X21ldGhvZF9kZXRhaWxzLnNlcnZpY2VfcHJvdmlkZXIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscykge1xuICAgICAgICAgICAgdGhpcy5zaGlwcGluZ19tZXRob2QgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25TaGlwcGluZ01ldGhvZChcbiAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmlkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5jYXJyaWVyX25hbWUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmRlbGl2ZXJ5X2NhdGVnb3J5LFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5kZWxpdmVyeV9pbnRlZ3JhdGlvbl90eXBlID8/XG4gICAgICAgICAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfbWV0aG9kX2RldGFpbHMubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHJlY29yZC5zaGlwcGluZ19tZXRob2RfZGV0YWlscy5wcmljaW5nLFxuICAgICAgICAgICAgICAgICEhcmVjb3JkLnNoaXBwaW5nX21ldGhvZF9kZXRhaWxzLmNsaWVudF90b19jb2xsZWN0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWNvcmQudGltZV9zbG90KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVfc2xvdCA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblRpbWVTbG90KHJlY29yZC50aW1lX3Nsb3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXJzZVRyYW5zYWN0aW9uSXRlbXMocmVjb3JkLnRyYW5zYWN0aW9uX2l0ZW1zKTtcbiAgICAgICAgdGhpcy5wYXJzZUFsdGVybmF0aXZlcyhyZWNvcmQuYWx0ZXJuYXRpdmVzKTtcblxuICAgICAgICBpZiAocmVjb3JkLmNhcnRfcGlja19pZCAmJiByZWNvcmQucGlja19zdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMucGljayA9IG5ldyBFc29sdmVUcmFuc2FjdGlvblBpY2soXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhcnRfcGlja19pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQucGlja19iYWxhbmNlZCA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICByZWNvcmQucGlja19zdGF0dXMsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAocmVjb3JkLnBpY2tfc3RhcnQgIT09IHVuZGVmaW5lZCAmJiByZWNvcmQucGlja19zdGFydCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGljay5zdGFydF9kYXRlID0gbmV3IERhdGUoK3JlY29yZC5waWNrX3N0YXJ0ICogMTAwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQucGlja19lbmQgIT09IHVuZGVmaW5lZCAmJiByZWNvcmQucGlja19lbmQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2suZW5kX2RhdGUgPSBuZXcgRGF0ZSgrcmVjb3JkLnBpY2tfZW5kICogMTAwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRlbGl2ZXJ5ID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uRGVsaXZlcnkocmVjb3JkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlVHJhbnNhY3Rpb25JdGVtcyhcbiAgICAgICAgcmVjb3JkX2l0ZW1zOiBFc29sdmVUcmFuc2FjdGlvbkl0ZW1SZWNvcmRbXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCByZWNvcmRfaXRlbSBvZiByZWNvcmRfaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChuZXcgRXNvbHZlVHJhbnNhY3Rpb25JdGVtKHJlY29yZF9pdGVtKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlQWx0ZXJuYXRpdmVzKHJlY29yZHM/OiBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmRbXSkge1xuICAgICAgICBpZiAoIXJlY29yZHMgfHwgcmVjb3Jkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWx0ZXJuYXRpdmVzID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgIHRoaXMuYWx0ZXJuYXRpdmVzLnNldChcbiAgICAgICAgICAgICAgICByZWNvcmQuaXRlbV9pZCxcbiAgICAgICAgICAgICAgICBuZXcgRXNvbHZlQ2FydEFsdGVybmF0aXZlKHJlY29yZCksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvdHJhbnNhY3Rpb25zL2ludGVyZmFjZXMvZXNvbHZlLXRyYW5zYWN0aW9uLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUFkZHJlc3NUeXBlIH0gZnJvbSAnLi4vLi4vYWNjb3VudCc7XG5pbXBvcnQgeyBFc29sdmVDYXJ0QWx0ZXJuYXRpdmVSZWNvcmQgfSBmcm9tICcuLi8uLi9jYXJ0JztcblxuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblR5cGUsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25Mb2NhdGlvblJlY29yZCxcbiAgICBFc29sdmVQaWNrU3RhdHVzVHlwZSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvbkNsaWVudFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWNsaWVudC1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvblBheW1lbnRNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1wYXltZW50LW1ldGhvZC1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uU2hpcHBpbmdNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS10cmFuc2FjdGlvbi1zaGlwcGluZy1tZXRob2QtcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvblRpbWVTbG90UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdGltZS1zbG90LXJlY29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXNvbHZlVHJhbnNhY3Rpb25Vc2VyUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtdHJhbnNhY3Rpb24tdXNlci1yZWNvcmQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVUcmFuc2FjdGlvblJlY29yZCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB0cmFuc2FjdGlvbl90eXBlOiBFc29sdmVUcmFuc2FjdGlvblR5cGU7XG4gICAgbG95YWx0eW51bWJlcjogc3RyaW5nO1xuICAgIHN0YXR1czogc3RyaW5nO1xuICAgIGNvbW1lbnQ6IHN0cmluZztcblxuICAgIHJlcHNfaWQ6IG51bWJlcjtcbiAgICBwdXJjaGFzZV9vcmRlcl9udW1iZXI6IHN0cmluZztcbiAgICBjbGllbnQ6IEVzb2x2ZVRyYW5zYWN0aW9uQ2xpZW50UmVjb3JkIHwgbnVsbDtcbiAgICB1c2VyOiBFc29sdmVUcmFuc2FjdGlvblVzZXJSZWNvcmQgfCBudWxsO1xuXG4gICAgLy8gTG9jYXRpb25cbiAgICBlcnBfaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGxvY2F0aW9uX2RldGFpbHM6IEVzb2x2ZVRyYW5zYWN0aW9uTG9jYXRpb25SZWNvcmQgfCBudWxsO1xuXG4gICAgLy8gRXh0ZXJuYWwgTnVtYmVyc1xuICAgIGV4dGVybmFsX29yZGVyX251bWJlcjogc3RyaW5nO1xuICAgIGV4dGVybmFsX2ludm9pY2VfbnVtYmVyOiBzdHJpbmc7XG5cbiAgICAvLyBEYXRlc1xuICAgIHR4ZGF0ZTogc3RyaW5nO1xuICAgIHR4ZGF0ZV90aW1lc3RhbXA6IG51bWJlcjtcbiAgICBleHBlY3RlZF9kYXRlOiBzdHJpbmc7XG4gICAgZXhwZWN0ZWRfZGF0ZV90aW1lc3RhbXA6IG51bWJlcjtcblxuICAgIC8vIFRvdGFsc1xuICAgIGludm9pY2VfYW1vdW50OiBudW1iZXI7XG4gICAgdmF0OiBudW1iZXI7XG4gICAgZGlzY291bnQ6IG51bWJlcjtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIHNoaXBwaW5nX3RvdGFsOiBudW1iZXI7XG4gICAgaW5zdXJhbmNlX3RvdGFsOiBudW1iZXI7XG4gICAgYWxsb3dhbmNlOiBudW1iZXI7XG5cbiAgICAvLyBQYXltZW50XG4gICAgcGF5bWVudDogbnVtYmVyO1xuICAgIHBheW1lbnRfbWV0aG9kOiBzdHJpbmc7XG4gICAgcGF5bWVudF9tZXRob2RfZGV0YWlsczogRXNvbHZlVHJhbnNhY3Rpb25QYXltZW50TWV0aG9kUmVjb3JkIHwgbnVsbDtcbiAgICBnYXRld2F5X3RyYW5zYWN0aW9uX2lkOiBzdHJpbmc7XG4gICAgcGF5bWVudF9yZWZlcmVuY2U6IHN0cmluZztcbiAgICBwYXltZW50X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvLyBTaGlwcGluZ1xuICAgIHNoaXBwaW5nX21ldGhvZDogc3RyaW5nO1xuICAgIHNoaXBwaW5nX21ldGhvZF9kZXRhaWxzOiBFc29sdmVUcmFuc2FjdGlvblNoaXBwaW5nTWV0aG9kUmVjb3JkIHwgbnVsbDtcblxuICAgIC8vIEFkZHJlc3MgRGV0YWlsc1xuICAgIGFkZHJlc3NfYWxpYXM6IHN0cmluZztcbiAgICByZWNpcGllbnQ6IHN0cmluZztcbiAgICBhZGRyZXNzX3R5cGU6IEVzb2x2ZUFkZHJlc3NUeXBlO1xuICAgIGFkZHJlc3NfZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwb2JveDogc3RyaW5nO1xuICAgIHN0cmVldF9udW1iZXI6IHN0cmluZztcbiAgICBzdHJlZXQ6IHN0cmluZztcbiAgICBzdWJ1cmI6IHN0cmluZztcbiAgICBjaXR5OiBzdHJpbmc7XG4gICAgcHJvdmluY2U6IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgcG9zdGFsX2NvZGU6IHN0cmluZztcblxuICAgIHRyYW5zYWN0aW9uX2l0ZW1zOiBFc29sdmVUcmFuc2FjdGlvbkl0ZW1SZWNvcmRbXTtcblxuICAgIGFsdGVybmF0aXZlcz86IEVzb2x2ZUNhcnRBbHRlcm5hdGl2ZVJlY29yZFtdO1xuXG4gICAgdGltZV9zbG90PzogRXNvbHZlVHJhbnNhY3Rpb25UaW1lU2xvdFJlY29yZCB8IG51bGw7XG5cbiAgICAvLyBQaWNraW5nXG4gICAgY2FydF9waWNrX2lkPzogbnVtYmVyO1xuICAgIHBpY2tfc3RhdHVzPzogRXNvbHZlUGlja1N0YXR1c1R5cGUgfCBudWxsO1xuICAgIHBpY2tfc3RhcnQ/OiBudW1iZXIgfCBudWxsO1xuICAgIHBpY2tfZW5kPzogbnVtYmVyIHwgbnVsbDtcbiAgICBwaWNrX2JhbGFuY2VkPzogYm9vbGVhbiB8IG51bGw7XG5cbiAgICAvLyBEZWxpdmVyeVxuICAgIGRlbGl2ZXJpZXNfaWQ/OiBudW1iZXI7XG4gICAgZGVsaXZlcmllc19zdGF0dXM/OiBzdHJpbmcgfCBudWxsO1xuICAgIGRlbGl2ZXJ5X3N0YXJ0ZWQ/OiBudW1iZXIgfCBudWxsO1xuICAgIGRlbGl2ZXJ5X2NvbXBsZXRlZD86IG51bWJlciB8IG51bGw7XG4gICAgZGVsaXZlcnlfY2FuY2VsbGVkPzogbnVtYmVyIHwgbnVsbDtcbiAgICByZXR1cm5fc3RhcnRlZD86IG51bWJlciB8IG51bGw7XG4gICAgcmV0dXJuX2NvbXBsZXRlZD86IG51bWJlciB8IG51bGw7XG4gICAgcmV0dXJuX2NhbmNlbGxlZD86IG51bWJlciB8IG51bGw7XG5cbiAgICAvLyBDb3VyaWVyXG4gICAgZHJpdmVyX25hbWU/OiBzdHJpbmc7XG4gICAgZHJpdmVyX3JhdGluZz86IG51bWJlcjtcbiAgICB2ZWhpY2xlX21ha2U/OiBzdHJpbmc7XG4gICAgdmVoaWNsZV9tb2RlbD86IHN0cmluZztcbiAgICB2ZWhpY2xlX2NvbG9yPzogc3RyaW5nO1xuICAgIHZlaGljbGVfdHlwZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -2615,6 +2615,7 @@ class EsolveUserAccount {
|
|
|
2615
2615
|
this.initials = record.initials ?? '';
|
|
2616
2616
|
this.gender = record.gender ?? '';
|
|
2617
2617
|
this.identification_number = record.idnumber ?? '';
|
|
2618
|
+
this.loyalty_number = record.loyaltynumber ?? '';
|
|
2618
2619
|
this.contact_details = new EsolveUserAccountContact(record);
|
|
2619
2620
|
this.business_details = new EsolveUserAccountBusiness(record);
|
|
2620
2621
|
if (record.client_details && record.client_details.account !== '') {
|
|
@@ -3601,10 +3602,13 @@ class EsolveCartService {
|
|
|
3601
3602
|
* @param payment_method_id The ID of the selected payment method
|
|
3602
3603
|
* @param location_id The ID of the selected branch from with shipping needs to be calculated
|
|
3603
3604
|
* @param comments Additional comments on the cart
|
|
3605
|
+
* @param time_slot The time slot to be used
|
|
3606
|
+
* @param apply_wallet Whether to apply wallet to the order
|
|
3607
|
+
* @param purchase_order_number Custom purchase order to added to transaction
|
|
3604
3608
|
*
|
|
3605
3609
|
* @returns An `Observable` with the transaction ID
|
|
3606
3610
|
*/
|
|
3607
|
-
checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '', time_slot, apply_wallet) {
|
|
3611
|
+
checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '', time_slot, apply_wallet, purchase_order_number) {
|
|
3608
3612
|
const body = {
|
|
3609
3613
|
type,
|
|
3610
3614
|
addresses_id,
|
|
@@ -3615,6 +3619,7 @@ class EsolveCartService {
|
|
|
3615
3619
|
tracking: 0,
|
|
3616
3620
|
time_slot,
|
|
3617
3621
|
apply_wallet,
|
|
3622
|
+
purchase_order_number,
|
|
3618
3623
|
};
|
|
3619
3624
|
return this.getTrackingCode().pipe(switchMap$1((tracking) => {
|
|
3620
3625
|
if (tracking <= 0) {
|
|
@@ -4267,6 +4272,7 @@ class EsolveTransaction {
|
|
|
4267
4272
|
this.loyalty_number = record.loyaltynumber;
|
|
4268
4273
|
this.external_order_number = record.external_order_number;
|
|
4269
4274
|
this.external_invoice_number = record.external_invoice_number;
|
|
4275
|
+
this.purchase_order_number = record.purchase_order_number;
|
|
4270
4276
|
this.date = new Date(+record.txdate_timestamp * 1000);
|
|
4271
4277
|
this.expected_date = new Date(+record.expected_date_timestamp * 1000);
|
|
4272
4278
|
this.invoice_amount = +record.invoice_amount;
|
|
@@ -4294,7 +4300,8 @@ class EsolveTransaction {
|
|
|
4294
4300
|
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);
|
|
4295
4301
|
}
|
|
4296
4302
|
if (record.shipping_method_details) {
|
|
4297
|
-
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.delivery_integration_type ??
|
|
4303
|
+
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.delivery_integration_type ??
|
|
4304
|
+
'none', record.shipping_method_details.location, record.shipping_method_details.description, record.shipping_method_details.pricing, !!record.shipping_method_details.client_to_collect);
|
|
4298
4305
|
}
|
|
4299
4306
|
if (record.time_slot) {
|
|
4300
4307
|
this.time_slot = new EsolveTransactionTimeSlot(record.time_slot);
|