@xsolla/payment-client-core 0.2.106 → 0.2.108
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/core/exceptions-handling/common-log-attributes/common-log-attributes.interface.mjs +1 -1
- package/esm2022/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.service.mjs +2 -2
- package/esm2022/lib/core/exceptions-handling/elk/elk-logger.service.mjs +1 -1
- package/esm2022/lib/core/exceptions-handling/logger/index.mjs +2 -1
- package/esm2022/lib/core/exceptions-handling/logger/log-handler.interface.mjs +1 -1
- package/esm2022/lib/core/exceptions-handling/logger/logger.service.mjs +5 -1
- package/esm2022/lib/core/exceptions-handling/messages/index.mjs +3 -0
- package/esm2022/lib/core/exceptions-handling/messages/message-tags.enum.mjs +6 -0
- package/esm2022/lib/core/exceptions-handling/messages/tagged-message.class.mjs +16 -0
- package/esm2022/lib/core/payment/actions/next-action.service.mjs +3 -2
- package/esm2022/lib/core/performance/performance.service.mjs +8 -5
- package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +16 -5
- package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.mjs +16 -6
- package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-instant-payment.service.mjs +17 -6
- package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +3 -4
- package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +19 -10
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/xsolla-payment-client-core.mjs +91 -32
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.interface.d.ts +2 -1
- package/lib/core/exceptions-handling/elk/elk-logger.service.d.ts +4 -1
- package/lib/core/exceptions-handling/logger/index.d.ts +1 -0
- package/lib/core/exceptions-handling/logger/log-handler.interface.d.ts +2 -0
- package/lib/core/exceptions-handling/logger/logger.service.d.ts +2 -0
- package/lib/core/exceptions-handling/messages/index.d.ts +2 -0
- package/lib/core/exceptions-handling/messages/message-tags.enum.d.ts +4 -0
- package/lib/core/exceptions-handling/messages/tagged-message.class.d.ts +9 -0
- package/lib/core/performance/performance.service.d.ts +1 -1
- package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.d.ts +3 -1
- package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-instant-payment.service.d.ts +3 -1
- package/lib/core/web-socket/nchan-web-socket.service.d.ts +3 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/xsolla-payment-client-core-0.2.108.tgz +0 -0
- package/xsolla-payment-client-core-0.2.106.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWxvZy1hdHRyaWJ1dGVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VySW5mbyB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvYnJvd3NlckluZm8uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckVtYWlsPzogc3RyaW5nO1xuICBwcm9qZWN0SWQ/OiBudW1iZXI7XG4gIG1lcmNoYW50SWQ/OiBudW1iZXI7XG4gIGxvY2F0aW9uVXJsPzogc3RyaW5nO1xuICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG4gIHJlZmVycmVyVXJsPzogc3RyaW5nO1xuICB2aWV3cG9ydFdpZHRoOiBudW1iZXI7XG4gIHZpZXdwb3J0SGVpZ2h0OiBudW1iZXI7XG4gIGNkbkFkZHJlc3M6IHN0cmluZztcbiAgY291bnRyeT86IHN0cmluZztcbiAgbG9jYWw/OiBzdHJpbmc7XG4gIGJyb3dzZXJJbmZvOiBCcm93c2VySW5mbztcbn1cbiJdfQ==
|
package/esm2022/lib/core/exceptions-handling/common-log-attributes/common-log-attributes.service.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export class CommonLogAttributesService {
|
|
|
29
29
|
: 'none',
|
|
30
30
|
country: user?.country?.value,
|
|
31
31
|
local: user?.country?.localized_name,
|
|
32
|
-
browserInfo:
|
|
32
|
+
browserInfo: this.userAgentService.browserInfo,
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
extractUrlHost(url) {
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
47
47
|
type: Inject,
|
|
48
48
|
args: [windowToken]
|
|
49
49
|
}] }, { type: i1.SettingsService }, { type: i2.UserAgentService }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDd0MsTUFBc0IsRUFDM0MsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDbEQsQ0FBQztJQUVHLGFBQWE7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7UUFFckQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDakMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUs7WUFDN0IsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVTtZQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVM7WUFDMUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDMUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXO1lBQy9ELGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWTtZQUNqRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU07Z0JBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxNQUFNO1lBQ1YsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSztZQUM3QixLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztTQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQWxDVSwwQkFBMEIsa0JBRTNCLFdBQVc7bUhBRlYsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IENvbW1vbkxvZ0F0dHJpYnV0ZXMgfSBmcm9tICcuL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnRTZXJ2aWNlOiBVc2VyQWdlbnRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldEF0dHJpYnV0ZXMoKTogQ29tbW9uTG9nQXR0cmlidXRlcyB7XG4gICAgY29uc3QgdXNlciA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVVzZXI7XG4gICAgY29uc3QgcHJvamVjdCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVByb2plY3Q7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVTZXR0aW5ncztcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICB1c2VySWQ6IHVzZXI/LnV1aWQsXG4gICAgICB1c2VyRW1haWw6IHVzZXI/LmVtYWlsPy52YWx1ZSxcbiAgICAgIHByb2plY3RJZDogcHJvamVjdD8uaWQsXG4gICAgICBtZXJjaGFudElkOiBwcm9qZWN0Py5tZXJjaGFudElkLFxuICAgICAgbG9jYXRpb25Vcmw6IHRoaXMud2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICB1c2VyQWdlbnQ6IHRoaXMudXNlckFnZW50U2VydmljZS51c2VyQWdlbnQsXG4gICAgICByZWZlcnJlclVybDogdGhpcy53aW5kb3cuZG9jdW1lbnQucmVmZXJyZXIsXG4gICAgICB2aWV3cG9ydFdpZHRoOiB0aGlzLndpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICB2aWV3cG9ydEhlaWdodDogdGhpcy53aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICAgIGNkbkFkZHJlc3M6IHNldHRpbmdzPy5jZG5VcmxcbiAgICAgICAgPyB0aGlzLmV4dHJhY3RVcmxIb3N0KHNldHRpbmdzLmNkblVybClcbiAgICAgICAgOiAnbm9uZScsXG4gICAgICBjb3VudHJ5OiB1c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgIGxvY2FsOiB1c2VyPy5jb3VudHJ5Py5sb2NhbGl6ZWRfbmFtZSxcbiAgICAgIGJyb3dzZXJJbmZvOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuYnJvd3NlckluZm8sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFVybEhvc3QodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB1cmwucmVwbGFjZSgvXmh0dHBzPzpcXC9cXC8oW14vPyNdKykuKiQvaSwgJyQxJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
111
111
|
providedIn: 'root',
|
|
112
112
|
}]
|
|
113
113
|
}], ctorParameters: () => [{ type: i1.CommonLogAttributesService }, { type: i2.HttpClient }, { type: i0.NgZone }] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxrLWxvZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVMzRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ21CLDBCQUFzRCxFQUN0RCxJQUFnQixFQUNoQixNQUFjO1FBRmQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQaEIsWUFBTyxHQUFXLElBQUksTUFBTSxDQUMzQyxzQ0FBc0MsQ0FDdkMsQ0FBQztRQU9BLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBWTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVD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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5pbXBvcnQgdHlwZSBTdGFja1RyYWNlIGZyb20gJ3N0YWNrdHJhY2UtanMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgaXNEZXZNb2RlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGFnZ2VkLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBBZGRpdGlvbmFsSW5mbyB9IGZyb20gJy4vYWRkaXRpb25hbC1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFcnJvcldpdGhvdXRNZXRhRmllbGRzIH0gZnJvbSAnLi9lcnJvci13aXRob3V0LW1ldGEtZmllbGRzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dNZXNzYWdlIH0gZnJvbSAnLi9sb2ctbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWxrTG9nZ2VyU2VydmljZSBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhY2tUcmFjZTogUHJvbWlzZTx0eXBlb2YgU3RhY2tUcmFjZT47XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVuZG9yczogUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAnbm9kZV9tb2R1bGVzXFxcXC8oQGFuZ3VsYXJ8em9uZSkuKi5qcyQnLFxuICApO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlOiBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy5zdGFja1RyYWNlID0gdGhpcy5sb2FkU3RhY2tUcmFjZSgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpLmNhdGNoKGNvbnNvbGUubG9nKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2cobWVzc2FnZTogc3RyaW5nLCB0YWdzOiBFcnJvclRhZ3NbXSwgZXh0cmE/OiBvYmplY3QpOiB2b2lkIHtcbiAgICBjb25zdCBsb2dUYWdzID0gW0Vycm9yVGFncy5IRUFETEVTU19VSSwgLi4udGFnc107XG5cbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIHRhZ3MpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvZ01lc3NhZ2U6IExvZ01lc3NhZ2UgPSB7XG4gICAgICBhZGRpdGlvbmFsSW5mbzogdGhpcy5nZXRBZGRpdGlvbmFsSW5mbygpLFxuICAgICAgZXh0cmEsXG4gICAgICBtZXNzYWdlLFxuICAgIH07XG5cbiAgICB0aGlzLnNlbmRMb2cobG9nTWVzc2FnZSwgbG9nVGFncyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHBhcnNlRXJyb3IoZXJyb3I6IEVycm9yKTogUHJvbWlzZTxUYWdnZWRFcnJvcj4ge1xuICAgIGNvbnN0IGVycm9yT2JqID1cbiAgICAgIGVycm9yIGluc3RhbmNlb2YgVGFnZ2VkRXJyb3JcbiAgICAgICAgPyBlcnJvclxuICAgICAgICA6IG5ldyBUYWdnZWRFcnJvcihlcnJvci5tZXNzYWdlIHx8IGVycm9yLnRvU3RyaW5nKCkpO1xuXG4gICAgZXJyb3JPYmoudHJhY2UgPSBhd2FpdCB0aGlzLmdldEVycm9yVHJhY2UoZXJyb3JPYmopO1xuICAgIGVycm9yT2JqLmFkZGl0aW9uYWxJbmZvID0gdGhpcy5nZXRBZGRpdGlvbmFsSW5mbygpO1xuXG4gICAgY29uc3QgeyB0YWdzIH0gPSBlcnJvck9iajtcblxuICAgIGNvbnN0IGNsZWFuRXJyb3IgPSB0aGlzLnJlbW92ZUVycm9yTWV0YUZpZWxkcyhlcnJvck9iaik7XG5cbiAgICB0aGlzLnNlbmRMb2coY2xlYW5FcnJvciwgdGFncyk7XG4gICAgcmV0dXJuIGVycm9yT2JqO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkU3RhY2tUcmFjZSgpOiBQcm9taXNlPHR5cGVvZiBTdGFja1RyYWNlPiB7XG4gICAgY29uc3QgbGlicmFyeSA9IGF3YWl0IGltcG9ydCgnc3RhY2t0cmFjZS1qcycpO1xuICAgIHJldHVybiBsaWJyYXJ5LmRlZmF1bHQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEVycm9yVHJhY2UoZXJyb3I6IEVycm9yKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzdGFja1RyYWNlID0gYXdhaXQgdGhpcy5zdGFja1RyYWNlO1xuXG4gICAgY29uc3Qgc3RhY2tGcmFtZXNBcnIgPSBhd2FpdCBzdGFja1RyYWNlLmZyb21FcnJvcihlcnJvcik7XG5cbiAgICBjb25zdCBmaWx0ZXJlZEZyYW1lc0FyciA9IHN0YWNrRnJhbWVzQXJyLmZpbHRlcihcbiAgICAgICh7IGZpbGVOYW1lIH0pID0+IGZpbGVOYW1lICYmICF0aGlzLnZlbmRvcnMudGVzdChmaWxlTmFtZSksXG4gICAgKTtcblxuICAgIHJldHVybiBmaWx0ZXJlZEZyYW1lc0FyclxuICAgICAgLm1hcCgoc3RhY2tGcmFtZSkgPT4gc3RhY2tGcmFtZS50b1N0cmluZygpKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRpdGlvbmFsSW5mbygpOiBBZGRpdGlvbmFsSW5mbyB7XG4gICAgY29uc3QgY29tbW9uTG9nQXR0cmlidXRlcyA9IHRoaXMuY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnRva2VuLFxuICAgICAgbG9jYXRpb246IHtcbiAgICAgICAgdXJsOiBjb21tb25Mb2dBdHRyaWJ1dGVzLmxvY2F0aW9uVXJsID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHByb2plY3Q6IHtcbiAgICAgICAgaWQ6IGNvbW1vbkxvZ0F0dHJpYnV0ZXMucHJvamVjdElkID8/IG51bGwsXG4gICAgICB9LFxuICAgICAgcmVmZXJyZXI6IHtcbiAgICAgICAgdXJsOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnJlZmVycmVyVXJsID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHZpZXdwb3J0OiB7XG4gICAgICAgIHdpZHRoOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnZpZXdwb3J0V2lkdGgsXG4gICAgICAgIGhlaWdodDogY29tbW9uTG9nQXR0cmlidXRlcy52aWV3cG9ydEhlaWdodCxcbiAgICAgIH0sXG4gICAgICBjZG5fYWRkcmVzczogY29tbW9uTG9nQXR0cmlidXRlcy5jZG5BZGRyZXNzLFxuICAgICAgY291bnRyeTogY29tbW9uTG9nQXR0cmlidXRlcy5jb3VudHJ5ID8/ICcnLFxuICAgICAgbG9jYWw6IGNvbW1vbkxvZ0F0dHJpYnV0ZXMubG9jYWwgPz8gJycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRXJyb3JNZXRhRmllbGRzKGVycm9yOiBUYWdnZWRFcnJvcik6IEVycm9yV2l0aG91dE1ldGFGaWVsZHMge1xuICAgIGNvbnN0IG1ldGFQcm9wTGlzdCA9IFtcbiAgICAgICdwYXJlbnRUYWcnLFxuICAgICAgJ2NoaWxkVGFnJyxcbiAgICAgICdSRVNUUklDVEVEX0tFWVNfUkVHRVhQJyxcbiAgICAgICd0YWdzJyxcbiAgICBdO1xuXG4gICAgT2JqZWN0LmtleXMoZXJyb3IpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKG1ldGFQcm9wTGlzdC5pbmNsdWRlcyhrZXkpKSBkZWxldGUgZXJyb3Jba2V5IGFzIGtleW9mIFRhZ2dlZEVycm9yXTtcbiAgICB9KTtcblxuICAgIC8vIGltcGxlbWVudGluZyBvd24gJ21lc3NhZ2UnIHByb3BlcnR5IGZyb20gcHJvdG90eXBlXG4gICAgcmV0dXJuIHsgLi4uZXJyb3IsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZExvZyhcbiAgICBtZXNzYWdlOiBFcnJvcldpdGhvdXRNZXRhRmllbGRzIHwgTG9nTWVzc2FnZSxcbiAgICB0YWdzOiBFcnJvclRhZ3NbXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vbG9ncy0wMS54c29sbGEuY29tL3RhZy8ke3RhZ3Muam9pbignLCcpfWA7XG5cbiAgICBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0KHVybCwgbWVzc2FnZSwge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyksXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgfSksXG4gICAgKS5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKCdFbGsgTG9nZ2VyOiByZXF1ZXN0IGVycm9yJywgZXJyKSk7XG4gIH1cbn1cbiJdfQ==
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxrLWxvZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVkzRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ21CLDBCQUFzRCxFQUN0RCxJQUFnQixFQUNoQixNQUFjO1FBRmQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQaEIsWUFBTyxHQUFXLElBQUksTUFBTSxDQUMzQyxzQ0FBc0MsQ0FDdkMsQ0FBQztRQU9BLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBWTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVD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QkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5pbXBvcnQgdHlwZSBTdGFja1RyYWNlIGZyb20gJ3N0YWNrdHJhY2UtanMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgaXNEZXZNb2RlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGFnZ2VkLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBNZXNzYWdlVGFncyB9IGZyb20gJy4uL21lc3NhZ2VzL21lc3NhZ2UtdGFncy5lbnVtJztcbmltcG9ydCB7IEFkZGl0aW9uYWxJbmZvIH0gZnJvbSAnLi9hZGRpdGlvbmFsLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVycm9yV2l0aG91dE1ldGFGaWVsZHMgfSBmcm9tICcuL2Vycm9yLXdpdGhvdXQtbWV0YS1maWVsZHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ01lc3NhZ2UgfSBmcm9tICcuL2xvZy1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuc2VydmljZSc7XG5cbnR5cGUgTG9nVGFncyA9IEVycm9yVGFncyB8IE1lc3NhZ2VUYWdzO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWxrTG9nZ2VyU2VydmljZSBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhY2tUcmFjZTogUHJvbWlzZTx0eXBlb2YgU3RhY2tUcmFjZT47XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVuZG9yczogUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAnbm9kZV9tb2R1bGVzXFxcXC8oQGFuZ3VsYXJ8em9uZSkuKi5qcyQnLFxuICApO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlOiBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy5zdGFja1RyYWNlID0gdGhpcy5sb2FkU3RhY2tUcmFjZSgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpLmNhdGNoKGNvbnNvbGUubG9nKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2cobWVzc2FnZTogc3RyaW5nLCB0YWdzOiBMb2dUYWdzW10sIGV4dHJhPzogb2JqZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbG9nVGFnczogTG9nVGFnc1tdID0gW0Vycm9yVGFncy5IRUFETEVTU19VSSwgLi4udGFnc107XG5cbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIHRhZ3MpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvZ01lc3NhZ2U6IExvZ01lc3NhZ2UgPSB7XG4gICAgICBhZGRpdGlvbmFsSW5mbzogdGhpcy5nZXRBZGRpdGlvbmFsSW5mbygpLFxuICAgICAgZXh0cmEsXG4gICAgICBtZXNzYWdlLFxuICAgIH07XG5cbiAgICB0aGlzLnNlbmRMb2cobG9nTWVzc2FnZSwgbG9nVGFncyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHBhcnNlRXJyb3IoZXJyb3I6IEVycm9yKTogUHJvbWlzZTxUYWdnZWRFcnJvcj4ge1xuICAgIGNvbnN0IGVycm9yT2JqID1cbiAgICAgIGVycm9yIGluc3RhbmNlb2YgVGFnZ2VkRXJyb3JcbiAgICAgICAgPyBlcnJvclxuICAgICAgICA6IG5ldyBUYWdnZWRFcnJvcihlcnJvci5tZXNzYWdlIHx8IGVycm9yLnRvU3RyaW5nKCkpO1xuXG4gICAgZXJyb3JPYmoudHJhY2UgPSBhd2FpdCB0aGlzLmdldEVycm9yVHJhY2UoZXJyb3JPYmopO1xuICAgIGVycm9yT2JqLmFkZGl0aW9uYWxJbmZvID0gdGhpcy5nZXRBZGRpdGlvbmFsSW5mbygpO1xuXG4gICAgY29uc3QgeyB0YWdzIH0gPSBlcnJvck9iajtcblxuICAgIGNvbnN0IGNsZWFuRXJyb3IgPSB0aGlzLnJlbW92ZUVycm9yTWV0YUZpZWxkcyhlcnJvck9iaik7XG5cbiAgICB0aGlzLnNlbmRMb2coY2xlYW5FcnJvciwgdGFncyk7XG4gICAgcmV0dXJuIGVycm9yT2JqO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkU3RhY2tUcmFjZSgpOiBQcm9taXNlPHR5cGVvZiBTdGFja1RyYWNlPiB7XG4gICAgY29uc3QgbGlicmFyeSA9IGF3YWl0IGltcG9ydCgnc3RhY2t0cmFjZS1qcycpO1xuICAgIHJldHVybiBsaWJyYXJ5LmRlZmF1bHQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEVycm9yVHJhY2UoZXJyb3I6IEVycm9yKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzdGFja1RyYWNlID0gYXdhaXQgdGhpcy5zdGFja1RyYWNlO1xuXG4gICAgY29uc3Qgc3RhY2tGcmFtZXNBcnIgPSBhd2FpdCBzdGFja1RyYWNlLmZyb21FcnJvcihlcnJvcik7XG5cbiAgICBjb25zdCBmaWx0ZXJlZEZyYW1lc0FyciA9IHN0YWNrRnJhbWVzQXJyLmZpbHRlcihcbiAgICAgICh7IGZpbGVOYW1lIH0pID0+IGZpbGVOYW1lICYmICF0aGlzLnZlbmRvcnMudGVzdChmaWxlTmFtZSksXG4gICAgKTtcblxuICAgIHJldHVybiBmaWx0ZXJlZEZyYW1lc0FyclxuICAgICAgLm1hcCgoc3RhY2tGcmFtZSkgPT4gc3RhY2tGcmFtZS50b1N0cmluZygpKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRpdGlvbmFsSW5mbygpOiBBZGRpdGlvbmFsSW5mbyB7XG4gICAgY29uc3QgY29tbW9uTG9nQXR0cmlidXRlcyA9IHRoaXMuY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnRva2VuLFxuICAgICAgbG9jYXRpb246IHtcbiAgICAgICAgdXJsOiBjb21tb25Mb2dBdHRyaWJ1dGVzLmxvY2F0aW9uVXJsID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHByb2plY3Q6IHtcbiAgICAgICAgaWQ6IGNvbW1vbkxvZ0F0dHJpYnV0ZXMucHJvamVjdElkID8/IG51bGwsXG4gICAgICB9LFxuICAgICAgcmVmZXJyZXI6IHtcbiAgICAgICAgdXJsOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnJlZmVycmVyVXJsID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHZpZXdwb3J0OiB7XG4gICAgICAgIHdpZHRoOiBjb21tb25Mb2dBdHRyaWJ1dGVzLnZpZXdwb3J0V2lkdGgsXG4gICAgICAgIGhlaWdodDogY29tbW9uTG9nQXR0cmlidXRlcy52aWV3cG9ydEhlaWdodCxcbiAgICAgIH0sXG4gICAgICBjZG5fYWRkcmVzczogY29tbW9uTG9nQXR0cmlidXRlcy5jZG5BZGRyZXNzLFxuICAgICAgY291bnRyeTogY29tbW9uTG9nQXR0cmlidXRlcy5jb3VudHJ5ID8/ICcnLFxuICAgICAgbG9jYWw6IGNvbW1vbkxvZ0F0dHJpYnV0ZXMubG9jYWwgPz8gJycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRXJyb3JNZXRhRmllbGRzKGVycm9yOiBUYWdnZWRFcnJvcik6IEVycm9yV2l0aG91dE1ldGFGaWVsZHMge1xuICAgIGNvbnN0IG1ldGFQcm9wTGlzdCA9IFtcbiAgICAgICdwYXJlbnRUYWcnLFxuICAgICAgJ2NoaWxkVGFnJyxcbiAgICAgICdSRVNUUklDVEVEX0tFWVNfUkVHRVhQJyxcbiAgICAgICd0YWdzJyxcbiAgICBdO1xuXG4gICAgT2JqZWN0LmtleXMoZXJyb3IpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKG1ldGFQcm9wTGlzdC5pbmNsdWRlcyhrZXkpKSBkZWxldGUgZXJyb3Jba2V5IGFzIGtleW9mIFRhZ2dlZEVycm9yXTtcbiAgICB9KTtcblxuICAgIC8vIGltcGxlbWVudGluZyBvd24gJ21lc3NhZ2UnIHByb3BlcnR5IGZyb20gcHJvdG90eXBlXG4gICAgcmV0dXJuIHsgLi4uZXJyb3IsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZExvZyhcbiAgICBtZXNzYWdlOiBFcnJvcldpdGhvdXRNZXRhRmllbGRzIHwgTG9nTWVzc2FnZSxcbiAgICB0YWdzOiBMb2dUYWdzW10sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL2xvZ3MtMDEueHNvbGxhLmNvbS90YWcvJHt0YWdzLmpvaW4oJywnKX1gO1xuXG4gICAgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAucG9zdCh1cmwsIG1lc3NhZ2UsIHtcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAndGV4dC9wbGFpbicpLFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIH0pLFxuICAgICkuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcignRWxrIExvZ2dlcjogcmVxdWVzdCBlcnJvcicsIGVycikpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './log-handler.interface';
|
|
2
|
-
|
|
2
|
+
export * from './logger.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWhhbmRsZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZy1oYW5kbGVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgVGFnZ2VkTWVzc2FnZSB9IGZyb20gJy4uL21lc3NhZ2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2dIYW5kbGVyIHtcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yIHwgVGFnZ2VkRXJyb3IpOiB2b2lkO1xuICBoYW5kbGVJbmZvPyhpbmZvOiBUYWdnZWRNZXNzYWdlKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -13,6 +13,10 @@ export class LoggerService {
|
|
|
13
13
|
this.elkLoggerService.handleError(error);
|
|
14
14
|
this.handlers.forEach((handler) => handler.handleError(error));
|
|
15
15
|
}
|
|
16
|
+
info(info) {
|
|
17
|
+
this.elkLoggerService.log(info.message, info.tags, info.extra);
|
|
18
|
+
this.handlers.forEach((handler) => handler.handleInfo?.(info));
|
|
19
|
+
}
|
|
16
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoggerService, deps: [{ token: i1.ElkLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
21
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoggerService, providedIn: 'root' }); }
|
|
18
22
|
}
|
|
@@ -22,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
22
26
|
providedIn: 'root',
|
|
23
27
|
}]
|
|
24
28
|
}], ctorParameters: () => [{ type: i1.ElkLoggerService }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUzNDLE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQW9DLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRnJELGFBQVEsR0FBaUIsRUFBRSxDQUFDO0lBRTRCLENBQUM7SUFFbkUsUUFBUSxDQUFDLE9BQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBMEI7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxJQUFJLENBQUMsSUFBbUI7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQWpCVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsa0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9lbGsvZWxrLWxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ2dlZEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCB7IFRhZ2dlZE1lc3NhZ2UgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBMb2dIYW5kbGVyIH0gZnJvbSAnLi9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IExvZ0hhbmRsZXJbXSA9IFtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsa0xvZ2dlclNlcnZpY2U6IEVsa0xvZ2dlclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIHJlZ2lzdGVyKGhhbmRsZXI6IExvZ0hhbmRsZXIpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgZXJyb3IoZXJyb3I6IEVycm9yIHwgVGFnZ2VkRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIHRoaXMuaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcikgPT4gaGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcikpO1xuICB9XG5cbiAgcHVibGljIGluZm8oaW5mbzogVGFnZ2VkTWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coaW5mby5tZXNzYWdlLCBpbmZvLnRhZ3MsIGluZm8uZXh0cmEpO1xuICAgIHRoaXMuaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcikgPT4gaGFuZGxlci5oYW5kbGVJbmZvPy4oaW5mbykpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './message-tags.enum';
|
|
2
|
+
export * from './tagged-message.class';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lc3NhZ2UtdGFncy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnZ2VkLW1lc3NhZ2UuY2xhc3MnO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var MessageTags;
|
|
2
|
+
(function (MessageTags) {
|
|
3
|
+
MessageTags["WS"] = "webSocket";
|
|
4
|
+
MessageTags["HEADLESS_UI"] = "headlessUi";
|
|
5
|
+
})(MessageTags || (MessageTags = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS10YWdzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9tZXNzYWdlcy9tZXNzYWdlLXRhZ3MuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLCtCQUFnQixDQUFBO0lBQ2hCLHlDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1lc3NhZ2VUYWdzIHtcbiAgV1MgPSAnd2ViU29ja2V0JyxcbiAgSEVBRExFU1NfVUkgPSAnaGVhZGxlc3NVaScsXG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MessageTags } from './message-tags.enum';
|
|
2
|
+
export class TaggedMessage {
|
|
3
|
+
constructor(message, tags, extra) {
|
|
4
|
+
this.name = 'TaggedMessage';
|
|
5
|
+
this.tags = [];
|
|
6
|
+
this.parentTag = MessageTags.HEADLESS_UI;
|
|
7
|
+
this.message = message;
|
|
8
|
+
this.tags = [this.parentTag];
|
|
9
|
+
if (tags) {
|
|
10
|
+
const newTags = tags.filter((t, i, arr) => !this.tags.includes(t) && arr.indexOf(t) === i);
|
|
11
|
+
this.tags = [...this.tags, ...newTags];
|
|
12
|
+
}
|
|
13
|
+
this.extra = extra || {};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2VkLW1lc3NhZ2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9tZXNzYWdlcy90YWdnZWQtbWVzc2FnZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFBbUIsT0FBZSxFQUFFLElBQW9CLEVBQUUsS0FBYztRQVBqRSxTQUFJLEdBQUcsZUFBZSxDQUFDO1FBRXZCLFNBQUksR0FBa0IsRUFBRSxDQUFDO1FBR2YsY0FBUyxHQUFnQixXQUFXLENBQUMsV0FBVyxDQUFDO1FBR2hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQ3pCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQzlELENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlVGFncyB9IGZyb20gJy4vbWVzc2FnZS10YWdzLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgVGFnZ2VkTWVzc2FnZSB7XG4gIHB1YmxpYyBuYW1lID0gJ1RhZ2dlZE1lc3NhZ2UnO1xuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xuICBwdWJsaWMgdGFnczogTWVzc2FnZVRhZ3NbXSA9IFtdO1xuICBwdWJsaWMgZXh0cmE6IG9iamVjdDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudFRhZzogTWVzc2FnZVRhZ3MgPSBNZXNzYWdlVGFncy5IRUFETEVTU19VSTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCB0YWdzPzogTWVzc2FnZVRhZ3NbXSwgZXh0cmE/OiBvYmplY3QpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuXG4gICAgdGhpcy50YWdzID0gW3RoaXMucGFyZW50VGFnXTtcblxuICAgIGlmICh0YWdzKSB7XG4gICAgICBjb25zdCBuZXdUYWdzID0gdGFncy5maWx0ZXIoXG4gICAgICAgICh0LCBpLCBhcnIpID0+ICF0aGlzLnRhZ3MuaW5jbHVkZXModCkgJiYgYXJyLmluZGV4T2YodCkgPT09IGksXG4gICAgICApO1xuICAgICAgdGhpcy50YWdzID0gWy4uLnRoaXMudGFncywgLi4ubmV3VGFnc107XG4gICAgfVxuXG4gICAgdGhpcy5leHRyYSA9IGV4dHJhIHx8IHt9O1xuICB9XG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { nextActionsToken } from './next-actions';
|
|
4
4
|
import { UserBehaviourEventName } from '../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
5
|
+
import { ErrorTags, TaggedError } from '../../exceptions-handling/errors';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "./show-errors/show-errors.action.class";
|
|
7
8
|
import * as i2 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
@@ -31,7 +32,7 @@ export class NextActionService {
|
|
|
31
32
|
this.logNextAction(nextAction);
|
|
32
33
|
return nextAction;
|
|
33
34
|
}
|
|
34
|
-
throw new
|
|
35
|
+
throw new TaggedError('Next action is undefined.', [ErrorTags.APP], submitResponse);
|
|
35
36
|
}
|
|
36
37
|
emitFlowUpdates(action) {
|
|
37
38
|
this.flowUpdatesSubject.next(action);
|
|
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
72
73
|
type: Inject,
|
|
73
74
|
args: [nextActionsToken]
|
|
74
75
|
}] }, { type: i0.Injector }, { type: i1.ShowErrorsActionCreator }, { type: i2.UserBehaviourAnalyticsService }] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUsxRSxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFFbUIsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFINUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQWI5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRS9DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQWFyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sYUFBYSxDQUFDLGNBQThCO1FBQ2pELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sSUFBSSxXQUFXLENBQ25CLDJCQUEyQixFQUMzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDZixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBa0I7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWdCLFVBQVUsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUMzQixjQUE4QjtRQUU5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDMUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQjtRQUMxQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQ2pDLFFBQVEsRUFDUixFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSixDQUFDOytHQXBGVSxpQkFBaUIsa0JBVWxCLGdCQUFnQjttSEFWZixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBQcm92aWRlclRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uL3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgbmV4dEFjdGlvbnNUb2tlbiwgTmV4dEFjdGlvblRva2VucyB9IGZyb20gJy4vbmV4dC1hY3Rpb25zJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuLi94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IEVycm9yVGFncywgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZXh0QWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd1VwZGF0ZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TmV4dEFjdGlvbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25zTGlzdDogQWN0aW9uQ3JlYXRvcltdID0gW107XG5cbiAgcHVibGljIGdldCBmbG93VXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxOZXh0QWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd1VwZGF0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QobmV4dEFjdGlvbnNUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25Ub2tlbnM6IE5leHRBY3Rpb25Ub2tlbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuZmlsbE5leHRBY3Rpb25zTGlzdCgpO1xuICB9XG5cbiAgcHVibGljIGdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlKTogTmV4dEFjdGlvbiB8IG51bGwge1xuICAgIGlmIChzdWJtaXRSZXNwb25zZS5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0Rmxvd0Vycm9ycyhzdWJtaXRSZXNwb25zZS5lcnJvcnMpO1xuICAgIH1cblxuICAgIGlmICghc3VibWl0UmVzcG9uc2UuY3VycmVudENvbW1hbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRBY3Rpb25DcmVhdG9yID0gdGhpcy5maW5kTmV4dEFjdGlvbkNyZWF0b3Ioc3VibWl0UmVzcG9uc2UpO1xuXG4gICAgaWYgKG5leHRBY3Rpb25DcmVhdG9yKSB7XG4gICAgICBjb25zdCBuZXh0QWN0aW9uID0gbmV4dEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB0aGlzLmxvZ05leHRBY3Rpb24obmV4dEFjdGlvbik7XG4gICAgICByZXR1cm4gbmV4dEFjdGlvbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAnTmV4dCBhY3Rpb24gaXMgdW5kZWZpbmVkLicsXG4gICAgICBbRXJyb3JUYWdzLkFQUF0sXG4gICAgICBzdWJtaXRSZXNwb25zZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93VXBkYXRlcyhhY3Rpb246IE5leHRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dVcGRhdGVzU3ViamVjdC5uZXh0KGFjdGlvbik7XG4gICAgdGhpcy5sb2dOZXh0QWN0aW9uKGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZW1pdEZsb3dFcnJvcnMoZXJyb3JzOiBYcHNFcnJvcltdKTogdm9pZCB7XG4gICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLmVtaXRGbG93VXBkYXRlcyh0aGlzLnNob3dFcnJvcnNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoZXJyb3JzKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxOZXh0QWN0aW9uc0xpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QWN0aW9uVG9rZW5zLmZvckVhY2goXG4gICAgICAobmV4dEFjdGlvbjogUHJvdmlkZXJUb2tlbjxBY3Rpb25DcmVhdG9yPikgPT4ge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pbmplY3Rvci5nZXQ8QWN0aW9uQ3JlYXRvcj4obmV4dEFjdGlvbik7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvbnNMaXN0LnB1c2goaXRlbSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROZXh0QWN0aW9uQ3JlYXRvcihcbiAgICBzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UsXG4gICk6IEFjdGlvbkNyZWF0b3IgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFjdGlvblR5cGUgPSB0aGlzLm5leHRBY3Rpb25zTGlzdC5maW5kKFxuICAgICAgKG5leHRBY3Rpb246IEFjdGlvbkNyZWF0b3IpID0+IHtcbiAgICAgICAgcmV0dXJuIG5leHRBY3Rpb24uaXNTdWl0YWJsZShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAoIWFjdGlvblR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9uVHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nTmV4dEFjdGlvbihuZXh0QWN0aW9uOiBOZXh0QWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5uZXh0QWN0aW9uLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiBuZXh0QWN0aW9uLnR5cGUgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -2,11 +2,14 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { userBehaviourEventTypes } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
3
3
|
import { eventCategories } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories';
|
|
4
4
|
import { windowToken } from '../window.token';
|
|
5
|
-
import { defaultApiUrl } from '../http/secure-api/api-url.const';
|
|
5
|
+
import { defaultApiUrl, sandboxApiUrl } from '../http/secure-api/api-url.const';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../user-behaviour-analytics/user-behaviour-analytics.service";
|
|
8
8
|
import * as i2 from "./xhr-action.service";
|
|
9
9
|
export class PerformanceService {
|
|
10
|
+
get resourcesPerformance() {
|
|
11
|
+
return this.window.performance?.getEntriesByType('resource');
|
|
12
|
+
}
|
|
10
13
|
get network() {
|
|
11
14
|
return this.navigationPerformance?.responseEnd;
|
|
12
15
|
}
|
|
@@ -23,7 +26,6 @@ export class PerformanceService {
|
|
|
23
26
|
this.window = window;
|
|
24
27
|
this.zone = zone;
|
|
25
28
|
this.navigationPerformance = this.window.performance?.getEntriesByType('navigation')?.[0];
|
|
26
|
-
this.resourcesPerformance = this.window.performance?.getEntriesByType('resource');
|
|
27
29
|
}
|
|
28
30
|
init() {
|
|
29
31
|
if (!this.window?.performance) {
|
|
@@ -38,12 +40,13 @@ export class PerformanceService {
|
|
|
38
40
|
if (!this.navigationPerformance || !this.resourcesPerformance) {
|
|
39
41
|
return null;
|
|
40
42
|
}
|
|
41
|
-
const utilsTiming = this.resourcesPerformance.find((performance) => performance.name.includes(`${defaultApiUrl}utils`)
|
|
43
|
+
const utilsTiming = this.resourcesPerformance.find((performance) => performance.name.includes(`${defaultApiUrl}utils`) ||
|
|
44
|
+
performance.name.includes(`${sandboxApiUrl}utils`));
|
|
42
45
|
if (!utilsTiming) {
|
|
43
46
|
return null;
|
|
44
47
|
}
|
|
45
48
|
return {
|
|
46
|
-
duration: utilsTiming.
|
|
49
|
+
duration: utilsTiming.responseEnd - utilsTiming.fetchStart,
|
|
47
50
|
timeReserve: this.navigationPerformance.domComplete - utilsTiming.responseEnd,
|
|
48
51
|
utilsDuration: utilsTiming.duration,
|
|
49
52
|
};
|
|
@@ -108,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
108
111
|
type: Inject,
|
|
109
112
|
args: [windowToken]
|
|
110
113
|
}] }, { type: i0.NgZone }] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUduSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBTWpFLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLENBQUM7UUFFNUQsSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDbUIsNkJBQTRELEVBQzVELGdCQUFrQyxFQUVsQyxNQUFzQixFQUN0QixJQUFZO1FBSlosa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRWxDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQVE7UUE3QmQsMEJBQXFCLEdBQ3BDLElBQUksQ0FBQyxNQUFN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QUMxQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xELFVBQVUsRUFBRSxXQUFXLENBQUMsV0FBVztnQkFDbkMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUFhO2FBQ3RDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDdkMsS0FBSyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUMxQyxjQUFjLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFDMUIsdUJBQXVCLENBQUMsTUFBTSxFQUM5QjtnQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLGFBQWEsRUFBRSxlQUFlLENBQUMsY0FBYztnQkFDN0MsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2xDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvSVUsa0JBQWtCLCtGQTRCbkIsV0FBVzttSEE1QlYsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTZCSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWGhyQWN0aW9uU2VydmljZSB9IGZyb20gJy4veGhyLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFhockFjdGlvbiB9IGZyb20gJy4veGhyLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgZXZlbnRDYXRlZ29yaWVzIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LWNhdGVnb3JpZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IGRlZmF1bHRBcGlVcmwgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvYXBpLXVybC5jb25zdCc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBuYXZpZ2F0aW9uUGVyZm9ybWFuY2UgPVxuICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlPy5nZXRFbnRyaWVzQnlUeXBlKCduYXZpZ2F0aW9uJyk/LlswXSBhc1xuICAgICAgfCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmdcbiAgICAgIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VzUGVyZm9ybWFuY2UgPVxuICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlPy5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpIGFzXG4gICAgICB8IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXVxuICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQgbmV0d29yaygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8ucmVzcG9uc2VFbmQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBydW5BcHAoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3QgZG9tQ29tcGxldGUgPSB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8uZG9tQ29tcGxldGU7XG5cbiAgICBpZiAoZG9tQ29tcGxldGUgPT0gbnVsbCB8fCB0aGlzLm5ldHdvcmsgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUNvbXBsZXRlIC0gdGhpcy5uZXR3b3JrO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeGhyQWN0aW9uU2VydmljZTogWGhyQWN0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBpbml0KCk6IHVuZGVmaW5lZCB8IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3c/LnBlcmZvcm1hbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMubWVhc3VyZUluaXRpYWxWYWx1ZXMoKTtcbiAgICAgIHRoaXMubGlzdGVuWGhyQWN0aW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbml0UmVxdWVzdCgpOiB7XG4gICAgZHVyYXRpb246IG51bWJlcjtcbiAgICB0aW1lUmVzZXJ2ZTogbnVtYmVyO1xuICAgIHV0aWxzRHVyYXRpb246IG51bWJlcjtcbiAgfSB8IG51bGwge1xuICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uUGVyZm9ybWFuY2UgfHwgIXRoaXMucmVzb3VyY2VzUGVyZm9ybWFuY2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHV0aWxzVGltaW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMucmVzb3VyY2VzUGVyZm9ybWFuY2UuZmluZCgocGVyZm9ybWFuY2U6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpID0+XG4gICAgICAgIHBlcmZvcm1hbmNlLm5hbWUuaW5jbHVkZXMoYCR7ZGVmYXVsdEFwaVVybH11dGlsc2ApLFxuICAgICAgKTtcblxuICAgIGlmICghdXRpbHNUaW1pbmcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkdXJhdGlvbjogdXRpbHNUaW1pbmcuZmV0Y2hTdGFydCAtIHV0aWxzVGltaW5nLnJlc3BvbnNlRW5kLFxuICAgICAgdGltZVJlc2VydmU6XG4gICAgICAgIHRoaXMubmF2aWdhdGlvblBlcmZvcm1hbmNlLmRvbUNvbXBsZXRlIC0gdXRpbHNUaW1pbmcucmVzcG9uc2VFbmQsXG4gICAgICB1dGlsc0R1cmF0aW9uOiB1dGlsc1RpbWluZy5kdXJhdGlvbixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kTWVhc3VyZW1lbnQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIGFkZGl0aW9uYWw/OiB7XG4gICAgICBleHRyYVZhbHVlPzogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgIGRpbWVuc2lvbjE/OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgZGltZW5zaW9uMj86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgfSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudE9wdGlvbnM6IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgPSB7XG4gICAgICB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgaWYgKGFkZGl0aW9uYWwpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWwpLmZvckVhY2goKG9wdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25WYWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgYWRkaXRpb25hbFtvcHRpb25OYW1lIGFzIGtleW9mIHR5cGVvZiBhZGRpdGlvbmFsXTtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICBldmVudE9wdGlvbnNbb3B0aW9uTmFtZSBhcyBrZXlvZiB0eXBlb2YgYWRkaXRpb25hbF0gPVxuICAgICAgICAgICAgb3B0aW9uVmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdm9pZCB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBuYW1lLFxuICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgZXZlbnRPcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1lYXN1cmVSdW5BcHAoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VuZFJ1bkFwcCA9ICgpOiB2b2lkID0+XG4gICAgICB2b2lkIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZW5kTWVhc3VyZW1lbnQoJ3J1bi1hcHAnLCB0aGlzLnJ1bkFwcCkpO1xuXG4gICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgIHNlbmRSdW5BcHAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHNlbmRSdW5BcHAoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZWFzdXJlSW5pdGlhbFZhbHVlcygpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0UmVxdWVzdCA9IHRoaXMuZ2V0SW5pdFJlcXVlc3QoKTtcbiAgICBpZiAoaW5pdFJlcXVlc3QpIHtcbiAgICAgIHRoaXMuc2VuZE1lYXN1cmVtZW50KCd1dGlscycsIGluaXRSZXF1ZXN0LmR1cmF0aW9uLCB7XG4gICAgICAgIGV4dHJhVmFsdWU6IGluaXRSZXF1ZXN0LnRpbWVSZXNlcnZlLFxuICAgICAgICBkaW1lbnNpb24xOiBpbml0UmVxdWVzdC51dGlsc0R1cmF0aW9uLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VuZE1lYXN1cmVtZW50KCduZXR3b3JrJywgdGhpcy5uZXR3b3JrKTtcbiAgICB0aGlzLm1lYXN1cmVSdW5BcHAoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuWGhyQWN0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCB4aHJBY3Rpb246IE9ic2VydmFibGU8WGhyQWN0aW9uPiA9XG4gICAgICB0aGlzLnhockFjdGlvblNlcnZpY2UuZ2V0WGhyQWN0aW9uKCk7XG5cbiAgICB4aHJBY3Rpb24uc3Vic2NyaWJlKChldmVudDogWGhyQWN0aW9uKSA9PiB7XG4gICAgICB2b2lkIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgYHhoci1hY3Rpb246JHtldmVudC5uYW1lfWAsXG4gICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiBldmVudC5kdXJhdGlvbi50b1N0cmluZygpLFxuICAgICAgICAgIGV2ZW50Q2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcmllcy53aXRob3V0SW52b2ljZSxcbiAgICAgICAgICBleHRyYVZhbHVlOiBKU09OLnN0cmluZ2lmeShldmVudCksXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUduSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQU1oRixNQUFNLE9BQU8sa0JBQWtCO0lBTTdCLElBQVksb0JBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxDQUU5QyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFZLE1BQU07UUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUNtQiw2QkFBNEQsRUFDNUQsZ0JBQWtDLEVBRWxDLE1BQXNCLEVBQ3RCLElBQVk7UUFKWixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELHFCQUFn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OlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFhockFjdGlvblNlcnZpY2UgfSBmcm9tICcuL3hoci1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBYaHJBY3Rpb24gfSBmcm9tICcuL3hoci1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IGV2ZW50Q2F0ZWdvcmllcyB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC1jYXRlZ29yaWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBkZWZhdWx0QXBpVXJsLCBzYW5kYm94QXBpVXJsIH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL2FwaS11cmwuY29uc3QnO1xuaW1wb3J0IHsgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcmZvcm1hbmNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvblBlcmZvcm1hbmNlID1cbiAgICB0aGlzLndpbmRvdy5wZXJmb3JtYW5jZT8uZ2V0RW50cmllc0J5VHlwZSgnbmF2aWdhdGlvbicpPy5bMF0gYXNcbiAgICAgIHwgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nXG4gICAgICB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGdldCByZXNvdXJjZXNQZXJmb3JtYW5jZSgpOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLndpbmRvdy5wZXJmb3JtYW5jZT8uZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKSBhc1xuICAgICAgfCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nW11cbiAgICAgIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbmV0d29yaygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8ucmVzcG9uc2VFbmQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBydW5BcHAoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3QgZG9tQ29tcGxldGUgPSB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8uZG9tQ29tcGxldGU7XG5cbiAgICBpZiAoZG9tQ29tcGxldGUgPT0gbnVsbCB8fCB0aGlzLm5ldHdvcmsgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUNvbXBsZXRlIC0gdGhpcy5uZXR3b3JrO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeGhyQWN0aW9uU2VydmljZTogWGhyQWN0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBpbml0KCk6IHVuZGVmaW5lZCB8IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3c/LnBlcmZvcm1hbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMubWVhc3VyZUluaXRpYWxWYWx1ZXMoKTtcbiAgICAgIHRoaXMubGlzdGVuWGhyQWN0aW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbml0UmVxdWVzdCgpOiB7XG4gICAgZHVyYXRpb246IG51bWJlcjtcbiAgICB0aW1lUmVzZXJ2ZTogbnVtYmVyO1xuICAgIHV0aWxzRHVyYXRpb246IG51bWJlcjtcbiAgfSB8IG51bGwge1xuICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uUGVyZm9ybWFuY2UgfHwgIXRoaXMucmVzb3VyY2VzUGVyZm9ybWFuY2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHV0aWxzVGltaW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMucmVzb3VyY2VzUGVyZm9ybWFuY2UuZmluZChcbiAgICAgICAgKHBlcmZvcm1hbmNlOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSA9PlxuICAgICAgICAgIHBlcmZvcm1hbmNlLm5hbWUuaW5jbHVkZXMoYCR7ZGVmYXVsdEFwaVVybH11dGlsc2ApIHx8XG4gICAgICAgICAgcGVyZm9ybWFuY2UubmFtZS5pbmNsdWRlcyhgJHtzYW5kYm94QXBpVXJsfXV0aWxzYCksXG4gICAgICApO1xuXG4gICAgaWYgKCF1dGlsc1RpbWluZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGR1cmF0aW9uOiB1dGlsc1RpbWluZy5yZXNwb25zZUVuZCAtIHV0aWxzVGltaW5nLmZldGNoU3RhcnQsXG4gICAgICB0aW1lUmVzZXJ2ZTpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uUGVyZm9ybWFuY2UuZG9tQ29tcGxldGUgLSB1dGlsc1RpbWluZy5yZXNwb25zZUVuZCxcbiAgICAgIHV0aWxzRHVyYXRpb246IHV0aWxzVGltaW5nLmR1cmF0aW9uLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlbmRNZWFzdXJlbWVudChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgYWRkaXRpb25hbD86IHtcbiAgICAgIGV4dHJhVmFsdWU/OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgZGltZW5zaW9uMT86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICBkaW1lbnNpb24yPzogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50T3B0aW9uczogU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSA9IHtcbiAgICAgIHZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgIH07XG5cbiAgICBpZiAoYWRkaXRpb25hbCkge1xuICAgICAgT2JqZWN0LmtleXMoYWRkaXRpb25hbCkuZm9yRWFjaCgob3B0aW9uTmFtZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvblZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID1cbiAgICAgICAgICBhZGRpdGlvbmFsW29wdGlvbk5hbWUgYXMga2V5b2YgdHlwZW9mIGFkZGl0aW9uYWxdO1xuICAgICAgICBpZiAob3B0aW9uVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIGV2ZW50T3B0aW9uc1tvcHRpb25OYW1lIGFzIGtleW9mIHR5cGVvZiBhZGRpdGlvbmFsXSA9XG4gICAgICAgICAgICBvcHRpb25WYWx1ZS50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2b2lkIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgIG5hbWUsXG4gICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICBldmVudE9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWVhc3VyZVJ1bkFwcCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZW5kUnVuQXBwID0gKCk6IHZvaWQgPT5cbiAgICAgIHZvaWQgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbmRNZWFzdXJlbWVudCgncnVuLWFwcCcsIHRoaXMucnVuQXBwKSk7XG5cbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xuICAgICAgc2VuZFJ1bkFwcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gc2VuZFJ1bkFwcCgpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1lYXN1cmVJbml0aWFsVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGluaXRSZXF1ZXN0ID0gdGhpcy5nZXRJbml0UmVxdWVzdCgpO1xuICAgIGlmIChpbml0UmVxdWVzdCkge1xuICAgICAgdGhpcy5zZW5kTWVhc3VyZW1lbnQoJ3V0aWxzJywgaW5pdFJlcXVlc3QuZHVyYXRpb24sIHtcbiAgICAgICAgZXh0cmFWYWx1ZTogaW5pdFJlcXVlc3QudGltZVJlc2VydmUsXG4gICAgICAgIGRpbWVuc2lvbjE6IGluaXRSZXF1ZXN0LnV0aWxzRHVyYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZW5kTWVhc3VyZW1lbnQoJ25ldHdvcmsnLCB0aGlzLm5ldHdvcmspO1xuICAgIHRoaXMubWVhc3VyZVJ1bkFwcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5YaHJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IHhockFjdGlvbjogT2JzZXJ2YWJsZTxYaHJBY3Rpb24+ID1cbiAgICAgIHRoaXMueGhyQWN0aW9uU2VydmljZS5nZXRYaHJBY3Rpb24oKTtcblxuICAgIHhockFjdGlvbi5zdWJzY3JpYmUoKGV2ZW50OiBYaHJBY3Rpb24pID0+IHtcbiAgICAgIHZvaWQgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICBgeGhyLWFjdGlvbjoke2V2ZW50Lm5hbWV9YCxcbiAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICB7XG4gICAgICAgICAgdmFsdWU6IGV2ZW50LmR1cmF0aW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgZXZlbnRDYXRlZ29yeTogZXZlbnRDYXRlZ29yaWVzLndpdGhvdXRJbnZvaWNlLFxuICAgICAgICAgIGV4dHJhVmFsdWU6IEpTT04uc3RyaW5naWZ5KGV2ZW50KSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -89,7 +89,8 @@ export class GooglePayService {
|
|
|
89
89
|
this.readyToPay.next(false);
|
|
90
90
|
const result = response.result?.toString() ?? '';
|
|
91
91
|
const isHavePaymentClient = Boolean(this.googlePaymentClient).toString();
|
|
92
|
-
|
|
92
|
+
const message = `Google Pay: possibly no response.result or googlePaymentClient is missing, result - ${result}, isHavePaymentClient - ${isHavePaymentClient}`;
|
|
93
|
+
this.loggerService.error(new TaggedError(message, [ErrorTags.GOOGLEPAY]));
|
|
93
94
|
})
|
|
94
95
|
.catch((error) => {
|
|
95
96
|
this.readyToPay.next(false);
|
|
@@ -97,7 +98,7 @@ export class GooglePayService {
|
|
|
97
98
|
if (error instanceof Error) {
|
|
98
99
|
message = error.message;
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
+
this.loggerService.error(new TaggedError(`Google Pay: device is not ready to pay, ${message}`, [ErrorTags.GOOGLEPAY]));
|
|
101
102
|
});
|
|
102
103
|
});
|
|
103
104
|
}
|
|
@@ -135,15 +136,21 @@ export class GooglePayService {
|
|
|
135
136
|
this.paymentService.handleFailedPayment?.(error);
|
|
136
137
|
this.paymentWindowIsClose.next();
|
|
137
138
|
this.error.next(error);
|
|
138
|
-
const
|
|
139
|
-
const
|
|
139
|
+
const errorMessage = error?.message ?? '';
|
|
140
|
+
const errorStatusCode = error?.statusCode ?? '';
|
|
141
|
+
const isClosedByUser = this.isClosedByUser(errorMessage);
|
|
142
|
+
const isCanceledStatus = this.isCanceledStatus(errorStatusCode);
|
|
140
143
|
if (isClosedByUser || isCanceledStatus)
|
|
141
144
|
return null;
|
|
145
|
+
this.loggerService.error(new TaggedError(`Google Pay: proceedCheckout failed, ${errorMessage}`, [
|
|
146
|
+
ErrorTags.GOOGLEPAY,
|
|
147
|
+
]));
|
|
142
148
|
return checkStatusAction;
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
createButton(onClickHandler, configuration) {
|
|
146
152
|
if (!this.googlePaymentClient) {
|
|
153
|
+
this.loggerService.error(new TaggedError('Google payment client is not initialized to create button', [ErrorTags.GOOGLEPAY]));
|
|
147
154
|
return null;
|
|
148
155
|
}
|
|
149
156
|
const allowedPaymentMethods = this.paymentService?.getAllowedPaymentMethods() || [];
|
|
@@ -158,6 +165,9 @@ export class GooglePayService {
|
|
|
158
165
|
}
|
|
159
166
|
setupGooglePayClient() {
|
|
160
167
|
if (!this.window.google) {
|
|
168
|
+
this.loggerService.error(new TaggedError('Google Pay library is not available on window', [
|
|
169
|
+
ErrorTags.GOOGLEPAY,
|
|
170
|
+
]));
|
|
161
171
|
return;
|
|
162
172
|
}
|
|
163
173
|
const environment = this.initParams.isSandbox ? 'TEST' : 'PRODUCTION';
|
|
@@ -176,6 +186,7 @@ export class GooglePayService {
|
|
|
176
186
|
onLoadScript() {
|
|
177
187
|
if (!this.window.google) {
|
|
178
188
|
const retryTimeout = 1000;
|
|
189
|
+
this.loggerService.error(new TaggedError('Google Pay: library not available after script load, retrying', [ErrorTags.GOOGLEPAY]));
|
|
179
190
|
setTimeout(() => {
|
|
180
191
|
const isAvailableGoogleClient = !!this.window.google;
|
|
181
192
|
if (isAvailableGoogleClient) {
|
|
@@ -255,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
255
266
|
type: Inject,
|
|
256
267
|
args: [windowToken]
|
|
257
268
|
}] }, { type: i1.LoggerService }, { type: i2.PaymentSystemProcessingService }, { type: i3.GooglePayCheckoutPaymentService }, { type: i4.GooglePayInstantPaymentService }, { type: i0.Injector }] });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU0vRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZTNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBRW1CLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLDhCQUE4RCxFQUM5RCwrQkFBZ0UsRUFDaEUsOEJBQThELEVBQzlELFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNo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STtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1NBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4RSxDQUFDOytHQWxWVSxnQkFBZ0Isa0JBd0JqQixXQUFXO21IQXhCVixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5QkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvYXBwLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UgfSBmcm9tICcuLi9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrUGF5bWVudERldmljZURhdGEgfSBmcm9tICcuL2NoZWNrLXBheW1lbnQtZGV2aWNlLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluaXRQYXJhbXMgfSBmcm9tICcuL2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5Q2xpZW50SW5pdERhdGEsXG4gIFBheW1lbnRBdXRob3JpemVkSGFuZGxlcixcbiAgUGF5bWVudERhdGFDaGFuZ2VkSGFuZGxlcixcbn0gZnJvbSAnLi9nb29nbGUtcGF5LWxpYnJhcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktaW5zdGFudC1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL3BheW1lbnQvZ29vZ2xlLXBheS1wYXltZW50LXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzJztcbmltcG9ydCB7IEdvb2dsZVBheUJ1dHRvbkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2dvb2dsZS1wYXktYnV0dG9uLWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheVNjcmlwdFVybCA9ICdodHRwczovL3BheS5nb29nbGUuY29tL2dwL3AvanMvcGF5LmpzJztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5VG9QYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50V2luZG93SXNSZWFkeSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFdpbmRvd0lzQ2xvc2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yID0gbmV3IFN1YmplY3Q8dW5rbm93bj4oKTtcblxuICBwcml2YXRlIGdvb2dsZVBheW1lbnRDbGllbnQ6IEdvb2dsZVBheUNsaWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGluaXRQYXJhbXMhOiBHb29nbGVQYXlJbml0UGFyYW1zO1xuICBwcml2YXRlIHBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb25QYXltZW50RGF0YUNoYW5nZWQhOiBQYXltZW50RGF0YUNoYW5nZWRIYW5kbGVyO1xuICBwcml2YXRlIG9uUGF5bWVudEF1dGhvcml6ZWQhOiBQYXltZW50QXV0aG9yaXplZEhhbmRsZXI7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlOiBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9QYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50V2luZG93SXNSZWFkeSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFdpbmRvd0lzUmVhZHkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRXaW5kb3dJc0Nsb3NlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50V2luZG93SXNDbG9zZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGlzUmVhZHlUb1BheSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRHb29nbGVQYXlMaWJyYXJ5KGRhdGE6IEdvb2dsZVBheUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRQYXJhbXMgPSBkYXRhO1xuICAgIHRoaXMub25QYXltZW50RGF0YUNoYW5nZWQgPSBkYXRhLm9uUGF5bWVudERhdGFDaGFuZ2VkO1xuICAgIHRoaXMub25QYXltZW50QXV0aG9yaXplZCA9IGRhdGEub25QYXltZW50QXV0aG9yaXplZDtcblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5sb2FkU2NyaXB0KFxuICAgICAgdGhpcy5nb29nbGVQYXlTY3JpcHRVcmwsXG4gICAgICB0aGlzLm9uTG9hZFNjcmlwdC5iaW5kKHRoaXMpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGRhdGE6IENoZWNrUGF5bWVudERldmljZURhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkJywgW1xuICAgICAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UgPSB0aGlzLmdldFBheW1lbnRTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGluaXREYXRhID0gdGhpcy5wYXltZW50U2VydmljZS5wcmVwYXJlUGF5bWVudCh7XG4gICAgICAgICAgaW5pdFBhcmFtczogdGhpcy5pbml0UGFyYW1zLFxuICAgICAgICAgIGNoZWNrRGV2aWNlRGF0YTogZGF0YSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFpbml0RGF0YSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gaW5pdGlhbGl6YXRpb24gZGF0YScsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGluaXRpYWxpemF0aW9uIGRhdGEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgIC5pc1JlYWR5VG9QYXkoaW5pdERhdGEuaXNSZWFkeVRvUGF5UmVxdWVzdClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5wcmVmZXRjaFBheW1lbnREYXRhKFxuICAgICAgICAgICAgICAgIGluaXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGlzSGF2ZVBheW1lbnRDbGllbnQgPSBCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQsXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAoZXJyb3IgYXMgc3RyaW5nKSA/PyAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IGRldmljZSBpcyBub3QgcmVhZHkgdG8gcGF5LCAke21lc3NhZ2V9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgY2xpZW50YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAnR29vZ2xlIHBheW1lbnQgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgc2VydmljZWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNSZWFkeS5uZXh0KCk7XG5cbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID1cbiAgICAgICAgYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShwYXltZW50RGF0YVJlcXVlc3QpO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignVG9rZW4gaXMgbWlzc2luZycsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50Py4ocGF5bWVudERhdGEpO1xuXG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZUZhaWxlZFBheW1lbnQ/LihlcnJvcik7XG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcbiAgICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG5cbiAgICAgIGNvbnN0IGlzQ2xvc2VkQnlVc2VyID0gdGhpcy5pc0Nsb3NlZEJ5VXNlcihcbiAgICAgICAgKGVycm9yIGFzIHsgbWVzc2FnZTogc3RyaW5nIH0pPy5tZXNzYWdlID8/ICcnLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgaXNDYW5jZWxlZFN0YXR1cyA9IHRoaXMuaXNDYW5jZWxlZFN0YXR1cyhcbiAgICAgICAgKGVycm9yIGFzIHsgc3RhdHVzQ29kZTogc3RyaW5nIH0pLnN0YXR1c0NvZGUgPz8gJycsXG4gICAgICApO1xuICAgICAgaWYgKGlzQ2xvc2VkQnlVc2VyIHx8IGlzQ2FuY2VsZWRTdGF0dXMpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gY2hlY2tTdGF0dXNBY3Rpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZUJ1dHRvbihcbiAgICBvbkNsaWNrSGFuZGxlcjogKCkgPT4gdm9pZCxcbiAgICBjb25maWd1cmF0aW9uOiBHb29nbGVQYXlCdXR0b25Db25maWd1cmF0aW9uLFxuICApOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxvd2VkUGF5bWVudE1ldGhvZHMgPVxuICAgICAgdGhpcy5wYXltZW50U2VydmljZT8uZ2V0QWxsb3dlZFBheW1lbnRNZXRob2RzKCkgfHwgW107XG5cbiAgICByZXR1cm4gdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmNyZWF0ZUJ1dHRvbih7XG4gICAgICBvbkNsaWNrOiBvbkNsaWNrSGFuZGxlcixcbiAgICAgIGFsbG93ZWRQYXltZW50TWV0aG9kczogYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6IGNvbmZpZ3VyYXRpb24uY29sb3IgPz8gJ2RlZmF1bHQnLFxuICAgICAgYnV0dG9uTG9jYWxlOiB0aGlzLmdldExvY2FsZUZvckJ1dHRvbihjb25maWd1cmF0aW9uLmxvY2FsZSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLmluaXRQYXJhbXMuaXNTYW5kYm94ID8gJ1RFU1QnIDogJ1BST0RVQ1RJT04nO1xuICAgIGNvbnN0IGdvb2dsZVBheW1lbnRDbGllbnREYXRhOiBHb29nbGVQYXlDbGllbnRJbml0RGF0YSA9IHtcbiAgICAgIGVudmlyb25tZW50LFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5pbml0UGFyYW1zLmlzSW5zdGFudFBheUZsb3cpIHtcbiAgICAgIGdvb2dsZVBheW1lbnRDbGllbnREYXRhLnBheW1lbnREYXRhQ2FsbGJhY2tzID0ge1xuICAgICAgICBvblBheW1lbnREYXRhQ2hhbmdlZDogdGhpcy5vblBheW1lbnREYXRhQ2hhbmdlZCxcbiAgICAgICAgb25QYXltZW50QXV0aG9yaXplZDogdGhpcy5vblBheW1lbnRBdXRob3JpemVkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQgPVxuICAgICAgbmV3IHRoaXMud2luZG93Lmdvb2dsZS5wYXltZW50cy5hcGkuUGF5bWVudHNDbGllbnQoXG4gICAgICAgIGdvb2dsZVBheW1lbnRDbGllbnREYXRhLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Mb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICBjb25zdCByZXRyeVRpbWVvdXQgPSAxMDAwO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNBdmFpbGFibGVHb29nbGVDbGllbnQgPSAhIXRoaXMud2luZG93Lmdvb2dsZTtcblxuICAgICAgICBpZiAoaXNBdmFpbGFibGVHb29nbGVDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50U2VydmljZSgpOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB7XG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KVxuICAgICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2xvc2VkQnlVc2VyKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3VzZXIgY2xvc2VkIHRoZSBwYXltZW50IHJlcXVlc3QgdWknKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxlZFN0YXR1cyhzdGF0dXNDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzQ29kZS50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGVGb3JCdXR0b24odXNlckxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhbGxvd2VkTG9jYWxlcyA9IFtcbiAgICAgICdlbicsXG4gICAgICAnYXInLFxuICAgICAgJ2JnJyxcbiAgICAgICdjYScsXG4gICAgICAnY3MnLFxuICAgICAgJ2RhJyxcbiAgICAgICdkZScsXG4gICAgICAnZWwnLFxuICAgICAgJ2VzJyxcbiAgICAgICdldCcsXG4gICAgICAnZmknLFxuICAgICAgJ2ZyJyxcbiAgICAgICdocicsXG4gICAgICAnaWQnLFxuICAgICAgJ2l0JyxcbiAgICAgICdqYScsXG4gICAgICAna28nLFxuICAgICAgJ21zJyxcbiAgICAgICdubCcsXG4gICAgICAnbm8nLFxuICAgICAgJ3BsJyxcbiAgICAgICdwdCcsXG4gICAgICAncnUnLFxuICAgICAgJ3NrJyxcbiAgICAgICdzbCcsXG4gICAgICAnc3InLFxuICAgICAgJ3N2JyxcbiAgICAgICd0aCcsXG4gICAgICAndHInLFxuICAgICAgJ3VrJyxcbiAgICAgICd6aCcsXG4gICAgXTtcblxuICAgIGlmIChbJ2NuJywgJ3poX0hBTlQnXS5pbmNsdWRlcyh1c2VyTG9jYWxlKSkge1xuICAgICAgcmV0dXJuICd6aCc7XG4gICAgfVxuXG4gICAgaWYgKFsnemhfSEFOUyddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3R3JztcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsb3dlZExvY2FsZXMuZmluZCgobG9jYWxlKSA9PiBsb2NhbGUgPT09IHVzZXJMb2NhbGUpID8/ICdlbic7XG4gIH1cbn1cbiJdfQ==
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU0vRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZTNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBRW1CLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLDhCQUE4RCxFQUM5RCwrQkFBZ0UsRUFDaEUsOEJBQThELEVBQzlELFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNo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Q0osSUFBSTtTQUNMLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDeEUsQ0FBQzsrR0E5V1UsZ0JBQWdCLGtCQXdCakIsV0FBVzttSEF4QlYsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBeUJJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2FwcC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1BheW1lbnREZXZpY2VEYXRhIH0gZnJvbSAnLi9jaGVjay1wYXltZW50LWRldmljZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi9nb29nbGUtcGF5LWluaXQtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHb29nbGVQYXlDbGllbnQsXG4gIEdvb2dsZVBheUNsaWVudEluaXREYXRhLFxuICBQYXltZW50QXV0aG9yaXplZEhhbmRsZXIsXG4gIFBheW1lbnREYXRhQ2hhbmdlZEhhbmRsZXIsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktY2hlY2tvdXQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZSB9IGZyb20gJy4vcGF5bWVudC9nb29nbGUtcGF5LWluc3RhbnQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktcGF5bWVudC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5pbXBvcnQgeyBHb29nbGVQYXlCdXR0b25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9nb29nbGUtcGF5LWJ1dHRvbi1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlTY3JpcHRVcmwgPSAnaHR0cHM6Ly9wYXkuZ29vZ2xlLmNvbS9ncC9wL2pzL3BheS5qcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvUGF5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFdpbmRvd0lzUmVhZHkgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRXaW5kb3dJc0Nsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvciA9IG5ldyBTdWJqZWN0PHVua25vd24+KCk7XG5cbiAgcHJpdmF0ZSBnb29nbGVQYXltZW50Q2xpZW50OiBHb29nbGVQYXlDbGllbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpbml0UGFyYW1zITogR29vZ2xlUGF5SW5pdFBhcmFtcztcbiAgcHJpdmF0ZSBwYXltZW50U2VydmljZTogR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9uUGF5bWVudERhdGFDaGFuZ2VkITogUGF5bWVudERhdGFDaGFuZ2VkSGFuZGxlcjtcbiAgcHJpdmF0ZSBvblBheW1lbnRBdXRob3JpemVkITogUGF5bWVudEF1dGhvcml6ZWRIYW5kbGVyO1xuXG4gIHByaXZhdGUgZ2V0IGxpYnJhcnlXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLndpbmRvdy5nb29nbGU7XG4gIH1cblxuICBwcml2YXRlIGdldCBnb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50O1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZTogR29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZTogR29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgcHVibGljIGdldCByZWFkeVRvUGF5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFdpbmRvd0lzUmVhZHkkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRXaW5kb3dJc1JlYWR5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50V2luZG93SXNDbG9zZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFdpbmRvd0lzQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlYWR5VG9QYXkoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0R29vZ2xlUGF5TGlicmFyeShkYXRhOiBHb29nbGVQYXlJbml0UGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UGFyYW1zID0gZGF0YTtcbiAgICB0aGlzLm9uUGF5bWVudERhdGFDaGFuZ2VkID0gZGF0YS5vblBheW1lbnREYXRhQ2hhbmdlZDtcbiAgICB0aGlzLm9uUGF5bWVudEF1dGhvcml6ZWQgPSBkYXRhLm9uUGF5bWVudEF1dGhvcml6ZWQ7XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5V2FzSW5pdGlhbGl6ZWQgJiYgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UubG9hZFNjcmlwdChcbiAgICAgIHRoaXMuZ29vZ2xlUGF5U2NyaXB0VXJsLFxuICAgICAgdGhpcy5vbkxvYWRTY3JpcHQuYmluZCh0aGlzKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNoZWNrUGF5bWVudERldmljZShkYXRhOiBDaGVja1BheW1lbnREZXZpY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuaW5pdGlhbGl6ZSRcbiAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZCcsIFtcbiAgICAgICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgYEdvb2dsZSBQYXk6IEdvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWRgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlID0gdGhpcy5nZXRQYXltZW50U2VydmljZSgpO1xuICAgICAgICBjb25zdCBpbml0RGF0YSA9IHRoaXMucGF5bWVudFNlcnZpY2UucHJlcGFyZVBheW1lbnQoe1xuICAgICAgICAgIGluaXRQYXJhbXM6IHRoaXMuaW5pdFBhcmFtcyxcbiAgICAgICAgICBjaGVja0RldmljZURhdGE6IGRhdGEsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaW5pdERhdGEpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoJ05vIGluaXRpYWxpemF0aW9uIGRhdGEnLCBbRXJyb3JUYWdzLkdPT0dMRVBBWV0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBubyBpbml0aWFsaXphdGlvbiBkYXRhJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAuaXNSZWFkeVRvUGF5KGluaXREYXRhLmlzUmVhZHlUb1BheVJlcXVlc3QpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQucHJlZmV0Y2hQYXltZW50RGF0YShcbiAgICAgICAgICAgICAgICBpbml0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QsXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBpc0hhdmVQYXltZW50Q2xpZW50ID0gQm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LFxuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gO1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IobWVzc2FnZSwgW0Vycm9yVGFncy5HT09HTEVQQVldKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG5cbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gKGVycm9yIGFzIHN0cmluZykgPz8gJyc7XG5cbiAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAgICAgICBgR29vZ2xlIFBheTogZGV2aWNlIGlzIG5vdCByZWFkeSB0byBwYXksICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9jZWVkQ2hlY2tvdXQoKTogUHJvbWlzZTxDaGVja1N0YXR1c0FjdGlvbiB8IG51bGw+IHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgY2xpZW50YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAnR29vZ2xlIHBheW1lbnQgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gcHJvY2VlZCBjaGVja291dCcsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXkuIHByb2NlZWRDaGVja291dDogbm8gZ29vZ2xlIHBheW1lbnQgc2VydmljZWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNSZWFkeS5uZXh0KCk7XG5cbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID1cbiAgICAgICAgYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShwYXltZW50RGF0YVJlcXVlc3QpO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignVG9rZW4gaXMgbWlzc2luZycsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50Py4ocGF5bWVudERhdGEpO1xuXG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmhhbmRsZUZhaWxlZFBheW1lbnQ/LihlcnJvcik7XG4gICAgICB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLm5leHQoKTtcbiAgICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IChlcnJvciBhcyB7IG1lc3NhZ2U6IHN0cmluZyB9KT8ubWVzc2FnZSA/PyAnJztcbiAgICAgIGNvbnN0IGVycm9yU3RhdHVzQ29kZSA9XG4gICAgICAgIChlcnJvciBhcyB7IHN0YXR1c0NvZGU6IHN0cmluZyB9KT8uc3RhdHVzQ29kZSA/PyAnJztcblxuICAgICAgY29uc3QgaXNDbG9zZWRCeVVzZXIgPSB0aGlzLmlzQ2xvc2VkQnlVc2VyKGVycm9yTWVzc2FnZSk7XG4gICAgICBjb25zdCBpc0NhbmNlbGVkU3RhdHVzID0gdGhpcy5pc0NhbmNlbGVkU3RhdHVzKGVycm9yU3RhdHVzQ29kZSk7XG5cbiAgICAgIGlmIChpc0Nsb3NlZEJ5VXNlciB8fCBpc0NhbmNlbGVkU3RhdHVzKSByZXR1cm4gbnVsbDtcblxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoYEdvb2dsZSBQYXk6IHByb2NlZWRDaGVja291dCBmYWlsZWQsICR7ZXJyb3JNZXNzYWdlfWAsIFtcbiAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICBdKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQnV0dG9uKFxuICAgIG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkLFxuICAgIGNvbmZpZ3VyYXRpb246IEdvb2dsZVBheUJ1dHRvbkNvbmZpZ3VyYXRpb24sXG4gICk6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkIHRvIGNyZWF0ZSBidXR0b24nLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxvd2VkUGF5bWVudE1ldGhvZHMgPVxuICAgICAgdGhpcy5wYXltZW50U2VydmljZT8uZ2V0QWxsb3dlZFBheW1lbnRNZXRob2RzKCkgfHwgW107XG5cbiAgICByZXR1cm4gdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmNyZWF0ZUJ1dHRvbih7XG4gICAgICBvbkNsaWNrOiBvbkNsaWNrSGFuZGxlcixcbiAgICAgIGFsbG93ZWRQYXltZW50TWV0aG9kczogYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6IGNvbmZpZ3VyYXRpb24uY29sb3IgPz8gJ2RlZmF1bHQnLFxuICAgICAgYnV0dG9uTG9jYWxlOiB0aGlzLmdldExvY2FsZUZvckJ1dHRvbihjb25maWd1cmF0aW9uLmxvY2FsZSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIFBheSBsaWJyYXJ5IGlzIG5vdCBhdmFpbGFibGUgb24gd2luZG93JywgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuaW5pdFBhcmFtcy5pc1NhbmRib3ggPyAnVEVTVCcgOiAnUFJPRFVDVElPTic7XG4gICAgY29uc3QgZ29vZ2xlUGF5bWVudENsaWVudERhdGE6IEdvb2dsZVBheUNsaWVudEluaXREYXRhID0ge1xuICAgICAgZW52aXJvbm1lbnQsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmluaXRQYXJhbXMuaXNJbnN0YW50UGF5Rmxvdykge1xuICAgICAgZ29vZ2xlUGF5bWVudENsaWVudERhdGEucGF5bWVudERhdGFDYWxsYmFja3MgPSB7XG4gICAgICAgIG9uUGF5bWVudERhdGFDaGFuZ2VkOiB0aGlzLm9uUGF5bWVudERhdGFDaGFuZ2VkLFxuICAgICAgICBvblBheW1lbnRBdXRob3JpemVkOiB0aGlzLm9uUGF5bWVudEF1dGhvcml6ZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCA9XG4gICAgICBuZXcgdGhpcy53aW5kb3cuZ29vZ2xlLnBheW1lbnRzLmFwaS5QYXltZW50c0NsaWVudChcbiAgICAgICAgZ29vZ2xlUGF5bWVudENsaWVudERhdGEsXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkxvYWRTY3JpcHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIGNvbnN0IHJldHJ5VGltZW91dCA9IDEwMDA7XG5cbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgUGF5OiBsaWJyYXJ5IG5vdCBhdmFpbGFibGUgYWZ0ZXIgc2NyaXB0IGxvYWQsIHJldHJ5aW5nJyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNBdmFpbGFibGVHb29nbGVDbGllbnQgPSAhIXRoaXMud2luZG93Lmdvb2dsZTtcblxuICAgICAgICBpZiAoaXNBdmFpbGFibGVHb29nbGVDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwR29vZ2xlUGF5Q2xpZW50KCk7XG5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5wYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UuZW1pdEluaXRpYWxpemUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50U2VydmljZSgpOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB7XG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KVxuICAgICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ2xvc2VkQnlVc2VyKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3VzZXIgY2xvc2VkIHRoZSBwYXltZW50IHJlcXVlc3QgdWknKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxlZFN0YXR1cyhzdGF0dXNDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdHVzQ29kZS50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGVGb3JCdXR0b24odXNlckxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhbGxvd2VkTG9jYWxlcyA9IFtcbiAgICAgICdlbicsXG4gICAgICAnYXInLFxuICAgICAgJ2JnJyxcbiAgICAgICdjYScsXG4gICAgICAnY3MnLFxuICAgICAgJ2RhJyxcbiAgICAgICdkZScsXG4gICAgICAnZWwnLFxuICAgICAgJ2VzJyxcbiAgICAgICdldCcsXG4gICAgICAnZmknLFxuICAgICAgJ2ZyJyxcbiAgICAgICdocicsXG4gICAgICAnaWQnLFxuICAgICAgJ2l0JyxcbiAgICAgICdqYScsXG4gICAgICAna28nLFxuICAgICAgJ21zJyxcbiAgICAgICdubCcsXG4gICAgICAnbm8nLFxuICAgICAgJ3BsJyxcbiAgICAgICdwdCcsXG4gICAgICAncnUnLFxuICAgICAgJ3NrJyxcbiAgICAgICdzbCcsXG4gICAgICAnc3InLFxuICAgICAgJ3N2JyxcbiAgICAgICd0aCcsXG4gICAgICAndHInLFxuICAgICAgJ3VrJyxcbiAgICAgICd6aCcsXG4gICAgXTtcblxuICAgIGlmIChbJ2NuJywgJ3poX0hBTlQnXS5pbmNsdWRlcyh1c2VyTG9jYWxlKSkge1xuICAgICAgcmV0dXJuICd6aCc7XG4gICAgfVxuXG4gICAgaWYgKFsnemhfSEFOUyddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3R3JztcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsb3dlZExvY2FsZXMuZmluZCgobG9jYWxlKSA9PiBsb2NhbGUgPT09IHVzZXJMb2NhbGUpID8/ICdlbic7XG4gIH1cbn1cbiJdfQ==
|