@xsolla/payment-client-core 0.3.14 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +9 -4
- package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +1 -1
- package/esm2022/lib/core/payment/status/check-status/check-status.service.mjs +19 -13
- package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +31 -1
- package/esm2022/lib/core/payment/status/status-request/response/status-response.class.mjs +3 -1
- package/esm2022/lib/core/payment/status/status.interface.mjs +1 -1
- package/esm2022/lib/core/payment/status/status.service.mjs +48 -5
- package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +6 -2
- package/esm2022/lib/core/payment/xps-response.interface.mjs +1 -1
- package/esm2022/lib/core/settings/project.interface.mjs +1 -1
- package/esm2022/lib/core-library.service.mjs +9 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/xsolla-payment-client-core.mjs +116 -21
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/actions/status-updated/status-updated.action.class.d.ts +3 -0
- package/lib/core/payment/actions/status-updated/status-updated.action.type.d.ts +3 -0
- package/lib/core/payment/status/check-status/check-status.service.d.ts +7 -0
- package/lib/core/payment/status/listen-status/listen-status.service.d.ts +1 -0
- package/lib/core/payment/status/status.interface.d.ts +3 -0
- package/lib/core/payment/status/status.service.d.ts +13 -1
- package/lib/core/payment/xps-response.interface.d.ts +2 -0
- package/lib/core/settings/project.interface.d.ts +1 -0
- package/lib/core-library.service.d.ts +1 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -84,7 +84,14 @@ export class CoreLibraryService {
|
|
|
84
84
|
this.translateService.use(TranslateHelper.getLocale(configuration.locale));
|
|
85
85
|
}
|
|
86
86
|
async getStatus(url) {
|
|
87
|
-
|
|
87
|
+
const status = await this.statusService.getStatusWithUrlSearchParams(url);
|
|
88
|
+
return {
|
|
89
|
+
...status,
|
|
90
|
+
isRetryPaymentEnabled: this.isRetryPaymentEnabled,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
get isRetryPaymentEnabled() {
|
|
94
|
+
return this.settingsService.unsafeProject?.isRetryPaymentEnabled ?? true;
|
|
88
95
|
}
|
|
89
96
|
async calculateField(changedField, fields) {
|
|
90
97
|
return this.paymentService.calculateField(changedField, fields);
|
|
@@ -209,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
209
216
|
providedIn: 'root',
|
|
210
217
|
}]
|
|
211
218
|
}], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.LoggerService }, { type: i3.CountryService }, { type: i4.PaymentMethodsService }, { type: i5.SavedMethodsService }, { type: i6.UserBalanceService }, { type: i7.PaymentConfigService }, { type: i8.PaymentService }, { type: i9.DeviceFingerPrintService }, { type: i10.FinanceDetailsService }, { type: i11.LegalService }, { type: i12.StatusService }, { type: i13.NextActionService }, { type: i14.CreditCardService }, { type: i15.CreditCardStateService }, { type: i16.FormMessagesService }, { type: i17.EditSavedMethodsService }, { type: i18.UserBehaviourAnalyticsService }, { type: i19.PerformanceService }, { type: i20.CombinedPaymentMethodsService }, { type: i21.CountriesApiService }, { type: i22.SendInstructionService }, { type: i23.ScriptTrackerService }, { type: i24.TranslateService }, { type: i25.CommonLogAttributesService }, { type: i26.CapabilitiesService }] });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvcmUtbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3RDNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd0RSxNQUFNLE9BQU8sa0JBQWtCO0lBNEI3QixZQUNtQixlQUFnQyxFQUNoQyxhQUE0QixFQUM1QixjQUE4QixFQUM5QixxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHFCQUE0QyxFQUM1QyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQ3BDLHNCQUE4QyxFQUM5QyxtQkFBd0MsRUFDeEMsdUJBQWdELEVBQ2hELDZCQUE0RCxFQUM1RCxrQkFBc0MsRUFDdEMsNkJBQTRELEVBQzVELG1CQUF3QyxFQUN4QyxzQkFBOEMsRUFDOUMsb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQywwQkFBc0QsRUFDdEQsbUJBQXdDO1FBekJ4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdB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IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2QgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsU2VydmljZSB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkVHlwZXMgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWxhbmNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2JhbGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtLW1lc3NhZ2VzL2Zvcm0tbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9lZGl0LXNhdmVkLW1ldGhvZHMvZWRpdC1zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtcyB9IGZyb20gJy4vY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LXN5c3RlbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1SZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQZXJmb3JtYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBDb21iaW5lZFBheW1lbnRNZXRob2RzIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJpZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyaWVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlSZXNwb25zZSB9IGZyb20gJy4vY29yZS9jb3VudHJpZXMtYXBpL2NvdW50cnktcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhc2hQYXltZW50RGF0YSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Nhc2gtcGF5bWVudC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vcmVzcG9uc2Uvc2VuZC1pbnN0cnVjdGlvbi1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS94c29sbGEtbnVtYmVyL2FwaS9zZW5kLWluc3RydWN0aW9uL3NlbmQtaW5zdHJ1Y3Rpb24tcGFyYW1ldGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2NyaXB0VHJhY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2NyaXB0LXRyYWNrZXIvc2NyaXB0LXRyYWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgWHBzU3VtbWFyeSB9IGZyb20gJy4vY29yZS9wYXltZW50L3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlSGVscGVyIH0gZnJvbSAnLi9zaGFyZWQvdHJhbnNsYXRlL3RyYW5zbGF0ZS5oZWxwZXInO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlcyB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ0hhbmRsZXIgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nLWhhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuL2NvcmUvcGF5bWVudC94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoaXNTYXZlTWV0aG9kTW9kZSksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8Q29tYmluZWRQYXltZW50TWV0aG9kcz4gPT5cbiAgICAgIHRoaXMuY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kcygpLFxuICAgIGdldFVzZXJCYWxhbmNlOiBhc3luYyAoKTogUHJvbWlzZTxVc2VyQmFsYW5jZVJlc3BvbnNlPiA9PlxuICAgICAgdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2UoKSxcbiAgICBkZWxldGVTYXZlZE1ldGhvZDogYXN5bmMgKGlkOiBudW1iZXIsIHR5cGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICAgIHRoaXMuZWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UuZGVsZXRlU2F2ZWRNZXRob2RSZXF1ZXN0KGlkLCB0eXBlKSxcbiAgfTtcblxuICBwdWJsaWMgc2RrUGF5bWVudFN5c3RlbXM6IFNka1BheW1lbnRTeXN0ZW1zID0ge1xuICAgIGdldEluaXRpYWxEYXRhOiBhc3luYyAoKSA9PlxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRJbml0aWFsRGF0YUZvclNka1BheW1lbnRTeXN0ZW1zKCksXG4gIH07XG5cbiAgcHVibGljIGZpbmFuY2UgPSB7XG4gICAgZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5OiAoc3VtbWFyeTogWHBzU3VtbWFyeSk6IEZpbmFuY2VEZXRhaWxzID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5nZXREZXRhaWxzRnJvbVN1bW1hcnkoc3VtbWFyeSk7XG4gICAgfSxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50TWV0aG9kc1NlcnZpY2U6IFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVkTWV0aG9kc1NlcnZpY2U6IFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmFsYW5jZVNlcnZpY2U6IFVzZXJCYWxhbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRDb25maWdTZXJ2aWNlOiBQYXltZW50Q29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU2VydmljZTogQ3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1lc3NhZ2VzU2VydmljZTogRm9ybU1lc3NhZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlOiBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcmZvcm1hbmNlU2VydmljZTogUGVyZm9ybWFuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2U6IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyaWVzQXBpU2VydmljZTogQ291bnRyaWVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbmRJbnN0cnVjdGlvblNlcnZpY2U6IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRUcmFja2VyU2VydmljZTogU2NyaXB0VHJhY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2U6IENvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KGNvbmZpZ3VyYXRpb246IEluaXRDb25maWd1cmF0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2UuaW5pdChjb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2Uuc2V0KGNvbmZpZ3VyYXRpb24uY2FwYWJpbGl0aWVzKTtcbiAgICB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLnNldEFjdGl2ZUNvbmZpZyhudWxsKTtcbiAgICB0aGlzLnBlcmZvcm1hbmNlU2VydmljZS5pbml0KCk7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5kZXZpY2VGaW5nZXJQcmludFNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMuc2NyaXB0VHJhY2tlclNlcnZpY2UuaW5pdFNjcmlwdFRyYWNraW5nKGNvbmZpZ3VyYXRpb24uZW52aXJvbm1lbnQpO1xuICAgIFRyYW5zbGF0ZUhlbHBlci5pbml0KHRoaXMudHJhbnNsYXRlU2VydmljZSk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShUcmFuc2xhdGVIZWxwZXIuZ2V0TG9jYWxlKGNvbmZpZ3VyYXRpb24ubG9jYWxlKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU2VydmljZS5nZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2FsY3VsYXRlRmllbGQoXG4gICAgY2hhbmdlZEZpZWxkOiBGaWVsZCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuY2FsY3VsYXRlRmllbGQoY2hhbmdlZEZpZWxkLCBmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdChmaWVsZHM6IEZpZWxkW10pOiBQcm9taXNlPHtcbiAgICByZXNwb25zZTogU3VibWl0UmVzcG9uc2U7XG4gICAgbmV4dEFjdGlvbjogTmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkO1xuICB9PiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0V2l0aEZpZWxkcyhmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBbmFseXRpY3MoXG4gICAgYWN0aW9uOiBzdHJpbmcsXG4gICAgdHlwZToga2V5b2YgdHlwZW9mIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLFxuICAgIG9wdGlvbnM/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoYWN0aW9uLCB0eXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGVJbml0aWFsRGF0YSgpOiB7XG4gICAgcXJDb2RlOiBzdHJpbmc7XG4gICAgcGlkOiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXJDb2RlOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFFyQ29kZSgpLFxuICAgICAgcGlkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzaFBheW1lbnREYXRhKCk6IENhc2hQYXltZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q2FzaFBheW1lbnREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhFbWFpbChcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2UsXG4gICk6IFByb21pc2U8U2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLnNlbmRJbnN0cnVjdGlvbldpdGhFbWFpbChwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRYc29sbGFOdW1iZXJXaXRoU21zKFxuICAgIHBhcmFtczogU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSxcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aFNtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENvdW50cmllcygpOiBQcm9taXNlPENvdW50cnlSZXNwb25zZVsnY291bnRyeUxpc3QnXT4ge1xuICAgIHJldHVybiB0aGlzLmNvdW50cmllc0FwaVNlcnZpY2UucmVxdWVzdCgpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUGF5bWVudChjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uKTogUGF5bWVudCB7XG4gICAgY29uc3QgZW5yaWNoZWRDb25maWcgPSB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLmVucmljaChjb25maWcpO1xuXG4gICAgdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS51cGRhdGVSZWZlckJ5UGF5bWVudENvbmZpZ3VyYXRpb24oZW5yaWNoZWRDb25maWcpO1xuICAgIHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2Uuc2V0QWN0aXZlQ29uZmlnKGVucmljaGVkQ29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgZ2V0UGlkOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgICAgZ2V0U3VibWl0QnV0dG9uVGV4dDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdWJtaXRCdXR0b25UZXh0KCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBsaXN0ZW5GaW5hbFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5saXN0ZW5GaW5hbFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogRmllbGROYW1lcywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZ2V0RmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICAgICAgZ2V0Rm9ybVN0YXR1czogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtPy5zdGF0dXMsXG4gICAgICAgIGdldENvbnRyb2xTdGF0dXM6IChuYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q29udHJvbFN0YXR1cyhuYW1lKSxcbiAgICAgIH0sXG4gICAgICBhZGRFeHRyYUZpZWxkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFkZEV4dHJhRmllbGQobmFtZSwgdmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQ/OiBudW1iZXIpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlckJhbGFuY2VWYWx1ZSgpOiBCYWxhbmNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckxvZ0hhbmRsZXIoaGFuZGxlcjogTG9nSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyU2VydmljZS5yZWdpc3RlcihoYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Rmxvd0Vycm9ycyhlcnJvcnM6IFhwc0Vycm9yW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93RXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRGb3JtJCgpOiBPYnNlcnZhYmxlPEZvcm1Db250cm9sU3RhdHVzIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnBheW1lbnRGb3JtJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlJCgpOiBPYnNlcnZhYmxlPEZvcm1SZXNwb25zZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2UkO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2VWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9wTGV2ZWxEb21haW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9wTGV2ZWxEb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzR29vZ2xlUGF5SW5zdGFudEZsb3dFbmFibGVkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNHb29nbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbW1vbkxvZ0F0dHJpYnV0ZXMoKTogQ29tbW9uTG9nQXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpO1xuICB9XG59XG4iXX0=
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvcmUtbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3RDNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVd0RSxNQUFNLE9BQU8sa0JBQWtCO0lBNEI3QixZQUNtQixlQUFnQyxFQUNoQyxhQUE0QixFQUM1QixjQUE4QixFQUM5QixxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHFCQUE0QyxFQUM1QyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQ3BDLHNCQUE4QyxFQUM5QyxtQkFBd0MsRUFDeEMsdUJBQWdELEVBQ2hELDZCQUE0RCxFQUM1RCxrQkFBc0MsRUFDdEMsNkJBQTRELEVBQzVELG1CQUF3QyxFQUN4QyxzQkFBOEMsRUFDOUMsb0JBQTBDLEVBQzFDLGdCQUFrQyxFQUNsQywwQkFBc0QsRUFDdEQsbUJBQXdDO1FBekJ4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdB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QjtRQUM1QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDOytHQXpQVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vY29yZS9zYXZlZC1tZXRob2RzL3NhdmVkLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VSZXNwb25zZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJhbGFuY2UvdXNlci1iYWxhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2VkaXQtc2F2ZWQtbWV0aG9kcy9lZGl0LXNhdmVkLW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNka1BheW1lbnRTeXN0ZW1zIH0gZnJvbSAnLi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvc2RrLXBheW1lbnQtc3lzdGVtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2VydmljZSB9IGZyb20gJy4vY29yZS9wZXJmb3JtYW5jZS9wZXJmb3JtYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHMgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvY29tYmluZWQtcGF5bWVudC1tZXRob2RzL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cmllc0FwaVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY291bnRyaWVzLWFwaS9jb3VudHJpZXMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyeS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FzaFBheW1lbnREYXRhIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY2FzaC1wYXltZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9zZW5kLWluc3RydWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9yZXNwb25zZS9zZW5kLWluc3RydWN0aW9uLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi1wYXJhbWV0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTY3JpcHRUcmFja2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9zY3JpcHQtdHJhY2tlci9zY3JpcHQtdHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQveHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVIZWxwZXIgfSBmcm9tICcuL3NoYXJlZC90cmFuc2xhdGUvdHJhbnNsYXRlLmhlbHBlcic7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Mb2dBdHRyaWJ1dGVzIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvY29tbW9uLWxvZy1hdHRyaWJ1dGVzL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nSGFuZGxlciB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2ctaGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNFcnJvciB9IGZyb20gJy4vY29yZS9wYXltZW50L3hwcy1lcnJvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4vY29yZS9jYXBhYmlsaXRpZXMvY2FwYWJpbGl0aWVzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZUxpYnJhcnlTZXJ2aWNlIHtcbiAgcHVibGljIHBheW1lbnRNZXRob2RzID0ge1xuICAgIGdldExpc3Q6IGFzeW5jIChpc1NhdmVNZXRob2RNb2RlPzogYm9vbGVhbik6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0TGlzdChpc1NhdmVNZXRob2RNb2RlKSxcblxuICAgIGdldFF1aWNrTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0UXVpY2tNZXRob2RzKCksXG4gICAgZ2V0U2F2ZWRNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxTYXZlZE1ldGhvZFtdPiA9PlxuICAgICAgdGhpcy5zYXZlZE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoKSxcbiAgICBnZXRDb21iaW5lZFBheW1lbnRNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxDb21iaW5lZFBheW1lbnRNZXRob2RzPiA9PlxuICAgICAgdGhpcy5jb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZS5nZXRDb21iaW5lZFBheW1lbnRNZXRob2RzKCksXG4gICAgZ2V0VXNlckJhbGFuY2U6IGFzeW5jICgpOiBQcm9taXNlPFVzZXJCYWxhbmNlUmVzcG9uc2U+ID0+XG4gICAgICB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZSgpLFxuICAgIGRlbGV0ZVNhdmVkTWV0aG9kOiBhc3luYyAoaWQ6IG51bWJlciwgdHlwZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgICAgdGhpcy5lZGl0U2F2ZWRNZXRob2RzU2VydmljZS5kZWxldGVTYXZlZE1ldGhvZFJlcXVlc3QoaWQsIHR5cGUpLFxuICB9O1xuXG4gIHB1YmxpYyBzZGtQYXltZW50U3lzdGVtczogU2RrUGF5bWVudFN5c3RlbXMgPSB7XG4gICAgZ2V0SW5pdGlhbERhdGE6IGFzeW5jICgpID0+XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEluaXRpYWxEYXRhRm9yU2RrUGF5bWVudFN5c3RlbXMoKSxcbiAgfTtcblxuICBwdWJsaWMgZmluYW5jZSA9IHtcbiAgICBnZXREZXRhaWxzRnJvbVN1bW1hcnk6IChzdW1tYXJ5OiBYcHNTdW1tYXJ5KTogRmluYW5jZURldGFpbHMgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmdldERldGFpbHNGcm9tU3VtbWFyeShzdW1tYXJ5KTtcbiAgICB9LFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRNZXRob2RzU2VydmljZTogUGF5bWVudE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZWRNZXRob2RzU2VydmljZTogU2F2ZWRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCYWxhbmNlU2VydmljZTogVXNlckJhbGFuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudENvbmZpZ1NlcnZpY2U6IFBheW1lbnRDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlOiBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxlZ2FsU2VydmljZTogTGVnYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWVzc2FnZXNTZXJ2aWNlOiBGb3JtTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWRpdFNhdmVkTWV0aG9kc1NlcnZpY2U6IEVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGVyZm9ybWFuY2VTZXJ2aWNlOiBQZXJmb3JtYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZTogQ29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJpZXNBcGlTZXJ2aWNlOiBDb3VudHJpZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEluc3RydWN0aW9uU2VydmljZTogU2VuZEluc3RydWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdFRyYWNrZXJTZXJ2aWNlOiBTY3JpcHRUcmFja2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZTogQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoY29uZmlndXJhdGlvbjogSW5pdENvbmZpZ3VyYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzU2VydmljZS5pbml0KGNvbmZpZ3VyYXRpb24pO1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5zZXQoY29uZmlndXJhdGlvbi5jYXBhYmlsaXRpZXMpO1xuICAgIHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2Uuc2V0QWN0aXZlQ29uZmlnKG51bGwpO1xuICAgIHRoaXMucGVyZm9ybWFuY2VTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5zY3JpcHRUcmFja2VyU2VydmljZS5pbml0U2NyaXB0VHJhY2tpbmcoY29uZmlndXJhdGlvbi5lbnZpcm9ubWVudCk7XG4gICAgVHJhbnNsYXRlSGVscGVyLmluaXQodGhpcy50cmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKFRyYW5zbGF0ZUhlbHBlci5nZXRMb2NhbGUoY29uZmlndXJhdGlvbi5sb2NhbGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBjb25zdCBzdGF0dXMgPSBhd2FpdCB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXR1cyxcbiAgICAgIGlzUmV0cnlQYXltZW50RW5hYmxlZDogdGhpcy5pc1JldHJ5UGF5bWVudEVuYWJsZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNSZXRyeVBheW1lbnRFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVQcm9qZWN0Py5pc1JldHJ5UGF5bWVudEVuYWJsZWQgPz8gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYWxjdWxhdGVGaWVsZChcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkLFxuICAgIGZpZWxkczogRmllbGRbXSxcbiAgKTogUHJvbWlzZTxTeW5jUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5jYWxjdWxhdGVGaWVsZChjaGFuZ2VkRmllbGQsIGZpZWxkcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3VibWl0KGZpZWxkczogRmllbGRbXSk6IFByb21pc2U8e1xuICAgIHJlc3BvbnNlOiBTdWJtaXRSZXNwb25zZTtcbiAgICBuZXh0QWN0aW9uOiBOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ7XG4gIH0+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5zdWJtaXRXaXRoRmllbGRzKGZpZWxkcyk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEFuYWx5dGljcyhcbiAgICBhY3Rpb246IHN0cmluZyxcbiAgICB0eXBlOiBrZXlvZiB0eXBlb2YgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMsXG4gICAgb3B0aW9ucz86IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UsXG4gICk6IHZvaWQge1xuICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChhY3Rpb24sIHR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldFFyQ29kZUluaXRpYWxEYXRhKCk6IHtcbiAgICBxckNvZGU6IHN0cmluZztcbiAgICBwaWQ6IG51bWJlciB8IG51bGw7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBxckNvZGU6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UXJDb2RlKCksXG4gICAgICBwaWQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGlkKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNoUGF5bWVudERhdGEoKTogQ2FzaFBheW1lbnREYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5nZXRDYXNoUGF5bWVudERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZW5kWHNvbGxhTnVtYmVyV2l0aEVtYWlsKFxuICAgIHBhcmFtczogU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSxcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aEVtYWlsKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhTbXMoXG4gICAgcGFyYW1zOiBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlLFxuICApOiBQcm9taXNlPFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEluc3RydWN0aW9uU2VydmljZS5zZW5kSW5zdHJ1Y3Rpb25XaXRoU21zKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q291bnRyaWVzKCk6IFByb21pc2U8Q291bnRyeVJlc3BvbnNlWydjb3VudHJ5TGlzdCddPiB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyaWVzQXBpU2VydmljZS5yZXF1ZXN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50cnlTZXJ2aWNlLnNldENvdW50cnkoY291bnRyeSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291bnRyeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVQYXltZW50KGNvbmZpZzogUGF5bWVudENvbmZpZ3VyYXRpb24pOiBQYXltZW50IHtcbiAgICBjb25zdCBlbnJpY2hlZENvbmZpZyA9IHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2UuZW5yaWNoKGNvbmZpZyk7XG5cbiAgICB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLnVwZGF0ZVJlZmVyQnlQYXltZW50Q29uZmlndXJhdGlvbihlbnJpY2hlZENvbmZpZyk7XG4gICAgdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS5zZXRBY3RpdmVDb25maWcoZW5yaWNoZWRDb25maWcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWxpemU6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuaW5pdGlhbGl6ZShlbnJpY2hlZENvbmZpZyksXG4gICAgICBzdWJtaXQ6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0KCksXG4gICAgICBnZXRGaWVsZHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRzKCksXG4gICAgICBnZXRQaWQ6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGlkKCksXG4gICAgICBnZXRTdWJtaXRCdXR0b25UZXh0OiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFN1Ym1pdEJ1dHRvblRleHQoKSxcbiAgICAgIHZhbGlkYXRlOiBhc3luYyAoZmllbGQ6IEZpZWxkKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKSxcbiAgICAgIGdldEZpbmFuY2VEZXRhaWxzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKCksXG4gICAgICBydW5UaHJlZURzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnJ1blRocmVlRHMoKSxcbiAgICAgIGdldFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdGF0dXMoKSxcbiAgICAgIGxpc3RlbkZpbmFsU3RhdHVzOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmxpc3RlbkZpbmFsU3RhdHVzKCksXG4gICAgICBmaW5hbmNlRGV0YWlsc1VwZGF0ZXMkOiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJCxcbiAgICAgIGZvcm06IHtcbiAgICAgICAgZmllbGRzU3RhdHVzJDogdGhpcy5wYXltZW50U2VydmljZS5mb3JtRmllbGRzU3RhdHVzJCxcbiAgICAgICAgZ2V0Q29udHJvbENvbmZpZzogKGZpZWxkOiBGaWVsZCkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkQ29uZmlnKGZpZWxkKSxcbiAgICAgICAgY2hhbmdlRmllbGRWYWx1ZTogKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkVmFsdWUobmFtZSwgdmFsdWUpLFxuICAgICAgICBleHRlcm5hbENoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBGaWVsZE5hbWVzLCB2YWx1ZTogc3RyaW5nKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgY2hhbmdlRmllbGRTdGF0ZTogKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRTdGF0ZShuYW1lLCBzdGF0ZSksXG4gICAgICAgIHVwZGF0ZUZpZWxkRm9ybVN0YXRlOiAoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UudXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lLCBmb3JtU3RhdGUpLFxuICAgICAgICBnZXRGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogRmllbGROYW1lcykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSksXG4gICAgICAgIGZvcm1NZXNzYWdlcyQ6IHRoaXMuZm9ybU1lc3NhZ2VzU2VydmljZS5kYXRhJCxcbiAgICAgICAgY2FyZFR5cGVVcGRhdGVzJDogdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkLFxuICAgICAgICBnZXRGb3JtU3RhdHVzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm0/LnN0YXR1cyxcbiAgICAgICAgZ2V0Q29udHJvbFN0YXR1czogKG5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRDb250cm9sU3RhdHVzKG5hbWUpLFxuICAgICAgfSxcbiAgICAgIGFkZEV4dHJhRmllbGQ6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkID0+XG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuYWRkRXh0cmFGaWVsZChuYW1lLCB2YWx1ZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDcmVkaXRDYXJkU2VydmljZSgpOiBDcmVkaXRDYXJkIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0VHlwZUJ5TnVtYmVyOiAoY2FyZE51bWJlcjogc3RyaW5nKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldFR5cGVCeU51bWJlcihjYXJkTnVtYmVyKSxcbiAgICAgIGdldENyZWRpdENhcmRTZXR0aW5nczogKGNhcmRUeXBlOiBDcmVkaXRDYXJkVHlwZXMpID0+XG4gICAgICAgIHRoaXMuY3JlZGl0Q2FyZFNlcnZpY2UuZ2V0Q3JlZGl0Q2FyZFNldHRpbmdzKGNhcmRUeXBlKSxcbiAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBmbG93VXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxOZXh0QWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZmxvd1VwZGF0ZXMkO1xuICB9XG5cbiAgcHVibGljIGdldCBmaW5hbmNlRGV0YWlsc1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8RmluYW5jZURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcmRUeXBlVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxDcmVkaXRDYXJkU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZD86IG51bWJlcik6IExlZ2FsQ29tcG9uZW50Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5sZWdhbFNlcnZpY2UuZ2V0TGVnYWxDb21wb25lbnRDb25maWcocGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyQmFsYW5jZVZhbHVlKCk6IEJhbGFuY2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2VWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyTG9nSGFuZGxlcihoYW5kbGVyOiBMb2dIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLnJlZ2lzdGVyKGhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93RXJyb3JzKGVycm9yczogWHBzRXJyb3JbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudEZvcm0kKCk6IE9ic2VydmFibGU8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UucGF5bWVudEZvcm0kO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1SZXNwb25zZVZhbHVlKCk6IEZvcm1SZXNwb25zZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3BMZXZlbERvbWFpbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS50b3BMZXZlbERvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHb29nbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5pc0dvb2dsZVBheUluc3RhbnRGbG93RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tbW9uTG9nQXR0cmlidXRlcygpOiBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZS5nZXRBdHRyaWJ1dGVzKCk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2
|
-
export const PAYMENT_CLIENT_CORE_VERSION = '0.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const PAYMENT_CLIENT_CORE_VERSION = '0.5.0';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfQ0xJRU5UX0NPUkVfVkVSU0lPTiA9ICcwLjUuMCc7XG4iXX0=
|
|
@@ -13,7 +13,7 @@ import { CommonModule } from '@angular/common';
|
|
|
13
13
|
import { provideTranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
14
14
|
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
16
|
-
const PAYMENT_CLIENT_CORE_VERSION = '0.
|
|
16
|
+
const PAYMENT_CLIENT_CORE_VERSION = '0.5.0';
|
|
17
17
|
|
|
18
18
|
class TranslateHelper {
|
|
19
19
|
static init(service) {
|
|
@@ -2164,6 +2164,8 @@ class StatusResponse {
|
|
|
2164
2164
|
titleClass: parameters.status.title_class,
|
|
2165
2165
|
paymentCountryIso: parameters.status.statusData.payment_country_iso,
|
|
2166
2166
|
order: parameters.status.text.order,
|
|
2167
|
+
canRepeatPayment: parameters.status.statusData.canRepeatPayment,
|
|
2168
|
+
canRepeatProcessingPayment: parameters.status.statusData.canRepeatProcessingPayment,
|
|
2167
2169
|
};
|
|
2168
2170
|
this.status.autoCancellation =
|
|
2169
2171
|
parameters.payment_method?.auto_cancellation !== false;
|
|
@@ -2216,7 +2218,8 @@ class StatusResponse {
|
|
|
2216
2218
|
}
|
|
2217
2219
|
|
|
2218
2220
|
class StatusUpdatedActionCreator {
|
|
2219
|
-
constructor() {
|
|
2221
|
+
constructor(settingsService) {
|
|
2222
|
+
this.settingsService = settingsService;
|
|
2220
2223
|
this.type = 'status_updated';
|
|
2221
2224
|
}
|
|
2222
2225
|
getActionData({ statusResponse, isSavePaymentMethodMode, savePaymentMethodStatus, }) {
|
|
@@ -2238,18 +2241,21 @@ class StatusUpdatedActionCreator {
|
|
|
2238
2241
|
email: status.email,
|
|
2239
2242
|
isSavePaymentMethodMode: Boolean(isSavePaymentMethodMode),
|
|
2240
2243
|
savePaymentMethodStatus,
|
|
2244
|
+
canRepeatPayment: status.canRepeatPayment,
|
|
2245
|
+
canRepeatProcessingPayment: status.canRepeatProcessingPayment,
|
|
2246
|
+
isRetryPaymentEnabled: this.settingsService.unsafeProject?.isRetryPaymentEnabled ?? true,
|
|
2241
2247
|
},
|
|
2242
2248
|
};
|
|
2243
2249
|
}
|
|
2244
2250
|
isSuitable() {
|
|
2245
2251
|
return false;
|
|
2246
2252
|
}
|
|
2247
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusUpdatedActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2253
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusUpdatedActionCreator, deps: [{ token: SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2248
2254
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusUpdatedActionCreator }); }
|
|
2249
2255
|
}
|
|
2250
2256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusUpdatedActionCreator, decorators: [{
|
|
2251
2257
|
type: Injectable
|
|
2252
|
-
}] });
|
|
2258
|
+
}], ctorParameters: () => [{ type: SettingsService }] });
|
|
2253
2259
|
|
|
2254
2260
|
class ThreeDsActionCreator {
|
|
2255
2261
|
constructor(settingsService) {
|
|
@@ -6209,22 +6215,28 @@ class CheckStatusService extends XpsApiPart {
|
|
|
6209
6215
|
this.invoice = invoice;
|
|
6210
6216
|
}
|
|
6211
6217
|
request() {
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
.directPaymentRequest(requestParams)
|
|
6215
|
-
.then((xpsResponse) => {
|
|
6216
|
-
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
6217
|
-
const checkStatusResponse = this.responseFactory({
|
|
6218
|
-
status: response.status,
|
|
6219
|
-
final: response.final,
|
|
6220
|
-
isPaymentAccountAttached: response.is_payment_account_attached,
|
|
6221
|
-
});
|
|
6222
|
-
this.emitResponse(checkStatusResponse);
|
|
6223
|
-
})
|
|
6218
|
+
this.requestStatus(this.invoice)
|
|
6219
|
+
.then((checkStatusResponse) => this.emitResponse(checkStatusResponse))
|
|
6224
6220
|
.catch((error) => {
|
|
6225
6221
|
throw new ResponseError(error.message);
|
|
6226
6222
|
});
|
|
6227
6223
|
}
|
|
6224
|
+
/**
|
|
6225
|
+
* Performs a one-shot getstatus poll and returns the mapped response without
|
|
6226
|
+
* emitting it to the shared `response$` stream. Used by StatusService to
|
|
6227
|
+
* consult the authoritative terminal signal without interfering with the
|
|
6228
|
+
* listen-status polling loop. See PAYMENTS-29021.
|
|
6229
|
+
*/
|
|
6230
|
+
async requestStatus(invoice) {
|
|
6231
|
+
const requestParams = this.requestFactory(this.settingsService.token, invoice);
|
|
6232
|
+
const xpsResponse = await this.xpsApiService.directPaymentRequest(requestParams);
|
|
6233
|
+
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
6234
|
+
return this.responseFactory({
|
|
6235
|
+
status: response.status,
|
|
6236
|
+
final: response.final,
|
|
6237
|
+
isPaymentAccountAttached: response.is_payment_account_attached,
|
|
6238
|
+
});
|
|
6239
|
+
}
|
|
6228
6240
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckStatusService, deps: [{ token: XpsApiService }, { token: SettingsService }, { token: XpsResponseErrorsMappingService }, { token: checkStatusRequestFactoryToken }, { token: checkStatusResponseFactoryToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6229
6241
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckStatusService, providedIn: 'root' }); }
|
|
6230
6242
|
}
|
|
@@ -6697,8 +6709,12 @@ class WebsocketStatusService {
|
|
|
6697
6709
|
this.clearReinsuranceCheckTimeout();
|
|
6698
6710
|
}
|
|
6699
6711
|
if (message === WebSocketStatus.troubledStatus) {
|
|
6712
|
+
// A troubled status can be the terminal AFS-declined/refunded outcome.
|
|
6713
|
+
// Trigger a getstatus poll so listen-status can read the authoritative
|
|
6714
|
+
// verdict and finalize, instead of silently closing and leaving the UI
|
|
6715
|
+
// stuck on "Processing"
|
|
6700
6716
|
this.clearReinsuranceCheckTimeout();
|
|
6701
|
-
this.
|
|
6717
|
+
this.needCheckStatusSubject.next();
|
|
6702
6718
|
}
|
|
6703
6719
|
}
|
|
6704
6720
|
removeSubscription() {
|
|
@@ -6734,6 +6750,7 @@ class ListenStatusService {
|
|
|
6734
6750
|
this.destroy$ = new Subject();
|
|
6735
6751
|
this.listenInvoice = null;
|
|
6736
6752
|
this.websocketInvoice = null;
|
|
6753
|
+
this.pendingTerminalStatus = null;
|
|
6737
6754
|
}
|
|
6738
6755
|
listen(invoice) {
|
|
6739
6756
|
if (this.isListening) {
|
|
@@ -6752,6 +6769,7 @@ class ListenStatusService {
|
|
|
6752
6769
|
this.isListening = false;
|
|
6753
6770
|
this.listenInvoice = null;
|
|
6754
6771
|
this.websocketInvoice = null;
|
|
6772
|
+
this.pendingTerminalStatus = null;
|
|
6755
6773
|
this.websocketStatusService.closeWebSocket();
|
|
6756
6774
|
this.destroy$.next();
|
|
6757
6775
|
this.destroy$.complete();
|
|
@@ -6768,6 +6786,13 @@ class ListenStatusService {
|
|
|
6768
6786
|
if (!statusResponse?.status) {
|
|
6769
6787
|
return;
|
|
6770
6788
|
}
|
|
6789
|
+
const terminalStatus = this.pendingTerminalStatus;
|
|
6790
|
+
if (terminalStatus) {
|
|
6791
|
+
statusResponse.status.statusState = terminalStatus;
|
|
6792
|
+
if (terminalStatus === StatusEnum.canceled) {
|
|
6793
|
+
statusResponse.status.isCanceled = true;
|
|
6794
|
+
}
|
|
6795
|
+
}
|
|
6771
6796
|
const statusSettings = {
|
|
6772
6797
|
statusState: statusResponse.status.statusState,
|
|
6773
6798
|
isCancelUser: statusResponse.status.isCancelUser,
|
|
@@ -6794,6 +6819,14 @@ class ListenStatusService {
|
|
|
6794
6819
|
instanceId: statusResponse.status.pid,
|
|
6795
6820
|
});
|
|
6796
6821
|
}
|
|
6822
|
+
// A terminal verdict from the getstatus poll (e.g. AFS-declined and
|
|
6823
|
+
// refunded) is authoritative: finalize even when the full status still
|
|
6824
|
+
// reports needToCheck.
|
|
6825
|
+
if (terminalStatus) {
|
|
6826
|
+
this.stopListening();
|
|
6827
|
+
this.statusDoneSubject.next(statusSettings);
|
|
6828
|
+
return;
|
|
6829
|
+
}
|
|
6797
6830
|
if (statusSettings.needWebSocket) {
|
|
6798
6831
|
if (!this.websocketStatusService.isOpened ||
|
|
6799
6832
|
this.websocketInvoice !== invoice) {
|
|
@@ -6820,6 +6853,19 @@ class ListenStatusService {
|
|
|
6820
6853
|
this.websocketStatusService.closeWebSocket();
|
|
6821
6854
|
return;
|
|
6822
6855
|
}
|
|
6856
|
+
// AFS-declined / refunded transactions report a terminal failure here
|
|
6857
|
+
// (canceled/error + final) while the full status may still say
|
|
6858
|
+
// processing. Re-fetch the rich status, then flag it so the update
|
|
6859
|
+
// handler overrides the state to the terminal verdict and finalizes.
|
|
6860
|
+
const isTerminalFailure = checkStatusResponse.final === true &&
|
|
6861
|
+
(checkStatusResponse.status === StatusEnum.canceled ||
|
|
6862
|
+
checkStatusResponse.status === StatusEnum.error);
|
|
6863
|
+
if (isTerminalFailure) {
|
|
6864
|
+
this.pendingTerminalStatus = checkStatusResponse.status;
|
|
6865
|
+
this.statusService.request();
|
|
6866
|
+
this.websocketStatusService.closeWebSocket();
|
|
6867
|
+
return;
|
|
6868
|
+
}
|
|
6823
6869
|
if (checkStatusResponse.final === false) {
|
|
6824
6870
|
this.websocketStatusService.startReinsuranceCheckTimeout();
|
|
6825
6871
|
return;
|
|
@@ -7013,13 +7059,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7013
7059
|
}], ctorParameters: () => [{ type: StatusRequestService }, { type: ListenStatusService }, { type: SavedPaymentAccountChangesService }, { type: NextActionService }, { type: CheckStatusService }, { type: StatusUpdatedActionCreator }] });
|
|
7014
7060
|
|
|
7015
7061
|
class StatusService {
|
|
7016
|
-
constructor(urlService, statusRequestService, financeDetailsService, listenStatusService, nextActionService, savePaymentMethodStatusService, statusUpdatedActionCreator) {
|
|
7062
|
+
constructor(urlService, statusRequestService, financeDetailsService, listenStatusService, nextActionService, savePaymentMethodStatusService, checkStatusService, statusUpdatedActionCreator) {
|
|
7017
7063
|
this.urlService = urlService;
|
|
7018
7064
|
this.statusRequestService = statusRequestService;
|
|
7019
7065
|
this.financeDetailsService = financeDetailsService;
|
|
7020
7066
|
this.listenStatusService = listenStatusService;
|
|
7021
7067
|
this.nextActionService = nextActionService;
|
|
7022
7068
|
this.savePaymentMethodStatusService = savePaymentMethodStatusService;
|
|
7069
|
+
this.checkStatusService = checkStatusService;
|
|
7023
7070
|
this.statusUpdatedActionCreator = statusUpdatedActionCreator;
|
|
7024
7071
|
this.listenStatusSubscription = null;
|
|
7025
7072
|
}
|
|
@@ -7032,6 +7079,7 @@ class StatusService {
|
|
|
7032
7079
|
this.startWaitingStatusUpdates(params.invoice);
|
|
7033
7080
|
this.statusRequestService.request();
|
|
7034
7081
|
const statusResponse = await firstValueFrom(this.statusRequestService.response$);
|
|
7082
|
+
await this.applyPollTerminalStatus(statusResponse.status, params.invoice);
|
|
7035
7083
|
this.financeDetailsService.emitWithStatus(statusResponse.status);
|
|
7036
7084
|
return statusResponse.status;
|
|
7037
7085
|
}
|
|
@@ -7050,6 +7098,46 @@ class StatusService {
|
|
|
7050
7098
|
this.listenStatusSubscription = null;
|
|
7051
7099
|
this.listenStatusService.stopListening();
|
|
7052
7100
|
}
|
|
7101
|
+
/**
|
|
7102
|
+
* The full-status endpoint can report a non-terminal state (e.g.
|
|
7103
|
+
* `processing` with group `delivering`) for a transaction that has actually
|
|
7104
|
+
* been terminated — most notably a card payment declined by AFS and then
|
|
7105
|
+
* auto-refunded. In that scenario the lightweight getstatus poll is the only
|
|
7106
|
+
* authoritative terminal signal (`status: canceled`, `final: true`), so we
|
|
7107
|
+
* consult it and surface the terminal verdict to the partner instead of
|
|
7108
|
+
* leaving `statusState` stuck on `processing`.
|
|
7109
|
+
*/
|
|
7110
|
+
async applyPollTerminalStatus(status, invoice) {
|
|
7111
|
+
const nonTerminalStates = [
|
|
7112
|
+
StatusEnum.created,
|
|
7113
|
+
StatusEnum.awaiting,
|
|
7114
|
+
StatusEnum.processing,
|
|
7115
|
+
StatusEnum.held,
|
|
7116
|
+
];
|
|
7117
|
+
if (!status.needToCheck ||
|
|
7118
|
+
!nonTerminalStates.includes(status.statusState)) {
|
|
7119
|
+
return;
|
|
7120
|
+
}
|
|
7121
|
+
let pollStatus;
|
|
7122
|
+
try {
|
|
7123
|
+
pollStatus = await this.checkStatusService.requestStatus(invoice);
|
|
7124
|
+
}
|
|
7125
|
+
catch {
|
|
7126
|
+
return;
|
|
7127
|
+
}
|
|
7128
|
+
const terminalStatus = pollStatus.final === true &&
|
|
7129
|
+
(pollStatus.status === StatusEnum.canceled ||
|
|
7130
|
+
pollStatus.status === StatusEnum.error)
|
|
7131
|
+
? pollStatus.status
|
|
7132
|
+
: null;
|
|
7133
|
+
if (!terminalStatus) {
|
|
7134
|
+
return;
|
|
7135
|
+
}
|
|
7136
|
+
status.statusState = terminalStatus;
|
|
7137
|
+
if (terminalStatus === StatusEnum.canceled) {
|
|
7138
|
+
status.isCanceled = true;
|
|
7139
|
+
}
|
|
7140
|
+
}
|
|
7053
7141
|
getRequestParamsFromUrl(url) {
|
|
7054
7142
|
const searchParams = this.urlService.getSearchParams(url ?? '');
|
|
7055
7143
|
const keys = new Set(Object.keys(searchParams));
|
|
@@ -7085,7 +7173,7 @@ class StatusService {
|
|
|
7085
7173
|
this.nextActionService.emitFlowUpdates(this.statusUpdatedActionCreator.getActionData({ statusResponse }));
|
|
7086
7174
|
});
|
|
7087
7175
|
}
|
|
7088
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, deps: [{ token: UrlService }, { token: StatusRequestService }, { token: FinanceDetailsService }, { token: ListenStatusService }, { token: NextActionService }, { token: SavePaymentMethodStatusService }, { token: StatusUpdatedActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, deps: [{ token: UrlService }, { token: StatusRequestService }, { token: FinanceDetailsService }, { token: ListenStatusService }, { token: NextActionService }, { token: SavePaymentMethodStatusService }, { token: CheckStatusService }, { token: StatusUpdatedActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7089
7177
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, providedIn: 'root' }); }
|
|
7090
7178
|
}
|
|
7091
7179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, decorators: [{
|
|
@@ -7093,7 +7181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7093
7181
|
args: [{
|
|
7094
7182
|
providedIn: 'root',
|
|
7095
7183
|
}]
|
|
7096
|
-
}], ctorParameters: () => [{ type: UrlService }, { type: StatusRequestService }, { type: FinanceDetailsService }, { type: ListenStatusService }, { type: NextActionService }, { type: SavePaymentMethodStatusService }, { type: StatusUpdatedActionCreator }] });
|
|
7184
|
+
}], ctorParameters: () => [{ type: UrlService }, { type: StatusRequestService }, { type: FinanceDetailsService }, { type: ListenStatusService }, { type: NextActionService }, { type: SavePaymentMethodStatusService }, { type: CheckStatusService }, { type: StatusUpdatedActionCreator }] });
|
|
7097
7185
|
|
|
7098
7186
|
class CreditCardStateService extends EmitDataService {
|
|
7099
7187
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreditCardStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -9124,7 +9212,14 @@ class CoreLibraryService {
|
|
|
9124
9212
|
this.translateService.use(TranslateHelper.getLocale(configuration.locale));
|
|
9125
9213
|
}
|
|
9126
9214
|
async getStatus(url) {
|
|
9127
|
-
|
|
9215
|
+
const status = await this.statusService.getStatusWithUrlSearchParams(url);
|
|
9216
|
+
return {
|
|
9217
|
+
...status,
|
|
9218
|
+
isRetryPaymentEnabled: this.isRetryPaymentEnabled,
|
|
9219
|
+
};
|
|
9220
|
+
}
|
|
9221
|
+
get isRetryPaymentEnabled() {
|
|
9222
|
+
return this.settingsService.unsafeProject?.isRetryPaymentEnabled ?? true;
|
|
9128
9223
|
}
|
|
9129
9224
|
async calculateField(changedField, fields) {
|
|
9130
9225
|
return this.paymentService.calculateField(changedField, fields);
|