@xsolla/payment-client-core 0.1.4 → 0.1.5-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +26 -126
  2. package/esm2020/lib/core/device-finger-print/hash.type.mjs +1 -1
  3. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +72 -0
  4. package/esm2020/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +2 -0
  5. package/esm2020/lib/core/encrypt-credit-card/open-card.interface.mjs +2 -0
  6. package/esm2020/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +9 -0
  7. package/esm2020/lib/core/payment/actions/check-status/check-status.action.class.mjs +2 -3
  8. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
  9. package/esm2020/lib/core/payment/actions/next-actions.mjs +3 -1
  10. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +7 -0
  11. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.token.mjs +11 -0
  12. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +2 -0
  13. package/esm2020/lib/core/payment/credit-card-payment-methods-id.variable.mjs +15 -0
  14. package/esm2020/lib/core/payment/form/controls/phone-control.config.mjs +8 -0
  15. package/esm2020/lib/core/payment/form/converters/birth-date.converter.mjs +38 -0
  16. package/esm2020/lib/core/payment/form/converters/card-expiration.converter.mjs +36 -0
  17. package/esm2020/lib/core/payment/form/converters/cardholder-name.converter.mjs +25 -0
  18. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +21 -1
  19. package/esm2020/lib/core/payment/form/converters/cpf-name-regex.variable.mjs +2 -0
  20. package/esm2020/lib/core/payment/form/converters/cpf-name.converter.mjs +34 -0
  21. package/esm2020/lib/core/payment/form/converters/cpf-number.converter.mjs +31 -0
  22. package/esm2020/lib/core/payment/form/converters/cvv.converter.mjs +50 -0
  23. package/esm2020/lib/core/payment/form/converters/phone.converter.mjs +37 -0
  24. package/esm2020/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +2 -0
  25. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  26. package/esm2020/lib/core/payment/form/converters/text.converter.mjs +19 -0
  27. package/esm2020/lib/core/payment/form/form.module.mjs +25 -1
  28. package/esm2020/lib/core/payment/form/validators/birth-date.validator.mjs +37 -0
  29. package/esm2020/lib/core/payment/form/validators/max-length-validator.mjs +6 -0
  30. package/esm2020/lib/core/payment/form/validators/min-length-validator.mjs +6 -0
  31. package/esm2020/lib/core/payment/form/validators/phone-validator.mjs +6 -0
  32. package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +1 -1
  33. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +28 -19
  34. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  35. package/esm2020/lib/core/payment/initialize/response/initialize-response.token.mjs +8 -0
  36. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  37. package/esm2020/lib/core/payment/payment.service.mjs +19 -5
  38. package/esm2020/lib/core/payment/status/check-status/check-status.service.mjs +8 -13
  39. package/esm2020/lib/core/payment/status/check-status/response/check-status-response.class.mjs +1 -1
  40. package/esm2020/lib/core/payment/submit/submit.service.mjs +13 -16
  41. package/esm2020/lib/core/payment/sync/field-async-validation.interface.mjs +1 -1
  42. package/esm2020/lib/core/payment/sync/field-sync-state.interface.mjs +1 -1
  43. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  44. package/esm2020/lib/core/payment/sync/request/sync-request.token.mjs +8 -0
  45. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  46. package/esm2020/lib/core/payment/sync/response/sync-response.token.mjs +8 -0
  47. package/esm2020/lib/core/payment/sync/sync.service.mjs +15 -15
  48. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  49. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +8 -0
  50. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +8 -0
  51. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +7 -0
  52. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +8 -0
  53. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +7 -0
  54. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +8 -0
  55. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +2 -0
  56. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  57. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +7 -0
  58. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +2 -0
  59. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  60. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  61. package/esm2020/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +2 -0
  62. package/esm2020/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +2 -0
  63. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  64. package/esm2020/lib/core/payment/three-ds/three-ds-form.interface.mjs +2 -0
  65. package/esm2020/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +5 -0
  66. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +40 -0
  67. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +79 -0
  68. package/esm2020/lib/core/payment/xps-request-params.interface.mjs +2 -0
  69. package/esm2020/lib/core/payment/xps-request.interface.mjs +2 -0
  70. package/esm2020/lib/core/payment/xps-response.error.mjs +7 -0
  71. package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
  72. package/esm2020/lib/core-library.module.mjs +13 -4
  73. package/esm2020/lib/core-library.service.mjs +2 -2
  74. package/fesm2015/xsolla-payment-client-core.mjs +1897 -1057
  75. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  76. package/fesm2020/xsolla-payment-client-core.mjs +1850 -1017
  77. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  78. package/lib/core/device-finger-print/device-finger-print.service.d.ts +3 -31
  79. package/lib/core/device-finger-print/hash.type.d.ts +1 -1
  80. package/lib/core/encrypt-credit-card/encrypt-credit-card.service.d.ts +16 -0
  81. package/lib/core/encrypt-credit-card/encrypted-card.interface.d.ts +6 -0
  82. package/lib/core/encrypt-credit-card/open-card.interface.d.ts +6 -0
  83. package/lib/core/exceptions-handling/errors/encrypt-card-error.d.ts +5 -0
  84. package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
  85. package/lib/core/payment/actions/three-ds/three-ds.action.class.d.ts +8 -0
  86. package/lib/core/payment/actions/three-ds/three-ds.action.token.d.ts +4 -0
  87. package/lib/core/payment/actions/three-ds/three-ds.action.type.d.ts +5 -0
  88. package/lib/core/payment/credit-card-payment-methods-id.variable.d.ts +6 -0
  89. package/lib/core/payment/form/controls/phone-control.config.d.ts +6 -0
  90. package/lib/core/payment/form/converters/birth-date.converter.d.ts +13 -0
  91. package/lib/core/payment/form/converters/card-expiration.converter.d.ts +16 -0
  92. package/lib/core/payment/form/converters/cardholder-name.converter.d.ts +13 -0
  93. package/lib/core/payment/form/converters/cpf-name-regex.variable.d.ts +1 -0
  94. package/lib/core/payment/form/converters/cpf-name.converter.d.ts +13 -0
  95. package/lib/core/payment/form/converters/cpf-number.converter.d.ts +11 -0
  96. package/lib/core/payment/form/converters/cvv.converter.d.ts +18 -0
  97. package/lib/core/payment/form/converters/phone.converter.d.ts +13 -0
  98. package/lib/core/payment/form/converters/street-number/street-number-from-state.interface.d.ts +3 -0
  99. package/lib/core/payment/form/converters/street-number/street-number.converter.d.ts +14 -0
  100. package/lib/core/payment/form/converters/text.converter.d.ts +11 -0
  101. package/lib/core/payment/form/validators/birth-date.validator.d.ts +2 -0
  102. package/lib/core/payment/form/validators/max-length-validator.d.ts +2 -0
  103. package/lib/core/payment/form/validators/min-length-validator.d.ts +2 -0
  104. package/lib/core/payment/form/validators/phone-validator.d.ts +2 -0
  105. package/lib/core/payment/initialize/initialize-request-params.interface.d.ts +1 -0
  106. package/lib/core/payment/initialize/initialize.service.d.ts +8 -6
  107. package/lib/core/payment/initialize/{initialize-response.class.d.ts → response/initialize-response.class.d.ts} +2 -2
  108. package/lib/core/payment/payment.interface.d.ts +2 -2
  109. package/lib/core/payment/payment.service.d.ts +4 -2
  110. package/lib/core/payment/status/check-status/check-status.service.d.ts +3 -4
  111. package/lib/core/payment/submit/submit.service.d.ts +5 -4
  112. package/lib/core/payment/sync/field-async-validation.interface.d.ts +1 -1
  113. package/lib/core/payment/sync/field-sync-state.interface.d.ts +1 -1
  114. package/lib/core/payment/sync/{sync-request.class.d.ts → request/sync-request.class.d.ts} +3 -3
  115. package/lib/core/payment/sync/{sync-response.class.d.ts → response/sync-response.class.d.ts} +2 -2
  116. package/lib/core/payment/sync/sync.service.d.ts +8 -7
  117. package/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.d.ts +14 -0
  118. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.d.ts +10 -0
  119. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.d.ts +6 -0
  120. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.d.ts +5 -0
  121. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.d.ts +6 -0
  122. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.d.ts +7 -0
  123. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.d.ts +6 -0
  124. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.d.ts +7 -0
  125. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.d.ts +21 -0
  126. package/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.d.ts +5 -0
  127. package/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.d.ts +7 -0
  128. package/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.d.ts +20 -0
  129. package/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.d.ts +12 -0
  130. package/lib/core/payment/three-ds/reinsurance-check/timer.interface.d.ts +9 -0
  131. package/lib/core/payment/three-ds/three-ds-20/status-update.interface.d.ts +12 -0
  132. package/lib/core/payment/three-ds/three-ds-20/three-ds20.service.d.ts +32 -0
  133. package/lib/core/payment/three-ds/three-ds-form.interface.d.ts +11 -0
  134. package/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.d.ts +3 -0
  135. package/lib/core/payment/three-ds/three-ds.service.d.ts +14 -0
  136. package/lib/core/payment/xps-api/xps-api.service.d.ts +20 -0
  137. package/lib/core/payment/xps-request-params.interface.d.ts +3 -0
  138. package/lib/core/payment/xps-request.interface.d.ts +10 -0
  139. package/lib/core/payment/xps-response.error.d.ts +4 -0
  140. package/lib/core/payment/xps-response.interface.d.ts +2 -10
  141. package/package.json +2 -3
  142. package/xsolla-payment-client-core-0.1.5-1.tgz +0 -0
  143. package/esm2020/lib/core/device-finger-print/device-finger-print-components.interface.mjs +0 -2
  144. package/esm2020/lib/core/device-finger-print/fingerprint-js.interface.mjs +0 -2
  145. package/esm2020/lib/core/exceptions-handling/errors/default-terminal-error.class.mjs +0 -8
  146. package/esm2020/lib/core/payment/initialize/initialize-response.class.mjs +0 -43
  147. package/esm2020/lib/core/payment/initialize/initialize-response.token.mjs +0 -8
  148. package/esm2020/lib/core/payment/sync/sync-request.class.mjs +0 -31
  149. package/esm2020/lib/core/payment/sync/sync-request.token.mjs +0 -8
  150. package/esm2020/lib/core/payment/sync/sync-response.class.mjs +0 -17
  151. package/esm2020/lib/core/payment/sync/sync-response.token.mjs +0 -8
  152. package/esm2020/lib/core/payment/xps-request.abstract.mjs +0 -8
  153. package/lib/core/device-finger-print/device-finger-print-components.interface.d.ts +0 -4
  154. package/lib/core/device-finger-print/fingerprint-js.interface.d.ts +0 -6
  155. package/lib/core/exceptions-handling/errors/default-terminal-error.class.d.ts +0 -4
  156. package/lib/core/payment/xps-request.abstract.d.ts +0 -6
  157. package/xsolla-payment-client-core-0.1.4.tgz +0 -0
  158. /package/lib/core/payment/initialize/{initialize-response.token.d.ts → response/initialize-response.token.d.ts} +0 -0
  159. /package/lib/core/payment/sync/{sync-request.token.d.ts → request/sync-request.token.d.ts} +0 -0
  160. /package/lib/core/payment/sync/{sync-response.token.d.ts → response/sync-response.token.d.ts} +0 -0
@@ -1,51 +1,47 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { windowToken } from '../window.token';
3
- import { TerminalError } from '../exceptions-handling/errors/terminal-error.class';
4
- import { DefaultTerminalError } from '../exceptions-handling/errors/default-terminal-error.class';
5
- import { lastValueFrom } from 'rxjs';
6
- import { HttpHeaders } from '@angular/common/http';
1
+ import { Injectable } from '@angular/core';
7
2
  import * as i0 from "@angular/core";
8
- import * as i1 from "../http/secure-api/secure-api.service";
9
- import * as i2 from "../settings/settings.service";
3
+ import * as i1 from "../settings/settings.service";
10
4
  export class DeviceFingerPrintService {
11
- constructor(secureApi, settingsService, window) {
12
- this.secureApi = secureApi;
5
+ constructor(settingsService) {
13
6
  this.settingsService = settingsService;
14
- this.window = window;
15
- this.apiRoute = 'dfp';
16
- this.fingerprintApiUrl = 'https://afs.xsolla.com/dfp/api/v1/';
17
7
  }
18
- async init() {
8
+ init() {
19
9
  if (!this.settingsService.isInitialized) {
20
10
  return;
21
11
  }
22
- this.fingerprintJs = await this.loadFingerprintJs();
23
- this.hash = await this.buildHash();
24
- this.antifraudFingerprintLibrary =
25
- await this.loadAntifraudFingerprintLibrary();
12
+ this.antifraudFingerprintLibrary = this.loadAntifraudFingerprintLibrary();
13
+ this.hash = this.buildHash();
26
14
  }
27
- // eslint-disable-next-line @typescript-eslint/require-await
28
15
  async getHash() {
29
16
  return this.hash;
30
17
  }
31
- async loadFingerprintJs() {
32
- const { default: library, murmurX64Hash128: getHash } = await import('@fingerprintjs/fingerprintjs');
33
- return { library, getHash };
34
- }
35
18
  async loadAntifraudFingerprintLibrary() {
36
19
  const library = await import('@xsolla/antifraud-fingerprint');
37
- return library.default;
20
+ return library.AntifraudFingerprint;
21
+ }
22
+ async buildHash() {
23
+ const hash = await this.generate();
24
+ return JSON.stringify(hash);
25
+ }
26
+ async generate() {
27
+ const fingerprint = await this.makeAntifraudFingerprint();
28
+ if (!fingerprint) {
29
+ return null;
30
+ }
31
+ await fingerprint.dispatch().catch((err) => console.log(err));
32
+ const afsHash = await fingerprint.hash();
33
+ return { '301': afsHash };
38
34
  }
39
- // eslint-disable-next-line @typescript-eslint/require-await
40
35
  async makeAntifraudFingerprint() {
41
36
  if (!this.settingsService.token) {
42
37
  return null;
43
38
  }
44
- const antifraudFingerprint = this.antifraudFingerprintLibrary;
39
+ const antifraudFingerprint = await this
40
+ .antifraudFingerprintLibrary;
45
41
  try {
46
42
  return new antifraudFingerprint({
47
43
  api: {
48
- url: this.fingerprintApiUrl,
44
+ url: 'https://afs.xsolla.com/dfp/api/v1/',
49
45
  token: this.settingsService.token,
50
46
  timeout: 3000,
51
47
  },
@@ -59,109 +55,13 @@ export class DeviceFingerPrintService {
59
55
  return null;
60
56
  }
61
57
  }
62
- /**
63
- *Загружаем библиотеку, генерируем данные,
64
- *хешируем с помощью BASE64 и отправляем на бэкенд,
65
- *в ответ получаем dfp_hash.
66
- **/
67
- async buildHash() {
68
- const fingerPrintData = await this.generate();
69
- const hash = await this.send(fingerPrintData).catch(() => {
70
- return null;
71
- });
72
- return JSON.stringify(hash);
73
- }
74
- /**
75
- *Новая версия библиотеки содержит не все компоненты, некоторые приходится имплементировать самостоятельно
76
- **/
77
- getHasLiedResolution() {
78
- const { screen } = this.window;
79
- return (screen.width < screen.availWidth || screen.height < screen.availHeight);
80
- }
81
- /**
82
- *Бэкенд заточен под конкретные поля, которые необходимо смапить.
83
- **/
84
- getComponents(components) {
85
- return {
86
- user_agent: navigator.userAgent,
87
- language: components.languages.value?.shift()?.shift() ?? '',
88
- color_depth: components.colorDepth.value,
89
- device_memory: components.deviceMemory.value,
90
- hardware_concurrency: components.hardwareConcurrency.value,
91
- resolution: components.screenResolution.value,
92
- available_resolution: components.screenResolution.value,
93
- timezone_offset: new Date().getTimezoneOffset(),
94
- session_storage: components.sessionStorage.value ? 1 : 0,
95
- local_storage: components.localStorage.value ? 1 : 0,
96
- indexed_db: components.indexedDB.value ? 1 : 0,
97
- open_database: components.openDatabase.value ? 1 : 0,
98
- navigator_platform: components.platform.value,
99
- regular_plugins: components.plugins.value?.map((plugin) => plugin.name) ?? [],
100
- canvas: components.canvas.value?.text,
101
- webgl: components.canvas.value?.text,
102
- webgl_vendor: components.vendor.value,
103
- has_lied_resolution: this.getHasLiedResolution(),
104
- touch_support: Object.values(components.touchSupport.value ?? {}),
105
- js_fonts: components.fonts.value,
106
- };
107
- }
108
- /**
109
- * Получаем данные dfp с помощью FingerprintJS, мапим необходимые поля, добавляем хэш
110
- **/
111
- async generate() {
112
- const { library, getHash } = this.fingerprintJs;
113
- const fingerprint = await library.load();
114
- const commonFingerPrintData = await fingerprint.get();
115
- const fingerPrintData = this.getComponents(commonFingerPrintData.components);
116
- fingerPrintData.hash = getHash(JSON.stringify(fingerPrintData));
117
- return fingerPrintData;
118
- }
119
- /**
120
- * Отправка dfp на сервер, в ответ получаем dfp_hash
121
- **/
122
- async send(fingerPrintData) {
123
- const token = this.settingsService.token;
124
- if (token === null) {
125
- throw new DefaultTerminalError();
126
- }
127
- const requestBody = {
128
- access_token: token,
129
- 'dfp[200]': '',
130
- };
131
- requestBody['dfp[200]'] = btoa(encodeURIComponent(JSON.stringify(fingerPrintData)));
132
- return lastValueFrom(this.secureApi.post(this.apiRoute, new URLSearchParams(requestBody), {
133
- headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
134
- responseType: 'json',
135
- }))
136
- .then((response) => {
137
- return response.dfp_hash;
138
- })
139
- .then(async (hash) => {
140
- const fingerprint = await this.makeAntifraudFingerprint();
141
- if (!fingerprint) {
142
- return null;
143
- }
144
- await fingerprint
145
- ?.dispatch(hash['200'])
146
- .catch((err) => console.log(err));
147
- const afsHash = await fingerprint.hash();
148
- return { '301': afsHash, ...hash };
149
- })
150
- .catch((error) => {
151
- const response = error.getHttpErrorData().response;
152
- throw new TerminalError(response.data?.errors[0]?.message ?? '', response.data?.errors[0]?.support_code ?? '');
153
- });
154
- }
155
58
  }
156
- DeviceFingerPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, deps: [{ token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ DeviceFingerPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, deps: [{ token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
157
60
  DeviceFingerPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, providedIn: 'root' });
158
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, decorators: [{
159
62
  type: Injectable,
160
63
  args: [{
161
64
  providedIn: 'root',
162
65
  }]
163
- }], ctorParameters: function () { return [{ type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: undefined, decorators: [{
164
- type: Inject,
165
- args: [windowToken]
166
- }] }]; } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQVFsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU1uRCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQ21CLFNBQTBCLEVBQzFCLGVBQWdDLEVBRWhDLE1BQXNCO1FBSHRCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUVoQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVZ4QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLHNCQUFpQixHQUFHLG9DQUFvQyxDQUFDO0lBT3ZFLENBQUM7SUFFRyxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxJ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V0FBVyxHQUNmLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFFeEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE1BQU0sV0FBVztnQkFDZixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3RCLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXBDLE1BQU0sT0FBTyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUVuRCxNQUFNLElBQUksYUFBYSxDQUNyQixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRSxFQUN2QyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUM3QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEE5TVUsd0JBQXdCLGdGQVd6QixXQUFXO3lIQVhWLHdCQUF3QixjQUZ2QixNQUFNOzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVlJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmluZ2VycHJpbnRKcyB9IGZyb20gJy4vZmluZ2VycHJpbnQtanMuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IGZyb20gJ0B4c29sbGEvYW50aWZyYXVkLWZpbmdlcnByaW50JztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBIYXNoIH0gZnJvbSAnLi9oYXNoLnR5cGUnO1xuaW1wb3J0IHsgVGVybWluYWxFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Rlcm1pbmFsLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IERlZmF1bHRUZXJtaW5hbEVycm9yIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZGVmYXVsdC10ZXJtaW5hbC1lcnJvci5jbGFzcyc7XG5pbXBvcnQge1xuICBBZ2VudCxcbiAgR2V0UmVzdWx0LFxuICBzb3VyY2VzLFxuICBTb3VyY2VzVG9Db21wb25lbnRzLFxufSBmcm9tICdAZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzJztcbmltcG9ydCB7IERldmljZUZpbmdlclByaW50Q29tcG9uZW50cyB9IGZyb20gJy4vZGV2aWNlLWZpbmdlci1wcmludC1jb21wb25lbnRzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2h0dHAtZXJyb3IuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBoYXNoITogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ2RmcCc7XG4gIHByaXZhdGUgZmluZ2VycHJpbnRKcyE6IEZpbmdlcnByaW50SnM7XG4gIHByaXZhdGUgYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5ITogdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmluZ2VycHJpbnRBcGlVcmwgPSAnaHR0cHM6Ly9hZnMueHNvbGxhLmNvbS9kZnAvYXBpL3YxLyc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpOiBTZWN1cmVBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvd1xuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnNldHRpbmdzU2VydmljZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmluZ2VycHJpbnRKcyA9IGF3YWl0IHRoaXMubG9hZEZpbmdlcnByaW50SnMoKTtcbiAgICB0aGlzLmhhc2ggPSBhd2FpdCB0aGlzLmJ1aWxkSGFzaCgpO1xuICAgIHRoaXMuYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5ID1cbiAgICAgIGF3YWl0IHRoaXMubG9hZEFudGlmcmF1ZEZpbmdlcnByaW50TGlicmFyeSgpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHB1YmxpYyBhc3luYyBnZXRIYXNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZpbmdlcnByaW50SnMoKTogUHJvbWlzZTxGaW5nZXJwcmludEpzPiB7XG4gICAgY29uc3QgeyBkZWZhdWx0OiBsaWJyYXJ5LCBtdXJtdXJYNjRIYXNoMTI4OiBnZXRIYXNoIH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnQGZpbmdlcnByaW50anMvZmluZ2VycHJpbnRqcydcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgbGlicmFyeSwgZ2V0SGFzaCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5KCk6IFByb21pc2U8XG4gICAgdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50XG4gID4ge1xuICAgIGNvbnN0IGxpYnJhcnk6IHsgZGVmYXVsdDogdW5rbm93biB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgJ0B4c29sbGEvYW50aWZyYXVkLWZpbmdlcnByaW50J1xuICAgICk7XG5cbiAgICByZXR1cm4gbGlicmFyeS5kZWZhdWx0IGFzIHR5cGVvZiBYc29sbGFBbnRpZnJhdWRGaW5nZXJwcmludDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBwcml2YXRlIGFzeW5jIG1ha2VBbnRpZnJhdWRGaW5nZXJwcmludCgpOiBQcm9taXNlPFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFudGlmcmF1ZEZpbmdlcnByaW50OiB0eXBlb2YgWHNvbGxhQW50aWZyYXVkRmluZ2VycHJpbnQgPVxuICAgICAgdGhpcy5hbnRpZnJhdWRGaW5nZXJwcmludExpYnJhcnk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBhbnRpZnJhdWRGaW5nZXJwcmludCh7XG4gICAgICAgIGFwaToge1xuICAgICAgICAgIHVybDogdGhpcy5maW5nZXJwcmludEFwaVVybCxcbiAgICAgICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICAgICAgdGltZW91dDogMzAwMCxcbiAgICAgICAgfSxcbiAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICBudW06IDEsXG4gICAgICAgICAgdGltZW91dDogNTAwLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKtCX0LDQs9GA0YPQttCw0LXQvCDQsdC40LHQu9C40L7RgtC10LrRgywg0LPQtdC90LXRgNC40YDRg9C10Lwg0LTQsNC90L3Ri9C1LFxuICAgKtGF0LXRiNC40YDRg9C10Lwg0YEg0L/QvtC80L7RidGM0Y4gQkFTRTY0INC4INC+0YLQv9GA0LDQstC70Y/QtdC8INC90LAg0LHRjdC60LXQvdC0LFxuICAgKtCyINC+0YLQstC10YIg0L/QvtC70YPRh9Cw0LXQvCBkZnBfaGFzaC5cbiAgICoqL1xuICBwcml2YXRlIGFzeW5jIGJ1aWxkSGFzaCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGZpbmdlclByaW50RGF0YSA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUoKTtcbiAgICBjb25zdCBoYXNoOiBIYXNoID0gYXdhaXQgdGhpcy5zZW5kKGZpbmdlclByaW50RGF0YSkuY2F0Y2goKCkgPT4ge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoaGFzaCk7XG4gIH1cblxuICAvKipcbiAgICrQndC+0LLQsNGPINCy0LXRgNGB0LjRjyDQsdC40LHQu9C40L7RgtC10LrQuCDRgdC+0LTQtdGA0LbQuNGCINC90LUg0LLRgdC1INC60L7QvNC/0L7QvdC10L3RgtGLLCDQvdC10LrQvtGC0L7RgNGL0LUg0L/RgNC40YXQvtC00LjRgtGB0Y8g0LjQvNC/0LvQtdC80LXQvdGC0LjRgNC+0LLQsNGC0Ywg0YHQsNC80L7RgdGC0L7Rj9GC0LXQu9GM0L3QvlxuICAgKiovXG4gIHByaXZhdGUgZ2V0SGFzTGllZFJlc29sdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyBzY3JlZW4gfSA9IHRoaXMud2luZG93O1xuICAgIHJldHVybiAoXG4gICAgICBzY3JlZW4ud2lkdGggPCBzY3JlZW4uYXZhaWxXaWR0aCB8fCBzY3JlZW4uaGVpZ2h0IDwgc2NyZWVuLmF2YWlsSGVpZ2h0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKtCR0Y3QutC10L3QtCDQt9Cw0YLQvtGH0LXQvSDQv9C+0LQg0LrQvtC90LrRgNC10YLQvdGL0LUg0L/QvtC70Y8sINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LzQsNC/0LjRgtGMLlxuICAgKiovXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50cyhcbiAgICBjb21wb25lbnRzOiBTb3VyY2VzVG9Db21wb25lbnRzPHR5cGVvZiBzb3VyY2VzPlxuICApOiBEZXZpY2VGaW5nZXJQcmludENvbXBvbmVudHMge1xuICAgIHJldHVybiB7XG4gICAgICB1c2VyX2FnZW50OiBuYXZpZ2F0b3IudXNlckFnZW50LFxuICAgICAgbGFuZ3VhZ2U6IGNvbXBvbmVudHMubGFuZ3VhZ2VzLnZhbHVlPy5zaGlmdCgpPy5zaGlmdCgpID8/ICcnLFxuICAgICAgY29sb3JfZGVwdGg6IGNvbXBvbmVudHMuY29sb3JEZXB0aC52YWx1ZSxcbiAgICAgIGRldmljZV9tZW1vcnk6IGNvbXBvbmVudHMuZGV2aWNlTWVtb3J5LnZhbHVlLFxuICAgICAgaGFyZHdhcmVfY29uY3VycmVuY3k6IGNvbXBvbmVudHMuaGFyZHdhcmVDb25jdXJyZW5jeS52YWx1ZSxcbiAgICAgIHJlc29sdXRpb246IGNvbXBvbmVudHMuc2NyZWVuUmVzb2x1dGlvbi52YWx1ZSxcbiAgICAgIGF2YWlsYWJsZV9yZXNvbHV0aW9uOiBjb21wb25lbnRzLnNjcmVlblJlc29sdXRpb24udmFsdWUsXG4gICAgICB0aW1lem9uZV9vZmZzZXQ6IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgIHNlc3Npb25fc3RvcmFnZTogY29tcG9uZW50cy5zZXNzaW9uU3RvcmFnZS52YWx1ZSA/IDEgOiAwLFxuICAgICAgbG9jYWxfc3RvcmFnZTogY29tcG9uZW50cy5sb2NhbFN0b3JhZ2UudmFsdWUgPyAxIDogMCxcbiAgICAgIGluZGV4ZWRfZGI6IGNvbXBvbmVudHMuaW5kZXhlZERCLnZhbHVlID8gMSA6IDAsXG4gICAgICBvcGVuX2RhdGFiYXNlOiBjb21wb25lbnRzLm9wZW5EYXRhYmFzZS52YWx1ZSA/IDEgOiAwLFxuICAgICAgbmF2aWdhdG9yX3BsYXRmb3JtOiBjb21wb25lbnRzLnBsYXRmb3JtLnZhbHVlLFxuICAgICAgcmVndWxhcl9wbHVnaW5zOlxuICAgICAgICBjb21wb25lbnRzLnBsdWdpbnMudmFsdWU/Lm1hcCgocGx1Z2luKSA9PiBwbHVnaW4ubmFtZSkgPz8gW10sXG4gICAgICBjYW52YXM6IGNvbXBvbmVudHMuY2FudmFzLnZhbHVlPy50ZXh0LFxuICAgICAgd2ViZ2w6IGNvbXBvbmVudHMuY2FudmFzLnZhbHVlPy50ZXh0LFxuICAgICAgd2ViZ2xfdmVuZG9yOiBjb21wb25lbnRzLnZlbmRvci52YWx1ZSxcbiAgICAgIGhhc19saWVkX3Jlc29sdXRpb246IHRoaXMuZ2V0SGFzTGllZFJlc29sdXRpb24oKSxcbiAgICAgIHRvdWNoX3N1cHBvcnQ6IE9iamVjdC52YWx1ZXMoY29tcG9uZW50cy50b3VjaFN1cHBvcnQudmFsdWUgPz8ge30pLFxuICAgICAganNfZm9udHM6IGNvbXBvbmVudHMuZm9udHMudmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDQn9C+0LvRg9GH0LDQtdC8INC00LDQvdC90YvQtSBkZnAg0YEg0L/QvtC80L7RidGM0Y4gRmluZ2VycHJpbnRKUywg0LzQsNC/0LjQvCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC/0L7Qu9GPLCDQtNC+0LHQsNCy0LvRj9C10Lwg0YXRjdGIXG4gICAqKi9cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZSgpOiBQcm9taXNlPERldmljZUZpbmdlclByaW50Q29tcG9uZW50cz4ge1xuICAgIGNvbnN0IHsgbGlicmFyeSwgZ2V0SGFzaCB9ID0gdGhpcy5maW5nZXJwcmludEpzO1xuICAgIGNvbnN0IGZpbmdlcnByaW50OiBBZ2VudCA9IGF3YWl0IGxpYnJhcnkubG9hZCgpO1xuICAgIGNvbnN0IGNvbW1vbkZpbmdlclByaW50RGF0YTogR2V0UmVzdWx0ID0gYXdhaXQgZmluZ2VycHJpbnQuZ2V0KCk7XG5cbiAgICBjb25zdCBmaW5nZXJQcmludERhdGE6IERldmljZUZpbmdlclByaW50Q29tcG9uZW50cyA9IHRoaXMuZ2V0Q29tcG9uZW50cyhcbiAgICAgIGNvbW1vbkZpbmdlclByaW50RGF0YS5jb21wb25lbnRzXG4gICAgKTtcbiAgICBmaW5nZXJQcmludERhdGEuaGFzaCA9IGdldEhhc2goSlNPTi5zdHJpbmdpZnkoZmluZ2VyUHJpbnREYXRhKSk7XG4gICAgcmV0dXJuIGZpbmdlclByaW50RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiDQntGC0L/RgNCw0LLQutCwIGRmcCDQvdCwINGB0LXRgNCy0LXRgCwg0LIg0L7RgtCy0LXRgiDQv9C+0LvRg9GH0LDQtdC8IGRmcF9oYXNoXG4gICAqKi9cbiAgcHJpdmF0ZSBhc3luYyBzZW5kKFxuICAgIGZpbmdlclByaW50RGF0YTogRGV2aWNlRmluZ2VyUHJpbnRDb21wb25lbnRzXG4gICk6IFByb21pc2U8eyAnMjAwJzogc3RyaW5nIH0gfCBudWxsPiB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbjtcblxuICAgIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IERlZmF1bHRUZXJtaW5hbEVycm9yKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdEJvZHk6IHsgYWNjZXNzX3Rva2VuOiBzdHJpbmc7ICdkZnBbMjAwXSc6IHN0cmluZyB9ID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiB0b2tlbixcbiAgICAgICdkZnBbMjAwXSc6ICcnLFxuICAgIH07XG5cbiAgICByZXF1ZXN0Qm9keVsnZGZwWzIwMF0nXSA9IGJ0b2EoXG4gICAgICBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmluZ2VyUHJpbnREYXRhKSlcbiAgICApO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkucG9zdDx7IGRmcF9oYXNoOiB7ICcyMDAnOiBzdHJpbmcgfTsgdXNlcl9pZD86IHN0cmluZyB9PihcbiAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyhcbiAgICAgICAgICByZXF1ZXN0Qm9keSBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgKSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICApLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiB7IGRmcF9oYXNoOiB7ICcyMDAnOiBzdHJpbmcgfTsgdXNlcl9pZD86IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kZnBfaGFzaDtcbiAgICAgIH0pXG4gICAgICAudGhlbihhc3luYyAoaGFzaDogeyAnMjAwJzogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3QgZmluZ2VycHJpbnQ6IFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IHwgbnVsbCA9XG4gICAgICAgICAgYXdhaXQgdGhpcy5tYWtlQW50aWZyYXVkRmluZ2VycHJpbnQoKTtcblxuICAgICAgICBpZiAoIWZpbmdlcnByaW50KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBmaW5nZXJwcmludFxuICAgICAgICAgID8uZGlzcGF0Y2goaGFzaFsnMjAwJ10pXG4gICAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUubG9nKGVycikpO1xuXG4gICAgICAgIGNvbnN0IGFmc0hhc2ggPSBhd2FpdCBmaW5nZXJwcmludC5oYXNoKCk7XG5cbiAgICAgICAgcmV0dXJuIHsgJzMwMSc6IGFmc0hhc2gsIC4uLmhhc2ggfTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5nZXRIdHRwRXJyb3JEYXRhKCkucmVzcG9uc2U7XG5cbiAgICAgICAgdGhyb3cgbmV3IFRlcm1pbmFsRXJyb3IoXG4gICAgICAgICAgcmVzcG9uc2UuZGF0YT8uZXJyb3JzWzBdPy5tZXNzYWdlID8/ICcnLFxuICAgICAgICAgIHJlc3BvbnNlLmRhdGE/LmVycm9yc1swXT8uc3VwcG9ydF9jb2RlID8/ICcnXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
66
+ }], ctorParameters: function () { return [{ type: i1.SettingsService }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzNDLE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFBb0MsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUVqRSxJQUFJO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTyxLQUFLLENBQUMsK0JBQStCO1FBRzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFOUQsT0FBTyxPQUFPLENBQUMsb0JBQXlELENBQUM7SUFDM0UsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUFTO1FBQ3JCLE1BQU0sSUFBSSxHQUFTLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVE7UUFDcEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU5RCxNQUFNLE9BQU8sR0FBRyxNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxLQUFLLENBQUMsd0JBQXdCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxvQkFBb0IsR0FBc0MsTUFBTSxJQUFJO2FBQ3ZFLDJCQUEyQixDQUFDO1FBRS9CLElBQUk7WUFDRixPQUFPLElBQUksb0JBQW9CLENBQUM7Z0JBQzlCLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsb0NBQW9DO29CQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO29CQUNqQyxPQUFPLEVBQUUsSUFBSTtpQkFDZDtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLENBQUM7b0JBQ04sT0FBTyxFQUFFLEdBQUc7aUJBQ2I7YUFDRixDQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sS0FBYyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOztxSEFyRVUsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgWHNvbGxhQW50aWZyYXVkRmluZ2VycHJpbnQgZnJvbSAnQHhzb2xsYS9hbnRpZnJhdWQtZmluZ2VycHJpbnQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBIYXNoIH0gZnJvbSAnLi9oYXNoLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBoYXNoITogUHJvbWlzZTxzdHJpbmc+O1xuICBwcml2YXRlIGFudGlmcmF1ZEZpbmdlcnByaW50TGlicmFyeSE6IFByb21pc2U8XG4gICAgdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50XG4gID47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UpIHt9XG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNldHRpbmdzU2VydmljZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5ID0gdGhpcy5sb2FkQW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5KCk7XG4gICAgdGhpcy5oYXNoID0gdGhpcy5idWlsZEhhc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRIYXNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEFudGlmcmF1ZEZpbmdlcnByaW50TGlicmFyeSgpOiBQcm9taXNlPFxuICAgIHR5cGVvZiBYc29sbGFBbnRpZnJhdWRGaW5nZXJwcmludFxuICA+IHtcbiAgICBjb25zdCBsaWJyYXJ5ID0gYXdhaXQgaW1wb3J0KCdAeHNvbGxhL2FudGlmcmF1ZC1maW5nZXJwcmludCcpO1xuXG4gICAgcmV0dXJuIGxpYnJhcnkuQW50aWZyYXVkRmluZ2VycHJpbnQgYXMgdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZEhhc2goKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoYXNoOiBIYXNoID0gYXdhaXQgdGhpcy5nZW5lcmF0ZSgpO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShoYXNoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2VuZXJhdGUoKTogUHJvbWlzZTxIYXNoIHwgbnVsbD4ge1xuICAgIGNvbnN0IGZpbmdlcnByaW50ID0gYXdhaXQgdGhpcy5tYWtlQW50aWZyYXVkRmluZ2VycHJpbnQoKTtcbiAgICBpZiAoIWZpbmdlcnByaW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhd2FpdCBmaW5nZXJwcmludC5kaXNwYXRjaCgpLmNhdGNoKChlcnIpID0+IGNvbnNvbGUubG9nKGVycikpO1xuXG4gICAgY29uc3QgYWZzSGFzaCA9IGF3YWl0IGZpbmdlcnByaW50Lmhhc2goKTtcblxuICAgIHJldHVybiB7ICczMDEnOiBhZnNIYXNoIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1ha2VBbnRpZnJhdWRGaW5nZXJwcmludCgpOiBQcm9taXNlPFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFudGlmcmF1ZEZpbmdlcnByaW50OiB0eXBlb2YgWHNvbGxhQW50aWZyYXVkRmluZ2VycHJpbnQgPSBhd2FpdCB0aGlzXG4gICAgICAuYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5O1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgYW50aWZyYXVkRmluZ2VycHJpbnQoe1xuICAgICAgICBhcGk6IHtcbiAgICAgICAgICB1cmw6ICdodHRwczovL2Fmcy54c29sbGEuY29tL2RmcC9hcGkvdjEvJyxcbiAgICAgICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICAgICAgdGltZW91dDogMzAwMCxcbiAgICAgICAgfSxcbiAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICBudW06IDEsXG4gICAgICAgICAgdGltZW91dDogNTAwLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9oYXNoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhhc2ggPSB7ICcyMDAnOiBzdHJpbmcgfSB8IG51bGw7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9oYXNoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhhc2ggPSB7ICczMDEnOiBzdHJpbmcgfSB8IG51bGw7XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import JSEncrypt from 'jsencrypt';
2
+ import { Injectable } from '@angular/core';
3
+ import { EncryptCreditCardError } from '../exceptions-handling/errors/encrypt-card-error';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../credit-card/credit-card.service";
6
+ export class EncryptCreditCardService {
7
+ constructor(creditCardService) {
8
+ this.creditCardService = creditCardService;
9
+ this.secureFieldNames = [
10
+ 'xps_card_number',
11
+ 'xps_cvv',
12
+ 'xps_extra_cvv',
13
+ 'xps_card_year',
14
+ 'xps_card_month',
15
+ ];
16
+ this.jsEncrypt = new JSEncrypt();
17
+ }
18
+ setPublicKey(publicKey) {
19
+ this.jsEncrypt.setPublicKey(publicKey);
20
+ }
21
+ encryptCreditCard(request) {
22
+ if (request.xps_card_number) {
23
+ const openCard = this.createOpenCard(request);
24
+ request.xps_open_card = JSON.stringify(openCard);
25
+ }
26
+ const encryptedCard = this.createEncryptedCard(request);
27
+ if (!request.xps_encrypted_card && JSON.stringify(encryptedCard) !== '{}') {
28
+ request.xps_encrypted_card = this.encrypt(JSON.stringify(encryptedCard));
29
+ }
30
+ this.secureFieldNames.forEach((secureFieldName) => {
31
+ delete request[secureFieldName];
32
+ });
33
+ return request;
34
+ }
35
+ encrypt(value) {
36
+ if (!this.jsEncrypt?.getPublicKey()) {
37
+ throw new EncryptCreditCardError('Empty public key');
38
+ }
39
+ const encryptedValue = this.jsEncrypt.encrypt(value);
40
+ if (!encryptedValue) {
41
+ throw new EncryptCreditCardError('Encryption returns false instead of encrypted string');
42
+ }
43
+ return encryptedValue;
44
+ }
45
+ createEncryptedCard(request) {
46
+ const encryptedCard = {
47
+ card_number: request.xps_card_number,
48
+ card_year: request.xps_card_year,
49
+ card_month: request.xps_card_month,
50
+ cvv: request.xps_cvv,
51
+ };
52
+ if (request.xps_extra_cvv) {
53
+ encryptedCard.cvv = request.xps_extra_cvv;
54
+ }
55
+ return encryptedCard;
56
+ }
57
+ createOpenCard(request) {
58
+ return {
59
+ card_bin: this.creditCardService.getBinNumber(request.xps_card_number),
60
+ card_suffix: this.creditCardService.getAccountSuffix(request.xps_card_number),
61
+ card_year: request.xps_card_year,
62
+ card_month: request.xps_card_month,
63
+ };
64
+ }
65
+ }
66
+ EncryptCreditCardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EncryptCreditCardService, deps: [{ token: i1.CreditCardService }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ EncryptCreditCardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EncryptCreditCardService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EncryptCreditCardService, decorators: [{
69
+ type: Injectable,
70
+ args: [{ providedIn: 'root' }]
71
+ }], ctorParameters: function () { return [{ type: i1.CreditCardService }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1jcmVkaXQtY2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZW5jcnlwdC1jcmVkaXQtY2FyZC9lbmNyeXB0LWNyZWRpdC1jYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0RBQWtELENBQUM7OztBQU8xRixNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQW9DLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnZELHFCQUFnQixHQUEyQjtZQUMxRCxpQkFBaUI7WUFDakIsU0FBUztZQUNULGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1NBQ2pCLENBQUM7UUFHQSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFpQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0saUJBQWlCLENBQ3RCLE9BQTBCO1FBRTFCLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUMzQixNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsRDtRQUVELE1BQU0sYUFBYSxHQUFrQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN6RSxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFO1lBQ2pFLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFO1lBQ25DLE1BQU0sSUFBSSxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLElBQUksc0JBQXNCLENBQzlCLHNEQUFzRCxDQUN2RCxDQUFDO1NBQ0g7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBMEI7UUFDcEQsTUFBTSxhQUFhLEdBQWtCO1lBQ25DLFdBQVcsRUFBRSxPQUFPLENBQUMsZUFBeUI7WUFDOUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxhQUF1QjtZQUMxQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGNBQXdCO1lBQzVDLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBaUI7U0FDL0IsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6QixhQUFhLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUF1QixDQUFDO1NBQ3JEO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUEwQjtRQUMvQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQzNDLE9BQU8sQ0FBQyxlQUF5QixDQUNsQztZQUNELFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQ2xELE9BQU8sQ0FBQyxlQUF5QixDQUNsQztZQUNELFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBdUI7WUFDMUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxjQUF3QjtTQUM3QyxDQUFDO0lBQ0osQ0FBQzs7cUhBbEZVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRFgsTUFBTTsyRkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBKU0VuY3J5cHQgZnJvbSAnanNlbmNyeXB0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVuY3J5cHRDcmVkaXRDYXJkRXJyb3IgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbmNyeXB0LWNhcmQtZXJyb3InO1xuaW1wb3J0IHsgWHBzQXBpUGFydFJlcXVlc3QgfSBmcm9tICcuLi9wYXltZW50L3hwcy1hcGktcGFydC1yZXF1ZXN0LmFic3RyYWN0JztcbmltcG9ydCB7IENyZWRpdENhcmRTZXJ2aWNlIH0gZnJvbSAnLi4vY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0ZWRDYXJkIH0gZnJvbSAnLi9lbmNyeXB0ZWQtY2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3BlbkNhcmQgfSBmcm9tICcuL29wZW4tY2FyZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkganNFbmNyeXB0ITogSlNFbmNyeXB0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlRmllbGROYW1lczogQXJyYXk8YHhwc18ke3N0cmluZ31gPiA9IFtcbiAgICAneHBzX2NhcmRfbnVtYmVyJyxcbiAgICAneHBzX2N2dicsXG4gICAgJ3hwc19leHRyYV9jdnYnLFxuICAgICd4cHNfY2FyZF95ZWFyJyxcbiAgICAneHBzX2NhcmRfbW9udGgnLFxuICBdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSkge1xuICAgIHRoaXMuanNFbmNyeXB0ID0gbmV3IEpTRW5jcnlwdCgpO1xuICB9XG5cbiAgcHVibGljIHNldFB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuanNFbmNyeXB0LnNldFB1YmxpY0tleShwdWJsaWNLZXkpO1xuICB9XG5cbiAgcHVibGljIGVuY3J5cHRDcmVkaXRDYXJkPFQgZXh0ZW5kcyBYcHNBcGlQYXJ0UmVxdWVzdD4oXG4gICAgcmVxdWVzdDogWHBzQXBpUGFydFJlcXVlc3RcbiAgKTogVCB7XG4gICAgaWYgKHJlcXVlc3QueHBzX2NhcmRfbnVtYmVyKSB7XG4gICAgICBjb25zdCBvcGVuQ2FyZDogT3BlbkNhcmQgPSB0aGlzLmNyZWF0ZU9wZW5DYXJkKHJlcXVlc3QpO1xuICAgICAgcmVxdWVzdC54cHNfb3Blbl9jYXJkID0gSlNPTi5zdHJpbmdpZnkob3BlbkNhcmQpO1xuICAgIH1cblxuICAgIGNvbnN0IGVuY3J5cHRlZENhcmQ6IEVuY3J5cHRlZENhcmQgPSB0aGlzLmNyZWF0ZUVuY3J5cHRlZENhcmQocmVxdWVzdCk7XG5cbiAgICBpZiAoIXJlcXVlc3QueHBzX2VuY3J5cHRlZF9jYXJkICYmIEpTT04uc3RyaW5naWZ5KGVuY3J5cHRlZENhcmQpICE9PSAne30nKSB7XG4gICAgICByZXF1ZXN0Lnhwc19lbmNyeXB0ZWRfY2FyZCA9IHRoaXMuZW5jcnlwdChKU09OLnN0cmluZ2lmeShlbmNyeXB0ZWRDYXJkKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWN1cmVGaWVsZE5hbWVzLmZvckVhY2goKHNlY3VyZUZpZWxkTmFtZTogYHhwc18ke3N0cmluZ31gKSA9PiB7XG4gICAgICBkZWxldGUgcmVxdWVzdFtzZWN1cmVGaWVsZE5hbWVdO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcXVlc3QgYXMgVDtcbiAgfVxuXG4gIHByaXZhdGUgZW5jcnlwdCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuanNFbmNyeXB0Py5nZXRQdWJsaWNLZXkoKSkge1xuICAgICAgdGhyb3cgbmV3IEVuY3J5cHRDcmVkaXRDYXJkRXJyb3IoJ0VtcHR5IHB1YmxpYyBrZXknKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmNyeXB0ZWRWYWx1ZSA9IHRoaXMuanNFbmNyeXB0LmVuY3J5cHQodmFsdWUpO1xuXG4gICAgaWYgKCFlbmNyeXB0ZWRWYWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IEVuY3J5cHRDcmVkaXRDYXJkRXJyb3IoXG4gICAgICAgICdFbmNyeXB0aW9uIHJldHVybnMgZmFsc2UgaW5zdGVhZCBvZiBlbmNyeXB0ZWQgc3RyaW5nJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW5jcnlwdGVkVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVuY3J5cHRlZENhcmQocmVxdWVzdDogWHBzQXBpUGFydFJlcXVlc3QpOiBFbmNyeXB0ZWRDYXJkIHtcbiAgICBjb25zdCBlbmNyeXB0ZWRDYXJkOiBFbmNyeXB0ZWRDYXJkID0ge1xuICAgICAgY2FyZF9udW1iZXI6IHJlcXVlc3QueHBzX2NhcmRfbnVtYmVyIGFzIHN0cmluZyxcbiAgICAgIGNhcmRfeWVhcjogcmVxdWVzdC54cHNfY2FyZF95ZWFyIGFzIHN0cmluZyxcbiAgICAgIGNhcmRfbW9udGg6IHJlcXVlc3QueHBzX2NhcmRfbW9udGggYXMgc3RyaW5nLFxuICAgICAgY3Z2OiByZXF1ZXN0Lnhwc19jdnYgYXMgc3RyaW5nLFxuICAgIH07XG5cbiAgICBpZiAocmVxdWVzdC54cHNfZXh0cmFfY3Z2KSB7XG4gICAgICBlbmNyeXB0ZWRDYXJkLmN2diA9IHJlcXVlc3QueHBzX2V4dHJhX2N2diBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVuY3J5cHRlZENhcmQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU9wZW5DYXJkKHJlcXVlc3Q6IFhwc0FwaVBhcnRSZXF1ZXN0KTogT3BlbkNhcmQge1xuICAgIHJldHVybiB7XG4gICAgICBjYXJkX2JpbjogdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRCaW5OdW1iZXIoXG4gICAgICAgIHJlcXVlc3QueHBzX2NhcmRfbnVtYmVyIGFzIHN0cmluZ1xuICAgICAgKSxcbiAgICAgIGNhcmRfc3VmZml4OiB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldEFjY291bnRTdWZmaXgoXG4gICAgICAgIHJlcXVlc3QueHBzX2NhcmRfbnVtYmVyIGFzIHN0cmluZ1xuICAgICAgKSxcbiAgICAgIGNhcmRfeWVhcjogcmVxdWVzdC54cHNfY2FyZF95ZWFyIGFzIHN0cmluZyxcbiAgICAgIGNhcmRfbW9udGg6IHJlcXVlc3QueHBzX2NhcmRfbW9udGggYXMgc3RyaW5nLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGVkLWNhcmQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZW5jcnlwdC1jcmVkaXQtY2FyZC9lbmNyeXB0ZWQtY2FyZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRW5jcnlwdGVkQ2FyZCB7XG4gIGNhcmRfbnVtYmVyOiBzdHJpbmc7XG4gIGNhcmRfeWVhcjogc3RyaW5nO1xuICBjYXJkX21vbnRoOiBzdHJpbmc7XG4gIGN2djogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jYXJkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2VuY3J5cHQtY3JlZGl0LWNhcmQvb3Blbi1jYXJkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPcGVuQ2FyZCB7XG4gIGNhcmRfYmluOiBzdHJpbmc7XG4gIGNhcmRfc3VmZml4OiBzdHJpbmc7XG4gIGNhcmRfeWVhcjogc3RyaW5nO1xuICBjYXJkX21vbnRoOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { TaggedError } from './tagged-error.class';
2
+ import { ErrorTags } from './elk-error-types.enum';
3
+ export class EncryptCreditCardError extends TaggedError {
4
+ constructor(message, tags) {
5
+ tags = tags ? [...tags, ErrorTags.ENCRYPT] : [ErrorTags.ENCRYPT];
6
+ super(message, tags);
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1jYXJkLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZW5jcnlwdC1jYXJkLWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFDckQsWUFBbUIsT0FBZSxFQUFFLElBQWtCO1FBQ3BELElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRSxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhZ2dlZEVycm9yIH0gZnJvbSAnLi90YWdnZWQtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBFbmNyeXB0Q3JlZGl0Q2FyZEVycm9yIGV4dGVuZHMgVGFnZ2VkRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCB0YWdzPzogRXJyb3JUYWdzW10pIHtcbiAgICB0YWdzID0gdGFncyA/IFsuLi50YWdzLCBFcnJvclRhZ3MuRU5DUllQVF0gOiBbRXJyb3JUYWdzLkVOQ1JZUFRdO1xuXG4gICAgc3VwZXIobWVzc2FnZSwgdGFncyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  export class CheckStatusAction {
2
2
  constructor(submitResponse) {
3
3
  this.type = 'check_status';
4
- const status = submitResponse.parameters.status;
5
4
  this.data = {
6
- invoice: status?.invoice,
5
+ invoice: parseInt(submitResponse.parameters.form.fix_invoice?.value),
7
6
  signature: submitResponse.parameters.form.signature?.value,
8
7
  locale: submitResponse.parameters.form.locale?.value,
9
8
  testPs: submitResponse.parameters.form.testPs?.value,
@@ -13,4 +12,4 @@ export class CheckStatusAction {
13
12
  };
14
13
  }
15
14
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW1CLGNBQThCO1FBSDFDLFNBQUksR0FBMEIsY0FBYyxDQUFDO1FBSWxELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBbUIsQ0FBQztRQUU3RCxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1lBQ3hCLFNBQVMsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSztZQUMxRCxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDcEQsTUFBTSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLO1lBQ3BELFVBQVUsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSztZQUM1RCxXQUFXLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUs7WUFDOUQsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSztTQUN6RSxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNBY3Rpb25EYXRhLFxuICBDaGVja1N0YXR1c0FjdGlvblR5cGUsXG59IGZyb20gJy4vY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFhwc1N0YXR1cyB9IGZyb20gJy4uLy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICBwdWJsaWMgdHlwZTogQ2hlY2tTdGF0dXNBY3Rpb25UeXBlID0gJ2NoZWNrX3N0YXR1cyc7XG4gIHB1YmxpYyBkYXRhITogQ2hlY2tTdGF0dXNBY3Rpb25EYXRhO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UpIHtcbiAgICBjb25zdCBzdGF0dXMgPSBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLnN0YXR1cyBhcyBYcHNTdGF0dXM7XG5cbiAgICB0aGlzLmRhdGEgPSB7XG4gICAgICBpbnZvaWNlOiBzdGF0dXM/Lmludm9pY2UsXG4gICAgICBzaWduYXR1cmU6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS5zaWduYXR1cmU/LnZhbHVlLFxuICAgICAgbG9jYWxlOiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0ubG9jYWxlPy52YWx1ZSxcbiAgICAgIHRlc3RQczogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnRlc3RQcz8udmFsdWUsXG4gICAgICB0ZXN0WHNvbGxhOiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0udGVzdFhzb2xsYT8udmFsdWUsXG4gICAgICB0ZXN0UHJvamVjdDogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnRlc3RQcm9qZWN0Py52YWx1ZSxcbiAgICAgIHVzZXJSZXR1cm5TdGF0dXM6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS51c2VyUmV0dXJuU3RhdHVzPy52YWx1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW1CLGNBQThCO1FBSDFDLFNBQUksR0FBMEIsY0FBYyxDQUFDO1FBSWxELElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVixPQUFPLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7WUFDcEUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLO1lBQzFELE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSztZQUNwRCxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDcEQsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLO1lBQzVELFdBQVcsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSztZQUM5RCxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO1NBQ3pFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBDaGVja1N0YXR1c0FjdGlvbkRhdGEsXG4gIENoZWNrU3RhdHVzQWN0aW9uVHlwZSxcbn0gZnJvbSAnLi9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICBwdWJsaWMgdHlwZTogQ2hlY2tTdGF0dXNBY3Rpb25UeXBlID0gJ2NoZWNrX3N0YXR1cyc7XG4gIHB1YmxpYyBkYXRhITogQ2hlY2tTdGF0dXNBY3Rpb25EYXRhO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UpIHtcbiAgICB0aGlzLmRhdGEgPSB7XG4gICAgICBpbnZvaWNlOiBwYXJzZUludChzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0uZml4X2ludm9pY2U/LnZhbHVlKSxcbiAgICAgIHNpZ25hdHVyZTogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnNpZ25hdHVyZT8udmFsdWUsXG4gICAgICBsb2NhbGU6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS5sb2NhbGU/LnZhbHVlLFxuICAgICAgdGVzdFBzOiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0udGVzdFBzPy52YWx1ZSxcbiAgICAgIHRlc3RYc29sbGE6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS50ZXN0WHNvbGxhPy52YWx1ZSxcbiAgICAgIHRlc3RQcm9qZWN0OiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0udGVzdFByb2plY3Q/LnZhbHVlLFxuICAgICAgdXNlclJldHVyblN0YXR1czogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnVzZXJSZXR1cm5TdGF0dXM/LnZhbHVlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbiB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb24gfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi50eXBlJztcblxuZXhwb3J0IHR5cGUgTmV4dEFjdGlvbiA9XG4gIHwgQ2hlY2tTdGF0dXNBY3Rpb25cbiAgfCBTaG93RmllbGRzQWN0aW9uXG4gIHwgU3RhdHVzVXBkYXRlZEFjdGlvblxuICB8IFNob3dFcnJvcnNBY3Rpb25cbiAgfCBSZWRpcmVjdEFjdGlvbjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbiB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb24gfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb24gfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi50eXBlJztcblxuZXhwb3J0IHR5cGUgTmV4dEFjdGlvbiA9XG4gIHwgQ2hlY2tTdGF0dXNBY3Rpb25cbiAgfCBTaG93RmllbGRzQWN0aW9uXG4gIHwgU3RhdHVzVXBkYXRlZEFjdGlvblxuICB8IFNob3dFcnJvcnNBY3Rpb25cbiAgfCBSZWRpcmVjdEFjdGlvblxuICB8IFRocmVlRHNBY3Rpb247XG4iXX0=
@@ -4,6 +4,7 @@ import { checkStatusActionFactoryProvider } from './check-status/check-status.ac
4
4
  import { statusUpdatedActionFactoryProvider } from './status-updated/status-updated.action.token';
5
5
  import { redirectActionFactoryProvider } from './redirect/redirect.action.token';
6
6
  import { showErrorsActionFactoryProvider } from './show-errors/show-errors.action.token';
7
+ import { threeDsActionFactoryProvider } from './three-ds/three-ds.action.token';
7
8
  export const nextActionsToken = new InjectionToken('Action');
8
9
  export const nextActions = [
9
10
  showFieldsActionFactoryProvider,
@@ -13,5 +14,6 @@ export const nextActions = [
13
14
  export const flowUpdateNextActions = [
14
15
  statusUpdatedActionFactoryProvider,
15
16
  showErrorsActionFactoryProvider,
17
+ threeDsActionFactoryProvider,
16
18
  ];
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUl6RixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFCO0lBQzNDLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0NBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsa0NBQWtDO0lBQ2xDLCtCQUErQjtDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNob3dGaWVsZHNBY3Rpb25GYWN0b3J5UHJvdmlkZXIgfSBmcm9tICcuL3Nob3ctZmllbGRzL3Nob3ctZmllbGRzLmFjdGlvbi50b2tlbic7XG5pbXBvcnQgeyBjaGVja1N0YXR1c0FjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24udG9rZW4nO1xuaW1wb3J0IHsgc3RhdHVzVXBkYXRlZEFjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnRva2VuJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyByZWRpcmVjdEFjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vcmVkaXJlY3QvcmVkaXJlY3QuYWN0aW9uLnRva2VuJztcbmltcG9ydCB7IHNob3dFcnJvcnNBY3Rpb25GYWN0b3J5UHJvdmlkZXIgfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi50b2tlbic7XG5cbmV4cG9ydCB0eXBlIE5leHRBY3Rpb25Ub2tlbnMgPSBWYWx1ZVByb3ZpZGVyW107XG5cbmV4cG9ydCBjb25zdCBuZXh0QWN0aW9uc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvbj4oJ0FjdGlvbicpO1xuXG5leHBvcnQgY29uc3QgbmV4dEFjdGlvbnM6IE5leHRBY3Rpb25Ub2tlbnMgPSBbXG4gIHNob3dGaWVsZHNBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG4gIGNoZWNrU3RhdHVzQWN0aW9uRmFjdG9yeVByb3ZpZGVyLFxuICByZWRpcmVjdEFjdGlvbkZhY3RvcnlQcm92aWRlcixcbl07XG5cbmV4cG9ydCBjb25zdCBmbG93VXBkYXRlTmV4dEFjdGlvbnM6IE5leHRBY3Rpb25Ub2tlbnMgPSBbXG4gIHN0YXR1c1VwZGF0ZWRBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG4gIHNob3dFcnJvcnNBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG5dO1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUloRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFCO0lBQzNDLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0NBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsa0NBQWtDO0lBQ2xDLCtCQUErQjtJQUMvQiw0QkFBNEI7Q0FDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgc2hvd0ZpZWxkc0FjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnRva2VuJztcbmltcG9ydCB7IGNoZWNrU3RhdHVzQWN0aW9uRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnLi9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50b2tlbic7XG5pbXBvcnQgeyBzdGF0dXNVcGRhdGVkQWN0aW9uRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnLi9zdGF0dXMtdXBkYXRlZC9zdGF0dXMtdXBkYXRlZC5hY3Rpb24udG9rZW4nO1xuaW1wb3J0IHsgcmVkaXJlY3RBY3Rpb25GYWN0b3J5UHJvdmlkZXIgfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi50b2tlbic7XG5pbXBvcnQgeyBzaG93RXJyb3JzQWN0aW9uRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnLi9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24udG9rZW4nO1xuaW1wb3J0IHsgdGhyZWVEc0FjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vdGhyZWUtZHMvdGhyZWUtZHMuYWN0aW9uLnRva2VuJztcblxuZXhwb3J0IHR5cGUgTmV4dEFjdGlvblRva2VucyA9IFZhbHVlUHJvdmlkZXJbXTtcblxuZXhwb3J0IGNvbnN0IG5leHRBY3Rpb25zVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uPignQWN0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBuZXh0QWN0aW9uczogTmV4dEFjdGlvblRva2VucyA9IFtcbiAgc2hvd0ZpZWxkc0FjdGlvbkZhY3RvcnlQcm92aWRlcixcbiAgY2hlY2tTdGF0dXNBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG4gIHJlZGlyZWN0QWN0aW9uRmFjdG9yeVByb3ZpZGVyLFxuXTtcblxuZXhwb3J0IGNvbnN0IGZsb3dVcGRhdGVOZXh0QWN0aW9uczogTmV4dEFjdGlvblRva2VucyA9IFtcbiAgc3RhdHVzVXBkYXRlZEFjdGlvbkZhY3RvcnlQcm92aWRlcixcbiAgc2hvd0Vycm9yc0FjdGlvbkZhY3RvcnlQcm92aWRlcixcbiAgdGhyZWVEc0FjdGlvbkZhY3RvcnlQcm92aWRlcixcbl07XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class ThreeDsAction {
2
+ constructor(statusUpdate) {
3
+ this.type = '3DS';
4
+ this.data = statusUpdate;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMuYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFtQixZQUE2QjtRQUh6QyxTQUFJLEdBQXNCLEtBQUssQ0FBQztRQUlyQyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb25EYXRhLCBUaHJlZURzQWN0aW9uVHlwZSB9IGZyb20gJy4vdGhyZWUtZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzQ2hhbGxlbmdlIH0gZnJvbSAnLi4vLi4vdGhyZWUtZHMvdGhyZWUtZHMtMjAvc3RhdHVzLXVwZGF0ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVGhyZWVEc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHB1YmxpYyB0eXBlOiBUaHJlZURzQWN0aW9uVHlwZSA9ICczRFMnO1xuICBwdWJsaWMgZGF0YSE6IFRocmVlRHNBY3Rpb25EYXRhO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdGF0dXNVcGRhdGU6IFN0YXR1c0NoYWxsZW5nZSkge1xuICAgIHRoaXMuZGF0YSA9IHN0YXR1c1VwZGF0ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ThreeDsAction } from './three-ds.action.class';
3
+ export const threeDsActionFactoryToken = new InjectionToken('ThreeDsAction');
4
+ export const threeDsActionFactoryProvider = {
5
+ provide: threeDsActionFactoryToken,
6
+ useValue: {
7
+ factory: (...args) => new ThreeDsAction(...args),
8
+ isSuitable: () => false,
9
+ },
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMuYWN0aW9uLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQ3BDLElBQUksY0FBYyxDQUFxQixlQUFlLENBQUMsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBa0I7SUFDekQsT0FBTyxFQUFFLHlCQUF5QjtJQUNsQyxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQXVCLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25FLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO0tBQ3hCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25GYWN0b3J5VmFsdWUgfSBmcm9tICcuLi9hY3Rpb24tZmFjdG9yeS12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGhyZWVEc0FjdGlvbiB9IGZyb20gJy4vdGhyZWUtZHMuYWN0aW9uLmNsYXNzJztcblxudHlwZSBSZXF1ZXN0UGFyYW1ldGVycyA9IENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgVGhyZWVEc0FjdGlvbj47XG5cbmV4cG9ydCBjb25zdCB0aHJlZURzQWN0aW9uRmFjdG9yeVRva2VuOiBJbmplY3Rpb25Ub2tlbjxBY3Rpb25GYWN0b3J5VmFsdWU+ID1cbiAgbmV3IEluamVjdGlvblRva2VuPEFjdGlvbkZhY3RvcnlWYWx1ZT4oJ1RocmVlRHNBY3Rpb24nKTtcblxuZXhwb3J0IGNvbnN0IHRocmVlRHNBY3Rpb25GYWN0b3J5UHJvdmlkZXI6IFZhbHVlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IHRocmVlRHNBY3Rpb25GYWN0b3J5VG9rZW4sXG4gIHVzZVZhbHVlOiB7XG4gICAgZmFjdG9yeTogKC4uLmFyZ3M6IFJlcXVlc3RQYXJhbWV0ZXJzKSA9PiBuZXcgVGhyZWVEc0FjdGlvbiguLi5hcmdzKSxcbiAgICBpc1N1aXRhYmxlOiAoKSA9PiBmYWxzZSxcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMuYWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvdGhyZWUtZHMvdGhyZWUtZHMuYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzQ2hhbGxlbmdlIH0gZnJvbSAnLi4vLi4vdGhyZWUtZHMvdGhyZWUtZHMtMjAvc3RhdHVzLXVwZGF0ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBUaHJlZURzQWN0aW9uVHlwZSA9ICczRFMnO1xuXG5leHBvcnQgdHlwZSBUaHJlZURzQWN0aW9uRGF0YSA9IFN0YXR1c0NoYWxsZW5nZTtcblxuZXhwb3J0IHR5cGUgVGhyZWVEc0FjdGlvbiA9IEFjdGlvbjxUaHJlZURzQWN0aW9uVHlwZSwgVGhyZWVEc0FjdGlvbkRhdGE+O1xuIl19
@@ -0,0 +1,15 @@
1
+ export const masterCardAndVisaPaymentMethodId = 26;
2
+ export const maestroPaymentMethodId = 490;
3
+ export const creditCardPaymentMethodId = 1380;
4
+ export const americanExpressMethodId = 714;
5
+ export const specialCards = [
6
+ maestroPaymentMethodId,
7
+ masterCardAndVisaPaymentMethodId,
8
+ americanExpressMethodId,
9
+ ];
10
+ export const cardsWith3ds = [
11
+ masterCardAndVisaPaymentMethodId,
12
+ maestroPaymentMethodId,
13
+ creditCardPaymentMethodId,
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtcGF5bWVudC1tZXRob2RzLWlkLnZhcmlhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1wYXltZW50LW1ldGhvZHMtaWQudmFyaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBYTtJQUNwQyxzQkFBc0I7SUFDdEIsZ0NBQWdDO0lBQ2hDLHVCQUF1QjtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFhO0lBQ3BDLGdDQUFnQztJQUNoQyxzQkFBc0I7SUFDdEIseUJBQXlCO0NBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbWFzdGVyQ2FyZEFuZFZpc2FQYXltZW50TWV0aG9kSWQgPSAyNjtcbmV4cG9ydCBjb25zdCBtYWVzdHJvUGF5bWVudE1ldGhvZElkID0gNDkwO1xuZXhwb3J0IGNvbnN0IGNyZWRpdENhcmRQYXltZW50TWV0aG9kSWQgPSAxMzgwO1xuZXhwb3J0IGNvbnN0IGFtZXJpY2FuRXhwcmVzc01ldGhvZElkID0gNzE0O1xuXG5leHBvcnQgY29uc3Qgc3BlY2lhbENhcmRzOiBudW1iZXJbXSA9IFtcbiAgbWFlc3Ryb1BheW1lbnRNZXRob2RJZCxcbiAgbWFzdGVyQ2FyZEFuZFZpc2FQYXltZW50TWV0aG9kSWQsXG4gIGFtZXJpY2FuRXhwcmVzc01ldGhvZElkLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNhcmRzV2l0aDNkczogbnVtYmVyW10gPSBbXG4gIG1hc3RlckNhcmRBbmRWaXNhUGF5bWVudE1ldGhvZElkLFxuICBtYWVzdHJvUGF5bWVudE1ldGhvZElkLFxuICBjcmVkaXRDYXJkUGF5bWVudE1ldGhvZElkLFxuXTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { ControlConfig } from './control-config';
2
+ export class PhoneControlConfig extends ControlConfig {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.controlType = 'phone';
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtY29udHJvbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udHJvbHMvcGhvbmUtY29udHJvbC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBQXJEOztRQUNTLGdCQUFXLEdBQUcsT0FBTyxDQUFDO0lBRy9CLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2NvbnRyb2wtY29uZmlnJztcblxuZXhwb3J0IGNsYXNzIFBob25lQ29udHJvbENvbmZpZyBleHRlbmRzIENvbnRyb2xDb25maWcge1xuICBwdWJsaWMgY29udHJvbFR5cGUgPSAncGhvbmUnO1xuICBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { TextControlConfig } from '../controls/text-control.config';
4
+ import { convert } from '../validators/convert.function';
5
+ import { Converter } from './converter.abstract';
6
+ import { birthdateValidator } from '../validators/birth-date.validator';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../sync/sync.service";
9
+ export class BirthDateConverter extends Converter {
10
+ constructor(syncService) {
11
+ super(syncService);
12
+ }
13
+ getValidators(field) {
14
+ return super
15
+ .getValidators(field)
16
+ .concat([
17
+ convert(Validators.pattern(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/), `Enter a valid birth date`),
18
+ birthdateValidator,
19
+ ]);
20
+ }
21
+ createControlConfig(field) {
22
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
23
+ config.maskConfig = {
24
+ mask: '99/99/9999',
25
+ unmaskModelValue: false,
26
+ guide: false,
27
+ };
28
+ config.placeholder = `DD/MM/YYYY`;
29
+ config.inputMode = 'numeric';
30
+ return config;
31
+ }
32
+ }
33
+ BirthDateConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BirthDateConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ BirthDateConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BirthDateConverter });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BirthDateConverter, decorators: [{
36
+ type: Injectable
37
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlydGgtZGF0ZS5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9iaXJ0aC1kYXRlLmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHeEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFDL0MsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBWTtRQUMvQixPQUFPLEtBQUs7YUFDVCxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLE9BQU8sQ0FDTCxVQUFVLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLEVBQ3hELDBCQUEwQixDQUMzQjtZQUNELGtCQUFrQjtTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsWUFBWTtZQUNsQixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUVGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBRWxDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTdCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OytHQS9CVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9jb252ZXJ0LmZ1bmN0aW9uJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVyLmFic3RyYWN0JztcbmltcG9ydCB7IGJpcnRoZGF0ZVZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvYmlydGgtZGF0ZS52YWxpZGF0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmlydGhEYXRlQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGaWVsZCk6IFZhbGlkYXRvckZuW10ge1xuICAgIHJldHVybiBzdXBlclxuICAgICAgLmdldFZhbGlkYXRvcnMoZmllbGQpXG4gICAgICAuY29uY2F0KFtcbiAgICAgICAgY29udmVydChcbiAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05XXsxLDJ9XFwvWzAtOV17MSwyfVxcL1swLTldezR9JC8pLFxuICAgICAgICAgIGBFbnRlciBhIHZhbGlkIGJpcnRoIGRhdGVgXG4gICAgICAgICksXG4gICAgICAgIGJpcnRoZGF0ZVZhbGlkYXRvcixcbiAgICAgIF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5tYXNrQ29uZmlnID0ge1xuICAgICAgbWFzazogJzk5Lzk5Lzk5OTknLFxuICAgICAgdW5tYXNrTW9kZWxWYWx1ZTogZmFsc2UsXG4gICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbmZpZy5wbGFjZWhvbGRlciA9IGBERC9NTS9ZWVlZYDtcblxuICAgIGNvbmZpZy5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from './converter.abstract';
3
+ import { TextControlConfig } from '../controls/text-control.config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../sync/sync.service";
6
+ export class CardExpirationConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ getValidators() {
11
+ return [];
12
+ }
13
+ createControlConfig(field, formState) {
14
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
15
+ config.maskConfig = {
16
+ mask: '99',
17
+ guide: false,
18
+ };
19
+ config.inputMode = 'numeric';
20
+ config.title = 'date';
21
+ config.disabled = formState?.disabled ?? false;
22
+ return config;
23
+ }
24
+ getAutocomplete() {
25
+ return 'cc-exp';
26
+ }
27
+ getDataType() {
28
+ return 'text';
29
+ }
30
+ }
31
+ CardExpirationConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardExpirationConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ CardExpirationConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardExpirationConverter });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardExpirationConverter, decorators: [{
34
+ type: Injectable
35
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1leHBpcmF0aW9uLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2NhcmQtZXhwaXJhdGlvbi5jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBUztJQUNwRCxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsbUJBQW1CLENBQzNCLEtBQVksRUFDWixTQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBRXRCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7b0hBakNVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhcmRFeHBpcmF0aW9uQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKCk6IFZhbGlkYXRvckZuW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU6IEZvcm1TdGF0ZVxuICApOiBUZXh0Q29udHJvbENvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLm1hc2tDb25maWcgPSB7XG4gICAgICBtYXNrOiAnOTknLFxuICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG4gICAgY29uZmlnLmlucHV0TW9kZSA9ICdudW1lcmljJztcbiAgICBjb25maWcudGl0bGUgPSAnZGF0ZSc7XG5cbiAgICBjb25maWcuZGlzYWJsZWQgPSBmb3JtU3RhdGU/LmRpc2FibGVkID8/IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NjLWV4cCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGF0YVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3RleHQnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../controls/text-control.config';
3
+ import { Converter } from './converter.abstract';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../sync/sync.service";
6
+ export class CardholderNameConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ return this.createDefaultControlConfig(TextControlConfig, field);
12
+ }
13
+ getAutocomplete() {
14
+ return 'cc-name';
15
+ }
16
+ getDataType() {
17
+ return 'text';
18
+ }
19
+ }
20
+ CardholderNameConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ CardholderNameConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2NhcmRob2xkZXItbmFtZS5jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUdqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBUztJQUNwRCxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7b0hBZlUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVyLmFic3RyYWN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhcmRob2xkZXJOYW1lQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2MtbmFtZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGF0YVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3RleHQnO1xuICB9XG59XG4iXX0=