taxtank-core 0.24.3 → 0.26.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 (161) hide show
  1. package/bundles/taxtank-core.umd.js +3067 -2561
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/client-invite.collection.js +1 -4
  4. package/esm2015/lib/collections/depreciation.collection.js +11 -1
  5. package/esm2015/lib/collections/index.js +3 -0
  6. package/esm2015/lib/collections/loan/loan-payment.collection.js +14 -1
  7. package/esm2015/lib/collections/loan/loan.collection.js +11 -1
  8. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
  9. package/esm2015/lib/collections/transaction/transaction.collection.js +20 -1
  10. package/esm2015/lib/collections/vehicle/index.js +3 -0
  11. package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +27 -0
  12. package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +106 -0
  13. package/esm2015/lib/db/Enums/bank-account-type.enum.js +3 -2
  14. package/esm2015/lib/db/Enums/vehicle-claim-details-method.enum.js +6 -0
  15. package/esm2015/lib/db/Models/sole/sole-business.js +1 -1
  16. package/esm2015/lib/db/Models/sole/sole-invoice-template.js +1 -1
  17. package/esm2015/lib/db/Models/transaction/transaction-base.js +15 -2
  18. package/esm2015/lib/db/Models/vehicle/vehicle-claim-details.js +4 -0
  19. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +1 -1
  20. package/esm2015/lib/db/Models/vehicle/vehicle-logbook.js +1 -1
  21. package/esm2015/lib/db/Models/vehicle/vehicle.js +1 -1
  22. package/esm2015/lib/forms/abstract.form.js +23 -1
  23. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +8 -5
  24. package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +16 -9
  25. package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +8 -3
  26. package/esm2015/lib/forms/index.js +3 -4
  27. package/esm2015/lib/forms/loan/index.js +2 -0
  28. package/esm2015/lib/forms/loan/loan.form.js +86 -0
  29. package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +2 -2
  30. package/esm2015/lib/forms/sole/index.js +3 -1
  31. package/esm2015/lib/forms/sole/sole-business-allocations.form.js +65 -0
  32. package/esm2015/lib/forms/sole/sole-invoice-template.form.js +13 -0
  33. package/esm2015/lib/forms/vehicle/index.js +5 -0
  34. package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +21 -0
  35. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +12 -102
  36. package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +56 -0
  37. package/esm2015/lib/forms/vehicle/vehicle.form.js +5 -2
  38. package/esm2015/lib/models/bank/bank-account-types.const.js +1 -2
  39. package/esm2015/lib/models/bank/bank-account.js +10 -5
  40. package/esm2015/lib/models/bank/type-loan.const.js +1 -2
  41. package/esm2015/lib/models/endpoint/endpoints.const.js +13 -4
  42. package/esm2015/lib/models/event/app-event-type.enum.js +7 -4
  43. package/esm2015/lib/models/index.js +2 -1
  44. package/esm2015/lib/models/loan/loan.js +36 -2
  45. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +5 -5
  46. package/esm2015/lib/models/sole/sole-business.js +2 -2
  47. package/esm2015/lib/models/sole/sole-invoice-template.js +5 -2
  48. package/esm2015/lib/models/vehicle/index.js +6 -0
  49. package/esm2015/lib/models/vehicle/logbook-period.js +23 -0
  50. package/esm2015/lib/models/vehicle/vehicle-claim-details.js +26 -0
  51. package/esm2015/lib/models/vehicle/vehicle-claim.js +64 -0
  52. package/esm2015/lib/models/vehicle/vehicle-logbook.js +32 -0
  53. package/esm2015/lib/models/vehicle/vehicle.js +10 -0
  54. package/esm2015/lib/services/http/depreciation/depreciation.service.js +10 -5
  55. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +15 -1
  56. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +13 -10
  57. package/esm2015/lib/services/http/index.js +2 -1
  58. package/esm2015/lib/services/http/sole/index.js +2 -1
  59. package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +21 -0
  60. package/esm2015/lib/services/http/tax-review/tax-review.service.js +11 -3
  61. package/esm2015/lib/services/http/transaction/transaction.service.js +12 -1
  62. package/esm2015/lib/services/http/vehicle/index.js +5 -0
  63. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +91 -0
  64. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +65 -6
  65. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +11 -47
  66. package/esm2015/lib/services/http/vehicle/vehicle.service.js +2 -52
  67. package/esm2015/lib/services/index.js +2 -1
  68. package/esm2015/lib/services/vehicle/index.js +2 -0
  69. package/esm2015/lib/services/vehicle/logbook-best-period.service.js +72 -0
  70. package/esm2015/lib/validators/index.js +3 -1
  71. package/esm2015/lib/validators/min-date/messages.enum.js +5 -0
  72. package/esm2015/lib/validators/min-date/min-date.validator.js +14 -0
  73. package/esm2015/public-api.js +3 -14
  74. package/fesm2015/taxtank-core.js +2253 -1814
  75. package/fesm2015/taxtank-core.js.map +1 -1
  76. package/lib/collections/client-invite.collection.d.ts +0 -3
  77. package/lib/collections/depreciation.collection.d.ts +6 -1
  78. package/lib/collections/index.d.ts +1 -0
  79. package/lib/collections/loan/loan-payment.collection.d.ts +4 -0
  80. package/lib/collections/loan/loan.collection.d.ts +6 -0
  81. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
  82. package/lib/collections/transaction/transaction.collection.d.ts +9 -0
  83. package/lib/collections/vehicle/index.d.ts +2 -0
  84. package/lib/collections/vehicle/vehicle-claim.collection.d.ts +14 -0
  85. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +38 -0
  86. package/lib/db/Enums/bank-account-type.enum.d.ts +0 -1
  87. package/lib/db/Enums/vehicle-claim-details-method.enum.d.ts +4 -0
  88. package/lib/db/Models/sole/sole-business.d.ts +2 -0
  89. package/lib/db/Models/sole/sole-invoice-template.d.ts +1 -0
  90. package/lib/db/Models/transaction/transaction-base.d.ts +2 -0
  91. package/lib/db/Models/vehicle/vehicle-claim-details.d.ts +10 -0
  92. package/lib/db/Models/vehicle/vehicle-claim.d.ts +3 -5
  93. package/lib/db/Models/vehicle/vehicle-logbook.d.ts +3 -2
  94. package/lib/forms/abstract.form.d.ts +12 -0
  95. package/lib/forms/index.d.ts +2 -3
  96. package/lib/forms/loan/index.d.ts +1 -0
  97. package/lib/forms/loan/loan.form.d.ts +25 -0
  98. package/lib/forms/sole/index.d.ts +2 -0
  99. package/lib/forms/sole/sole-business-allocations.form.d.ts +17 -0
  100. package/lib/forms/sole/sole-invoice-template.form.d.ts +5 -0
  101. package/lib/forms/vehicle/index.d.ts +4 -0
  102. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +13 -0
  103. package/lib/forms/vehicle/vehicle-claim.form.d.ts +8 -38
  104. package/lib/forms/vehicle/vehicle-logbook.form.d.ts +20 -0
  105. package/lib/forms/vehicle/vehicle.form.d.ts +4 -1
  106. package/lib/models/bank/bank-account.d.ts +3 -2
  107. package/lib/models/event/app-event-type.enum.d.ts +6 -3
  108. package/lib/models/index.d.ts +1 -0
  109. package/lib/models/loan/loan.d.ts +26 -0
  110. package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +3 -2
  111. package/lib/models/sole/sole-business.d.ts +1 -1
  112. package/lib/models/sole/sole-invoice-template.d.ts +1 -0
  113. package/lib/models/vehicle/index.d.ts +5 -0
  114. package/lib/models/vehicle/logbook-period.d.ts +15 -0
  115. package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -0
  116. package/lib/models/{logbook → vehicle}/vehicle-claim.d.ts +11 -17
  117. package/lib/models/vehicle/vehicle-logbook.d.ts +17 -0
  118. package/lib/models/{logbook → vehicle}/vehicle.d.ts +0 -5
  119. package/lib/services/http/depreciation/depreciation.service.d.ts +1 -1
  120. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +7 -1
  121. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -4
  122. package/lib/services/http/index.d.ts +1 -0
  123. package/lib/services/http/sole/index.d.ts +1 -0
  124. package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +11 -0
  125. package/lib/services/http/tax-review/tax-review.service.d.ts +1 -0
  126. package/lib/services/http/transaction/transaction.service.d.ts +1 -0
  127. package/lib/services/http/vehicle/index.d.ts +4 -0
  128. package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts +34 -0
  129. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +22 -5
  130. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +6 -15
  131. package/lib/services/http/vehicle/vehicle.service.d.ts +2 -20
  132. package/lib/services/index.d.ts +1 -0
  133. package/lib/services/vehicle/index.d.ts +1 -0
  134. package/lib/services/vehicle/logbook-best-period.service.d.ts +28 -0
  135. package/lib/validators/index.d.ts +2 -0
  136. package/lib/validators/min-date/messages.enum.d.ts +3 -0
  137. package/lib/validators/min-date/min-date.validator.d.ts +5 -0
  138. package/package.json +1 -1
  139. package/public-api.d.ts +2 -13
  140. package/esm2015/lib/collections/vehicle-logbook.collection.js +0 -88
  141. package/esm2015/lib/collections/vehicle.collection.js +0 -9
  142. package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +0 -6
  143. package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +0 -23
  144. package/esm2015/lib/models/logbook/default-vehicle-expense.js +0 -20
  145. package/esm2015/lib/models/logbook/logbook-period.js +0 -18
  146. package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +0 -6
  147. package/esm2015/lib/models/logbook/vehicle-claim.js +0 -94
  148. package/esm2015/lib/models/logbook/vehicle-logbook.js +0 -22
  149. package/esm2015/lib/models/logbook/vehicle.js +0 -17
  150. package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +0 -23
  151. package/esm2015/lib/services/http/vehicle/messages.enum.js +0 -13
  152. package/lib/collections/vehicle-logbook.collection.d.ts +0 -30
  153. package/lib/collections/vehicle.collection.d.ts +0 -6
  154. package/lib/db/Enums/vehicle-claim-method.enum.d.ts +0 -4
  155. package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +0 -8
  156. package/lib/models/logbook/default-vehicle-expense.d.ts +0 -5
  157. package/lib/models/logbook/logbook-period.d.ts +0 -10
  158. package/lib/models/logbook/logbook-purpose-options.const.d.ts +0 -4
  159. package/lib/models/logbook/vehicle-logbook.d.ts +0 -12
  160. package/lib/services/http/user/users-invite/users-invite.service.d.ts +0 -13
  161. package/lib/services/http/vehicle/messages.enum.d.ts +0 -11
@@ -6,12 +6,13 @@ import { LoanPayment } from './loan-payment';
6
6
  import { LoanPayout } from './loan-payout';
7
7
  import { FinancialYear } from '../financial-year/financial-year';
8
8
  import last from 'lodash/last';
9
+ import { LoanPaymentCollection } from '../../collections/loan/loan-payment.collection';
9
10
  export class Loan extends LoanBase {
10
11
  /**
11
12
  * Check if loan type is related to LoanVehicleTypeEnum
12
13
  */
13
14
  isVehicle() {
14
- return this.type in LoanVehicleTypeEnum;
15
+ return !this.bankAccount && this.type in LoanVehicleTypeEnum;
15
16
  }
16
17
  /**
17
18
  * Get the last payment for passed financial year
@@ -21,7 +22,40 @@ export class Loan extends LoanBase {
21
22
  const finYear = new FinancialYear(new Date(year.toString()));
22
23
  return last(this.payments.filter((payment) => payment.date > finYear.startDate && payment.date < finYear.endDate));
23
24
  }
25
+ /**
26
+ * The size of loan interest
27
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/212369955/Loans+vehicle+loans
28
+ * @TODO Vik/Nicole: need to update documentation. Derek gave the right formulas to Mikhail
29
+ */
30
+ getInterest() {
31
+ return new LoanPaymentCollection(this.payments).paymentDue - this.amount;
32
+ }
33
+ /**
34
+ * The last payment size
35
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/212369955/Loans+vehicle+loans
36
+ * @TODO Vik/Nicole: need to update documentation. Derek gave the right formulas to Mikhail
37
+ */
38
+ getBalloonPayment() {
39
+ const lastPaymentDueAmount = new LoanPaymentCollection(this.payments).last.paymentDue;
40
+ return (lastPaymentDueAmount - this.repaymentAmount) > 0 ? lastPaymentDueAmount - this.repaymentAmount : 0;
41
+ }
42
+ /**
43
+ * Percent of ballon payment from all payments
44
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/212369955/Loans+vehicle+loans
45
+ * @TODO Vik/Nicole: need to update documentation. Derek gave the right formulas to Mikhail
46
+ */
47
+ getBalloonPaymentPercentage() {
48
+ return this.getBalloonPayment() / new LoanPaymentCollection(this.payments).paymentDue * 100;
49
+ }
24
50
  }
51
+ /**
52
+ * 30 years is default mortgage term
53
+ */
54
+ Loan.mortgageDefaultTerm = 360;
55
+ /**
56
+ * 5 years is default bank loan term
57
+ */
58
+ Loan.loanDefaultTerm = 60;
25
59
  __decorate([
26
60
  Type(() => LoanPayment)
27
61
  ], Loan.prototype, "payments", void 0);
@@ -31,4 +65,4 @@ __decorate([
31
65
  __decorate([
32
66
  Type(() => LoanPayout)
33
67
  ], Loan.prototype, "payout", void 0);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9hbi9sb2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE1BQU0sT0FBTyxJQUFLLFNBQVEsUUFBUTtJQVloQzs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksbUJBQW1CLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLElBQVk7UUFDL0IsTUFBTSxPQUFPLEdBQWtCLElBQUksYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFvQixFQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzSSxDQUFDO0NBQ0Y7QUF6QkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO3NDQUNBO0FBR3hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDTTtBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FuIGFzIExvYW5CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBMb2FuUmVwYXltZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgTG9hblZlaGljbGVUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2xvYW4tdmVoaWNsZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IExvYW5QYXltZW50IH0gZnJvbSAnLi9sb2FuLXBheW1lbnQnO1xuaW1wb3J0IHsgTG9hblBheW91dCB9IGZyb20gJy4vbG9hbi1wYXlvdXQnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcblxuZXhwb3J0IGNsYXNzIExvYW4gZXh0ZW5kcyBMb2FuQmFzZSB7XG4gIEBUeXBlKCgpID0+IExvYW5QYXltZW50KVxuICBwYXltZW50czogTG9hblBheW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb21tZW5jZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IExvYW5QYXlvdXQpXG4gIHBheW91dDogTG9hblBheW91dDtcblxuICBjdXJyZW50QmFsYW5jZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBsb2FuIHR5cGUgaXMgcmVsYXRlZCB0byBMb2FuVmVoaWNsZVR5cGVFbnVtXG4gICAqL1xuICBpc1ZlaGljbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSBpbiBMb2FuVmVoaWNsZVR5cGVFbnVtO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGFzdCBwYXltZW50IGZvciBwYXNzZWQgZmluYW5jaWFsIHllYXJcbiAgICogQHBhcmFtIHllYXIgZmluYW5jaWFsIHllYXIgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0TGFzdFBheW1lbnRCeVllYXIoeWVhcjogbnVtYmVyKTogTG9hblBheW1lbnQge1xuICAgIGNvbnN0IGZpblllYXI6IEZpbmFuY2lhbFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZSh5ZWFyLnRvU3RyaW5nKCkpKTtcbiAgICByZXR1cm4gbGFzdCh0aGlzLnBheW1lbnRzLmZpbHRlcigocGF5bWVudDogTG9hblBheW1lbnQpOiBib29sZWFuID0+IHBheW1lbnQuZGF0ZSA+IGZpblllYXIuc3RhcnREYXRlICYmIHBheW1lbnQuZGF0ZSA8IGZpblllYXIuZW5kRGF0ZSkpO1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9hbi9sb2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXZGLE1BQU0sT0FBTyxJQUFLLFNBQVEsUUFBUTtJQXNCaEM7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxtQkFBbUIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9CLENBQUMsSUFBWTtRQUMvQixNQUFNLE9BQU8sR0FBa0IsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQW9CLEVBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixNQUFNLG9CQUFvQixHQUFXLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDOUYsT0FBTyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDOUYsQ0FBQzs7QUEvREQ7O0dBRUc7QUFDSSx3QkFBbUIsR0FBVyxHQUFHLENBQUM7QUFFekM7O0dBRUc7QUFDSSxvQkFBZSxHQUFXLEVBQUUsQ0FBQztBQUdwQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7c0NBQ0E7QUFHeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNNO0FBR3ZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztvQ0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYW4gYXMgTG9hbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvbG9hbi9sb2FuJztcbmltcG9ydCB7IExvYW5WZWhpY2xlVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9sb2FuLXZlaGljbGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBMb2FuUGF5bWVudCB9IGZyb20gJy4vbG9hbi1wYXltZW50JztcbmltcG9ydCB7IExvYW5QYXlvdXQgfSBmcm9tICcuL2xvYW4tcGF5b3V0JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XG5pbXBvcnQgeyBMb2FuUGF5bWVudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9sb2FuL2xvYW4tcGF5bWVudC5jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIExvYW4gZXh0ZW5kcyBMb2FuQmFzZSB7XG4gIC8qKlxuICAgKiAzMCB5ZWFycyBpcyBkZWZhdWx0IG1vcnRnYWdlIHRlcm1cbiAgICovXG4gIHN0YXRpYyBtb3J0Z2FnZURlZmF1bHRUZXJtOiBudW1iZXIgPSAzNjA7XG5cbiAgLyoqXG4gICAqIDUgeWVhcnMgaXMgZGVmYXVsdCBiYW5rIGxvYW4gdGVybVxuICAgKi9cbiAgc3RhdGljIGxvYW5EZWZhdWx0VGVybTogbnVtYmVyID0gNjA7XG5cbiAgQFR5cGUoKCkgPT4gTG9hblBheW1lbnQpXG4gIHBheW1lbnRzOiBMb2FuUGF5bWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbW1lbmNlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gTG9hblBheW91dClcbiAgcGF5b3V0OiBMb2FuUGF5b3V0O1xuXG4gIGN1cnJlbnRCYWxhbmNlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGxvYW4gdHlwZSBpcyByZWxhdGVkIHRvIExvYW5WZWhpY2xlVHlwZUVudW1cbiAgICovXG4gIGlzVmVoaWNsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYmFua0FjY291bnQgJiYgdGhpcy50eXBlIGluIExvYW5WZWhpY2xlVHlwZUVudW07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsYXN0IHBheW1lbnQgZm9yIHBhc3NlZCBmaW5hbmNpYWwgeWVhclxuICAgKiBAcGFyYW0geWVhciBmaW5hbmNpYWwgeWVhciBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRMYXN0UGF5bWVudEJ5WWVhcih5ZWFyOiBudW1iZXIpOiBMb2FuUGF5bWVudCB7XG4gICAgY29uc3QgZmluWWVhcjogRmluYW5jaWFsWWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKHllYXIudG9TdHJpbmcoKSkpO1xuICAgIHJldHVybiBsYXN0KHRoaXMucGF5bWVudHMuZmlsdGVyKChwYXltZW50OiBMb2FuUGF5bWVudCk6IGJvb2xlYW4gPT4gcGF5bWVudC5kYXRlID4gZmluWWVhci5zdGFydERhdGUgJiYgcGF5bWVudC5kYXRlIDwgZmluWWVhci5lbmREYXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgbG9hbiBpbnRlcmVzdFxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxMjM2OTk1NS9Mb2Fucyt2ZWhpY2xlK2xvYW5zXG4gICAqIEBUT0RPIFZpay9OaWNvbGU6IG5lZWQgdG8gdXBkYXRlIGRvY3VtZW50YXRpb24uIERlcmVrIGdhdmUgdGhlIHJpZ2h0IGZvcm11bGFzIHRvIE1pa2hhaWxcbiAgICovXG4gIGdldEludGVyZXN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBMb2FuUGF5bWVudENvbGxlY3Rpb24odGhpcy5wYXltZW50cykucGF5bWVudER1ZSAtIHRoaXMuYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsYXN0IHBheW1lbnQgc2l6ZVxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxMjM2OTk1NS9Mb2Fucyt2ZWhpY2xlK2xvYW5zXG4gICAqIEBUT0RPIFZpay9OaWNvbGU6IG5lZWQgdG8gdXBkYXRlIGRvY3VtZW50YXRpb24uIERlcmVrIGdhdmUgdGhlIHJpZ2h0IGZvcm11bGFzIHRvIE1pa2hhaWxcbiAgICovXG4gIGdldEJhbGxvb25QYXltZW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgbGFzdFBheW1lbnREdWVBbW91bnQ6IG51bWJlciA9IG5ldyBMb2FuUGF5bWVudENvbGxlY3Rpb24odGhpcy5wYXltZW50cykubGFzdC5wYXltZW50RHVlO1xuICAgIHJldHVybiAobGFzdFBheW1lbnREdWVBbW91bnQgLSB0aGlzLnJlcGF5bWVudEFtb3VudCkgPiAwID8gbGFzdFBheW1lbnREdWVBbW91bnQgLSB0aGlzLnJlcGF5bWVudEFtb3VudCA6IDA7XG4gIH1cblxuICAvKipcbiAgICogUGVyY2VudCBvZiBiYWxsb24gcGF5bWVudCBmcm9tIGFsbCBwYXltZW50c1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxMjM2OTk1NS9Mb2Fucyt2ZWhpY2xlK2xvYW5zXG4gICAqIEBUT0RPIFZpay9OaWNvbGU6IG5lZWQgdG8gdXBkYXRlIGRvY3VtZW50YXRpb24uIERlcmVrIGdhdmUgdGhlIHJpZ2h0IGZvcm11bGFzIHRvIE1pa2hhaWxcbiAgICovXG4gIGdldEJhbGxvb25QYXltZW50UGVyY2VudGFnZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJhbGxvb25QYXltZW50KCkgLyBuZXcgTG9hblBheW1lbnRDb2xsZWN0aW9uKHRoaXMucGF5bWVudHMpLnBheW1lbnREdWUgKiAxMDA7XG4gIH1cbn1cbiJdfQ==
@@ -5,10 +5,11 @@ import { DeductionClothingTypeEnum } from './deduction-clothing-type.enum';
5
5
  import { DeductionSelfEducationTypeEnum } from './deduction-self-education-type.enum';
6
6
  import { TankTypeEnum } from '../../../../db/Enums/tank-type.enum';
7
7
  export class MyTaxDeductions {
8
- constructor(transactions, depreciations, vehicleClaim, vehicleClaimRate) {
8
+ constructor(transactions, depreciations, vehicleClaim, vehicleClaimDetails, vehicleClaimRate) {
9
9
  this.transactions = transactions;
10
10
  this.depreciations = depreciations;
11
11
  this.vehicleClaim = vehicleClaim;
12
+ this.vehicleClaimDetails = vehicleClaimDetails;
12
13
  this.vehicleClaimRate = vehicleClaimRate;
13
14
  // user can have no selected vehicle claim
14
15
  if (this.vehicleClaim) {
@@ -59,9 +60,8 @@ export class MyTaxDeductions {
59
60
  .sumBy('claimAmount');
60
61
  }
61
62
  getVehicleExpensesTotalAmount() {
62
- var _a;
63
- if (this.vehicleClaim) {
64
- return ((_a = this.vehicleClaim) === null || _a === void 0 ? void 0 : _a.isLogbookMethod()) ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
63
+ if (this.vehicleClaimDetails) {
64
+ return this.vehicleClaimDetails.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
65
65
  }
66
66
  return 0;
67
67
  }
@@ -82,4 +82,4 @@ export class MyTaxDeductions {
82
82
  this.depreciations.filterBy('chartAccounts.heading.id', ChartAccountsHeadingListEnum.TOOLS_EQUIPMENT).sumBy('claimAmount');
83
83
  }
84
84
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWRlZHVjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgvbXktdGF4LWRlZHVjdGlvbnMvbXktdGF4LWRlZHVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFHbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFckcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRW5FLE1BQU0sT0FBTyxlQUFlO0lBNEIxQixZQUNFLFlBQW1DLEVBQ25DLGFBQXFDLEVBQ3JDLFlBQTBCLEVBQzFCLGdCQUF3QjtRQUV4QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFFekMsMENBQTBDO1FBQzFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsWUFBWTthQUNqRCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsb0JBQW9CLENBQUMsMkJBQTJC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Q0FBbUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9sb2dib29rL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgREVEVUNUSU9OX0NBVEVHT1JJRVMgfSBmcm9tICcuL2RlZHVjdGlvbi1maWVsZHMuY29uc3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctbGlzdC5lbnVtJztcbmltcG9ydCB7IFZlaGljbGVFeHBlbnNlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL3JlcG9ydC92ZWhpY2xlLWV4cGVuc2UvdmVoaWNsZS1leHBlbnNlLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGVkdWN0aW9uQ2xvdGhpbmdUeXBlRW51bSB9IGZyb20gJy4vZGVkdWN0aW9uLWNsb3RoaW5nLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEZWR1Y3Rpb25TZWxmRWR1Y2F0aW9uVHlwZUVudW0gfSBmcm9tICcuL2RlZHVjdGlvbi1zZWxmLWVkdWNhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgTXlUYXhEZWR1Y3Rpb25zIHtcbiAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG4gIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb247XG4gIHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltO1xuICB2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXI7XG4gIHdvcmtSZWxhdGVkQ2xvdGhpbmdFeHBlbnNlczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uO1xuICB3b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25FeHBlbnNlczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uO1xuICBwZXJzb25hbFN1cGVyQ29udHJpYnV0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uO1xuICBvdGhlcldvcmtSZWxhdGVkRXhwZW5zZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBrbG1zTWV0aG9kQ2xhaW1BbW91bnQ6IG51bWJlcjtcbiAgdG90YWxFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICB2ZWhpY2xlRXhwZW5zZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICB3b3JrUmVsYXRlZFRyYXZlbEV4cGVuc2VzVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgd29ya1JlbGF0ZWRDbG90aGluZ1R5cGU6IERlZHVjdGlvbkNsb3RoaW5nVHlwZUVudW07XG4gIHdvcmtSZWxhdGVkQ2xvdGhpbmdUb3RhbEFtb3VudDogbnVtYmVyO1xuICB3b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25UeXBlOiBEZWR1Y3Rpb25TZWxmRWR1Y2F0aW9uVHlwZUVudW07XG4gIHdvcmtSZWxhdGVkU2VsZkVkdWNhdGlvblRvdGFsQW1vdW50OiBudW1iZXI7XG4gIGxvd1ZhbHVlUG9vbERlZHVjdGlvblRvdGFsQW1vdW50OiBudW1iZXI7XG4gIGludGVyZXN0RXhwZW5zZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBkaXZpZGVuZEV4cGVuc2VzVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgZG9uYXRpb25zVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgaW50ZXJlc3RzQ2hhcmdlZEJ5QVRPVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgbGl0aWdhdGlvbkNvc3RzVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgb3RoZXJNYW5hZ2luZ0Nvc3RzVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgcGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBmb3Jlc3RyeU1hbmFnZWRJbnZlc3RtZW50U2NoZW1lc0RlZHVjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBvdGhlckRlZHVjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sXG4gICAgdmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0sXG4gICAgdmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyXG4gICkge1xuICAgIHRoaXMudHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zO1xuICAgIHRoaXMuZGVwcmVjaWF0aW9ucyA9IGRlcHJlY2lhdGlvbnM7XG4gICAgdGhpcy52ZWhpY2xlQ2xhaW0gPSB2ZWhpY2xlQ2xhaW07XG4gICAgdGhpcy52ZWhpY2xlQ2xhaW1SYXRlID0gdmVoaWNsZUNsYWltUmF0ZTtcblxuICAgIC8vIHVzZXIgY2FuIGhhdmUgbm8gc2VsZWN0ZWQgdmVoaWNsZSBjbGFpbVxuICAgIGlmICh0aGlzLnZlaGljbGVDbGFpbSkge1xuICAgICAgdGhpcy5zZXRWZWhpY2xlQ2xhaW1EYXRhKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRPdGhlcldvcmtSZWxhdGVkRXhwZW5zZXNUb3RhbEFtb3VudCgpO1xuXG4gICAgdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMpO1xuICAgIHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMpO1xuICAgIHRoaXMud29ya1JlbGF0ZWRTZWxmRWR1Y2F0aW9uRXhwZW5zZXMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25FeHBlbnNlcyk7XG4gICAgdGhpcy52ZWhpY2xlRXhwZW5zZXNUb3RhbEFtb3VudCA9IHRoaXMuZ2V0VmVoaWNsZUV4cGVuc2VzVG90YWxBbW91bnQoKTtcbiAgICB0aGlzLndvcmtSZWxhdGVkVHJhdmVsRXhwZW5zZXNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uV09SS19SRUxBVEVEX1RSQVZFTF9FWFBFTlNFUylcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLndvcmtSZWxhdGVkQ2xvdGhpbmdUeXBlID0gdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMubGVuZ3RoID8gRGVkdWN0aW9uQ2xvdGhpbmdUeXBlRW51bS5DT01QVUxTT1JZX0MgOiBudWxsO1xuICAgIHRoaXMud29ya1JlbGF0ZWRDbG90aGluZ1RvdGFsQW1vdW50ID0gdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25UeXBlID0gdGhpcy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25FeHBlbnNlcy5sZW5ndGggP1xuICAgICAgRGVkdWN0aW9uU2VsZkVkdWNhdGlvblR5cGVFbnVtLklNUFJPVkVfU0tJTExTX0ZPUl9DVVJSRU5UX0VBUk5JTkdTX0sgOiBudWxsO1xuICAgIHRoaXMud29ya1JlbGF0ZWRTZWxmRWR1Y2F0aW9uVG90YWxBbW91bnQgPSB0aGlzLndvcmtSZWxhdGVkU2VsZkVkdWNhdGlvbkV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMubG93VmFsdWVQb29sRGVkdWN0aW9uVG90YWxBbW91bnQgPSB0aGlzLmRlcHJlY2lhdGlvbnMuZ2V0QnlUYW5rVHlwZShUYW5rVHlwZUVudW0uV09SSylcbiAgICAgIC5nZXRMb3dWYWx1ZVBvb2xEZXByZWNpYXRpb25zKCkuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5pbnRlcmVzdEV4cGVuc2VzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5pbnRlcmVzdEV4cGVuc2VzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuZGl2aWRlbmRFeHBlbnNlc1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuZGl2aWRlbmRFeHBlbnNlcylcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmRvbmF0aW9uc1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuZG9uYXRpb25zKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuaW50ZXJlc3RzQ2hhcmdlZEJ5QVRPVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuaW50ZXJlc3RzQ2hhcmdlZEJ5QVRPKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMubGl0aWdhdGlvbkNvc3RzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMubGl0aWdhdGlvbkNvc3RzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMub3RoZXJNYW5hZ2luZ0Nvc3RzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMub3RoZXJNYW5hZ2luZ0Nvc3RzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnNUb3RhbEFtb3VudCA9IHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5mb3Jlc3RyeU1hbmFnZWRJbnZlc3RtZW50U2NoZW1lc0RlZHVjdGlvbnNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5mb3Jlc3RyeU1hbmFnZWRJbnZlc3RtZW50U2NoZW1lc0RlZHVjdGlvbnMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5vdGhlckRlZHVjdGlvbnNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5vdGhlckRlZHVjdGlvbnMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldFZlaGljbGVFeHBlbnNlc1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMudmVoaWNsZUNsYWltKSB7XG4gICAgICByZXR1cm4gdGhpcy52ZWhpY2xlQ2xhaW0/LmlzTG9nYm9va01ldGhvZCgpID8gdGhpcy50b3RhbEV4cGVuc2VzQW1vdW50IDogdGhpcy5rbG1zTWV0aG9kQ2xhaW1BbW91bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFZlaGljbGVDbGFpbURhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5rbG1zTWV0aG9kQ2xhaW1BbW91bnQgPSB0aGlzLnZlaGljbGVDbGFpbS5nZXRLTE1zQ2xhaW1BbW91bnQodGhpcy52ZWhpY2xlQ2xhaW1SYXRlKTtcbiAgICB0aGlzLnRvdGFsRXhwZW5zZXNBbW91bnQgPSB0aGlzLnZlaGljbGVDbGFpbS5nZXRMb2dib29rQ2xhaW1BbW91bnQoXG4gICAgICBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFtcbiAgICAgICAgLi4udGhpcy50cmFuc2FjdGlvbnMuZ2V0QnlUYW5rVHlwZSh0aGlzLnZlaGljbGVDbGFpbS50YW5rVHlwZSksXG4gICAgICAgIC4uLnRoaXMuZGVwcmVjaWF0aW9ucy5nZXRCeVRhbmtUeXBlKHRoaXMudmVoaWNsZUNsYWltLnRhbmtUeXBlKS50b1RyYW5zYWN0aW9ucygpLnRvQXJyYXkoKVxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIGFtb3VudCBmcm9tIE90aGVyIHdvcmsgcmVsYXRlZCBleHBlbnNlcyBhbmQgVG9vbHMgJiBlcXVpcG1lbnQgZGVwcmVjaWF0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRPdGhlcldvcmtSZWxhdGVkRXhwZW5zZXNUb3RhbEFtb3VudCgpOiB2b2lkIHtcbiAgICBjb25zdCBvdGhlckluY29tZVJlbGF0ZWRFeHBlbnNlczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMub3RoZXJJbmNvbWVSZWxhdGVkRXhwZW5zZXMpO1xuXG4gICAgdGhpcy5vdGhlcldvcmtSZWxhdGVkRXhwZW5zZXNUb3RhbEFtb3VudCA9IC1NYXRoLmFicyhvdGhlckluY29tZVJlbGF0ZWRFeHBlbnNlcy5zdW1CeSgnY2xhaW1BbW91bnQnKSkgK1xuICAgICAgdGhpcy5kZXByZWNpYXRpb25zLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLlRPT0xTX0VRVUlQTUVOVCkuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWRlZHVjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgvbXktdGF4LWRlZHVjdGlvbnMvbXktdGF4LWRlZHVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR25FLE1BQU0sT0FBTyxlQUFlO0lBNkIxQixZQUNFLFlBQW1DLEVBQ25DLGFBQXFDLEVBQ3JDLFlBQTBCLEVBQzFCLG1CQUF3QyxFQUN4QyxnQkFBd0I7UUFFeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUV6QywwQ0FBMEM7UUFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FB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QkFBb0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBERURVQ1RJT05fQ0FURUdPUklFUyB9IGZyb20gJy4vZGVkdWN0aW9uLWZpZWxkcy5jb25zdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy1saXN0LmVudW0nO1xuaW1wb3J0IHsgRGVkdWN0aW9uQ2xvdGhpbmdUeXBlRW51bSB9IGZyb20gJy4vZGVkdWN0aW9uLWNsb3RoaW5nLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEZWR1Y3Rpb25TZWxmRWR1Y2F0aW9uVHlwZUVudW0gfSBmcm9tICcuL2RlZHVjdGlvbi1zZWxmLWVkdWNhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltLCBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vdmVoaWNsZSc7XG5cbmV4cG9ydCBjbGFzcyBNeVRheERlZHVjdGlvbnMge1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbjtcbiAgdmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW07XG4gIHZlaGljbGVDbGFpbURldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHM7XG4gIHZlaGljbGVDbGFpbVJhdGU6IG51bWJlcjtcbiAgd29ya1JlbGF0ZWRDbG90aGluZ0V4cGVuc2VzOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG4gIHdvcmtSZWxhdGVkU2VsZkVkdWNhdGlvbkV4cGVuc2VzOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG4gIHBlcnNvbmFsU3VwZXJDb250cmlidXRpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG4gIG90aGVyV29ya1JlbGF0ZWRFeHBlbnNlc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGtsbXNNZXRob2RDbGFpbUFtb3VudDogbnVtYmVyO1xuICB0b3RhbEV4cGVuc2VzQW1vdW50OiBudW1iZXI7XG4gIHZlaGljbGVFeHBlbnNlc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIHdvcmtSZWxhdGVkVHJhdmVsRXhwZW5zZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICB3b3JrUmVsYXRlZENsb3RoaW5nVHlwZTogRGVkdWN0aW9uQ2xvdGhpbmdUeXBlRW51bTtcbiAgd29ya1JlbGF0ZWRDbG90aGluZ1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIHdvcmtSZWxhdGVkU2VsZkVkdWNhdGlvblR5cGU6IERlZHVjdGlvblNlbGZFZHVjYXRpb25UeXBlRW51bTtcbiAgd29ya1JlbGF0ZWRTZWxmRWR1Y2F0aW9uVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgbG93VmFsdWVQb29sRGVkdWN0aW9uVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgaW50ZXJlc3RFeHBlbnNlc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGRpdmlkZW5kRXhwZW5zZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBkb25hdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBpbnRlcmVzdHNDaGFyZ2VkQnlBVE9Ub3RhbEFtb3VudDogbnVtYmVyO1xuICBsaXRpZ2F0aW9uQ29zdHNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBvdGhlck1hbmFnaW5nQ29zdHNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBwZXJzb25hbFN1cGVyQ29udHJpYnV0aW9uc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGZvcmVzdHJ5TWFuYWdlZEludmVzdG1lbnRTY2hlbWVzRGVkdWN0aW9uc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIG90aGVyRGVkdWN0aW9uc1RvdGFsQW1vdW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbixcbiAgICB2ZWhpY2xlQ2xhaW06IFZlaGljbGVDbGFpbSxcbiAgICB2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzLFxuICAgIHZlaGljbGVDbGFpbVJhdGU6IG51bWJlclxuICApIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9ucztcbiAgICB0aGlzLmRlcHJlY2lhdGlvbnMgPSBkZXByZWNpYXRpb25zO1xuICAgIHRoaXMudmVoaWNsZUNsYWltID0gdmVoaWNsZUNsYWltO1xuICAgIHRoaXMudmVoaWNsZUNsYWltRGV0YWlscyA9IHZlaGljbGVDbGFpbURldGFpbHM7XG4gICAgdGhpcy52ZWhpY2xlQ2xhaW1SYXRlID0gdmVoaWNsZUNsYWltUmF0ZTtcblxuICAgIC8vIHVzZXIgY2FuIGhhdmUgbm8gc2VsZWN0ZWQgdmVoaWNsZSBjbGFpbVxuICAgIGlmICh0aGlzLnZlaGljbGVDbGFpbSkge1xuICAgICAgdGhpcy5zZXRWZWhpY2xlQ2xhaW1EYXRhKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRPdGhlcldvcmtSZWxhdGVkRXhwZW5zZXNUb3RhbEFtb3VudCgpO1xuXG4gICAgdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMpO1xuICAgIHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMpO1xuICAgIHRoaXMud29ya1JlbGF0ZWRTZWxmRWR1Y2F0aW9uRXhwZW5zZXMgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25FeHBlbnNlcyk7XG4gICAgdGhpcy52ZWhpY2xlRXhwZW5zZXNUb3RhbEFtb3VudCA9IHRoaXMuZ2V0VmVoaWNsZUV4cGVuc2VzVG90YWxBbW91bnQoKTtcbiAgICB0aGlzLndvcmtSZWxhdGVkVHJhdmVsRXhwZW5zZXNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uV09SS19SRUxBVEVEX1RSQVZFTF9FWFBFTlNFUylcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLndvcmtSZWxhdGVkQ2xvdGhpbmdUeXBlID0gdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMubGVuZ3RoID8gRGVkdWN0aW9uQ2xvdGhpbmdUeXBlRW51bS5DT01QVUxTT1JZX0MgOiBudWxsO1xuICAgIHRoaXMud29ya1JlbGF0ZWRDbG90aGluZ1RvdGFsQW1vdW50ID0gdGhpcy53b3JrUmVsYXRlZENsb3RoaW5nRXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25UeXBlID0gdGhpcy53b3JrUmVsYXRlZFNlbGZFZHVjYXRpb25FeHBlbnNlcy5sZW5ndGggP1xuICAgICAgRGVkdWN0aW9uU2VsZkVkdWNhdGlvblR5cGVFbnVtLklNUFJPVkVfU0tJTExTX0ZPUl9DVVJSRU5UX0VBUk5JTkdTX0sgOiBudWxsO1xuICAgIHRoaXMud29ya1JlbGF0ZWRTZWxmRWR1Y2F0aW9uVG90YWxBbW91bnQgPSB0aGlzLndvcmtSZWxhdGVkU2VsZkVkdWNhdGlvbkV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMubG93VmFsdWVQb29sRGVkdWN0aW9uVG90YWxBbW91bnQgPSB0aGlzLmRlcHJlY2lhdGlvbnMuZ2V0QnlUYW5rVHlwZShUYW5rVHlwZUVudW0uV09SSylcbiAgICAgIC5nZXRMb3dWYWx1ZVBvb2xEZXByZWNpYXRpb25zKCkuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5pbnRlcmVzdEV4cGVuc2VzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmhlYWRpbmcuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5pbnRlcmVzdEV4cGVuc2VzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuZGl2aWRlbmRFeHBlbnNlc1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuZGl2aWRlbmRFeHBlbnNlcylcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmRvbmF0aW9uc1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuZG9uYXRpb25zKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuaW50ZXJlc3RzQ2hhcmdlZEJ5QVRPVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMuaW50ZXJlc3RzQ2hhcmdlZEJ5QVRPKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMubGl0aWdhdGlvbkNvc3RzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMubGl0aWdhdGlvbkNvc3RzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMub3RoZXJNYW5hZ2luZ0Nvc3RzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc1xuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgREVEVUNUSU9OX0NBVEVHT1JJRVMub3RoZXJNYW5hZ2luZ0Nvc3RzKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnNUb3RhbEFtb3VudCA9IHRoaXMucGVyc29uYWxTdXBlckNvbnRyaWJ1dGlvbnMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5mb3Jlc3RyeU1hbmFnZWRJbnZlc3RtZW50U2NoZW1lc0RlZHVjdGlvbnNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5mb3Jlc3RyeU1hbmFnZWRJbnZlc3RtZW50U2NoZW1lc0RlZHVjdGlvbnMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5vdGhlckRlZHVjdGlvbnNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBERURVQ1RJT05fQ0FURUdPUklFUy5vdGhlckRlZHVjdGlvbnMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldFZlaGljbGVFeHBlbnNlc1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMudmVoaWNsZUNsYWltRGV0YWlscykge1xuICAgICAgcmV0dXJuIHRoaXMudmVoaWNsZUNsYWltRGV0YWlscy5pc0xvZ2Jvb2tNZXRob2QoKSA/IHRoaXMudG90YWxFeHBlbnNlc0Ftb3VudCA6IHRoaXMua2xtc01ldGhvZENsYWltQW1vdW50O1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWZWhpY2xlQ2xhaW1EYXRhKCk6IHZvaWQge1xuICAgIHRoaXMua2xtc01ldGhvZENsYWltQW1vdW50ID0gdGhpcy52ZWhpY2xlQ2xhaW0uZ2V0S0xNc0NsYWltQW1vdW50KHRoaXMudmVoaWNsZUNsYWltUmF0ZSk7XG4gICAgdGhpcy50b3RhbEV4cGVuc2VzQW1vdW50ID0gdGhpcy52ZWhpY2xlQ2xhaW0uZ2V0TG9nYm9va0NsYWltQW1vdW50KFxuICAgICAgbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihbXG4gICAgICAgIC4uLnRoaXMudHJhbnNhY3Rpb25zLmdldEJ5VGFua1R5cGUodGhpcy52ZWhpY2xlQ2xhaW0udGFua1R5cGUpLFxuICAgICAgICAuLi50aGlzLmRlcHJlY2lhdGlvbnMuZ2V0QnlUYW5rVHlwZSh0aGlzLnZlaGljbGVDbGFpbS50YW5rVHlwZSkudG9UcmFuc2FjdGlvbnMoKS50b0FycmF5KClcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBhbW91bnQgZnJvbSBPdGhlciB3b3JrIHJlbGF0ZWQgZXhwZW5zZXMgYW5kIFRvb2xzICYgZXF1aXBtZW50IGRlcHJlY2lhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgc2V0T3RoZXJXb3JrUmVsYXRlZEV4cGVuc2VzVG90YWxBbW91bnQoKTogdm9pZCB7XG4gICAgY29uc3Qgb3RoZXJJbmNvbWVSZWxhdGVkRXhwZW5zZXM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiA9IHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIERFRFVDVElPTl9DQVRFR09SSUVTLm90aGVySW5jb21lUmVsYXRlZEV4cGVuc2VzKTtcblxuICAgIHRoaXMub3RoZXJXb3JrUmVsYXRlZEV4cGVuc2VzVG90YWxBbW91bnQgPSAtTWF0aC5hYnMob3RoZXJJbmNvbWVSZWxhdGVkRXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50JykpICtcbiAgICAgIHRoaXMuZGVwcmVjaWF0aW9ucy5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5UT09MU19FUVVJUE1FTlQpLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICB9XG59XG4iXX0=
@@ -6,7 +6,7 @@ import { SoleBusinessLoss } from './sole-business-loss';
6
6
  import { SoleInvoice } from './sole-invoice';
7
7
  import { SoleInvoiceTemplate } from './sole-invoice-template';
8
8
  import { Type } from 'class-transformer';
9
- import { VehicleClaim } from '../logbook/vehicle-claim';
9
+ import { VehicleClaim } from '../vehicle/vehicle-claim';
10
10
  import { Depreciation } from '../depreciation/depreciation';
11
11
  import { Transaction } from '../transaction/transaction';
12
12
  export class SoleBusiness extends SoleBusinessBase {
@@ -41,4 +41,4 @@ __decorate([
41
41
  __decorate([
42
42
  Type(() => Depreciation)
43
43
  ], SoleBusiness.prototype, "depreciations", void 0);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvc29sZS9zb2xlLWJ1c2luZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pELE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBeUJoRCxtQkFBbUI7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTlCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpREFDRztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs0Q0FDRjtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OENBQ0E7QUFHeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7c0RBQ1E7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO21EQUNLO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztrREFDSTtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7bURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2xlQnVzaW5lc3MgYXMgU29sZUJ1c2luZXNzQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4vc29sZS1idXNpbmVzcy1sb3NzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlIH0gZnJvbSAnLi9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHsgU29sZUludm9pY2VUZW1wbGF0ZSB9IGZyb20gJy4vc29sZS1pbnZvaWNlLXRlbXBsYXRlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi9sb2dib29rL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcblxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzcyBleHRlbmRzIFNvbGVCdXNpbmVzc0Jhc2UgaW1wbGVtZW50cyBQaG90b2FibGUge1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzc0FsbG9jYXRpb24pXG4gIGFsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzTG9zcylcbiAgbG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2UpXG4gIGludm9pY2VzOiBTb2xlSW52b2ljZVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlVGVtcGxhdGUpXG4gIGludm9pY2VUZW1wbGF0ZXM6IFNvbGVJbnZvaWNlVGVtcGxhdGVbXTtcblxuICBAVHlwZSgoKSA9PiBWZWhpY2xlQ2xhaW0pXG4gIHZlaGljbGVDbGFpbXM6IFZlaGljbGVDbGFpbVtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uKVxuICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXTtcblxuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubmFtZVswXX0ke3RoaXMubmFtZVsxXX1gO1xuICB9XG5cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2dvO1xuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvc29sZS9zb2xlLWJ1c2luZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pELE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBeUJoRCxtQkFBbUI7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTlCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpREFDRztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs0Q0FDRjtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OENBQ0E7QUFHeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7c0RBQ1E7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO21EQUNLO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztrREFDSTtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7bURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2xlQnVzaW5lc3MgYXMgU29sZUJ1c2luZXNzQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4vc29sZS1idXNpbmVzcy1sb3NzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlIH0gZnJvbSAnLi9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHsgU29sZUludm9pY2VUZW1wbGF0ZSB9IGZyb20gJy4vc29sZS1pbnZvaWNlLXRlbXBsYXRlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi92ZWhpY2xlL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcblxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzcyBleHRlbmRzIFNvbGVCdXNpbmVzc0Jhc2UgaW1wbGVtZW50cyBQaG90b2FibGUge1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzc0FsbG9jYXRpb24pXG4gIGFsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzTG9zcylcbiAgbG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2UpXG4gIGludm9pY2VzOiBTb2xlSW52b2ljZVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlVGVtcGxhdGUpXG4gIGludm9pY2VUZW1wbGF0ZXM6IFNvbGVJbnZvaWNlVGVtcGxhdGVbXTtcblxuICBAVHlwZSgoKSA9PiBWZWhpY2xlQ2xhaW0pXG4gIHZlaGljbGVDbGFpbXM6IFZlaGljbGVDbGFpbVtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uKVxuICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXTtcblxuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubmFtZVswXX0ke3RoaXMubmFtZVsxXX1gO1xuICB9XG5cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2dvO1xuICB9XG59XG4iXX0=
@@ -2,8 +2,11 @@ import { __decorate } from "tslib";
2
2
  import { SoleBusiness } from './sole-business';
3
3
  import { BankAccount } from '../bank/bank-account';
4
4
  import { SoleInvoiceTemplate as SoleInvoiceTemplateBase } from '../../db/Models/sole/sole-invoice-template';
5
- import { Type } from 'class-transformer';
5
+ import { plainToClass, Type } from 'class-transformer';
6
6
  export class SoleInvoiceTemplate extends SoleInvoiceTemplateBase {
7
+ static create(businessId) {
8
+ return plainToClass(SoleInvoiceTemplate, { business: { id: businessId }, isTaxIncluded: false });
9
+ }
7
10
  }
8
11
  __decorate([
9
12
  Type(() => SoleBusiness)
@@ -11,4 +14,4 @@ __decorate([
11
14
  __decorate([
12
15
  Type(() => BankAccount)
13
16
  ], SoleInvoiceTemplate.prototype, "bankAccount", void 0);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtDQU0vRDtBQUpDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztxREFDRjtBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7d0RBQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2xlQnVzaW5lc3MgfSBmcm9tICcuL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRlbXBsYXRlIGFzIFNvbGVJbnZvaWNlVGVtcGxhdGVCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1pbnZvaWNlLXRlbXBsYXRlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmV4cG9ydCBjbGFzcyBTb2xlSW52b2ljZVRlbXBsYXRlIGV4dGVuZHMgU29sZUludm9pY2VUZW1wbGF0ZUJhc2Uge1xuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgQFR5cGUoKCkgPT4gQmFua0FjY291bnQpXG4gIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudDtcbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFPOUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFrQjtRQUM5QixPQUFPLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxFQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0NBQ0Y7QUFSQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7cURBQ0Y7QUFHdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO3dEQUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgU29sZUludm9pY2VUZW1wbGF0ZSBhcyBTb2xlSW52b2ljZVRlbXBsYXRlQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbmV4cG9ydCBjbGFzcyBTb2xlSW52b2ljZVRlbXBsYXRlIGV4dGVuZHMgU29sZUludm9pY2VUZW1wbGF0ZUJhc2Uge1xuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgQFR5cGUoKCkgPT4gQmFua0FjY291bnQpXG4gIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudDtcblxuICBzdGF0aWMgY3JlYXRlKGJ1c2luZXNzSWQ6IG51bWJlcik6IFNvbGVJbnZvaWNlVGVtcGxhdGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU29sZUludm9pY2VUZW1wbGF0ZSwge2J1c2luZXNzOiB7aWQ6IGJ1c2luZXNzSWR9LCBpc1RheEluY2x1ZGVkOiBmYWxzZX0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './logbook-period';
2
+ export * from './vehicle';
3
+ export * from './vehicle-claim';
4
+ export * from './vehicle-claim-details';
5
+ export * from './vehicle-logbook';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3ZlaGljbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9nYm9vay1wZXJpb2QnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWhpY2xlJztcbmV4cG9ydCAqIGZyb20gJy4vdmVoaWNsZS1jbGFpbSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUtbG9nYm9vayc7XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { __decorate } from "tslib";
2
+ import { Type } from 'class-transformer';
3
+ import { FinancialYear } from '../financial-year/financial-year';
4
+ /**
5
+ * Class contains traveled kilometers and work usage percent in 12 weeks date range
6
+ * @TODO Vik: Best period: move this and related logic to backend
7
+ */
8
+ export class LogbookPeriod {
9
+ isEndOfYear() {
10
+ return this.to === new FinancialYear().endDate;
11
+ }
12
+ getWorkUsageByClaim(claim) {
13
+ const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
14
+ return Math.round(this.workUsage * (claimKilometers / this.kilometers));
15
+ }
16
+ }
17
+ __decorate([
18
+ Type(() => Date)
19
+ ], LogbookPeriod.prototype, "from", void 0);
20
+ __decorate([
21
+ Type(() => Date)
22
+ ], LogbookPeriod.prototype, "to", void 0);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nYm9vay1wZXJpb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3ZlaGljbGUvbG9nYm9vay1wZXJpb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFXeEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUNqRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBbUI7UUFDckMsTUFBTSxlQUFlLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUV6RyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFsQkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzJDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuL3ZlaGljbGUtY2xhaW0nO1xuXG4vKipcbiAqIENsYXNzIGNvbnRhaW5zIHRyYXZlbGVkIGtpbG9tZXRlcnMgYW5kIHdvcmsgdXNhZ2UgcGVyY2VudCBpbiAxMiB3ZWVrcyBkYXRlIHJhbmdlXG4gKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kOiBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICovXG5leHBvcnQgY2xhc3MgTG9nYm9va1BlcmlvZCB7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGZyb206IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgdG86IERhdGU7XG5cbiAga2lsb21ldGVyczogbnVtYmVyO1xuICB3b3JrVXNhZ2U6IG51bWJlcjtcbiAgbG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbjtcblxuICBpc0VuZE9mWWVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50byA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS5lbmREYXRlO1xuICB9XG5cbiAgZ2V0V29ya1VzYWdlQnlDbGFpbShjbGFpbTogVmVoaWNsZUNsYWltKTogbnVtYmVyIHtcbiAgICBjb25zdCBjbGFpbUtpbG9tZXRlcnM6IG51bWJlciA9IHRoaXMubG9nYm9va3MuZ2V0QnlWZWhpY2xlQ2xhaW0oY2xhaW0pLmdldENsYWltYWJsZUxvZ2Jvb2tzKCkua2lsb21ldGVycztcblxuICAgIHJldHVybiBNYXRoLnJvdW5kKHRoaXMud29ya1VzYWdlICogKGNsYWltS2lsb21ldGVycyAvIHRoaXMua2lsb21ldGVycykpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { VehicleClaimDetails as VehicleClaimDetailsBase } from '../../db/Models/vehicle/vehicle-claim-details';
3
+ import { plainToClass, Type } from 'class-transformer';
4
+ import { User } from '../user/user';
5
+ import { VehicleClaimDetailsMethodEnum } from '../../db/Enums/vehicle-claim-details-method.enum';
6
+ import { FinancialYear } from '../financial-year/financial-year';
7
+ export class VehicleClaimDetails extends VehicleClaimDetailsBase {
8
+ isLogbookMethod() {
9
+ return this.method === VehicleClaimDetailsMethodEnum.LOGBOOK;
10
+ }
11
+ isKlmsMethod() {
12
+ return this.method === VehicleClaimDetailsMethodEnum.KMS;
13
+ }
14
+ // @TODO Alex: discuss with Vik and think about abstract method in AbstractModel
15
+ static create() {
16
+ return plainToClass(VehicleClaimDetails, {
17
+ isManual: true,
18
+ method: VehicleClaimDetailsMethodEnum.KMS,
19
+ financialYear: new FinancialYear().year
20
+ });
21
+ }
22
+ }
23
+ __decorate([
24
+ Type(() => User)
25
+ ], VehicleClaimDetails.prototype, "user", void 0);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBSTlELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssNkJBQTZCLENBQUMsT0FBTyxDQUFDO0lBQy9ELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLDZCQUE2QixDQUFDLEdBQUcsQ0FBQztJQUMzRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLE1BQU0sQ0FBQyxNQUFNO1FBQ1gsT0FBTyxZQUFZLENBQUMsbUJBQW1CLEVBQUU7WUFDdkMsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsNkJBQTZCLENBQUMsR0FBRztZQUN6QyxhQUFhLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7aURBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZWhpY2xlQ2xhaW1EZXRhaWxzIGFzIFZlaGljbGVDbGFpbURldGFpbHNCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS1kZXRhaWxzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltRGV0YWlsc01ldGhvZEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy92ZWhpY2xlLWNsYWltLWRldGFpbHMtbWV0aG9kLmVudW0nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbURldGFpbHMgZXh0ZW5kcyBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSB7XG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgaXNMb2dib29rTWV0aG9kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZCA9PT0gVmVoaWNsZUNsYWltRGV0YWlsc01ldGhvZEVudW0uTE9HQk9PSztcbiAgfVxuXG4gIGlzS2xtc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbURldGFpbHNNZXRob2RFbnVtLktNUztcbiAgfVxuXG4gIC8vIEBUT0RPIEFsZXg6IGRpc2N1c3Mgd2l0aCBWaWsgYW5kIHRoaW5rIGFib3V0IGFic3RyYWN0IG1ldGhvZCBpbiBBYnN0cmFjdE1vZGVsXG4gIHN0YXRpYyBjcmVhdGUoKTogVmVoaWNsZUNsYWltRGV0YWlscyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhWZWhpY2xlQ2xhaW1EZXRhaWxzLCB7XG4gICAgICBpc01hbnVhbDogdHJ1ZSxcbiAgICAgIG1ldGhvZDogVmVoaWNsZUNsYWltRGV0YWlsc01ldGhvZEVudW0uS01TLFxuICAgICAgZmluYW5jaWFsWWVhcjogbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { __decorate } from "tslib";
2
+ import { VehicleClaim as VehicleClaimBase } from '../../db/Models/vehicle/vehicle-claim';
3
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
4
+ import { plainToClass, Type } from 'class-transformer';
5
+ import { ChartAccountsListEnum } from '../../db/Enums/chart-accounts-list.enum';
6
+ import { VehicleClaimDetails } from './vehicle-claim-details';
7
+ import { SoleBusiness } from '../sole';
8
+ export class VehicleClaim extends VehicleClaimBase {
9
+ isWorkTank() {
10
+ return !this.business;
11
+ }
12
+ isSoleTank() {
13
+ return !!this.business;
14
+ }
15
+ get tankType() {
16
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
17
+ }
18
+ /**
19
+ * Claim amount for KLMs method. Exists only for KLMs method.
20
+ */
21
+ getKLMsClaimAmount(vehicleClaimRate) {
22
+ return +(this.kilometers * vehicleClaimRate).toFixed(2);
23
+ }
24
+ /**
25
+ * Get logbook claim amount. Exists only for logbook method.
26
+ * ClaimAmount = WorkUsage * transaction/depreciation amount
27
+ */
28
+ getLogbookClaimAmount(transactions) {
29
+ const transactionsAmount = transactions
30
+ .getByVehicleClaim(this)
31
+ .getLogbookTransactions()
32
+ .sumBy('amount');
33
+ // Math.abs because amount will be negative (because we sum expenses), but we don't want negative percent value
34
+ return Math.abs(transactionsAmount) * this.workUsage / 100;
35
+ }
36
+ getKlmsChartAccountsIdByTankType(tankType = this.tankType) {
37
+ return tankType === TankTypeEnum.WORK
38
+ ? ChartAccountsListEnum.KLMS_TRAVELLED_FOR_WORK
39
+ : ChartAccountsListEnum.KLMS_TRAVELLED;
40
+ }
41
+ static create(details, business) {
42
+ return plainToClass(VehicleClaim, {
43
+ kilometers: 0,
44
+ workUsage: 0,
45
+ details,
46
+ business
47
+ });
48
+ }
49
+ }
50
+ /**
51
+ * limit for kms claim method
52
+ */
53
+ VehicleClaim.totalKmsLimit = 5000;
54
+ /**
55
+ * limit for work usage claim method
56
+ */
57
+ VehicleClaim.totalWorkUsagePercent = 100;
58
+ __decorate([
59
+ Type(() => VehicleClaimDetails)
60
+ ], VehicleClaim.prototype, "details", void 0);
61
+ __decorate([
62
+ Type(() => SoleBusiness)
63
+ ], VehicleClaim.prototype, "business", void 0);
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2QyxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQWlCaEQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQXdCO1FBQ3pDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFlBQW1DO1FBRXZELE1BQU0sa0JBQWtCLEdBQVcsWUFBWTthQUM1QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7YUFDdkIsc0JBQXNCLEVBQUU7YUFDeEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0NBQWdDLENBQUMsV0FBeUIsSUFBSSxDQUFDLFFBQVE7UUFDckUsT0FBTyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUk7WUFDbkMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QjtZQUMvQyxDQUFDLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTRCLEVBQUUsUUFBdUI7UUFDakUsT0FBTyxZQUFZLENBQUMsWUFBWSxFQUFFO1lBQ2hDLFVBQVUsRUFBRSxDQUFDO1lBQ2IsU0FBUyxFQUFFLENBQUM7WUFDWixPQUFPO1lBQ1AsUUFBUTtTQUNULENBQUMsQ0FBQTtJQUNKLENBQUM7O0FBL0REOztHQUVHO0FBQ0ksMEJBQWEsR0FBVyxJQUFJLENBQUM7QUFFcEM7O0lBRUk7QUFDRyxrQ0FBcUIsR0FBVyxHQUFHLENBQUM7QUFHM0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7NkNBQ0g7QUFHN0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDOzhDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVoaWNsZUNsYWltIGFzIFZlaGljbGVDbGFpbUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbURldGFpbHMgfSBmcm9tICcuL3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3MgfSBmcm9tICcuLi9zb2xlJztcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbSBleHRlbmRzIFZlaGljbGVDbGFpbUJhc2Uge1xuICAvKipcbiAgICogbGltaXQgZm9yIGttcyBjbGFpbSBtZXRob2RcbiAgICovXG4gIHN0YXRpYyB0b3RhbEttc0xpbWl0OiBudW1iZXIgPSA1MDAwO1xuXG4gIC8qKlxuICAgKiBsaW1pdCBmb3Igd29yayB1c2FnZSBjbGFpbSBtZXRob2RcbiAgICAqL1xuICBzdGF0aWMgdG90YWxXb3JrVXNhZ2VQZXJjZW50OiBudW1iZXIgPSAxMDA7XG5cbiAgQFR5cGUoKCkgPT4gVmVoaWNsZUNsYWltRGV0YWlscylcbiAgZGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscztcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYnVzaW5lc3M7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYnVzaW5lc3M7XG4gIH1cblxuICBnZXQgdGFua1R5cGUoKTogVGFua1R5cGVFbnVtIHtcbiAgICByZXR1cm4gdGhpcy5pc1NvbGVUYW5rKCkgPyBUYW5rVHlwZUVudW0uU09MRSA6IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgLyoqXG4gICAqIENsYWltIGFtb3VudCBmb3IgS0xNcyBtZXRob2QuIEV4aXN0cyBvbmx5IGZvciBLTE1zIG1ldGhvZC5cbiAgICovXG4gIGdldEtMTXNDbGFpbUFtb3VudCh2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlWZWhpY2xlQ2xhaW0odGhpcylcbiAgICAgIC5nZXRMb2dib29rVHJhbnNhY3Rpb25zKClcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgZ2V0S2xtc0NoYXJ0QWNjb3VudHNJZEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSA9IHRoaXMudGFua1R5cGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUktcbiAgICAgID8gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLXG4gICAgICA6IENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRDtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUoZGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscywgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3MpOiBWZWhpY2xlQ2xhaW0ge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltLCB7XG4gICAgICBraWxvbWV0ZXJzOiAwLFxuICAgICAgd29ya1VzYWdlOiAwLFxuICAgICAgZGV0YWlscyxcbiAgICAgIGJ1c2luZXNzXG4gICAgfSlcbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { VehicleLogbook as VehicleLogbookBase } from '../../db/Models/vehicle/vehicle-logbook';
3
+ import { Type } from 'class-transformer';
4
+ import { SoleBusiness } from '../sole';
5
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
6
+ export class VehicleLogbook extends VehicleLogbookBase {
7
+ get kilometers() {
8
+ return this.odometerEnd - this.odometerStart;
9
+ }
10
+ get tankType() {
11
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
12
+ }
13
+ isWorkTank() {
14
+ return !this.business;
15
+ }
16
+ isSoleTank() {
17
+ return !!this.business;
18
+ }
19
+ }
20
+ /**
21
+ * 12 weeks in milliseconds
22
+ * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
23
+ * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
24
+ */
25
+ VehicleLogbook.periodDuration = 7257600000;
26
+ __decorate([
27
+ Type(() => Date)
28
+ ], VehicleLogbook.prototype, "date", void 0);
29
+ __decorate([
30
+ Type(() => SoleBusiness)
31
+ ], VehicleLogbook.prototype, "business", void 0);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy92ZWhpY2xlL3ZlaGljbGUtbG9nYm9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQWNwRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDbkUsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7QUEzQkQ7Ozs7R0FJRztBQUNJLDZCQUFjLEdBQVcsVUFBVSxDQUFDO0FBRzNDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztnREFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVMb2dib29rIGFzIFZlaGljbGVMb2dib29rQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtbG9nYm9vayc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBWZWhpY2xlTG9nYm9vayBleHRlbmRzIFZlaGljbGVMb2dib29rQmFzZSB7XG4gIC8qKlxuICAgKiAxMiB3ZWVrcyBpbiBtaWxsaXNlY29uZHNcbiAgICogXCJUbyB3b3JrIG91dCB5b3VyIGJ1c2luZXNzLXVzZSBwZXJjZW50YWdlLCB5b3UgbmVlZCB0byBrZWVwIGEgbG9nYm9vayBhbmQgdGhlIG9kb21ldGVyIHJlYWRpbmdzIGZvciB0aGUgbG9nYm9vayBwZXJpb2QuXG4gICAqIFRoZSBsb2dib29rIHBlcmlvZCBpcyBhIG1pbmltdW0gY29udGludW91cyBwZXJpb2Qgb2YgMTIgd2Vla3MuXCIgwqkgTmljb2xlIEtlbGx5XG4gICAqL1xuICBzdGF0aWMgcGVyaW9kRHVyYXRpb246IG51bWJlciA9IDcyNTc2MDAwMDA7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgZ2V0IGtpbG9tZXRlcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vZG9tZXRlckVuZCAtIHRoaXMub2RvbWV0ZXJTdGFydDtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHJldHVybiB0aGlzLmlzU29sZVRhbmsoKSA/IFRhbmtUeXBlRW51bS5TT0xFIDogVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5idXNpbmVzcztcbiAgfVxuXG4gIGlzU29sZVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5idXNpbmVzcztcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { __decorate } from "tslib";
2
+ import { Vehicle as VehicleBase } from '../../db/Models/vehicle/vehicle';
3
+ import { VehicleLogbook } from './vehicle-logbook';
4
+ import { Type } from 'class-transformer';
5
+ export class Vehicle extends VehicleBase {
6
+ }
7
+ __decorate([
8
+ Type(() => VehicleLogbook)
9
+ ], Vehicle.prototype, "logbook", void 0);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdmVoaWNsZS92ZWhpY2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekMsTUFBTSxPQUFPLE9BQVEsU0FBUSxXQUFXO0NBR3ZDO0FBREM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO3dDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVoaWNsZSBhcyBWZWhpY2xlQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUnO1xuaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2sgfSBmcm9tICcuL3ZlaGljbGUtbG9nYm9vayc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZSBleHRlbmRzIFZlaGljbGVCYXNlIHtcbiAgQFR5cGUoKCkgPT4gVmVoaWNsZUxvZ2Jvb2spXG4gIGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rW107XG59XG4iXX0=
@@ -41,7 +41,7 @@ export class DepreciationService extends RestService {
41
41
  */
42
42
  listenEvents() {
43
43
  this.listenToUpdatedLoan();
44
- this.listenToVehicleClaim();
44
+ this.listenVehicleClaimChanges();
45
45
  this.listenToUpdatedBankAccount();
46
46
  }
47
47
  getOpenBalance(depreciation) {
@@ -88,9 +88,14 @@ export class DepreciationService extends RestService {
88
88
  /**
89
89
  * Listen to EventDispatcherService event related to updated vehicle claim
90
90
  */
91
- listenToVehicleClaim() {
92
- this.eventDispatcherService.on([AppEventTypeEnum.VEHICLE_CLAIM_CREATED, AppEventTypeEnum.VEHICLE_CLAIM_UPDATED]).subscribe(() => {
93
- this.fetch().subscribe();
91
+ listenVehicleClaimChanges() {
92
+ this.eventDispatcherService.on([
93
+ AppEventTypeEnum.VEHICLE_CLAIM_CREATED,
94
+ AppEventTypeEnum.VEHICLE_CLAIM_UPDATED,
95
+ AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
96
+ AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
97
+ ]).subscribe(() => {
98
+ this.resetCache();
94
99
  });
95
100
  }
96
101
  }
@@ -102,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
102
107
  providedIn: 'root'
103
108
  }]
104
109
  }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBT3hGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsZUFBZSxDQUFDO0tBOEYvQjtJQTVGQzs7O09BR0c7SUFDSCxHQUFHLENBQUMsWUFBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUFnQyxFQUFnQixFQUFFO1lBQ3JELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMs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QUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQS9GVSxtQkFBbUI7cUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlY2VpcHQnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxEZXByZWNpYXRpb25CYXNlLCBEZXByZWNpYXRpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgRGVwcmVjaWF0aW9uID0gRGVwcmVjaWF0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdkZXByZWNpYXRpb25zJztcblxuICAvKipcbiAgICogQWRkIGEgc2luZ2xlIGRlcHJlY2lhdGlvblxuICAgKiBAVE9ETyBhZGQgYXV0by1nZW5lcmF0aW9uIGZvciBldmVudHNcbiAgICovXG4gIGFkZChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW2RlcHJlY2lhdGlvbl0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdEZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IERlcHJlY2lhdGlvbiA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTlNfQ1JFQVRFRCwgbmV3RGVwcmVjaWF0aW9uc1swXSkpO1xuICAgICAgICAgIHJldHVybiBuZXdEZXByZWNpYXRpb25zWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbXVsdGlwbGUgZGVwcmVjaWF0aW9uc1xuICAgKiBAVE9ETyBhZGQgYXV0by1nZW5lcmF0aW9uIGZvciBldmVudHNcbiAgICovXG4gIGFkZEJhdGNoKGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogT2JzZXJ2YWJsZTxEZXByZWNpYXRpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5hZGRCYXRjaChkZXByZWNpYXRpb25zKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IERlcHJlY2lhdGlvbltdID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTlNfQ1JFQVRFRCwgbmV3RGVwcmVjaWF0aW9ucykpO1xuICAgICAgICByZXR1cm4gbmV3RGVwcmVjaWF0aW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRGVwcmVjaWF0aW9ucyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZExvYW4oKTtcbiAgICB0aGlzLmxpc3RlblRvVmVoaWNsZUNsYWltKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpO1xuICB9XG5cbiAgZ2V0T3BlbkJhbGFuY2UoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9vcGVuaW5nLWJhbGFuY2U/ZmluYW5jaWFsWWVhcj0ke25ldyBGaW5hbmNpYWxZZWFyKCkueWVhcn1gLCBkZXByZWNpYXRpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlIHx8IDA7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBkZXByZWNpYXRpb24gcmVjZWlwdFxuICAgKiBAcGFyYW0gZGVwcmVjaWF0aW9uIGZvciB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIHJlY2VpcHRcbiAgICovXG4gIHVwbG9hZFJlY2VpcHQoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBkZXByZWNpYXRpb24uZmlsZSk7XG4gICAgZGVwcmVjaWF0aW9uLnJlY2VpcHQgPSBudWxsO1xuXG4gICAgdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtkZXByZWNpYXRpb24uaWR9L3JlY2VpcHRzYCwgZm9ybURhdGEpXG4gICAgICAuc3Vic2NyaWJlKChyZWNlaXB0UmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAvLyB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgZmlsZSBhZnRlciBzYXZlXG4gICAgICAgIGRlcHJlY2lhdGlvbi5maWxlID0gbnVsbDtcbiAgICAgICAgZGVwcmVjaWF0aW9uLnJlY2VpcHQgPSBwbGFpblRvQ2xhc3MoRGVwcmVjaWF0aW9uUmVjZWlwdCwgcmVjZWlwdFJlc3BvbnNlKTtcbiAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBkZXByZWNpYXRpb24pO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUuc2xpY2UoKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgYmFuayBsb2FuXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvVXBkYXRlZExvYW4oKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLkxPQU5fVVBEQVRFRCwgQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgYmFuayBhY2NvdW50XG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvVXBkYXRlZEJhbmtBY2NvdW50KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5CQU5LX0FDQ09VTlRfVVBEQVRFRF0pLnN1YnNjcmliZSgoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB7XG4gICAgICBpZiAoYmFua0FjY291bnQuaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIHZlaGljbGUgY2xhaW1cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9WZWhpY2xlQ2xhaW0oKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fQ1JFQVRFRCwgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBT3hGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUEyQztJQUhwRjs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsZUFBZSxDQUFDO0tBbUcvQjtJQWpHQzs7O09BR0c7SUFDSCxHQUFHLENBQUMsWUFBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUFnQyxFQUFnQixFQUFFO1lBQ3JELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMs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QUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxxQkFBcUI7WUFDdEMsZ0JBQWdCLENBQUMscUJBQXFCO1lBQ3RDLGdCQUFnQixDQUFDLDZCQUE2QjtZQUM5QyxnQkFBZ0IsQ0FBQyw2QkFBNkI7U0FDL0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7aUhBcEdVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiBhcyBEZXByZWNpYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25SZWNlaXB0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGVwcmVjaWF0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPERlcHJlY2lhdGlvbkJhc2UsIERlcHJlY2lhdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBEZXByZWNpYXRpb24gPSBEZXByZWNpYXRpb247XG4gIHVybDogc3RyaW5nID0gJ2RlcHJlY2lhdGlvbnMnO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBzaW5nbGUgZGVwcmVjaWF0aW9uXG4gICAqIEBUT0RPIGFkZCBhdXRvLWdlbmVyYXRpb24gZm9yIGV2ZW50c1xuICAgKi9cbiAgYWRkKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxEZXByZWNpYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbZGVwcmVjaWF0aW9uXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0RlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogRGVwcmVjaWF0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVELCBuZXdEZXByZWNpYXRpb25zWzBdKSk7XG4gICAgICAgICAgcmV0dXJuIG5ld0RlcHJlY2lhdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBkZXByZWNpYXRpb25zXG4gICAqIEBUT0RPIGFkZCBhdXRvLWdlbmVyYXRpb24gZm9yIGV2ZW50c1xuICAgKi9cbiAgYWRkQmF0Y2goZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbltdPiB7XG4gICAgcmV0dXJuIHN1cGVyLmFkZEJhdGNoKGRlcHJlY2lhdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKG5ld0RlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogRGVwcmVjaWF0aW9uW10gPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVELCBuZXdEZXByZWNpYXRpb25zKSk7XG4gICAgICAgIHJldHVybiBuZXdEZXByZWNpYXRpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBEZXByZWNpYXRpb25zIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkTG9hbigpO1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTtcbiAgfVxuXG4gIGdldE9wZW5CYWxhbmNlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vb3BlbmluZy1iYWxhbmNlP2ZpbmFuY2lhbFllYXI9JHtuZXcgRmluYW5jaWFsWWVhcigpLnllYXJ9YCwgZGVwcmVjaWF0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZSB8fCAwO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgZGVwcmVjaWF0aW9uIHJlY2VpcHRcbiAgICogQHBhcmFtIGRlcHJlY2lhdGlvbiBmb3Igd2hpY2ggd2lsbCBiZSB1cGxvYWRlZCByZWNlaXB0XG4gICAqL1xuICB1cGxvYWRSZWNlaXB0KGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZGVwcmVjaWF0aW9uLmZpbGUpO1xuICAgIGRlcHJlY2lhdGlvbi5yZWNlaXB0ID0gbnVsbDtcblxuICAgIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7ZGVwcmVjaWF0aW9uLmlkfS9yZWNlaXB0c2AsIGZvcm1EYXRhKVxuICAgICAgLnN1YnNjcmliZSgocmVjZWlwdFJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgICBkZXByZWNpYXRpb24uZmlsZSA9IG51bGw7XG4gICAgICAgIGRlcHJlY2lhdGlvbi5yZWNlaXB0ID0gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvblJlY2VpcHQsIHJlY2VpcHRSZXNwb25zZSk7XG4gICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgZGVwcmVjaWF0aW9uKTtcbiAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlLnNsaWNlKCkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgbG9hblxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRMb2FuKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5MT0FOX1VQREFURUQsIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgYWNjb3VudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURURdKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgaWYgKGJhbmtBY2NvdW50LmlzUHJvcGVydHlUYW5rKCkpIHtcbiAgICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -7,6 +7,7 @@ import { RestService } from '../../rest/rest.service';
7
7
  import { ClientInvite } from '../../../../models/client/client-invite';
8
8
  import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
9
  import { AppEvent } from '../../../../models/event/app-event';
10
+ import { UserEventTypeClientTypeEnum } from "../../../../db/Enums/user-event-type-client-type.enum";
10
11
  import * as i0 from "@angular/core";
11
12
  export class ClientInviteService extends RestService {
12
13
  constructor() {
@@ -14,6 +15,9 @@ export class ClientInviteService extends RestService {
14
15
  this.url = 'clients/invites';
15
16
  this.modelClass = ClientInvite;
16
17
  }
18
+ listenEvents() {
19
+ this.listenNotifications();
20
+ }
17
21
  /**
18
22
  * Import employees for firm from CSV file
19
23
  * @param file
@@ -90,6 +94,16 @@ export class ClientInviteService extends RestService {
90
94
  return newInvite;
91
95
  }));
92
96
  }
97
+ /**
98
+ * Reset cache on client/firm invite events
99
+ */
100
+ listenNotifications() {
101
+ this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
102
+ if (!notification.isRead && (notification.eventType === UserEventTypeClientTypeEnum.FIRM_INVITE_ACCEPTED || notification.eventType === UserEventTypeClientTypeEnum.CLIENT_INVITE)) {
103
+ this.resetCache();
104
+ }
105
+ });
106
+ }
93
107
  }
94
108
  ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
95
109
  ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
@@ -99,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
99
113
  providedIn: 'root'
100
114
  }]
101
115
  }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLFFBQUcsR0FBVyxpQkFBaUIsQ0FBQztRQUNoQyxlQUFVLEdBQXdCLFlBQVksQ0FBQztLQTZGaEQ7SUEzRkM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLElBQVU7UUFDZixNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxT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LENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZUFBZSxFQUFFLE1BQU0sQ0FBQzthQUNwRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsVUFBNEIsRUFBZ0IsRUFBRTtZQUNqRCxNQUFNLFNBQVMsR0FBaUIsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RSxzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLE1BQU0sU0FBUyxHQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxRCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7aUhBOUZVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaWVudEludml0ZSBhcyBDbGllbnRJbnZpdGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vY2xpZW50LWludml0ZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudEludml0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9jbGllbnQvY2xpZW50LWludml0ZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50SW52aXRlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENsaWVudEludml0ZUJhc2UsIENsaWVudEludml0ZT4ge1xuICB1cmw6IHN0cmluZyA9ICdjbGllbnRzL2ludml0ZXMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2xpZW50SW52aXRlID0gQ2xpZW50SW52aXRlO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgZW1wbG95ZWVzIGZvciBmaXJtIGZyb20gQ1NWIGZpbGVcbiAgICogQHBhcmFtIGZpbGVcbiAgICovXG4gIGltcG9ydChmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGVbXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L2ltcG9ydGAsIGZvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoY2xpZW50SW52aXRlOiBDbGllbnRJbnZpdGVbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBjbGllbnRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBjbGllbnQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gdXNlclxuICAgKiBAcGFyYW0gaW52aXRlXG4gICAqL1xuICBhY2NlcHQoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2ludml0ZS5pZH0vYWNjZXB0YCwgbnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVELCBpbnZpdGUpKTtcbiAgICAgICAgICAvLyBzZXQgY2FjaGUgd2l0aG91dCBhY2NlcHRlZCBpbnZpdGVcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlKSA9PiBpbnZpdGUuaWQgIT09IGNsaWVudEludml0ZS5pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY2xpZW50IGludml0YXRpb24gZnJvbSBmaXJtIHRvIHVzZXJcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVqZWN0KGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtpbnZpdGUuaWR9L3JlamVjdGAsIG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZWplY3RlZEludml0ZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEludml0ZTogQ2xpZW50SW52aXRlID0gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgcmVqZWN0ZWRJbnZpdGUpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCB1cGRhdGVkSW52aXRlKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVzZW5kKGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtpbnZpdGUuaWR9L3Jlc2VuZGAsIG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZWplY3RlZEludml0ZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEludml0ZTogQ2xpZW50SW52aXRlID0gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgcmVqZWN0ZWRJbnZpdGUpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCB1cGRhdGVkSW52aXRlKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgaW52aXRhdGlvbiBmcm9tIGNsaWVudCB0byBmaXJtXG4gICAqIEBwYXJhbSBpbnZpdGVcbiAgICovXG4gIGludml0ZUZpcm1CeVVzZXIoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9maXJtcy9pbnZpdGVgLCBpbnZpdGUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbnZpdGVCYXNlOiBDbGllbnRJbnZpdGVCYXNlKTogQ2xpZW50SW52aXRlID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdJbnZpdGU6IENsaWVudEludml0ZSA9IHBsYWluVG9DbGFzcyhDbGllbnRJbnZpdGUsIGludml0ZUJhc2UpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHRlbXBDYWNoZS5wdXNoKG5ld0ludml0ZSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIG5ld0ludml0ZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUc5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFLcEcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLFFBQUcsR0FBVyxpQkFBaUIsQ0FBQztRQUNoQyxlQUFVLEdBQXdCLFlBQVksQ0FBQztLQTRHaEQ7SUExR0MsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBVTtRQUNmLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFD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QVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIGFzIENsaWVudEludml0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtaW52aXRlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtaW52aXRlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvblwiO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudEludml0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDbGllbnRJbnZpdGVCYXNlLCBDbGllbnRJbnZpdGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICB1cmw6IHN0cmluZyA9ICdjbGllbnRzL2ludml0ZXMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2xpZW50SW52aXRlID0gQ2xpZW50SW52aXRlO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgZW1wbG95ZWVzIGZvciBmaXJtIGZyb20gQ1NWIGZpbGVcbiAgICogQHBhcmFtIGZpbGVcbiAgICovXG4gIGltcG9ydChmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGVbXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L2ltcG9ydGAsIGZvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoY2xpZW50SW52aXRlOiBDbGllbnRJbnZpdGVbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBjbGllbnRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdCBjbGllbnQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gdXNlclxuICAgKiBAcGFyYW0gaW52aXRlXG4gICAqL1xuICBhY2NlcHQoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2ludml0ZS5pZH0vYWNjZXB0YCwgbnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVELCBpbnZpdGUpKTtcbiAgICAgICAgICAvLyBzZXQgY2FjaGUgd2l0aG91dCBhY2NlcHRlZCBpbnZpdGVcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlKSA9PiBpbnZpdGUuaWQgIT09IGNsaWVudEludml0ZS5pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY2xpZW50IGludml0YXRpb24gZnJvbSBmaXJtIHRvIHVzZXJcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVqZWN0KGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtpbnZpdGUuaWR9L3JlamVjdGAsIG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZWplY3RlZEludml0ZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEludml0ZTogQ2xpZW50SW52aXRlID0gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgcmVqZWN0ZWRJbnZpdGUpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCB1cGRhdGVkSW52aXRlKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVzZW5kKGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtpbnZpdGUuaWR9L3Jlc2VuZGAsIG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZWplY3RlZEludml0ZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEludml0ZTogQ2xpZW50SW52aXRlID0gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgcmVqZWN0ZWRJbnZpdGUpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCB1cGRhdGVkSW52aXRlKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgaW52aXRhdGlvbiBmcm9tIGNsaWVudCB0byBmaXJtXG4gICAqIEBwYXJhbSBpbnZpdGVcbiAgICovXG4gIGludml0ZUZpcm1CeVVzZXIoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9maXJtcy9pbnZpdGVgLCBpbnZpdGUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbnZpdGVCYXNlOiBDbGllbnRJbnZpdGVCYXNlKTogQ2xpZW50SW52aXRlID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdJbnZpdGU6IENsaWVudEludml0ZSA9IHBsYWluVG9DbGFzcyhDbGllbnRJbnZpdGUsIGludml0ZUJhc2UpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHRlbXBDYWNoZS5wdXNoKG5ld0ludml0ZSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIG5ld0ludml0ZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgY2FjaGUgb24gY2xpZW50L2Zpcm0gaW52aXRlIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiAobm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkZJUk1fSU5WSVRFX0FDQ0VQVEVEIHx8IG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFKSkge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19