taxtank-core 0.17.16 → 0.18.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.
Files changed (183) hide show
  1. package/bundles/taxtank-core.umd.js +5724 -5369
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +2 -2
  4. package/esm2015/lib/collections/bank.collection.js +15 -0
  5. package/esm2015/lib/collections/collection-dictionary.js +1 -1
  6. package/esm2015/lib/collections/collection.js +41 -56
  7. package/esm2015/lib/collections/exportable.collection.js +1 -1
  8. package/esm2015/lib/collections/property/property.collection.js +3 -3
  9. package/esm2015/lib/collections/vehicle-logbook.collection.js +2 -2
  10. package/esm2015/lib/db/Models/abstract-model.js +1 -1
  11. package/esm2015/lib/db/Models/bank/bank.js +1 -1
  12. package/esm2015/lib/forms/abstract.form.js +18 -3
  13. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +19 -0
  14. package/esm2015/lib/forms/bank/bank-account-loan.form.js +20 -0
  15. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +15 -0
  16. package/esm2015/lib/forms/bank/bank-account-properties.form.js +15 -0
  17. package/esm2015/lib/forms/bank/bank-account-property.form.js +13 -0
  18. package/esm2015/lib/forms/bank/bank-account.form.js +53 -0
  19. package/esm2015/lib/forms/bank/bank-login.form.js +19 -0
  20. package/esm2015/lib/forms/client/client-income-types.form.js +2 -8
  21. package/esm2015/lib/forms/index.js +8 -1
  22. package/esm2015/lib/forms/login/login.form.js +1 -1
  23. package/esm2015/lib/forms/register/register-client.form.js +4 -3
  24. package/esm2015/lib/forms/register/register-firm.form.js +2 -9
  25. package/esm2015/lib/forms/user/password.form.js +6 -6
  26. package/esm2015/lib/forms/user/reset-password.form.js +1 -1
  27. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +2 -2
  28. package/esm2015/lib/forms/vehicle/vehicle.form.js +6 -12
  29. package/esm2015/lib/interceptors/basiq.interceptor.js +35 -0
  30. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  31. package/esm2015/lib/interceptors/financial-year-interceptor.js +17 -6
  32. package/esm2015/lib/interceptors/interceptors.module.js +16 -5
  33. package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
  34. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  35. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  36. package/esm2015/lib/models/account-setup/account-setup-item.js +4 -2
  37. package/esm2015/lib/models/bank/bank-account-property.js +6 -2
  38. package/esm2015/lib/models/bank/bank-account.js +2 -1
  39. package/esm2015/lib/models/bank/bank-connection.js +18 -3
  40. package/esm2015/lib/models/bank/bank-login-data.js +6 -0
  41. package/esm2015/lib/models/bank/bank.js +6 -1
  42. package/esm2015/lib/models/client/client-portfolio-report.js +3 -2
  43. package/esm2015/lib/models/endpoint/endpoints.const.js +3 -1
  44. package/esm2015/lib/models/event/app-event-type.enum.js +39 -38
  45. package/esm2015/lib/models/loan/loan-payment.js +3 -2
  46. package/esm2015/lib/models/loan/loan.js +1 -6
  47. package/esm2015/lib/models/report/property/property-report-item.js +4 -2
  48. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +4 -2
  49. package/esm2015/lib/models/tax-summary/report-item-details.js +3 -2
  50. package/esm2015/lib/models/tax-summary/report-item.js +3 -2
  51. package/esm2015/lib/services/account-setup/account-setup.service.js +5 -5
  52. package/esm2015/lib/services/asset/assets.service.js +3 -3
  53. package/esm2015/lib/services/auth/auth.service.js +3 -3
  54. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  55. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  56. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  57. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  58. package/esm2015/lib/services/event/sse.service.js +3 -3
  59. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  60. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  61. package/esm2015/lib/services/http/address/address.service.js +3 -3
  62. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +5 -8
  63. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +60 -5
  64. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +3 -3
  65. package/esm2015/lib/services/http/bank/bank.service.js +3 -3
  66. package/esm2015/lib/services/http/bank/basiq/basiq-connections-response.interface.js +2 -0
  67. package/esm2015/lib/services/http/bank/basiq/basiq-token-response.interface.js +2 -0
  68. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +42 -0
  69. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +37 -46
  70. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +3 -3
  71. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
  72. package/esm2015/lib/services/http/chat/chat.service.js +3 -3
  73. package/esm2015/lib/services/http/chat/message/message.service.js +3 -3
  74. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
  75. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  76. package/esm2015/lib/services/http/depreciation/depreciation.service.js +3 -3
  77. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  78. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  79. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  80. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  81. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  82. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  83. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  84. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  85. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  86. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  87. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  88. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  89. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
  90. package/esm2015/lib/services/http/loan/loan.service.js +3 -3
  91. package/esm2015/lib/services/http/property/property-category/property-category.service.js +3 -3
  92. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +3 -3
  93. package/esm2015/lib/services/http/property/property-document/property-document.service.js +3 -3
  94. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +3 -3
  95. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +3 -3
  96. package/esm2015/lib/services/http/property/property-share/property-share.service.js +3 -3
  97. package/esm2015/lib/services/http/property/property.service.js +3 -3
  98. package/esm2015/lib/services/http/rest/rest.service.js +4 -15
  99. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  100. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  101. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  102. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  103. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  104. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  105. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +3 -3
  106. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  107. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  108. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  109. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  110. package/esm2015/lib/services/http/user/user.service.js +4 -17
  111. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  112. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  113. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  114. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  115. package/esm2015/lib/services/kompassify/kompassify.service.js +3 -3
  116. package/esm2015/lib/services/pdf/pdf.service.js +3 -3
  117. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  118. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  119. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  120. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
  121. package/esm2015/lib/services/report/property/property-transaction-report.service.js +3 -3
  122. package/esm2015/lib/services/toast/toast.service.js +3 -3
  123. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  124. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  125. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  126. package/esm2015/lib/tt-core.module.js +4 -4
  127. package/esm2015/lib/validators/date-range.validator.js +22 -0
  128. package/esm2015/lib/validators/index.js +2 -1
  129. package/esm2015/lib/validators/require-autocomplete.js +14 -0
  130. package/esm2015/public-api.js +7 -1
  131. package/fesm2015/taxtank-core.js +3462 -3170
  132. package/fesm2015/taxtank-core.js.map +1 -1
  133. package/lib/collections/bank.collection.d.ts +7 -0
  134. package/lib/collections/collection-dictionary.d.ts +2 -1
  135. package/lib/collections/collection.d.ts +18 -31
  136. package/lib/collections/exportable.collection.d.ts +2 -1
  137. package/lib/db/Models/abstract-model.d.ts +1 -0
  138. package/lib/db/Models/bank/bank.d.ts +4 -0
  139. package/lib/forms/abstract.form.d.ts +18 -3
  140. package/lib/forms/bank/bank-account-add-manual.form.d.ts +10 -0
  141. package/lib/forms/bank/bank-account-loan.form.d.ts +5 -0
  142. package/lib/forms/bank/bank-account-migrate.form.d.ts +9 -0
  143. package/lib/forms/bank/bank-account-properties.form.d.ts +8 -0
  144. package/lib/forms/bank/bank-account-property.form.d.ts +5 -0
  145. package/lib/forms/bank/bank-account.form.d.ts +21 -0
  146. package/lib/forms/bank/bank-login.form.d.ts +11 -0
  147. package/lib/forms/client/client-income-types.form.d.ts +1 -2
  148. package/lib/forms/index.d.ts +7 -0
  149. package/lib/forms/login/login.form.d.ts +4 -1
  150. package/lib/forms/register/register-client.form.d.ts +1 -1
  151. package/lib/forms/register/register-firm.form.d.ts +2 -2
  152. package/lib/forms/user/password.form.d.ts +4 -1
  153. package/lib/forms/user/reset-password.form.d.ts +3 -1
  154. package/lib/forms/vehicle/vehicle-claim.form.d.ts +1 -1
  155. package/lib/forms/vehicle/vehicle.form.d.ts +3 -7
  156. package/lib/interceptors/basiq.interceptor.d.ts +15 -0
  157. package/lib/interceptors/financial-year-interceptor.d.ts +2 -0
  158. package/lib/models/account-setup/account-setup-item.d.ts +2 -1
  159. package/lib/models/bank/bank-account-property.d.ts +1 -0
  160. package/lib/models/bank/bank-account.d.ts +2 -0
  161. package/lib/models/bank/bank-connection.d.ts +8 -1
  162. package/lib/models/bank/bank-login-data.d.ts +17 -0
  163. package/lib/models/bank/bank.d.ts +1 -0
  164. package/lib/models/client/client-portfolio-report.d.ts +2 -1
  165. package/lib/models/event/app-event-type.enum.d.ts +38 -37
  166. package/lib/models/loan/loan-payment.d.ts +2 -1
  167. package/lib/models/loan/loan.d.ts +0 -2
  168. package/lib/models/report/property/property-report-item.d.ts +2 -1
  169. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +2 -1
  170. package/lib/models/tax-summary/report-item-details.d.ts +2 -1
  171. package/lib/models/tax-summary/report-item.d.ts +2 -1
  172. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +13 -1
  173. package/lib/services/http/bank/basiq/basiq-connections-response.interface.d.ts +9 -0
  174. package/lib/services/http/bank/basiq/basiq-token-response.interface.d.ts +9 -0
  175. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +17 -0
  176. package/lib/services/http/bank/basiq/basiq.service.d.ts +20 -11
  177. package/lib/services/http/rest/rest.service.d.ts +0 -5
  178. package/lib/services/http/user/user.service.d.ts +0 -1
  179. package/lib/validators/date-range.validator.d.ts +5 -0
  180. package/lib/validators/index.d.ts +1 -0
  181. package/lib/validators/require-autocomplete.d.ts +5 -0
  182. package/package.json +1 -1
  183. package/public-api.d.ts +6 -0
@@ -1,21 +1,29 @@
1
- // @TODO Basiq 1.0 remove if we will use basiq 2.0 or refactor if we stay with basiq 1.0
2
- import { Injectable } from '@angular/core';
3
- import { ReplaySubject } from 'rxjs';
1
+ import { Inject, Injectable } from '@angular/core';
4
2
  import { map } from 'rxjs/operators';
5
- import { BankAccount } from '../../../../models/bank/bank-account';
3
+ import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
6
4
  import { RestService } from '../../rest/rest.service';
7
- import { BasiqToken } from '../../../../models/bank/basiq-token';
5
+ import { BankAccount } from '../../../../models/bank/bank-account';
8
6
  import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
- import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
7
+ import { AppEvent } from '../../../../models/event/app-event';
10
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "../../../event/event-dispatcher.service";
11
+ import * as i3 from "../../../toast/toast.service";
12
+ import * as i4 from "../bank-connection/bank-connection.service";
11
13
  /**
12
14
  * basiq is a middleman between bank and user
13
15
  * service is responsible for fetching bank related information
14
16
  */
15
17
  export class BasiqService extends RestService {
16
- constructor() {
17
- super(...arguments);
18
- this.tokenSubject = new ReplaySubject();
18
+ constructor(http, eventDispatcherService, environment, toastService,
19
+ // init BankConnectionService to listen events
20
+ bankConnectionService) {
21
+ super(http, eventDispatcherService, environment, toastService);
22
+ this.http = http;
23
+ this.eventDispatcherService = eventDispatcherService;
24
+ this.environment = environment;
25
+ this.toastService = toastService;
26
+ this.bankConnectionService = bankConnectionService;
19
27
  this.url = 'basiq/accounts';
20
28
  this.modelClass = BankAccount;
21
29
  }
@@ -23,45 +31,25 @@ export class BasiqService extends RestService {
23
31
  * Listen events from Event Dispatcher service
24
32
  */
25
33
  listenEvents() {
26
- this.listenToBankConnectionAdded();
27
34
  this.listenNotifications();
28
35
  }
29
36
  /**
30
- * access token to use basiq connect ui iframe
37
+ * Create Basiq job for the new bank connection creation
31
38
  */
32
- getToken() {
33
- if (!this.token || this.token.isExpired()) {
34
- this.http.get(`${this.environment.apiV2}/basiq/tokens`)
35
- .pipe(map((response) => {
36
- const now = new Date().getTime();
37
- return new BasiqToken(response['access_token'], new Date(now + response['expires_in'] * 1000));
38
- }))
39
- .subscribe((token) => {
40
- this.tokenSubject.next(token);
41
- });
42
- }
43
- return this.tokenSubject.asObservable();
44
- }
45
- getConnections() {
46
- return this.get().pipe(map((bankAccounts) => {
47
- // get all connections
48
- const connections = bankAccounts.map((bankAccount) => {
49
- return bankAccount.bankConnection;
50
- });
51
- // return without duplicates
52
- return [...new Map(connections.map((connection) => [connection.id, connection])).values()];
39
+ createConnection(data, userId, connection) {
40
+ return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, data).pipe(map((response) => {
41
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BASIQ_JOB_CREATED, { jobId: response.id, connection }));
42
+ return response.id;
53
43
  }));
54
44
  }
55
45
  /**
56
- * Listen to EventDispatcherService event related to added Bank connection
46
+ * Update disconnected bank connection
57
47
  */
58
- listenToBankConnectionAdded() {
59
- this.eventDispatcherService.on(AppEventTypeEnum.BANK_CONNECTION_ADDED).subscribe(() => {
60
- this.fetch().subscribe((bankAccounts) => {
61
- this.cache = bankAccounts;
62
- this.updateCache();
63
- });
64
- });
48
+ updateConnection(data, userId, connection) {
49
+ return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, Object.assign(data, { id: connection.externalId })).pipe(map((response) => {
50
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BASIQ_CONNECTION_UPDATED, { jobId: response.id, connection }));
51
+ return response.id;
52
+ }));
65
53
  }
66
54
  /**
67
55
  * listen to notifications to update basiq accounts list
@@ -70,17 +58,20 @@ export class BasiqService extends RestService {
70
58
  this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
71
59
  if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_NEW_ACCOUNTS) {
72
60
  this.resetCache();
73
- this.get().subscribe();
74
61
  }
75
62
  });
76
63
  }
77
64
  }
78
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, decorators: [{
65
+ BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
66
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
81
69
  type: Injectable,
82
70
  args: [{
83
71
  providedIn: 'root'
84
72
  }]
85
- }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RkFBd0Y7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEc7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF5QztJQUgzRTs7UUFLRSxpQkFBWSxHQUE4QixJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzFFLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixlQUFVLEdBQUcsV0FBVyxDQUFDO0tBb0UxQjtJQWxFQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLENBQUM7aUJBQ3BELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFXLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXpDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRyxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtZQUNsQyxzQkFBc0I7WUFDdEIsTUFBTSxXQUFXLEdBQXFCLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7Z0JBQ2xGLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILDRCQUE0QjtZQUM1QixPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtnQkFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFRLEVBQUU7WUFDakgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDckcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQXZFVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQFRPRE8gQmFzaXEgMS4wIHJlbW92ZSBpZiB3ZSB3aWxsIHVzZSBiYXNpcSAyLjAgb3IgcmVmYWN0b3IgaWYgd2Ugc3RheSB3aXRoIGJhc2lxIDEuMFxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgYXMgQmFua0FjY291bnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudD4ge1xuICB0b2tlbjogQmFzaXFUb2tlbjtcbiAgdG9rZW5TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4oKTtcbiAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjY2VzcyB0b2tlbiB0byB1c2UgYmFzaXEgY29ubmVjdCB1aSBpZnJhbWVcbiAgICovXG4gIGdldFRva2VuKCk6IE9ic2VydmFibGU8QmFzaXFUb2tlbj4ge1xuICAgIGlmICghdGhpcy50b2tlbiB8fCB0aGlzLnRva2VuLmlzRXhwaXJlZCgpKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Jhc2lxL3Rva2Vuc2ApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBCYXNpcVRva2VuKHJlc3BvbnNlWydhY2Nlc3NfdG9rZW4nXSwgbmV3IERhdGUobm93ICsgcmVzcG9uc2VbJ2V4cGlyZXNfaW4nXSAqIDEwMDApKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBCYXNpcVRva2VuKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRva2VuU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldENvbm5lY3Rpb25zKCk6IE9ic2VydmFibGU8QmFua0Nvbm5lY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICAvLyBnZXQgYWxsIGNvbm5lY3Rpb25zXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25zOiBCYW5rQ29ubmVjdGlvbltdID0gYmFua0FjY291bnRzLm1hcCgoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50LmJhbmtDb25uZWN0aW9uO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyByZXR1cm4gd2l0aG91dCBkdXBsaWNhdGVzXG4gICAgICAgIHJldHVybiBbLi4ubmV3IE1hcChjb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKSA9PiBbY29ubmVjdGlvbi5pZCwgY29ubmVjdGlvbl0pKS52YWx1ZXMoKV07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBCYW5rIGNvbm5lY3Rpb25cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBTktfQ09OTkVDVElPTl9BRERFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gYmFua0FjY291bnRzO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuXG4vLyBAVE9ETyBCYXNpcSAzLjAgZnVuY3Rpb25hbGl0eSByZW1vdmUgd2hlbiB3ZSBkZWNpZGUgd2hhdCBiYXNpcSB2ZXJzaW9uIHdlIHdpbGwgdXNlICgxIG9yIDIpXG4vLyBpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG4vLyBpbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuLy8gaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xuLy8gaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG4vLyBpbXBvcnQgeyBCYXNpcVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xuLy8gaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbi8vIGltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbi8vIGltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcbi8vIGltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuLy8gaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50Jztcbi8vIGltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvdXNlci91c2VyJztcbi8vIGltcG9ydCB7IEJhbmtDb25uZWN0aW9uIGFzIEJhbmtDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG4vL1xuLy8gLyoqXG4vLyAgKiBCYXNpcSBjb25zZW50IFVJIGluaXRpYWwgVVJMLiBSZXBsYWNlIFVTRVJfSUQgYW5kIFRPS0VOIGJ5IHVzZXIgZGF0YSArIGhhbmRsZSBhY3Rpb24gcGFyYW1ldGVyXG4vLyAgKi9cbi8vIGNvbnN0IEJBU0lRX0NPTlNFTlRfVVJMID0gJ2h0dHBzOi8vY29uc2VudC5iYXNpcS5pby9ob21lP3VzZXJJZD1VU0VSX0lEJnRva2VuPVRPS0VOJmFjdGlvbj1jb25uZWN0Jztcbi8vXG4vLyAvKipcbi8vICAqIEV2ZW50IG1lc3NhZ2UgbmFtZSB3ZSBsaXN0ZW4gdG8gaGFuZGxlIGJhc2lxIFVJIHJlc3VsdFxuLy8gICovXG4vLyBjb25zdCBGSU5JU0hfQkFTSVFfRVZFTlQgPSAnZmluaXNoLWJhc2lxJztcbi8vXG4vLyAvKipcbi8vICAqIGJhc2lxIGlzIGEgbWlkZGxlbWFuIGJldHdlZW4gYmFuayBhbmQgdXNlclxuLy8gICogc2VydmljZSBpcyByZXNwb25zaWJsZSBmb3IgZmV0Y2hpbmcgYmFuayByZWxhdGVkIGluZm9ybWF0aW9uXG4vLyAgKi9cbi8vIEBJbmplY3RhYmxlKHtcbi8vICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4vLyB9KVxuLy8gZXhwb3J0IGNsYXNzIEJhc2lxU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuLy8gICB0b2tlbjogQmFzaXFUb2tlbjtcbi8vICAgdG9rZW5TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4oKTtcbi8vICAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuLy8gICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG4vL1xuLy8gICAvKipcbi8vICAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZVxuLy8gICAgKi9cbi8vICAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuLy8gICAgIHRoaXMubGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk7XG4vLyAgICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4vLyAgICAgdGhpcy5saXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBVcGRhdGUgdXNlcidzIGJhc2lxIGNvbnNlbnRzIGRhdGEgb24gYmFja2VuZFxuLy8gICAgKi9cbi8vICAgY29uZmlybUNvbnNlbnRzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuLy8gICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Jhc2lxL2NvbnNlbnRzYCwge30pLnBpcGUoXG4vLyAgICAgICBtYXAoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4vLyAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05TRU5UX1VQREFURUQsIGlzQ29uZmlybWVkKSk7XG4vLyAgICAgICB9KVxuLy8gICAgICk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBOb3RpZnkgYmFja2VuZCB0byB1cGRhdGUgY29ubmVjdGlvbnNcbi8vICAgICovXG4vLyAgIHVwZGF0ZUNvbm5lY3Rpb25zKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuLy8gICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS9jb25uZWN0aW9uc2AsIHt9KS5waXBlKFxuLy8gICAgICAgbWFwKChjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25CYXNlW10pID0+IHtcbi8vICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0NPTk5FQ1RJT05fVVBEQVRFRCwgISFjb25uZWN0aW9ucykpO1xuLy8gICAgICAgfSlcbi8vICAgICApO1xuLy8gICB9XG4vL1xuLy8gICAvKipcbi8vICAgICogYWNjZXNzIHRva2VuIHRvIHVzZSBiYXNpcSBjb25uZWN0IHVpIGlmcmFtZVxuLy8gICAgKi9cbi8vICAgZ2V0VG9rZW4oKTogT2JzZXJ2YWJsZTxCYXNpcVRva2VuPiB7XG4vLyAgICAgaWYgKCF0aGlzLnRva2VuIHx8IHRoaXMudG9rZW4uaXNFeHBpcmVkKCkpIHtcbi8vICAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdG9rZW5zYClcbi8vICAgICAgICAgLnBpcGUoXG4vLyAgICAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KTogQmFzaXFUb2tlbiA9PiB7XG4vL1xuLy8gICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbi8vICAgICAgICAgICAgIHJldHVybiBuZXcgQmFzaXFUb2tlbihyZXNwb25zZVsnYWNjZXNzX3Rva2VuJ10sIG5ldyBEYXRlKG5vdyArIHJlc3BvbnNlWydleHBpcmVzX2luJ10gKiAxMDAwKSk7XG4vLyAgICAgICAgICAgfSlcbi8vICAgICAgICAgKVxuLy8gICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogQmFzaXFUb2tlbikgPT4ge1xuLy8gICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbi8vICAgICAgICAgICB0aGlzLnRva2VuU3ViamVjdC5uZXh0KHRva2VuKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgfVxuLy9cbi8vICAgICByZXR1cm4gdGhpcy50b2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBHZXQgbGlzdCBvZiB1c2VyJ3MgYmFuayBjb25lY3Rpb25zXG4vLyAgICAqL1xuLy8gICBnZXRDb25uZWN0aW9ucygpOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uW10+IHtcbi8vICAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuLy8gICAgICAgbWFwKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbi8vICAgICAgICAgLy8gZ2V0IGFsbCBjb25uZWN0aW9uc1xuLy8gICAgICAgICBjb25zdCBjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25bXSA9IGJhbmtBY2NvdW50cy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuLy8gICAgICAgICAgIHJldHVybiBiYW5rQWNjb3VudC5iYW5rQ29ubmVjdGlvbjtcbi8vICAgICAgICAgfSk7XG4vL1xuLy8gICAgICAgICAvLyByZXR1cm4gd2l0aG91dCBkdXBsaWNhdGVzXG4vLyAgICAgICAgIHJldHVybiBbLi4ubmV3IE1hcChjb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKSA9PiBbY29ubmVjdGlvbi5pZCwgY29ubmVjdGlvbl0pKS52YWx1ZXMoKV07XG4vLyAgICAgICB9KVxuLy8gICAgICk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBMaXN0ZW4gcmVzcG9uc2UgZnJvbSBiYXNpcSBVSSB0byBoYW5kbGUgcmVzdWx0LlxuLy8gICAgKiBAcGFyYW0gaXNCYXNpcUNvbnNlbnRFeGlzdCBmbGFnIGZyb20gVXNlci5DbGllbnREZXRhaWxzIC0gdHJ1ZSBpZiB1c2VyIGNvbmZpcm1lZCBiYXNpcSBjb25zZW50XG4vLyAgICAqIEBwYXJhbSBjYWxsYmFjayBmdW5jdGlvbiB3ZSBydW4gYWZ0ZXIgYmFzaXEgVUkgd29yayBpcyBmaW5pc2hlZFxuLy8gICAgKi9cbi8vICAgbGlzdGVuQmFzaXFSZXNwb25zZShpc0Jhc2lxQ29uc2VudEV4aXN0OiBib29sZWFuLCBjYWxsYmFjazogKCkgPT4gYW55KTogdm9pZCB7XG4vLyAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZTogTWVzc2FnZUV2ZW50KSA9PiB7XG4vLyAgICAgICBpZiAobWVzc2FnZS5kYXRhICE9PSBGSU5JU0hfQkFTSVFfRVZFTlQpIHtcbi8vICAgICAgICAgcmV0dXJuO1xuLy8gICAgICAgfVxuLy9cbi8vICAgICAgIC8vIHVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29uc2VudCBjb25maXJtYXRpb24gc3RhdHVzIGZvciB0aGUgZmlyc3QgYmFzaXEgdWkgcnVuXG4vLyAgICAgICBpZiAoaXNCYXNpcUNvbnNlbnRFeGlzdCkge1xuLy8gICAgICAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25zKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbi8vICAgICAgIH0gZWxzZSB7XG4vLyAgICAgICAgIHRoaXMuY29uZmlybUNvbnNlbnRzKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbi8vICAgICAgIH1cbi8vXG4vLyAgICAgICBjYWxsYmFjaygpO1xuLy8gICAgIH0sIHtvbmNlOiB0cnVlfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBHZXQgVVJMIHdpdGggZmlsbGVkIHBhcmFtcyB0byBydW4gYmFzaXEgVUkgaWZyYW1lXG4vLyAgICAqL1xuLy8gICBnZW5lcmF0ZUJhc2lxQ29uc2VudFVybCh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbi8vICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpLnBpcGUoXG4vLyAgICAgICBtYXAoKHRva2VuOiBCYXNpcVRva2VuKTogc3RyaW5nID0+IHtcbi8vICAgICAgICAgbGV0IHVybDogc3RyaW5nID0gQkFTSVFfQ09OU0VOVF9VUkw7XG4vLyAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdVU0VSX0lEJywgdXNlci5iYXNpcUlkKTtcbi8vICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ1RPS0VOJywgdG9rZW4udmFsdWUpO1xuLy9cbi8vICAgICAgICAgaWYgKCF1c2VyLmNsaWVudERldGFpbHMuYmFzaXFDb25zZW50RXhpc3QpIHtcbi8vICAgICAgICAgICB1cmwgPSB1cmwuc3BsaXQoJyZhY3Rpb24nKVswXTtcbi8vICAgICAgICAgfVxuLy9cbi8vICAgICAgICAgcmV0dXJuIHVybDtcbi8vICAgICAgIH0pXG4vLyAgICAgKTtcbi8vICAgfVxuLy9cbi8vICAgLyoqXG4vLyAgICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gYWRkZWQgQmFuayBjb25uZWN0aW9uXG4vLyAgICAqL1xuLy8gICBwcml2YXRlIGxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpOiB2b2lkIHtcbi8vICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0NPTk5FQ1RJT05fQURERUQpLnN1YnNjcmliZSgoKSA9PiB7XG4vLyAgICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbi8vICAgICAgICAgdGhpcy5jYWNoZSA9IGJhbmtBY2NvdW50cztcbi8vICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuLy8gICAgICAgfSk7XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuLy8gICAgKi9cbi8vICAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuLy8gICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuLy8gICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbi8vICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4vLyAgICAgICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKCk7XG4vLyAgICAgICB9XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBVcGRhdGUgdXNlcidzIGJhc2lxIGNvbm5lY3Rpb25zIHdoZW4gdXNlciBjb25maXJtZWQgYmFzaXEgY29uc2VudFxuLy8gICAgKi9cbi8vICAgcHJpdmF0ZSBsaXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk6IHZvaWQge1xuLy8gICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0NPTlNFTlRfVVBEQVRFRCkuc3Vic2NyaWJlKChpc0NvbmZpcm1lZDogYm9vbGVhbikgPT4ge1xuLy8gICAgICAgaWYgKCFpc0NvbmZpcm1lZCkge1xuLy8gICAgICAgICByZXR1cm47XG4vLyAgICAgICB9XG4vL1xuLy8gICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9ucygpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCk7XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vIH1cbiJdfQ==
73
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
74
+ type: Inject,
75
+ args: ['environment']
76
+ }] }, { type: i3.ToastService }, { type: i4.BankConnectionService }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQVNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUc5RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQXlDO0lBTXpFLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCO0lBQ3BDLDhDQUE4QztJQUN0QyxxQkFBNEM7UUFFcEQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFQckQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFUdEQsUUFBRyxHQUFXLGdCQUFnQixDQUFDO1FBQy9CLGVBQVUsR0FBRyxXQUFXLENBQUM7SUFXekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLElBQW1CLEVBQUUsTUFBYyxFQUFFLFVBQTBCO1FBQzlFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxVQUFVLE1BQU0sY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDekYsR0FBRyxDQUFDLENBQUMsUUFBa0MsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFFekgsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsTUFBYyxFQUFFLFVBQTBCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxVQUFVLE1BQU0sY0FBYyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNySSxHQUFHLENBQUMsQ0FBQyxRQUFrQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQTtZQUUvSCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBUSxFQUFFO1lBQ2pILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssMkJBQTJCLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3JHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUExRE0sd0JBQVcsR0FBVyx5QkFBeUIsQ0FBQzswR0FENUMsWUFBWSxrRkFTYixhQUFhOzhHQVRaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2lxQ29ubmVjdGlvbnNSZXNwb25zZSB9IGZyb20gJy4vYmFzaXEtY29ubmVjdGlvbnMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBCYW5rTG9naW5EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1sb2dpbi1kYXRhJztcblxuLyoqXG4gKiBiYXNpcSBpcyBhIG1pZGRsZW1hbiBiZXR3ZWVuIGJhbmsgYW5kIHVzZXJcbiAqIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGJhbmsgcmVsYXRlZCBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpcVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIGJhc2lxQXBpVXJsOiBzdHJpbmcgPSAnaHR0cHM6Ly9hdS1hcGkuYmFzaXEuaW8nO1xuXG4gIHVybDogc3RyaW5nID0gJ2Jhc2lxL2FjY291bnRzJztcbiAgbW9kZWxDbGFzcyA9IEJhbmtBY2NvdW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIC8vIGluaXQgQmFua0Nvbm5lY3Rpb25TZXJ2aWNlIHRvIGxpc3RlbiBldmVudHNcbiAgICBwcml2YXRlIGJhbmtDb25uZWN0aW9uU2VydmljZTogQmFua0Nvbm5lY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgQmFzaXEgam9iIGZvciB0aGUgbmV3IGJhbmsgY29ubmVjdGlvbiBjcmVhdGlvblxuICAgKi9cbiAgY3JlYXRlQ29ubmVjdGlvbihkYXRhOiBCYW5rTG9naW5EYXRhLCB1c2VySWQ6IHN0cmluZywgY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtCYXNpcVNlcnZpY2UuYmFzaXFBcGlVcmx9L3VzZXJzLyR7dXNlcklkfS9jb25uZWN0aW9uc2AsIGRhdGEpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0pPQl9DUkVBVEVELCB7am9iSWQ6IHJlc3BvbnNlLmlkLCBjb25uZWN0aW9ufSkpO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5pZDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZGlzY29ubmVjdGVkIGJhbmsgY29ubmVjdGlvblxuICAgKi9cbiAgdXBkYXRlQ29ubmVjdGlvbihkYXRhOiBvYmplY3QsIHVzZXJJZDogc3RyaW5nLCBjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke0Jhc2lxU2VydmljZS5iYXNpcUFwaVVybH0vdXNlcnMvJHt1c2VySWR9L2Nvbm5lY3Rpb25zYCwgT2JqZWN0LmFzc2lnbihkYXRhLCB7aWQ6IGNvbm5lY3Rpb24uZXh0ZXJuYWxJZH0pKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogQmFzaXFDb25uZWN0aW9uc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05ORUNUSU9OX1VQREFURUQsIHtqb2JJZDogcmVzcG9uc2UuaWQsIGNvbm5lY3Rpb259KSlcblxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdGVuIHRvIG5vdGlmaWNhdGlvbnMgdG8gdXBkYXRlIGJhc2lxIGFjY291bnRzIGxpc3RcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -27,9 +27,9 @@ export class ChartAccountsDepreciationService extends RestService {
27
27
  }));
28
28
  }
29
29
  }
30
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
30
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{
35
35
  providedIn: 'root'
@@ -75,9 +75,9 @@ export class ChartAccountsService {
75
75
  }));
76
76
  }
77
77
  }
78
- ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
79
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, decorators: [{
78
+ ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
79
+ ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{
83
83
  providedIn: 'root'
@@ -74,9 +74,9 @@ export class ChatService extends RestService {
74
74
  });
75
75
  }
76
76
  }
77
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
78
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, providedIn: 'root' });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, decorators: [{
77
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, decorators: [{
80
80
  type: Injectable,
81
81
  args: [{
82
82
  providedIn: 'root'
@@ -47,9 +47,9 @@ export class MessageService extends RestService {
47
47
  });
48
48
  }
49
49
  }
50
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
51
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, providedIn: 'root' });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, decorators: [{
50
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
51
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, providedIn: 'root' });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, decorators: [{
53
53
  type: Injectable,
54
54
  args: [{
55
55
  providedIn: 'root'
@@ -104,9 +104,9 @@ export class MessageDocumentService {
104
104
  }));
105
105
  }
106
106
  }
107
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
108
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, decorators: [{
107
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
108
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, decorators: [{
110
110
  type: Injectable,
111
111
  args: [{
112
112
  providedIn: 'root'
@@ -48,9 +48,9 @@ export class DepreciationCapitalProjectService {
48
48
  }));
49
49
  }
50
50
  }
51
- DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
- DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
51
+ DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root'
@@ -94,9 +94,9 @@ export class DepreciationService extends RestService {
94
94
  });
95
95
  }
96
96
  }
97
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, providedIn: 'root' });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, decorators: [{
97
+ DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, decorators: [{
100
100
  type: Injectable,
101
101
  args: [{
102
102
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class DocumentFolderService extends RestService {
65
65
  }));
66
66
  }
67
67
  }
68
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, decorators: [{
68
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -38,9 +38,9 @@ export class ClientIncomeTypesService {
38
38
  }));
39
39
  }
40
40
  }
41
- ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
42
- ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
41
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{
46
46
  providedIn: 'root'
@@ -91,9 +91,9 @@ export class ClientInviteService extends RestService {
91
91
  }));
92
92
  }
93
93
  }
94
- ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
95
- ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, decorators: [{
94
+ ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
95
+ ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, decorators: [{
97
97
  type: Injectable,
98
98
  args: [{
99
99
  providedIn: 'root'
@@ -78,9 +78,9 @@ export class ClientMovementService extends RestService {
78
78
  });
79
79
  }
80
80
  }
81
- ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
82
- ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, decorators: [{
81
+ ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
82
+ ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{
86
86
  providedIn: 'root'
@@ -28,9 +28,9 @@ export class EmployeeService extends RestService {
28
28
  }));
29
29
  }
30
30
  }
31
- EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
- EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, decorators: [{
31
+ EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
+ EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
@@ -42,9 +42,9 @@ export class EmployeeInviteService extends RestService {
42
42
  }));
43
43
  }
44
44
  }
45
- EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
46
- EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, decorators: [{
45
+ EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
46
+ EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, decorators: [{
48
48
  type: Injectable,
49
49
  args: [{
50
50
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class FirmService {
65
65
  }));
66
66
  }
67
67
  }
68
- FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
- FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, decorators: [{
68
+ FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -23,9 +23,9 @@ export class ClientPortfolioReportService {
23
23
  }));
24
24
  }
25
25
  }
26
- ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
- ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
26
+ ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -70,9 +70,9 @@ export class IncomeSourceForecastService extends RestService {
70
70
  }).flat();
71
71
  }
72
72
  }
73
- IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
- IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
73
+ IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
+ IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'
@@ -90,9 +90,9 @@ export class IncomeSourceService extends RestService {
90
90
  return this.incomeSourceTypeSubject.asObservable();
91
91
  }
92
92
  }
93
- IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
94
- IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, decorators: [{
93
+ IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
94
+ IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, decorators: [{
96
96
  type: Injectable,
97
97
  args: [{
98
98
  providedIn: 'root'
@@ -70,9 +70,9 @@ export class SalaryForecastService extends RestService {
70
70
  }).flat();
71
71
  }
72
72
  }
73
- SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
- SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, decorators: [{
73
+ SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
+ SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'
@@ -67,9 +67,9 @@ export class SoleForecastService extends RestService {
67
67
  }).flat();
68
68
  }
69
69
  }
70
- SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
- SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, decorators: [{
70
+ SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
+ SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, decorators: [{
73
73
  type: Injectable,
74
74
  args: [{
75
75
  providedIn: 'root'
@@ -59,9 +59,9 @@ export class BorrowingExpenseService {
59
59
  }));
60
60
  }
61
61
  }
62
- BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
63
- BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, decorators: [{
62
+ BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{
67
67
  providedIn: 'root'
@@ -125,9 +125,9 @@ export class LoanService extends RestService {
125
125
  }));
126
126
  }
127
127
  }
128
- LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
129
- LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, providedIn: 'root' });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, decorators: [{
128
+ LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
129
+ LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, providedIn: 'root' });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, decorators: [{
131
131
  type: Injectable,
132
132
  args: [{
133
133
  providedIn: 'root'
@@ -12,9 +12,9 @@ export class PropertyCategoryService extends RestService {
12
12
  this.url = 'properties/categories';
13
13
  }
14
14
  }
15
- PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
- PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, decorators: [{
15
+ PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
+ PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{
20
20
  providedIn: 'root'
@@ -36,9 +36,9 @@ export class PropertyCategoryMovementService extends RestService {
36
36
  }));
37
37
  }
38
38
  }
39
- PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
40
- PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
39
+ PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
40
+ PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{
44
44
  providedIn: 'root'
@@ -50,9 +50,9 @@ export class PropertyDocumentService extends RestService {
50
50
  });
51
51
  }
52
52
  }
53
- PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
54
- PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, decorators: [{
53
+ PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
54
+ PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{
58
58
  providedIn: 'root'
@@ -9,9 +9,9 @@ export class PropertySaleService extends RestService {
9
9
  this.url = 'properties/sales';
10
10
  }
11
11
  }
12
- PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
- PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, decorators: [{
12
+ PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
+ PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, decorators: [{
15
15
  type: Injectable,
16
16
  args: [{
17
17
  providedIn: 'root'
@@ -10,9 +10,9 @@ export class TaxExemptionService extends RestService {
10
10
  this.isHydra = true;
11
11
  }
12
12
  }
13
- TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14
- TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, decorators: [{
13
+ TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14
+ TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root'
@@ -95,9 +95,9 @@ export class PropertyShareService extends RestService {
95
95
  });
96
96
  }
97
97
  }
98
- PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
99
- PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, decorators: [{
98
+ PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
99
+ PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, decorators: [{
101
101
  type: Injectable,
102
102
  args: [{
103
103
  providedIn: 'root'