taxtank-core 0.30.99 → 0.30.101

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 (33) hide show
  1. package/esm2020/lib/collections/bank-transaction.collection.mjs +3 -2
  2. package/esm2020/lib/collections/collection.mjs +3 -2
  3. package/esm2020/lib/collections/depreciation.collection.mjs +4 -2
  4. package/esm2020/lib/collections/transaction/transaction.collection.mjs +1 -1
  5. package/esm2020/lib/collections/vehicle/vehicle-logbook.collection.mjs +3 -2
  6. package/esm2020/lib/db/Models/transaction/transaction-base.mjs +4 -3
  7. package/esm2020/lib/forms/sole/sole-business-loss.form.mjs +3 -2
  8. package/esm2020/lib/forms/transaction/transaction-base.form.mjs +4 -3
  9. package/esm2020/lib/forms/transaction/work/work-expense.form.mjs +3 -2
  10. package/esm2020/lib/models/property/property.mjs +3 -2
  11. package/esm2020/lib/models/report/my-tax/my-tax-rent/my-tax-rent.mjs +3 -2
  12. package/esm2020/lib/models/report/property/property-report-item.mjs +4 -3
  13. package/esm2020/lib/models/report/vehicle-expense/vehicle-expense.mjs +4 -3
  14. package/esm2020/lib/models/sole/sole-invoice.mjs +4 -3
  15. package/esm2020/lib/models/transaction/transaction.mjs +2 -2
  16. package/esm2020/lib/models/vehicle/logbook-period.mjs +4 -3
  17. package/esm2020/lib/models/vehicle/vehicle-claim.mjs +4 -3
  18. package/esm2020/public-api.mjs +1 -2
  19. package/fesm2015/taxtank-core.mjs +63 -72
  20. package/fesm2015/taxtank-core.mjs.map +1 -1
  21. package/fesm2020/taxtank-core.mjs +63 -72
  22. package/fesm2020/taxtank-core.mjs.map +1 -1
  23. package/lib/collections/bank-transaction.collection.d.ts +1 -1
  24. package/lib/collections/depreciation.collection.d.ts +2 -2
  25. package/lib/forms/transaction/transaction-base.form.d.ts +1 -1
  26. package/lib/models/report/my-tax/my-tax-rent/my-tax-rent.d.ts +1 -1
  27. package/lib/models/report/property/property-report-item.d.ts +2 -2
  28. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +1 -1
  29. package/lib/models/transaction/transaction.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/public-api.d.ts +0 -1
  32. package/esm2020/lib/functions/round-to.mjs +0 -10
  33. package/lib/functions/round-to.d.ts +0 -6
@@ -4,6 +4,7 @@ import { AbstractForm } from '../abstract.form';
4
4
  import { ChartAccountsListEnum } from '../../db/Enums';
5
5
  import { ChartAccounts, DOCUMENT_FILE_TYPES } from '../../models';
6
6
  import { FormValidationsEnum } from '../form-validations.enum';
7
+ import round from 'lodash/round';
7
8
  /**
8
9
  * @TODO refactor, move specific fields like property in separated forms
9
10
  * @TODO remove useless getters
@@ -61,10 +62,10 @@ export class TransactionBaseForm extends AbstractForm {
61
62
  });
62
63
  }
63
64
  updateGstAmount() {
64
- this.get('gstAmount').patchValue(this.amountWithGST - this.amount);
65
+ this.get('gstAmount').patchValue(round(this.amountWithGST - this.amount, 2));
65
66
  }
66
67
  updateAmount() {
67
- this.get('amount').patchValue(this.isGST ? this.amountWithGST / ChartAccounts.GSTCoefficient : this.amountWithGST);
68
+ this.get('amount').patchValue(this.isGST ? round(this.amountWithGST / ChartAccounts.GSTCoefficient, 2) : this.amountWithGST);
68
69
  }
69
70
  isGstApplicable() {
70
71
  return !!this.registeredForGst && !!this.model.business;
@@ -95,4 +96,4 @@ export class TransactionBaseForm extends AbstractForm {
95
96
  this.get('claimPercent').setValue(claimPercent);
96
97
  }
97
98
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWJhc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQTJCLE1BQU0sa0JBQWtCLENBQUM7QUFDakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtRCxTQUFRLFlBQW1CO0lBR3pGLFlBQVksV0FBa0IsRUFBRSxnQkFBeUIsRUFBRSxXQUE2QyxFQUFFO1FBQ3hHLEtBQUssQ0FDSCxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ1osYUFBYSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUNsQyxFQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsRUFDakQsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxD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QUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ25DO1FBRUQsMEZBQTBGO1FBQzFGLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFDaEQsSUFBSSxhQUFhLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxhQUFhLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLGFBQWEsRUFBRTtZQUNqRyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWxlVmFsaWRhdG9yLCBhdXRvY29tcGxldGVWYWxpZGF0b3IsIGN1cnJlbnRGaW5ZZWFyVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIERPQ1VNRU5UX0ZJTEVfVFlQRVMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25zRW51bSB9IGZyb20gJy4uL2Zvcm0tdmFsaWRhdGlvbnMuZW51bSc7XG5cbi8qKlxuICogQFRPRE8gcmVmYWN0b3IsIG1vdmUgc3BlY2lmaWMgZmllbGRzIGxpa2UgcHJvcGVydHkgaW4gc2VwYXJhdGVkIGZvcm1zXG4gKiBAVE9ETyByZW1vdmUgdXNlbGVzcyBnZXR0ZXJzXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJhc2VGb3JtPE1vZGVsIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlPiBleHRlbmRzIEFic3RyYWN0Rm9ybTxNb2RlbD4ge1xuICByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uOiBNb2RlbCwgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbiwgY29udHJvbHM6IHtba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2x9ID0ge30pIHtcbiAgICBzdXBlcihcbiAgICAgIE9iamVjdC5hc3NpZ24oe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhdXRvY29tcGxldGVWYWxpZGF0b3IoKV0pLFxuICAgICAgICBjbGFpbVBlcmNlbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXG4gICAgICAgICAge3ZhbHVlOiB0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQsIGRpc2FibGVkOiB0cnVlfSxcbiAgICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldXG4gICAgICAgICksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBhbW91bnRXaXRoR1NUOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudFdpdGhHc3QsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0cmFuc2FjdGlvbi5pc0dTVCwgZGlzYWJsZWQ6ICF0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5pc0dTVCB8fCAhcmVnaXN0ZXJlZEZvckdzdCB9KSxcbiAgICAgICAgZ3N0QW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IHRyYW5zYWN0aW9uLmdzdEFtb3VudCwgZGlzYWJsZWQ6IHRydWUgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uZGF0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uZGVzY3JpcHRpb24sIFZhbGlkYXRvcnMubWF4TGVuZ3RoKEZvcm1WYWxpZGF0aW9uc0VudW0uVEVYVF9NQVhfTEVOR1RIKSksXG4gICAgICAgIC8vIEBUT0RPIEFsZXg6IHJlZmFjdG9yIChUVC0xOTk2KVxuICAgICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uWydyZWNlaXB0J10sIFtcbiAgICAgICAgICBGaWxlVmFsaWRhdG9yLmZpbGVFeHRlbnNpb25zKERPQ1VNRU5UX0ZJTEVfVFlQRVMuYWxsKSwgRmlsZVZhbGlkYXRvci5maWxlTWF4U2l6ZSgrRm9ybVZhbGlkYXRpb25zRW51bS5GSUxFX01BWF9TSVpFKVxuICAgICAgICBdKSxcbiAgICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiB0cmFuc2FjdGlvbi5wcm9wZXJ0eSwgZGlzYWJsZWQ6IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHN9KSxcbiAgICAgIH0sIGNvbnRyb2xzKSxcbiAgICAgIHRyYW5zYWN0aW9uXG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJlZEZvckdzdCA9IHJlZ2lzdGVyZWRGb3JHc3Q7XG4gICAgdGhpcy53YXRjaENoYXJ0QWNjb3VudHMoKTtcbiAgICB0aGlzLndhdGNoQW1vdW50V2l0aEdTVCgpO1xuICAgIHRoaXMud2F0Y2hJc0dzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaElzR3N0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGlzR1NUOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUFtb3VudCgpO1xuICAgICAgdGhpcy51cGRhdGVHc3RBbW91bnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hBbW91bnRXaXRoR1NUKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdhbW91bnRXaXRoR1NUJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUFtb3VudCgpO1xuICAgICAgdGhpcy51cGRhdGVHc3RBbW91bnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHdhdGNoQ2hhcnRBY2NvdW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIC8vIHJlY2FsY3VsYXRlIGNsYWltIHBlcmNlbnQgZm9yIHNlbGVjdGVkIGNoYXJ0IGFjY291bnRzXG4gICAgICB0aGlzLnVwZGF0ZUNsYWltUGVyY2VudChjaGFydEFjY291bnRzKTtcbiAgICAgIGlmICghdGhpcy5pc0dzdEFwcGxpY2FibGUoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyB1cGRhdGUgZ3N0IGlmIGFwcGxpY2FibGVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzR1NUKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5wYXRjaFZhbHVlKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykucGF0Y2hWYWx1ZShmYWxzZSk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlR3N0QW1vdW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdnc3RBbW91bnQnKS5wYXRjaFZhbHVlKHRoaXMuYW1vdW50V2l0aEdTVCAtIHRoaXMuYW1vdW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQW1vdW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5wYXRjaFZhbHVlKFxuICAgICAgdGhpcy5pc0dTVCA/IHRoaXMuYW1vdW50V2l0aEdTVCAvIENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQgOiB0aGlzLmFtb3VudFdpdGhHU1RcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0dzdEFwcGxpY2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZWdpc3RlcmVkRm9yR3N0ICYmICEhdGhpcy5tb2RlbC5idXNpbmVzcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50JykudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldCBhbW91bnRXaXRoR1NUKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdhbW91bnRXaXRoR1NUJykudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc0dTVCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldCgnaXNHU1QnKS52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwcm9wZXJ0eUNsYWltUGVyY2VudCBmb3IgcHJvcGVydHlFeHBlbnNlIChleGNlcHQgcGxhdGZvcm0gZmVlcywgd2hpY2ggYWxyZWFkeSBpbmNsdWRlIGNsYWltUGVyY2VudCksXG4gICAqIHRheGFibGVQZXJjZW50IGZvciBvdGhlcnNcbiAgICogY2FuIGJlIGFkanVzdGVkIG9ubHkgZm9yIHByb3BlcnR5L3NvbGUgZXhwZW5zZXNcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlQ2xhaW1QZXJjZW50KGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpOiB2b2lkIHtcbiAgICBpZiAoY2hhcnRBY2NvdW50cy5pc0NsYWltUGVyY2VudEVkaXRhYmxlKCkpIHtcbiAgICAgIHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKS5lbmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyBwcm9wZXJ0eSBjbGFpbSAob3duZXJzaGlwJSB4IHNoYXJlZCUpIGZvciBwcm9wZXJ0eSBleHBlbnNlcywgdGF4YWJsZSBwZXJjZW50IGZvciBvdGhlcnNcbiAgICBsZXQgY2xhaW1QZXJjZW50ID0gY2hhcnRBY2NvdW50cy50YXhhYmxlUGVyY2VudDtcbiAgICBpZiAoY2hhcnRBY2NvdW50cy5pc1Byb3BlcnR5RXhwZW5zZSgpICYmIGNoYXJ0QWNjb3VudHMuaWQgIT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5QTEFURk9STV9GRUVTKSB7XG4gICAgICBjbGFpbVBlcmNlbnQgKj0gdGhpcy52YWx1ZS5wcm9wZXJ0eT8uY2xhaW1Db2VmZmljaWVudDtcbiAgICB9XG4gICAgdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpLnNldFZhbHVlKGNsYWltUGVyY2VudCk7XG4gIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWJhc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGtCQUFrQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtRCxTQUFRLFlBQW1CO0lBR3pGLFlBQVksV0FBa0IsRUFBRSxnQkFBeUIsRUFBRSxXQUE2QyxFQUFFO1FBQ3hHLEtBQUssQ0FDSCxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ1osYUFBYSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUNsQyxFQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsRUFDakQsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxD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SyxrQkFBa0IsQ0FBQyxhQUE0QjtRQUNyRCxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkM7UUFFRCwwRkFBMEY7UUFDMUYsSUFBSSxZQUFZLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLGFBQWEsQ0FBQyxFQUFFLEtBQUsscUJBQXFCLENBQUMsYUFBYSxFQUFFO1lBQ2pHLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbGVWYWxpZGF0b3IsIGF1dG9jb21wbGV0ZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cywgRE9DVU1FTlRfRklMRV9UWVBFUyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbnNFbnVtIH0gZnJvbSAnLi4vZm9ybS12YWxpZGF0aW9ucy5lbnVtJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuLyoqXG4gKiBAVE9ETyByZWZhY3RvciwgbW92ZSBzcGVjaWZpYyBmaWVsZHMgbGlrZSBwcm9wZXJ0eSBpbiBzZXBhcmF0ZWQgZm9ybXNcbiAqIEBUT0RPIHJlbW92ZSB1c2VsZXNzIGdldHRlcnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUZvcm08TW9kZWwgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2U+IGV4dGVuZHMgQWJzdHJhY3RGb3JtPE1vZGVsPiB7XG4gIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb246IE1vZGVsLCByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLCBjb250cm9sczoge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbH0gPSB7fSkge1xuICAgIHN1cGVyKFxuICAgICAgT2JqZWN0LmFzc2lnbih7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGF1dG9jb21wbGV0ZVZhbGlkYXRvcigpXSksXG4gICAgICAgIGNsYWltUGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAgICB7dmFsdWU6IHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCwgZGlzYWJsZWQ6IHRydWV9LFxuICAgICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoMTAwKV1cbiAgICAgICAgKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudFdpdGhHU1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uYW1vdW50V2l0aEdzdCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGlzR1NUOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IHRyYW5zYWN0aW9uLmlzR1NULCBkaXNhYmxlZDogIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHM/LmlzR1NUIHx8ICFyZWdpc3RlcmVkRm9yR3N0IH0pLFxuICAgICAgICBnc3RBbW91bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdHJhbnNhY3Rpb24uZ3N0QW1vdW50LCBkaXNhYmxlZDogdHJ1ZSB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5kYXRlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5kZXNjcmlwdGlvbiwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoRm9ybVZhbGlkYXRpb25zRW51bS5URVhUX01BWF9MRU5HVEgpKSxcbiAgICAgICAgLy8gQFRPRE8gQWxleDogcmVmYWN0b3IgKFRULTE5OTYpXG4gICAgICAgIGZpbGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb25bJ3JlY2VpcHQnXSwgW1xuICAgICAgICAgIEZpbGVWYWxpZGF0b3IuZmlsZUV4dGVuc2lvbnMoRE9DVU1FTlRfRklMRV9UWVBFUy5hbGwpLCBGaWxlVmFsaWRhdG9yLmZpbGVNYXhTaXplKCtGb3JtVmFsaWRhdGlvbnNFbnVtLkZJTEVfTUFYX1NJWkUpXG4gICAgICAgIF0pLFxuICAgICAgICBwcm9wZXJ0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IHRyYW5zYWN0aW9uLnByb3BlcnR5LCBkaXNhYmxlZDogdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50c30pLFxuICAgICAgfSwgY29udHJvbHMpLFxuICAgICAgdHJhbnNhY3Rpb25cbiAgICApO1xuXG4gICAgdGhpcy5yZWdpc3RlcmVkRm9yR3N0ID0gcmVnaXN0ZXJlZEZvckdzdDtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuICAgIHRoaXMud2F0Y2hBbW91bnRXaXRoR1NUKCk7XG4gICAgdGhpcy53YXRjaElzR3N0KCk7XG4gIH1cblxuICBwcml2YXRlIHdhdGNoSXNHc3QoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2lzR1NUJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoaXNHU1Q6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQW1vdW50KCk7XG4gICAgICB0aGlzLnVwZGF0ZUdzdEFtb3VudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaEFtb3VudFdpdGhHU1QoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2Ftb3VudFdpdGhHU1QnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQW1vdW50KCk7XG4gICAgICB0aGlzLnVwZGF0ZUdzdEFtb3VudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgLy8gcmVjYWxjdWxhdGUgY2xhaW0gcGVyY2VudCBmb3Igc2VsZWN0ZWQgY2hhcnQgYWNjb3VudHNcbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KGNoYXJ0QWNjb3VudHMpO1xuICAgICAgaWYgKCF0aGlzLmlzR3N0QXBwbGljYWJsZSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIHVwZGF0ZSBnc3QgaWYgYXBwbGljYWJsZVxuICAgICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNHU1QpIHtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuZW5hYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnBhdGNoVmFsdWUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5wYXRjaFZhbHVlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVHc3RBbW91bnQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2dzdEFtb3VudCcpLnBhdGNoVmFsdWUocm91bmQodGhpcy5hbW91bnRXaXRoR1NUIC0gdGhpcy5hbW91bnQsIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQW1vdW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5wYXRjaFZhbHVlKFxuICAgICAgdGhpcy5pc0dTVCA/IHJvdW5kKHRoaXMuYW1vdW50V2l0aEdTVCAvIENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQsIDIpIDogdGhpcy5hbW91bnRXaXRoR1NUXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNHc3RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVnaXN0ZXJlZEZvckdzdCAmJiAhIXRoaXMubW9kZWwuYnVzaW5lc3M7XG4gIH1cblxuICBwcml2YXRlIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2Ftb3VudCcpLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYW1vdW50V2l0aEdTVCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50V2l0aEdTVCcpLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNHU1QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2lzR1NUJykudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogcHJvcGVydHlDbGFpbVBlcmNlbnQgZm9yIHByb3BlcnR5RXhwZW5zZSAoZXhjZXB0IHBsYXRmb3JtIGZlZXMsIHdoaWNoIGFscmVhZHkgaW5jbHVkZSBjbGFpbVBlcmNlbnQpLFxuICAgKiB0YXhhYmxlUGVyY2VudCBmb3Igb3RoZXJzXG4gICAqIGNhbiBiZSBhZGp1c3RlZCBvbmx5IGZvciBwcm9wZXJ0eS9zb2xlIGV4cGVuc2VzXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNsYWltUGVyY2VudChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKTogdm9pZCB7XG4gICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICB0aGlzLmdldCgnY2xhaW1QZXJjZW50JykuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgLy8gcHJvcGVydHkgY2xhaW0gKG93bmVyc2hpcCUgeCBzaGFyZWQlKSBmb3IgcHJvcGVydHkgZXhwZW5zZXMsIHRheGFibGUgcGVyY2VudCBmb3Igb3RoZXJzXG4gICAgbGV0IGNsYWltUGVyY2VudCA9IGNoYXJ0QWNjb3VudHMudGF4YWJsZVBlcmNlbnQ7XG4gICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNQcm9wZXJ0eUV4cGVuc2UoKSAmJiBjaGFydEFjY291bnRzLmlkICE9PSBDaGFydEFjY291bnRzTGlzdEVudW0uUExBVEZPUk1fRkVFUykge1xuICAgICAgY2xhaW1QZXJjZW50ICo9IHRoaXMudmFsdWUucHJvcGVydHk/LmNsYWltQ29lZmZpY2llbnQ7XG4gICAgfVxuICAgIHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKS5zZXRWYWx1ZShjbGFpbVBlcmNlbnQpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { WorkTransactionForm } from './work-transaction.form';
2
2
  import { Collection } from '../../../collections';
3
3
  import { ChartAccountsMetaFieldListEnum } from '../../../db/Enums';
4
+ import round from 'lodash/round';
4
5
  export class WorkExpenseForm extends WorkTransactionForm {
5
6
  constructor(transaction, registeredForGst, allocations, controls = {}) {
6
7
  super(transaction, registeredForGst, allocations, controls);
@@ -21,8 +22,8 @@ export class WorkExpenseForm extends WorkTransactionForm {
21
22
  // for home office hours expense amount is a fixed rate per hour
22
23
  this.get('amount').reset();
23
24
  this.get('amount').disable();
24
- this.get('amount').setValue((this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetaField.value));
25
+ this.get('amount').setValue(round(this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetaField.value, 2));
25
26
  });
26
27
  }
27
28
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFHakUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsbUVBQW1FO1FBQ25FLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBa0MsRUFBRSxFQUFFO1lBQ25GLE1BQU0sY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1SCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixPQUFPO2FBQ1I7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNySCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUV2ZW50TGlzdGVuZXJ9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uLCBUcmFuc2FjdGlvbk1ldGFGaWVsZH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V29ya1RyYW5zYWN0aW9uRm9ybX0gZnJvbSAnLi93b3JrLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0NoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bX0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIFdvcmtFeHBlbnNlRm9ybSBleHRlbmRzIFdvcmtUcmFuc2FjdGlvbkZvcm0gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbixcbiAgICByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLFxuICAgIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSxcbiAgICBjb250cm9sczoge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbH0gPSB7fVxuICApIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgYWxsb2NhdGlvbnMsIGNvbnRyb2xzKTtcbiAgICAvLyBhbW91bnQgc2V0IGF1dG9tYXRpY2FsbHkgZm9yIGNoYXJ0QWNjb3VudHMgd2l0aCBob3VycyBtZXRhIGZpZWxkXG4gICAgaWYgKHRyYW5zYWN0aW9uLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5IT1VSUykpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIHRoaXMud2F0Y2hDaGFydEFjY291bnRzTWV0YUZpZWxkcygpO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzTWV0YUZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnbWV0YUZpZWxkcycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG1ldGFGaWVsZHM6IFRyYW5zYWN0aW9uTWV0YUZpZWxkW10pID0+IHtcbiAgICAgIGNvbnN0IGhvdXJzTWV0YUZpZWxkID0gbmV3IENvbGxlY3Rpb24obWV0YUZpZWxkcykuZmluZEJ5KCdjaGFydEFjY291bnRzTWV0YUZpZWxkLmlkJywgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLkhPVVJTKTtcbiAgICAgIGlmICghaG91cnNNZXRhRmllbGQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBmb3IgaG9tZSBvZmZpY2UgaG91cnMgZXhwZW5zZSBhbW91bnQgaXMgYSBmaXhlZCByYXRlIHBlciBob3VyXG4gICAgICB0aGlzLmdldCgnYW1vdW50JykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50Jykuc2V0VmFsdWUoKHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUuZ2V0Q3VycmVudFllYXJWYWx1ZSgpLnZhbHVlICogK2hvdXJzTWV0YUZpZWxkLnZhbHVlKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakUsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUN0RCxZQUNFLFdBQXdCLEVBQ3hCLGdCQUF5QixFQUN6QixXQUFvQyxFQUNwQyxXQUE2QyxFQUFFO1FBRS9DLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELG1FQUFtRTtRQUNuRSxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQWtDLEVBQUUsRUFBRTtZQUNuRixNQUFNLGNBQWMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUgsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDbkIsT0FBTzthQUNSO1lBRUQsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDOUYsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkFsbG9jYXRpb24sIFRyYW5zYWN0aW9uTWV0YUZpZWxkfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXb3JrVHJhbnNhY3Rpb25Gb3JtfSBmcm9tICcuL3dvcmstdHJhbnNhY3Rpb24uZm9ybSc7XG5pbXBvcnQge0NvbGxlY3Rpb259IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7Q2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5cbmV4cG9ydCBjbGFzcyBXb3JrRXhwZW5zZUZvcm0gZXh0ZW5kcyBXb3JrVHJhbnNhY3Rpb25Gb3JtIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sXG4gICAgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sXG4gICAgY29udHJvbHM6IHtba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2x9ID0ge31cbiAgKSB7XG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCBjb250cm9scyk7XG4gICAgLy8gYW1vdW50IHNldCBhdXRvbWF0aWNhbGx5IGZvciBjaGFydEFjY291bnRzIHdpdGggaG91cnMgbWV0YSBmaWVsZFxuICAgIGlmICh0cmFuc2FjdGlvbi5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uSE9VUlMpKSB7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50c01ldGFGaWVsZHMoKTtcbiAgfVxuXG4gIHdhdGNoQ2hhcnRBY2NvdW50c01ldGFGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ21ldGFGaWVsZHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChtZXRhRmllbGRzOiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdKSA9PiB7XG4gICAgICBjb25zdCBob3Vyc01ldGFGaWVsZCA9IG5ldyBDb2xsZWN0aW9uKG1ldGFGaWVsZHMpLmZpbmRCeSgnY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCcsIENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5IT1VSUyk7XG4gICAgICBpZiAoIWhvdXJzTWV0YUZpZWxkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZm9yIGhvbWUgb2ZmaWNlIGhvdXJzIGV4cGVuc2UgYW1vdW50IGlzIGEgZml4ZWQgcmF0ZSBwZXIgaG91clxuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnNldFZhbHVlKFxuICAgICAgICByb3VuZCh0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlLmdldEN1cnJlbnRZZWFyVmFsdWUoKS52YWx1ZSAqICtob3Vyc01ldGFGaWVsZC52YWx1ZSwgMilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -13,6 +13,7 @@ import { TaxExemptionEnum } from '../../db/Enums/property/property-sale/tax-exem
13
13
  import { PropertyCategoryListEnum } from '../../db/Enums/property/property-category-list.enum';
14
14
  import moment from 'moment';
15
15
  import { PropertySaleTaxExemptionMetaFieldCollection } from '../../collections';
16
+ import round from 'lodash/round';
16
17
  /**
17
18
  * propertySale docs - https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4209508353/Property+Sold+button
18
19
  */
@@ -117,7 +118,7 @@ export class Property extends PropertyBase {
117
118
  return this.purchasePrice + this.capitalCostsTotalAmount + sale.holdingCosts + sale.structuralImprovementsWDV - sale.buildingAtCostClaimed;
118
119
  }
119
120
  calculateGrossCapitalGain(sale) {
120
- return (sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio;
121
+ return round((sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio, 2);
121
122
  }
122
123
  /**
123
124
  * net capital gain includes tax exemption
@@ -255,4 +256,4 @@ __decorate([
255
256
  __decorate([
256
257
  Exclude()
257
258
  ], Property.prototype, "documentFile", void 0);
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQjs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQXFEeEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFB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QUMsZ0JBQWdCLENBQUM7MENBQ0E7QUFHM0I7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNFO0FBR25CO0lBREQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDRTtBQUduQjtJQURELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1U7QUFHM0I7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7NENBQ0k7QUFHaEM7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MkNBQ0c7QUFHOUI7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7bURBQ1c7QUFHOUM7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNKO0FBR1g7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ087QUFJdEM7SUFERCxPQUFPLEVBQUU7OENBQ1ciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3BlcnR5IGFzIFByb3BlcnR5QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7RG9jdW1lbnRhYmxlLCBQaG90b2FibGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtQcm9wZXJ0eVNoYXJlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHtQcm9wZXJ0eVN1YnNjcmlwdGlvbn0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtFeGNsdWRlLCBUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5fSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7UHJvcGVydHlWYWx1YXRpb259IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7UHJvcGVydHlGb3JlY2FzdH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQge1Byb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHtGaW5hbmNpYWxZZWFyfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtQcm9wZXJ0eVNhbGV9IGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5pbXBvcnQge3VuaXRPZlRpbWV9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gICAgcHVyY2hhc2VQcmljZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgICBncm93dGhQZXJjZW50OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICAgIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICAgIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gICAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICAgIGNhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgICBzdGFtcER1dHk/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICAgIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gICAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gICAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICAgIGZvcmVjYXN0czogUHJvcGVydHlGb3JlY2FzdFtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICAgIHN1YnNjcmlwdGlvbnM6IFByb3BlcnR5U3Vic2NyaXB0aW9uW107XG5cbiAgLy8gY291bGQgYmUgRmlsZSB3aGVuIGp1c3QgYWRkZWQgbmV3IGltYWdlXG4gIEBFeGNsdWRlKClcbiAgICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubXlTaGFyZT8uc2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW5pdGlhbHMgb2YgcHJvcGVydHkuIFJlcXVpcmVkIGJ5IFBob3RvYWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGdldFBob3RvUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnNwbGl0KCcgJylbMV0uc2xpY2UoMCwgMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHBob3RvLiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBob3RvO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyVmFsdWF0aW9ucygpOiBQcm9wZXJ0eVZhbHVhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLmZpbHRlcigodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbik6IGJvb2xlYW4gPT4gdmFsdWF0aW9uLmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3R1YWxWYWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZpcnN0Rm9yZWNhc3RZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLnJlZHVjZSgobWluOiBudW1iZXIsIGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogbnVtYmVyID0+IG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluLCBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFZhbHVhdGlvbigpOiBQcm9wZXJ0eVZhbHVhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5yZWR1Y2UoKG1heERhdGVWYWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uLCB2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKSA9PiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb24sIHRoaXMudmFsdWF0aW9uc1swXSk7XG4gIH1cblxuICBnZXQgY2xhaW1QZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbVBlcmNlbnQ7XG4gIH1cblxuICBnZXQgY2xhaW1Db2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltUGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBzaGFyZVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQ7XG4gIH1cblxuICBnZXQgc2hhcmVSYXRpbygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBwcmV2aW91c0NhdGVnb3J5KCk6IFByb3BlcnR5Q2F0ZWdvcnkge1xuICAgIGxldCBwcmV2aW91c0NhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gICAgY29uc3QgbW92ZW1lbnRzQ291bnQ6IG51bWJlciA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKG1vdmVtZW50c0NvdW50ID4gMSkge1xuICAgICAgcHJldmlvdXNDYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHNbbW92ZW1lbnRzQ291bnQgLSAyXS5wcm9wZXJ0eUNhdGVnb3J5O1xuICAgIH1cblxuICAgIHJldHVybiBwcmV2aW91c0NhdGVnb3J5O1xuICB9XG5cbiAgZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB7XG4gICAgLy8gYWx3YXlzIHJldHVybiBmaXJzdCBlbGVtZW50IGJlY2F1c2Ugc3Vic2NyaXB0aW9ucyBhcnJheSBjb250YWlucyBvbmx5IG9uZSBlbGVtZW50XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1swXTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XG4gIH1cblxuICBnZXQgaXNTaGFyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmxlbmd0aCA+IDE7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gY29uc2lkZXIgdG8gbW92ZSBtZXRob2RzIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVNhbGUgdG8gc2VwYXJhdGVkIGNsYXNzLCBzaW5jZSB1c2VkIGp1c3QgaW4gb25lIG1vZHVsZSB5ZXRcbiAgICogcHVyY2hhc2UgY29zdHMgLSBjbGFpbWVkIGNvc3RzLCBleGNlcHQgYHBwciB0byBpbnZlc3RtZW50YCBleGVtcHRpb24sXG4gICAqIGluIHRoYXQgY2FzZSBpdCdzIGVxdWFsIHRvIG1hcmtldCB2YWx1ZSwgd2hlbiBwcm9wZXJ0eSBiZWNhbWUgYW4gaW52ZXN0bWVudCBwcm9wZXJ0eVxuICAgKi9cbiAgY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXJrZXRWYWx1ZTogbnVtYmVyID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKS5nZXRNYXJrZXRWYWx1ZSgpO1xuICAgIGlmIChtYXJrZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIG1hcmtldFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlUHJpY2UgKyB0aGlzLmNhcGl0YWxDb3N0c1RvdGFsQW1vdW50ICsgc2FsZS5ob2xkaW5nQ29zdHMgKyBzYWxlLnN0cnVjdHVyYWxJbXByb3ZlbWVudHNXRFYgLSBzYWxlLmJ1aWxkaW5nQXRDb3N0Q2xhaW1lZDtcbiAgfVxuXG4gIGNhbGN1bGF0ZUdyb3NzQ2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHNhbGUubmV0UHJpY2UgLSB0aGlzLmNhbGN1bGF0ZUNvc3RCYXNlKHNhbGUpKSAqIHRoaXMuZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogdGhpcy5zaGFyZVJhdGlvO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG59XG4iXX0=
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLFlBQVk7SUFxRHhDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FB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RSxDQUFDLE9BQU8sQ0FBQzt5Q0FDSDtBQUdqQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzswQ0FDRjtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUTtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FDRTtBQUdoQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzsyQ0FDQztBQUc5QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzttREFDUztBQUc5QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0NBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzsrQ0FDSztBQUl0QztJQURDLE9BQU8sRUFBRTs4Q0FDUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBEb2N1bWVudGFibGUsIFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0JztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IHVuaXRPZlRpbWUgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiwgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGdyb3d0aFBlcmNlbnQ6IG51bWJlclxuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnkpXG4gIGNhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICAvLyBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubXlTaGFyZT8uc2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaW5pdGlhbHMgb2YgcHJvcGVydHkuIFJlcXVpcmVkIGJ5IFBob3RvYWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGdldFBob3RvUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnNwbGl0KCcgJylbMV0uc2xpY2UoMCwgMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHBob3RvLiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBob3RvO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyVmFsdWF0aW9ucygpOiBQcm9wZXJ0eVZhbHVhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLmZpbHRlcigodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbik6IGJvb2xlYW4gPT4gdmFsdWF0aW9uLmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3R1YWxWYWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZpcnN0Rm9yZWNhc3RZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLnJlZHVjZSgobWluOiBudW1iZXIsIGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogbnVtYmVyID0+IG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluLCBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFZhbHVhdGlvbigpOiBQcm9wZXJ0eVZhbHVhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5yZWR1Y2UoKG1heERhdGVWYWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uLCB2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKSA9PiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb24sIHRoaXMudmFsdWF0aW9uc1swXSk7XG4gIH1cblxuICBnZXQgY2xhaW1QZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbVBlcmNlbnQ7XG4gIH1cblxuICBnZXQgY2xhaW1Db2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltUGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBzaGFyZVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQ7XG4gIH1cblxuICBnZXQgc2hhcmVSYXRpbygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBwcmV2aW91c0NhdGVnb3J5KCk6IFByb3BlcnR5Q2F0ZWdvcnkge1xuICAgIGxldCBwcmV2aW91c0NhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gICAgY29uc3QgbW92ZW1lbnRzQ291bnQ6IG51bWJlciA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKG1vdmVtZW50c0NvdW50ID4gMSkge1xuICAgICAgcHJldmlvdXNDYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHNbbW92ZW1lbnRzQ291bnQgLSAyXS5wcm9wZXJ0eUNhdGVnb3J5O1xuICAgIH1cblxuICAgIHJldHVybiBwcmV2aW91c0NhdGVnb3J5O1xuICB9XG5cbiAgZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB7XG4gICAgLy8gYWx3YXlzIHJldHVybiBmaXJzdCBlbGVtZW50IGJlY2F1c2Ugc3Vic2NyaXB0aW9ucyBhcnJheSBjb250YWlucyBvbmx5IG9uZSBlbGVtZW50XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1swXTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XG4gIH1cblxuICBnZXQgaXNTaGFyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmxlbmd0aCA+IDE7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gY29uc2lkZXIgdG8gbW92ZSBtZXRob2RzIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVNhbGUgdG8gc2VwYXJhdGVkIGNsYXNzLCBzaW5jZSB1c2VkIGp1c3QgaW4gb25lIG1vZHVsZSB5ZXRcbiAgICogcHVyY2hhc2UgY29zdHMgLSBjbGFpbWVkIGNvc3RzLCBleGNlcHQgYHBwciB0byBpbnZlc3RtZW50YCBleGVtcHRpb24sXG4gICAqIGluIHRoYXQgY2FzZSBpdCdzIGVxdWFsIHRvIG1hcmtldCB2YWx1ZSwgd2hlbiBwcm9wZXJ0eSBiZWNhbWUgYW4gaW52ZXN0bWVudCBwcm9wZXJ0eVxuICAgKi9cbiAgY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXJrZXRWYWx1ZTogbnVtYmVyID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKS5nZXRNYXJrZXRWYWx1ZSgpO1xuICAgIGlmIChtYXJrZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIG1hcmtldFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlUHJpY2UgKyB0aGlzLmNhcGl0YWxDb3N0c1RvdGFsQW1vdW50ICsgc2FsZS5ob2xkaW5nQ29zdHMgKyBzYWxlLnN0cnVjdHVyYWxJbXByb3ZlbWVudHNXRFYgLSBzYWxlLmJ1aWxkaW5nQXRDb3N0Q2xhaW1lZDtcbiAgfVxuXG4gIGNhbGN1bGF0ZUdyb3NzQ2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQoKHNhbGUubmV0UHJpY2UgLSB0aGlzLmNhbGN1bGF0ZUNvc3RCYXNlKHNhbGUpKSAqIHRoaXMuZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogdGhpcy5zaGFyZVJhdGlvLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIGluY2x1ZGVzIHRheCBleGVtcHRpb25cbiAgICovXG4gIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICAvKipcbiAgICogZ3Vlc3MgdGF4IGV4ZW1wdGlvbiBiYXNlZCBvbiBwcm9wZXJ0eSBkZXRhaWxzXG4gICAqL1xuICBnZXRDR1RFeGVtcHRpb24oc2FsZTogUHJvcGVydHlTYWxlKTogVGF4RXhlbXB0aW9uRW51bSB7XG4gICAgaWYgKHNhbGUudGF4RXhlbXB0aW9uKSB7XG4gICAgICByZXR1cm4gc2FsZS50YXhFeGVtcHRpb24uaWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIHByb3BlcnRpZXNcbiAgICAgIGNhc2UgdGhpcy5jYXRlZ29yeS5pZCA9PT0gUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLk9XTkVSX09DQ1VQSUVEOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5QUFI7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIGludmVzdG1lbnQgcHJvcGVydGllcyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgc3dpdGNoIChzYWxlLnRheEV4ZW1wdGlvbj8uaWQpIHtcbiAgICAgIC8vIDUwJSBleGVtcHRpb24gZm9yIGludmVzdG1lbnRzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU6XG4gICAgICAgIHJldHVybiAwLjU7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSkgPyAwLjUgOiAxO1xuICAgICAgLy8gZnVsbCBleGVtcHRpb25cbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uU0lYX1lFQVJTX1JVTEU6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uVFJBTlNGRVI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT1RIRVI6XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgLy8gbm8gZXhlbXB0aW9uXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW4gY2d0IHJlcG9ydCB3ZSBhcHBseSBsb3NzZXMsIHdoaWNoIGNhbiByZXNldCAxIHllYXIgcnVsZSAoaW4gY2FzZSBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgbG9zcylcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZTogUHJvcGVydHlTYWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5kYXRlKS5kaWZmKG1vbWVudCh0aGlzLmNvbnRyYWN0RGF0ZSksIHVuaXRPZlRpbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRheCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2UgLSBJbnRlcmVzdCAtIERlcHJlY2lhdGlvblxuICAgKiBXaGVyZSAoSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0KSBpcyBjYXNoIHBvc2l0aW9uLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzQxNTkyOC9EYXNoYm9hcmQrUHJvcGVydHlcbiAgICovXG4gIGdldFRheFBvc2l0aW9uKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmdyb3NzQ2xhaW1BbW91bnQgLSBNYXRoLmFicyhkZXByZWNpYXRpb25zLmNsYWltQW1vdW50KTtcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { ChartAccountsListEnum } from '../../../../db/Enums';
2
2
  import { TaxReturnCategoryListEnum } from '../../../../db/Enums/tax-return-category-list.enum';
3
+ import round from 'lodash/round';
3
4
  export class MyTaxRent {
4
5
  constructor(transactions, depreciations, taxSummary) {
5
6
  this.propertyExpenses = transactions.getPropertyTransactions().getExpenseTransactions();
@@ -41,7 +42,7 @@ export class MyTaxRent {
41
42
  .findBy('taxReturnCategory.id', TaxReturnCategoryListEnum.BORROWING_EXPENSES)?.amount || 0);
42
43
  const otherRentalDeductionsAmount = Math.abs(this.taxSummaryPropertySection.items
43
44
  .findBy('taxReturnCategory.id', TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS)?.amount || 0);
44
- return +Math.floor(plantAndEquipmentAmount + borrowingExpensesAmount + otherRentalDeductionsAmount).toFixed(2);
45
+ return round(plantAndEquipmentAmount + borrowingExpensesAmount + otherRentalDeductionsAmount, 2);
45
46
  }
46
47
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LXJlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgvbXktdGF4LXJlbnQvbXktdGF4LXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0YsTUFBTSxPQUFPLFNBQVM7SUFTcEIsWUFDRSxZQUFtQyxFQUNuQyxhQUFxQyxFQUNyQyxVQUFzQjtRQUV0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMseUJBQXlCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVk7YUFDaEMsdUJBQXVCLEVBQUU7YUFDekIscUJBQXFCLEVBQUU7YUFDdkIsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLGFBQWEsQ0FBQzthQUNqRSxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3JCLFlBQVk7aUJBQ1QsdUJBQXVCLEVBQUU7aUJBQ3pCLHFCQUFxQixFQUFFO2lCQUN2QixRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsbUJBQW1CLENBQUM7aUJBQ3ZFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUUzRyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7UUFFL0U7O1dBRUc7UUFDSCxrSEFBa0g7UUFDbEgsd0dBQXdHO1FBQ3hHLDBEQUEwRDtRQUUxRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ2pDLElBQUksQ0FBQyx3QkFBd0I7WUFDN0IsSUFBSSxDQUFDLDRCQUE0QjtZQUNqQyxJQUFJLENBQUMsMkJBQTJCLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssb0NBQW9DO1FBQzFDLE1BQU0sdUJBQXVCLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSzthQUNsRixNQUFNLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFL0YsTUFBTSx1QkFBdUIsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUM5QyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSzthQUNqQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFaEcsTUFBTSwyQkFBMkIsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLO2FBQ3RGLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVGF4U3VtbWFyeSB9IGZyb20gJy4uLy4uLy4uL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5JztcbmltcG9ydCB7IFRheFN1bW1hcnlTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktc2VjdGlvbic7XG5pbXBvcnQgeyBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0nO1xuXG5leHBvcnQgY2xhc3MgTXlUYXhSZW50IHtcbiAgcHJvcGVydHlFeHBlbnNlczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uO1xuICB0YXhTdW1tYXJ5UHJvcGVydHlTZWN0aW9uOiBUYXhTdW1tYXJ5U2VjdGlvbjtcbiAgZ3Jvc3NSZW50QW1vdW50OiBudW1iZXI7XG4gIGludGVyZXN0RGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyO1xuICBjYXBpdGFsV29ya3NEZWR1Y3Rpb25zQW1vdW50OiBudW1iZXI7XG4gIG90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyO1xuICBuZXRSZW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbixcbiAgICB0YXhTdW1tYXJ5OiBUYXhTdW1tYXJ5XG4gICkge1xuICAgIHRoaXMucHJvcGVydHlFeHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRQcm9wZXJ0eVRyYW5zYWN0aW9ucygpLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKTtcbiAgICB0aGlzLnRheFN1bW1hcnlQcm9wZXJ0eVNlY3Rpb24gPSB0YXhTdW1tYXJ5LnByb3BlcnR5O1xuICAgIHRoaXMuZ3Jvc3NSZW50QW1vdW50ID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKVxuICAgICAgLmdldEluY29tZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uUkVOVEFMX0lOQ09NRSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSArXG4gICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgLmdldFByb3BlcnR5VHJhbnNhY3Rpb25zKClcbiAgICAgICAgLmdldEluY29tZVRyYW5zYWN0aW9ucygpXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5PVEhFUl9SRU5UQUxfSU5DT01FKVxuICAgICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG5cbiAgICB0aGlzLmludGVyZXN0RGVkdWN0aW9uc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLmNhcGl0YWxXb3Jrc0RlZHVjdGlvbnNBbW91bnQgPSBNYXRoLmFicyhkZXByZWNpYXRpb25zLmdldENhcGl0YWxEZXByZWNpYXRpb25zKCkuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuXG4gICAgdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQgPSB0aGlzLmNhbGN1bGF0ZU90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudCgpO1xuXG4gICAgLyoqXG4gICAgICogQFRvZG8gVmlrIHVuY29tbWVudCB3aGVuIHRhc2sgVFQtMjAwOSB3aWxsIGJlIGltcGxlbWVudGVkXG4gICAgICovXG4gICAgLy8gdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQgPSBkZXByZWNpYXRpb25zLmdldEJ5VGFua1R5cGUoVGFua1R5cGVFbnVtLlBST1BFUlRZKS5nZXRBc3NldHMoKS5jbGFpbUFtb3VudCArXG4gICAgLy8gICBkZXByZWNpYXRpb25zLmdldEJ5VGFua1R5cGUoVGFua1R5cGVFbnVtLlBST1BFUlRZKS5nZXRCb3Jyb3dpbmdFeHBlbnNlRGVwcmVjaWF0aW9ucygpLmNsYWltQW1vdW50ICtcbiAgICAvLyAgIE1hdGguYWJzKHRoaXMucHJvcGVydHlFeHBlbnNlcy5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG5cbiAgICB0aGlzLm5ldFJlbnQgPSB0aGlzLmdyb3NzUmVudEFtb3VudCAtXG4gICAgICB0aGlzLmludGVyZXN0RGVkdWN0aW9uc0Ftb3VudCAtXG4gICAgICB0aGlzLmNhcGl0YWxXb3Jrc0RlZHVjdGlvbnNBbW91bnQgLVxuICAgICAgdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gVmlrIHJlbW92ZSB3aGVuIFRULTIwMDkgd2lsbCBiZSBpbXBsZW1lbnRlZC5cbiAgICogV2UgdXNlIHRheCBzdW1tYXJ5IGRhdGEgaGVyZSBiZWNhdXNlIGNsYWltIGFtb3VudCBmcm9tIGRlcHJlY2lhdGlvbiBpcyBkaWZmZXJlbnRcbiAgICogZnJvbSB0aGUgY2xhaW0gYW1vdW50IHRoYXQgd2UgZ2V0IGZyb20gdGF4IHN1bW1hcnkgKGRlcHJlY2lhdGlvbiBjbGFpbSBhbW91bnQgaXMgbm90IGFmZmVjdGVkIGJ5IHByb3BlcnR5IHNoYXJlLFxuICAgKiBwcm9wZXJ0eSBjb250cmFjdCBkYXRlLCBlLnQuYy4pLiBEZXRhaWxzIGluIHRoZSBUVC0yMDA5IHRhc2tcbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlT3RoZXJSZW50YWxEZWR1Y3Rpb25zQW1vdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgcGxhbnRBbmRFcXVpcG1lbnRBbW91bnQ6IG51bWJlciA9IE1hdGguYWJzKHRoaXMudGF4U3VtbWFyeVByb3BlcnR5U2VjdGlvbi5pdGVtc1xuICAgICAgLmZpbmRCeSgndGF4UmV0dXJuQ2F0ZWdvcnkuaWQnLCBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBMQU5UX0FORF9FUVVJUE1FTlQpPy5hbW91bnQgfHwgMCk7XG5cbiAgICBjb25zdCBib3Jyb3dpbmdFeHBlbnNlc0Ftb3VudDogbnVtYmVyID0gTWF0aC5hYnMoXG4gICAgICB0aGlzLnRheFN1bW1hcnlQcm9wZXJ0eVNlY3Rpb24uaXRlbXNcbiAgICAgICAgLmZpbmRCeSgndGF4UmV0dXJuQ2F0ZWdvcnkuaWQnLCBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkJPUlJPV0lOR19FWFBFTlNFUyk/LmFtb3VudCB8fCAwKTtcblxuICAgIGNvbnN0IG90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyID0gTWF0aC5hYnModGhpcy50YXhTdW1tYXJ5UHJvcGVydHlTZWN0aW9uLml0ZW1zXG4gICAgICAuZmluZEJ5KCd0YXhSZXR1cm5DYXRlZ29yeS5pZCcsIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlMpPy5hbW91bnQgfHwgMCk7XG4gICAgcmV0dXJuICtNYXRoLmZsb29yKHBsYW50QW5kRXF1aXBtZW50QW1vdW50ICsgYm9ycm93aW5nRXhwZW5zZXNBbW91bnQgKyBvdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LXJlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgvbXktdGF4LXJlbnQvbXktdGF4LXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE1BQU0sT0FBTyxTQUFTO0lBU3BCLFlBQ0UsWUFBbUMsRUFDbkMsYUFBcUMsRUFDckMsVUFBc0I7UUFFdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDeEYsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZO2FBQ2hDLHVCQUF1QixFQUFFO2FBQ3pCLHFCQUFxQixFQUFFO2FBQ3ZCLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhLENBQUM7YUFDakUsS0FBSyxDQUFDLGFBQWEsQ0FBQztZQUNyQixZQUFZO2lCQUNULHVCQUF1QixFQUFFO2lCQUN6QixxQkFBcUIsRUFBRTtpQkFDdkIsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDO2lCQUN2RSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFM0csSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO1FBRS9FOztXQUVHO1FBQ0gsa0hBQWtIO1FBQ2xILHdHQUF3RztRQUN4RywwREFBMEQ7UUFFMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZTtZQUNqQyxJQUFJLENBQUMsd0JBQXdCO1lBQzdCLElBQUksQ0FBQyw0QkFBNEI7WUFDakMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLG9DQUFvQztRQUMxQyxNQUFNLHVCQUF1QixHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUs7YUFDbEYsTUFBTSxDQUFDLHNCQUFzQixFQUFFLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sdUJBQXVCLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FDOUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUs7YUFDakMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLHlCQUF5QixDQUFDLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWhHLE1BQU0sMkJBQTJCLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSzthQUN0RixNQUFNLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFbkcsT0FBTyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFRheFN1bW1hcnkgfSBmcm9tICcuLi8uLi8uLi90YXgtc3VtbWFyeS90YXgtc3VtbWFyeSc7XG5pbXBvcnQgeyBUYXhTdW1tYXJ5U2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXNlY3Rpb24nO1xuaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG5leHBvcnQgY2xhc3MgTXlUYXhSZW50IHtcbiAgcHJvcGVydHlFeHBlbnNlczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uO1xuICB0YXhTdW1tYXJ5UHJvcGVydHlTZWN0aW9uOiBUYXhTdW1tYXJ5U2VjdGlvbjtcbiAgZ3Jvc3NSZW50QW1vdW50OiBudW1iZXI7XG4gIGludGVyZXN0RGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyO1xuICBjYXBpdGFsV29ya3NEZWR1Y3Rpb25zQW1vdW50OiBudW1iZXI7XG4gIG90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyO1xuICBuZXRSZW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbixcbiAgICB0YXhTdW1tYXJ5OiBUYXhTdW1tYXJ5XG4gICkge1xuICAgIHRoaXMucHJvcGVydHlFeHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRQcm9wZXJ0eVRyYW5zYWN0aW9ucygpLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKTtcbiAgICB0aGlzLnRheFN1bW1hcnlQcm9wZXJ0eVNlY3Rpb24gPSB0YXhTdW1tYXJ5LnByb3BlcnR5O1xuICAgIHRoaXMuZ3Jvc3NSZW50QW1vdW50ID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKVxuICAgICAgLmdldEluY29tZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uUkVOVEFMX0lOQ09NRSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSArXG4gICAgICB0cmFuc2FjdGlvbnNcbiAgICAgICAgLmdldFByb3BlcnR5VHJhbnNhY3Rpb25zKClcbiAgICAgICAgLmdldEluY29tZVRyYW5zYWN0aW9ucygpXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5PVEhFUl9SRU5UQUxfSU5DT01FKVxuICAgICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG5cbiAgICB0aGlzLmludGVyZXN0RGVkdWN0aW9uc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLmNhcGl0YWxXb3Jrc0RlZHVjdGlvbnNBbW91bnQgPSBNYXRoLmFicyhkZXByZWNpYXRpb25zLmdldENhcGl0YWxEZXByZWNpYXRpb25zKCkuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuXG4gICAgdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQgPSB0aGlzLmNhbGN1bGF0ZU90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudCgpO1xuXG4gICAgLyoqXG4gICAgICogQFRvZG8gVmlrIHVuY29tbWVudCB3aGVuIHRhc2sgVFQtMjAwOSB3aWxsIGJlIGltcGxlbWVudGVkXG4gICAgICovXG4gICAgLy8gdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQgPSBkZXByZWNpYXRpb25zLmdldEJ5VGFua1R5cGUoVGFua1R5cGVFbnVtLlBST1BFUlRZKS5nZXRBc3NldHMoKS5jbGFpbUFtb3VudCArXG4gICAgLy8gICBkZXByZWNpYXRpb25zLmdldEJ5VGFua1R5cGUoVGFua1R5cGVFbnVtLlBST1BFUlRZKS5nZXRCb3Jyb3dpbmdFeHBlbnNlRGVwcmVjaWF0aW9ucygpLmNsYWltQW1vdW50ICtcbiAgICAvLyAgIE1hdGguYWJzKHRoaXMucHJvcGVydHlFeHBlbnNlcy5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG5cbiAgICB0aGlzLm5ldFJlbnQgPSB0aGlzLmdyb3NzUmVudEFtb3VudCAtXG4gICAgICB0aGlzLmludGVyZXN0RGVkdWN0aW9uc0Ftb3VudCAtXG4gICAgICB0aGlzLmNhcGl0YWxXb3Jrc0RlZHVjdGlvbnNBbW91bnQgLVxuICAgICAgdGhpcy5vdGhlclJlbnRhbERlZHVjdGlvbnNBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gVmlrIHJlbW92ZSB3aGVuIFRULTIwMDkgd2lsbCBiZSBpbXBsZW1lbnRlZC5cbiAgICogV2UgdXNlIHRheCBzdW1tYXJ5IGRhdGEgaGVyZSBiZWNhdXNlIGNsYWltIGFtb3VudCBmcm9tIGRlcHJlY2lhdGlvbiBpcyBkaWZmZXJlbnRcbiAgICogZnJvbSB0aGUgY2xhaW0gYW1vdW50IHRoYXQgd2UgZ2V0IGZyb20gdGF4IHN1bW1hcnkgKGRlcHJlY2lhdGlvbiBjbGFpbSBhbW91bnQgaXMgbm90IGFmZmVjdGVkIGJ5IHByb3BlcnR5IHNoYXJlLFxuICAgKiBwcm9wZXJ0eSBjb250cmFjdCBkYXRlLCBlLnQuYy4pLiBEZXRhaWxzIGluIHRoZSBUVC0yMDA5IHRhc2tcbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlT3RoZXJSZW50YWxEZWR1Y3Rpb25zQW1vdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgcGxhbnRBbmRFcXVpcG1lbnRBbW91bnQ6IG51bWJlciA9IE1hdGguYWJzKHRoaXMudGF4U3VtbWFyeVByb3BlcnR5U2VjdGlvbi5pdGVtc1xuICAgICAgLmZpbmRCeSgndGF4UmV0dXJuQ2F0ZWdvcnkuaWQnLCBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBMQU5UX0FORF9FUVVJUE1FTlQpPy5hbW91bnQgfHwgMCk7XG5cbiAgICBjb25zdCBib3Jyb3dpbmdFeHBlbnNlc0Ftb3VudDogbnVtYmVyID0gTWF0aC5hYnMoXG4gICAgICB0aGlzLnRheFN1bW1hcnlQcm9wZXJ0eVNlY3Rpb24uaXRlbXNcbiAgICAgICAgLmZpbmRCeSgndGF4UmV0dXJuQ2F0ZWdvcnkuaWQnLCBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkJPUlJPV0lOR19FWFBFTlNFUyk/LmFtb3VudCB8fCAwKTtcblxuICAgIGNvbnN0IG90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudDogbnVtYmVyID0gTWF0aC5hYnModGhpcy50YXhTdW1tYXJ5UHJvcGVydHlTZWN0aW9uLml0ZW1zXG4gICAgICAuZmluZEJ5KCd0YXhSZXR1cm5DYXRlZ29yeS5pZCcsIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlMpPy5hbW91bnQgfHwgMCk7XG5cbiAgICByZXR1cm4gcm91bmQocGxhbnRBbmRFcXVpcG1lbnRBbW91bnQgKyBib3Jyb3dpbmdFeHBlbnNlc0Ftb3VudCArIG90aGVyUmVudGFsRGVkdWN0aW9uc0Ftb3VudCwgMik7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { CHART_ACCOUNTS_CATEGORIES } from '../../chart-accounts';
2
- import { AbstractModel } from '../../../db/Models/abstract-model';
2
+ import { AbstractModel } from '../../../db/Models';
3
+ import round from 'lodash/round';
3
4
  /**
4
5
  * Class with property transactions report entities
5
6
  */
@@ -14,7 +15,7 @@ export class PropertyReportItem extends AbstractModel {
14
15
  this.description = chartAccounts.name;
15
16
  }
16
17
  get claimAmount() {
17
- return +(this.amount * (this.claimPercent / 100)).toFixed(2);
18
+ return round(this.amount * (this.claimPercent / 100), 2);
18
19
  }
19
20
  get shareClaimAmount() {
20
21
  return this.claimAmount * (this.sharePercent / 100);
@@ -26,4 +27,4 @@ export class PropertyReportItem extends AbstractModel {
26
27
  return CHART_ACCOUNTS_CATEGORIES.expense.includes(this.chartAccounts.category);
27
28
  }
28
29
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFhbkQsWUFDRSxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8seUJBQXlCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuXG4vKipcbiAqIENsYXNzIHdpdGggcHJvcGVydHkgdHJhbnNhY3Rpb25zIHJlcG9ydCBlbnRpdGllc1xuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZXBvcnRJdGVtIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYXggcmV0dXJuIGl0ZW0gc3ViLWNvZGVcbiAgICovXG4gIHN1YkNvZGU6IHN0cmluZztcbiAgc2hhcmVQZXJjZW50OiBudW1iZXI7XG4gIGNsYWltUGVyY2VudDogbnVtYmVyO1xuICBwcm9wZXJ0eUlkOiBudW1iZXI7XG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNoYXJ0QWNjb3VudHMgPSBjaGFydEFjY291bnRzO1xuICAgIHRoaXMucHJvcGVydHlJZCA9IHByb3BlcnR5LmlkO1xuICAgIHRoaXMuY2xhaW1QZXJjZW50ID0gcHJvcGVydHkuY2xhaW1QZXJjZW50O1xuICAgIHRoaXMuc2hhcmVQZXJjZW50ID0gcHJvcGVydHkuc2hhcmVQZXJjZW50O1xuICAgIHRoaXMuc3ViQ29kZSA9IGNoYXJ0QWNjb3VudHMudGF4UmV0dXJuSXRlbS5zdWJDb2RlO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBjaGFydEFjY291bnRzLm5hbWVcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMuYW1vdW50ICogKHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwKSkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIGdldCBzaGFyZUNsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2xhaW1BbW91bnQgKiAodGhpcy5zaGFyZVBlcmNlbnQgLyAxMDApO1xuICB9XG5cbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaW5jb21lLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZXhwZW5zZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQzs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBYW5ELFlBQ0UsUUFBa0IsRUFDbEIsYUFBNEI7UUFFNUIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUN2QyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8seUJBQXlCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vcHJvcGVydHknO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7QWJzdHJhY3RNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG4vKipcbiAqIENsYXNzIHdpdGggcHJvcGVydHkgdHJhbnNhY3Rpb25zIHJlcG9ydCBlbnRpdGllc1xuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZXBvcnRJdGVtIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYXggcmV0dXJuIGl0ZW0gc3ViLWNvZGVcbiAgICovXG4gIHN1YkNvZGU6IHN0cmluZztcbiAgc2hhcmVQZXJjZW50OiBudW1iZXI7XG4gIGNsYWltUGVyY2VudDogbnVtYmVyO1xuICBwcm9wZXJ0eUlkOiBudW1iZXI7XG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNoYXJ0QWNjb3VudHMgPSBjaGFydEFjY291bnRzO1xuICAgIHRoaXMucHJvcGVydHlJZCA9IHByb3BlcnR5LmlkO1xuICAgIHRoaXMuY2xhaW1QZXJjZW50ID0gcHJvcGVydHkuY2xhaW1QZXJjZW50O1xuICAgIHRoaXMuc2hhcmVQZXJjZW50ID0gcHJvcGVydHkuc2hhcmVQZXJjZW50O1xuICAgIHRoaXMuc3ViQ29kZSA9IGNoYXJ0QWNjb3VudHMudGF4UmV0dXJuSXRlbS5zdWJDb2RlO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBjaGFydEFjY291bnRzLm5hbWVcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCh0aGlzLmFtb3VudCAqICh0aGlzLmNsYWltUGVyY2VudCAvIDEwMCksIDIpO1xuICB9XG5cbiAgZ2V0IHNoYXJlQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbUFtb3VudCAqICh0aGlzLnNoYXJlUGVyY2VudCAvIDEwMCk7XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5leHBlbnNlLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Vehicle expense for logbook section
3
3
  */
4
- import { AbstractModel } from '../../../db/Models/abstract-model';
4
+ import { AbstractModel } from '../../../db/Models';
5
+ import round from 'lodash/round';
5
6
  export class VehicleExpense extends AbstractModel {
6
7
  constructor(amount, claimPercent, description) {
7
8
  super();
@@ -10,7 +11,7 @@ export class VehicleExpense extends AbstractModel {
10
11
  this.description = description;
11
12
  }
12
13
  getClaimAmount() {
13
- return +(this.amount * (this.claimPercent / 100)).toFixed(2);
14
+ return round(this.amount * (this.claimPercent / 100), 2);
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1leHBlbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvdmVoaWNsZS1leHBlbnNlL3ZlaGljbGUtZXhwZW5zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFLL0MsWUFDRSxNQUFjLEVBQ2QsWUFBb0IsRUFDcEIsV0FBbUI7UUFFbkIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmVoaWNsZSBleHBlbnNlIGZvciBsb2dib29rIHNlY3Rpb25cbiAqL1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUV4cGVuc2UgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYW1vdW50OiBudW1iZXI7XG4gIGNsYWltUGVyY2VudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIGNsYWltUGVyY2VudDogbnVtYmVyLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFtb3VudCA9IGFtb3VudDtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IGNsYWltUGVyY2VudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXRDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMuYW1vdW50ICogKHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwKSkudG9GaXhlZCgyKTtcbiAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1leHBlbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvdmVoaWNsZS1leHBlbnNlL3ZlaGljbGUtZXhwZW5zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBSy9DLFlBQ0UsTUFBYyxFQUNkLFlBQW9CLEVBQ3BCLFdBQW1CO1FBRW5CLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZlaGljbGUgZXhwZW5zZSBmb3IgbG9nYm9vayBzZWN0aW9uXG4gKi9cbmltcG9ydCB7QWJzdHJhY3RNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUV4cGVuc2UgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYW1vdW50OiBudW1iZXI7XG4gIGNsYWltUGVyY2VudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIGNsYWltUGVyY2VudDogbnVtYmVyLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFtb3VudCA9IGFtb3VudDtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IGNsYWltUGVyY2VudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXRDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCh0aGlzLmFtb3VudCAqICh0aGlzLmNsYWltUGVyY2VudCAvIDEwMCksIDIpO1xuICB9XG59XG4iXX0=
@@ -10,6 +10,7 @@ import { BankAccount } from '../bank';
10
10
  import { SoleInvoiceTaxTypeEnum } from '../../db/Enums/sole-invoice-tax-type.enum';
11
11
  import { Collection, SoleInvoiceItemCollection } from '../../collections';
12
12
  import { ChartAccounts } from '../chart-accounts';
13
+ import round from 'lodash/round';
13
14
  export class SoleInvoice extends SoleInvoiceBase {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -64,13 +65,13 @@ export class SoleInvoice extends SoleInvoiceBase {
64
65
  */
65
66
  get inclusiveGSTAmount() {
66
67
  const gstPrice = this.itemsCollection.gstPrice;
67
- return gstPrice - (gstPrice / (1 + ChartAccounts.GSTRatio));
68
+ return round(gstPrice - (gstPrice / (1 + ChartAccounts.GSTRatio)), 2);
68
69
  }
69
70
  /**
70
71
  * When tax exclusive, GST amount should be added additionally to total price
71
72
  */
72
73
  get exclusiveGSTAmount() {
73
- return this.itemsCollection.gstPrice * ChartAccounts.GSTRatio;
74
+ return round(this.itemsCollection.gstPrice * ChartAccounts.GSTRatio, 2);
74
75
  }
75
76
  isDraft() {
76
77
  return this.status === SoleInvoiceStatusesEnum.DRAFT;
@@ -142,4 +143,4 @@ __decorate([
142
143
  __decorate([
143
144
  Type(() => BankAccount)
144
145
  ], SoleInvoice.prototype, "bankAccount", void 0);
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxVQUFVLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBQWhEOztRQXdCRSxXQUFNLEdBQTRCLHVCQUF1QixDQUFDLEtBQUssQ0FBQztRQUNoRSxZQUFPLEdBQTJCLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztJQThIbEUsQ0FBQztJQTVIQzs7T0FFRztJQUNILElBQUksZUFBZTtRQUNqQixPQUFPLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVksS0FBSztRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDcEM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDcEM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1gsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLEtBQUssc0JBQXNCLENBQUMsYUFBYTtnQkFDdkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDakMsS0FBSyxzQkFBc0IsQ0FBQyxhQUFhO2dCQUN2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNqQyxLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQ2hDLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLGtCQUFrQjtRQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUUvQyxPQUFPLFFBQVEsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUE7SUFDL0QsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssdUJBQXVCLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7SUFDL0QsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sV0FBVyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7O0FBckpNLHlCQUFhLEdBQUcsQ0FBQyxDQUFDO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs2Q0FDRjtBQUdmO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSjtBQUdiO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQzs2Q0FDRjtBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7MENBQ0g7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzBDQUNMO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnREFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U29sZUludm9pY2UgYXMgU29sZUludm9pY2VCYXNlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvc29sZS9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7U29sZUJ1c2luZXNzfSBmcm9tICcuL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHtTb2xlSW52b2ljZUl0ZW19IGZyb20gJy4vc29sZS1pbnZvaWNlLWl0ZW0nO1xuaW1wb3J0IHtTb2xlQ29udGFjdH0gZnJvbSAnLi9zb2xlLWNvbnRhY3QnO1xuaW1wb3J0IHtUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1NvbGVJbnZvaWNlU3RhdHVzZXNFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2Utc3RhdHVzZXMuZW51bSc7XG5pbXBvcnQge0JhbmtBY2NvdW50fSBmcm9tICcuLi9iYW5rJztcbmltcG9ydCB7U29sZUludm9pY2VUYXhUeXBlRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9ufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0NoYXJ0QWNjb3VudHN9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcblxuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlIGV4dGVuZHMgU29sZUludm9pY2VCYXNlIHtcbiAgc3RhdGljIE5VTUJFUl9MRU5HVEggPSA0O1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGVGcm9tOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGVUbzogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzcylcbiAgYnVzaW5lc3M6IFNvbGVCdXNpbmVzcztcblxuICBAVHlwZSgoKSA9PiBTb2xlSW52b2ljZUl0ZW0pXG4gIGl0ZW1zOiBTb2xlSW52b2ljZUl0ZW1bXTtcblxuICBAVHlwZSgoKSA9PiBTb2xlQ29udGFjdClcbiAgcGF5ZXI6IFNvbGVDb250YWN0O1xuXG4gIEBUeXBlKCgpID0+IEJhbmtBY2NvdW50KVxuICBiYW5rQWNjb3VudDogQmFua0FjY291bnQ7XG5cbiAgc3RhdHVzOiBTb2xlSW52b2ljZVN0YXR1c2VzRW51bSA9IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtLkRSQUZUO1xuICB0YXhUeXBlOiBTb2xlSW52b2ljZVRheFR5cGVFbnVtID0gU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVg7XG5cbiAgLyoqXG4gICAqIEdldCBpdGVtcyBhcnJheSBhcyBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXQgaXRlbXNDb2xsZWN0aW9uKCk6IFNvbGVJbnZvaWNlSXRlbUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgU29sZUludm9pY2VJdGVtQ29sbGVjdGlvbih0aGlzLml0ZW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBwcmljZSBvZiBhbGwgaXRlbXNcbiAgICovXG4gIHByaXZhdGUgZ2V0IHByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNDb2xsZWN0aW9uLnN1bUJ5KCd0b3RhbFByaWNlJyk7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgaW52b2ljZSBwcmljZSB3aXRob3V0IEdTVFxuICAgKi9cbiAgZ2V0IG5ldFByaWNlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuaXNUYXhJbmNsdXNpdmUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJpY2UgLSB0aGlzLkdTVEFtb3VudDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBmaW5hbCBwcmljZSAobmV0ICsgR1NUKVxuICAgKi9cbiAgZ2V0IGdyb3NzUHJpY2UoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1RheEV4Y2x1c2l2ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmljZSArIHRoaXMuR1NUQW1vdW50O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIEdTVCBhbW91bnRcbiAgICovXG4gIGdldCBHU1RBbW91bnQoKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHRoaXMudGF4VHlwZSkge1xuICAgICAgY2FzZSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9JTkNMVVNJVkU6XG4gICAgICAgIHJldHVybiB0aGlzLmluY2x1c2l2ZUdTVEFtb3VudDtcbiAgICAgIGNhc2UgU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfRVhDTFVTSVZFOlxuICAgICAgICByZXR1cm4gdGhpcy5leGNsdXNpdmVHU1RBbW91bnQ7XG4gICAgICBjYXNlIFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYOlxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0YXggaW5jbHVzaXZlLCBHU1QgYW1vdW50IGlzIGluY2x1ZGVkIHRvIHRvdGFsIHByaWNlXG4gICAqL1xuICBwcml2YXRlIGdldCBpbmNsdXNpdmVHU1RBbW91bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBnc3RQcmljZSA9IHRoaXMuaXRlbXNDb2xsZWN0aW9uLmdzdFByaWNlO1xuXG4gICAgcmV0dXJuIGdzdFByaWNlIC0gKGdzdFByaWNlIC8gKDEgKyBDaGFydEFjY291bnRzLkdTVFJhdGlvKSk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0YXggZXhjbHVzaXZlLCBHU1QgYW1vdW50IHNob3VsZCBiZSBhZGRlZCBhZGRpdGlvbmFsbHkgdG8gdG90YWwgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0IGV4Y2x1c2l2ZUdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zQ29sbGVjdGlvbi5nc3RQcmljZSAqIENoYXJ0QWNjb3VudHMuR1NUUmF0aW9cbiAgfVxuXG4gIGlzRHJhZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5EUkFGVDtcbiAgfVxuXG4gIGlzQ2FuY2VsbGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uQ0FOQ0VMRUQ7XG4gIH1cblxuICBpc1BlbmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5QRU5ESU5HO1xuICB9XG5cbiAgaXNQYWlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uUEFJRDtcbiAgfVxuXG4gIGlzT3ZlcmR1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BlbmRpbmcoKSAmJiB0aGlzLmRhdGVUbyA8IG5ldyBEYXRlKCk7XG4gIH1cblxuICBpc1VucGFpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BlbmRpbmcoKSAmJiB0aGlzLmRhdGVUbyA+PSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBpcyBub3QgYXZhaWxhYmxlIGZvciBpbnZvaWNlcyB3aXRob3V0IHRheGVzXG4gICAqL1xuICBpc05vVGF4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRheFR5cGUgPT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBhbW91bnQgaXMgbm90IGluY2x1ZGVkIGluIGl0ZW1zIHByaWNlcyBmb3IgaW52b2ljZXMgd2l0aCB0YXggZXhjbHVzaXZlLFxuICAgKiB3ZSBzaG91bGQgYWRkIEdTVCBhbW91bnQgYWRkaXRpb25hbHkgdG8gc3VidG90YWwgcHJpY2UgdG8gZ2V0IHRvdGFsIHByaWNlXG4gICAqL1xuICBpc1RheEV4Y2x1c2l2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YXhUeXBlID09PSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9FWENMVVNJVkU7XG4gIH1cblxuICAvKipcbiAgICogR1NUIGFtb3VudCBhbHJlYWR5IGluY2x1ZGVkIGluIGl0ZW1zIHByaWNlcyBmb3IgaW52b2ljZXMgd2l0aCB0YXggaW5jbHVzaXZlLFxuICAgKiB3ZSBzaG91bGQgc3VidHJhY3QgR1NUIGFtb3VudCBmcm9tIHRvdGFsIHByaWNlIHRvIGdldCBzdWJ0b3RhbCBwcmljZVxuICAgKi9cbiAgaXNUYXhJbmNsdXNpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGF4VHlwZSA9PT0gU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfSU5DTFVTSVZFO1xuICB9XG5cbiAgZ2V0TnVtYmVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLm51bWJlcikucGFkU3RhcnQoU29sZUludm9pY2UuTlVNQkVSX0xFTkdUSCwgJzAnKTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBpbnZvaWNlLSR7dGhpcy5nZXROdW1iZXIoKX0ucGRmYDtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uc0lkcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMuaXRlbXMpLm1hcEJ5KCd0cmFuc2FjdGlvbi5pZCcpO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxVQUFVLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQUFoRDs7UUF3QkUsV0FBTSxHQUE0Qix1QkFBdUIsQ0FBQyxLQUFLLENBQUM7UUFDaEUsWUFBTyxHQUEyQixzQkFBc0IsQ0FBQyxNQUFNLENBQUM7SUE4SGxFLENBQUM7SUE1SEM7O09BRUc7SUFDSCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNu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LEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sV0FBVyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7O0FBckpNLHlCQUFhLEdBQUcsQ0FBQyxDQUFDO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs2Q0FDRjtBQUdmO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSjtBQUdiO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQzs2Q0FDRjtBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7MENBQ0g7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzBDQUNMO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnREFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U29sZUludm9pY2UgYXMgU29sZUludm9pY2VCYXNlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvc29sZS9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7U29sZUJ1c2luZXNzfSBmcm9tICcuL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHtTb2xlSW52b2ljZUl0ZW19IGZyb20gJy4vc29sZS1pbnZvaWNlLWl0ZW0nO1xuaW1wb3J0IHtTb2xlQ29udGFjdH0gZnJvbSAnLi9zb2xlLWNvbnRhY3QnO1xuaW1wb3J0IHtUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1NvbGVJbnZvaWNlU3RhdHVzZXNFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2Utc3RhdHVzZXMuZW51bSc7XG5pbXBvcnQge0JhbmtBY2NvdW50fSBmcm9tICcuLi9iYW5rJztcbmltcG9ydCB7U29sZUludm9pY2VUYXhUeXBlRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9ufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0NoYXJ0QWNjb3VudHN9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2UgZXh0ZW5kcyBTb2xlSW52b2ljZUJhc2Uge1xuICBzdGF0aWMgTlVNQkVSX0xFTkdUSCA9IDQ7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZUZyb206IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZVRvOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzKVxuICBidXNpbmVzczogU29sZUJ1c2luZXNzO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlSXRlbSlcbiAgaXRlbXM6IFNvbGVJbnZvaWNlSXRlbVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVDb250YWN0KVxuICBwYXllcjogU29sZUNvbnRhY3Q7XG5cbiAgQFR5cGUoKCkgPT4gQmFua0FjY291bnQpXG4gIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudDtcblxuICBzdGF0dXM6IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtID0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uRFJBRlQ7XG4gIHRheFR5cGU6IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0gPSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLk5PX1RBWDtcblxuICAvKipcbiAgICogR2V0IGl0ZW1zIGFycmF5IGFzIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBpdGVtc0NvbGxlY3Rpb24oKTogU29sZUludm9pY2VJdGVtQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9uKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHByaWNlIG9mIGFsbCBpdGVtc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXQgcHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc0NvbGxlY3Rpb24uc3VtQnkoJ3RvdGFsUHJpY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBpbnZvaWNlIHByaWNlIHdpdGhvdXQgR1NUXG4gICAqL1xuICBnZXQgbmV0UHJpY2UoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1RheEluY2x1c2l2ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmljZSAtIHRoaXMuR1NUQW1vdW50O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIGZpbmFsIHByaWNlIChuZXQgKyBHU1QpXG4gICAqL1xuICBnZXQgZ3Jvc3NQcmljZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzVGF4RXhjbHVzaXZlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaWNlICsgdGhpcy5HU1RBbW91bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgR1NUIGFtb3VudFxuICAgKi9cbiAgZ2V0IEdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIHN3aXRjaCAodGhpcy50YXhUeXBlKSB7XG4gICAgICBjYXNlIFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uVEFYX0lOQ0xVU0lWRTpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5jbHVzaXZlR1NUQW1vdW50O1xuICAgICAgY2FzZSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9FWENMVVNJVkU6XG4gICAgICAgIHJldHVybiB0aGlzLmV4Y2x1c2l2ZUdTVEFtb3VudDtcbiAgICAgIGNhc2UgU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVg6XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRheCBpbmNsdXNpdmUsIEdTVCBhbW91bnQgaXMgaW5jbHVkZWQgdG8gdG90YWwgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0IGluY2x1c2l2ZUdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGdzdFByaWNlID0gdGhpcy5pdGVtc0NvbGxlY3Rpb24uZ3N0UHJpY2U7XG5cbiAgICByZXR1cm4gcm91bmQoZ3N0UHJpY2UgLSAoZ3N0UHJpY2UgLyAoMSArIENoYXJ0QWNjb3VudHMuR1NUUmF0aW8pKSwgMik7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0YXggZXhjbHVzaXZlLCBHU1QgYW1vdW50IHNob3VsZCBiZSBhZGRlZCBhZGRpdGlvbmFsbHkgdG8gdG90YWwgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0IGV4Y2x1c2l2ZUdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCh0aGlzLml0ZW1zQ29sbGVjdGlvbi5nc3RQcmljZSAqIENoYXJ0QWNjb3VudHMuR1NUUmF0aW8sIDIpXG4gIH1cblxuICBpc0RyYWZ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uRFJBRlQ7XG4gIH1cblxuICBpc0NhbmNlbGxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtLkNBTkNFTEVEO1xuICB9XG5cbiAgaXNQZW5kaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uUEVORElORztcbiAgfVxuXG4gIGlzUGFpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtLlBBSUQ7XG4gIH1cblxuICBpc092ZXJkdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNQZW5kaW5nKCkgJiYgdGhpcy5kYXRlVG8gPCBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgaXNVbnBhaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNQZW5kaW5nKCkgJiYgdGhpcy5kYXRlVG8gPj0gbmV3IERhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgaXMgbm90IGF2YWlsYWJsZSBmb3IgaW52b2ljZXMgd2l0aG91dCB0YXhlc1xuICAgKi9cbiAgaXNOb1RheCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YXhUeXBlID09PSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLk5PX1RBWDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgYW1vdW50IGlzIG5vdCBpbmNsdWRlZCBpbiBpdGVtcyBwcmljZXMgZm9yIGludm9pY2VzIHdpdGggdGF4IGV4Y2x1c2l2ZSxcbiAgICogd2Ugc2hvdWxkIGFkZCBHU1QgYW1vdW50IGFkZGl0aW9uYWx5IHRvIHN1YnRvdGFsIHByaWNlIHRvIGdldCB0b3RhbCBwcmljZVxuICAgKi9cbiAgaXNUYXhFeGNsdXNpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGF4VHlwZSA9PT0gU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfRVhDTFVTSVZFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBhbW91bnQgYWxyZWFkeSBpbmNsdWRlZCBpbiBpdGVtcyBwcmljZXMgZm9yIGludm9pY2VzIHdpdGggdGF4IGluY2x1c2l2ZSxcbiAgICogd2Ugc2hvdWxkIHN1YnRyYWN0IEdTVCBhbW91bnQgZnJvbSB0b3RhbCBwcmljZSB0byBnZXQgc3VidG90YWwgcHJpY2VcbiAgICovXG4gIGlzVGF4SW5jbHVzaXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRheFR5cGUgPT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uVEFYX0lOQ0xVU0lWRTtcbiAgfVxuXG4gIGdldE51bWJlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5udW1iZXIpLnBhZFN0YXJ0KFNvbGVJbnZvaWNlLk5VTUJFUl9MRU5HVEgsICcwJyk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgaW52b2ljZS0ke3RoaXMuZ2V0TnVtYmVyKCl9LnBkZmA7XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvbnNJZHMoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aGlzLml0ZW1zKS5tYXBCeSgndHJhbnNhY3Rpb24uaWQnKTtcbiAgfVxufVxuIl19
@@ -10,7 +10,7 @@ import { Transform, Type, plainToClass } from 'class-transformer';
10
10
  import { Property } from '../property';
11
11
  import { TransactionReceipt } from './transaction-receipt';
12
12
  import { CHART_ACCOUNTS_CATEGORIES, ChartAccounts } from '../chart-accounts';
13
- import { IncomeSource } from '../income-source/income-source';
13
+ import { IncomeSource } from '../income-source';
14
14
  import { TransactionMetaField } from './transaction-meta-field';
15
15
  import { Loan } from '../loan';
16
16
  import { TransactionAllocation } from './transaction-allocation';
@@ -236,4 +236,4 @@ __decorate([
236
236
  __decorate([
237
237
  Transform(({ value }) => +value)
238
238
  ], Transaction.prototype, "tax", void 0);
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVq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dGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzS2VlcFNpZ24sXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLFxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uTWV0YUZpZWxkIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1tZXRhLWZpZWxkJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi9sb2FuJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBJUmVjZWlwdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBFeHBlbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW0gfSBmcm9tICcuLi9zb2xlJztcblxuLy8gQFRPRE8gQWxleDogcmVmYWN0b3I6IG1vdmUgaGVyZSBhbGxvY2F0aW9ucyBtZXRob2RzLCBuZXRBbW91bnQgPSBhbW91bnQsIGdyb3NzQW1vdW50IGNhbGN1bGF0aW9uLCByZW1vdmUgdW51c2VkIG1ldGhvZHMsIGV0Yy5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIEV4cGVuc2UsIElSZWNlaXB0IHtcbiAgLy8gbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uUmVjZWlwdClcbiAgcmVjZWlwdDogVHJhbnNhY3Rpb25SZWNlaXB0O1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbk1ldGFGaWVsZClcbiAgbWV0YUZpZWxkczogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VJdGVtKVxuICBzb2xlSW52b2ljZUl0ZW06IFNvbGVJbnZvaWNlSXRlbTtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgdGF4ID0gMDtcbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIGFsbG9jYXRlZEFtb3VudDogbnVtYmVyO1xuICB1bmFsbG9jYXRlZEFtb3VudDogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICBjbGFpbVBlcmNlbnQgPSAxMDA7XG4gIGFtb3VudCA9IDA7XG5cbiAgZ2V0IGludm9pY2VJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNvbGVJbnZvaWNlSXRlbT8uaW52b2ljZS5pZDtcbiAgfVxuXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5ERUJJVDtcbiAgfVxuXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZUVudW0uQ1JFRElUO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgLy8gQFRPRE8gbm90IHVzZWRcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWwuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzSW50ZXJlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XG4gIH1cblxuICBnZXQgY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1BlcnNvbmFsKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsO1xuXG4gICAgICBjYXNlIHRoaXMuaXNQcm9wZXJ0eVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHk7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1NvbGVUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnNvbGU7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcms7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbiBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gdHlwZSBpcyB2ZWhpY2xlXG4gICAqL1xuICBpc1ZlaGljbGVUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlzVmVoaWNsZUV4cGVuc2UoKTtcbiAgfVxuXG4gIGdldCB0YXhGcmVlQ29tcG9uZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlRBWF9GUkVFX0NPTVBPTkVOVCk7XG4gIH1cblxuICBnZXQgZnJhbmtpbmdDcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktJTkdfQ1JFRElUKTtcbiAgfVxuXG4gIGdldCBlbGlnaWJsZUZvclJlZHVjdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5FTElHSUJMRV9GT1JfUkVEVUNUSU9OKTtcbiAgfVxuXG4gIGdldCB1bnRheGVkRWxlbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5VTlRBWEVEX0VMRU1FTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHJlY29uY2lsZSBvcGVyYXRpb24gaWYgVFJBTlNGRVJcbiAgICogQFRPRE8gYmFkIHVzYWdlIG9mIGdldCAoYW5kIGFsbCBpcyogbWV0aG9kcyksIGdldHRlciBzaG91bGQgc291bmQgbGlrZSBhIG5vdW5cbiAgICovXG4gIGdldCBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgaXNGaW5kQW5kTWF0Y2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIH1cblxuICBpc01hdGNoSW52b2ljZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5NQVRDSF9JTlZPSUNFO1xuICB9XG5cbiAgZ2V0IGRlYml0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpID8gTWF0aC5hYnModGhpcy5ncm9zc0Ftb3VudCkgOiAwO1xuICB9XG5cbiAgZ2V0IGNyZWRpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCkgPyBNYXRoLmFicyh0aGlzLmdyb3NzQW1vdW50KSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbHVlIG9mIHRyYW5zYWN0aW9uIG1ldGEgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkIGZvciB3aGljaCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICogQFRvZG8gbW9kaWZ5ICdtZXRhRmllbGRzJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFGaWVsZFZhbHVlKGZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhRmllbGRzLmZpbmQoKHRyYW5zYWN0aW9uTWV0YUZpZWxkOiBUcmFuc2FjdGlvbk1ldGFGaWVsZCk6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb25NZXRhRmllbGQuY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCA9PT0gZmllbGQpPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiBNYXRoLmFicyh0aGlzLmFtb3VudCksXG4gICAgICBjaGFydEFjY291bnRzOiB0aGlzLmNoYXJ0QWNjb3VudHMsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHR5cGU6IHRoaXMuY2hhcnRBY2NvdW50cy5pc1Byb3BlcnR5Q2FwaXRhbFdvcmtzKCkgPyBEZXByZWNpYXRpb25UeXBlRW51bS5DQVBJVEFMX1dPUktTIDogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1RcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZENsYWltQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgY29lZiA9IDE7XG4gICAgaWYgKHRoaXMuaXNTb2xlVGFuaygpICYmIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzR1NUKSB7XG4gICAgICBjb2VmID0gQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKSAqIHRoaXMuY2xhaW1SYXRpbyAvIGNvZWY7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmV0QW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHRyYW5zYWN0aW9uIGFtb3VudCBpbmNsdWRpbmcgdGF4ZXMgYW5kIG90aGVyIGFkZGl0aW9uYWwgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGdyb3NzQW1vdW50ID0gc3VwZXIuZ3Jvc3NBbW91bnQgKyB0aGlzLnRheDtcbiAgICBpZiAodGhpcy5pc0V4cGVuc2UoKSkge1xuICAgICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICAgIH1cblxuICAgIC8vIHNhbGFyeSBpbmNsdWRlZCB0cmFuc2FjdGlvbnMgYWZmZWN0IHBhcmVudCB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIGFzIGEgcmVzdWx0IGdyb3NzQW1vdW50LCBza2lwIHRvIGF2b2lkIGRvdWJsZSBzdW1cbiAgICBncm9zc0Ftb3VudCArPSBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+ICF0LmNoYXJ0QWNjb3VudHM/LmlzU2FsYXJ5SW5jbHVkZWQoKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50JywgdHJ1ZSk7XG5cbiAgICBpZiAodGhpcy5pc1dvcmtUYW5rKCkgfHwgdGhpcy5pc0hvbGRpbmdUYW5rKCkpIHtcbiAgICAgIGdyb3NzQW1vdW50ICs9IHRoaXMuZnJhbmtpbmdDcmVkaXQgLSB0aGlzLnRheEZyZWVDb21wb25lbnQgLSB0aGlzLmVsaWdpYmxlRm9yUmVkdWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBncm9zc0Ftb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgY29uZnVzaW5nIGxvZ2ljIGRlbWFuZGVkIGJ5IE5pY29sZSwgd2UgbmVlZCBhIGJldHRlciB1eCB0byBmaXggaXRcbiAgICogbmV0QW1vdW50IG1hdGNoZXMgcmVjZWl2ZWQgcGF5bWVudCAoYmFua1RyYW5zYWN0aW9uIGFtb3VudCksIGluY2x1ZGVzIGdzdCBhbmQgc2FsYXJ5IGluY2x1ZGVkIGFkanVzdG1lbnRzXG4gICAqIGllIHVzZXIgcmVjZWl2ZWQgMTAwMCQgc2FsYXJ5IGluY2x1ZGluZyAxMDAkIHRpcHMuIE5ldEFtb3VudD0xMDAwJCwgYW1vdW50PTkwMCQsIHRpcHM9MTAwJFxuICAgKi9cbiAgZ2V0IG5ldEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQuY2hhcnRBY2NvdW50cz8uaXNTYWxhcnlJbmNsdWRlZCgpKVxuICAgICAgLnN1bUJ5KCdhbW91bnQnKSArIHRoaXMuYW1vdW50V2l0aEdzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtb3N0IG9mIHRoZSB0cmFuc2FjdGlvbnMgY291bGQgaGF2ZSBvbmx5IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGFtb3VudCBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMsIHNvIHdlIGlnbm9yZVxuICAgKiB1c2VyJ3MgY2hvaWNlIGFuZCB0cmFuc2Zvcm0gYW1vdW50LCBidXQgdGhlcmUgYXJlIGV4Y2VwdGlvbnMgbGlrZSBhZHZhbmNlIChuZWdhdGl2ZSBvciBwb3NpdGl2ZSBhbW91bnQpXG4gICAqL1xuICBpZ25vcmVTaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHRoaXMuY2hhcnRBY2NvdW50cz8uaWQgaW4gQ2hhcnRBY2NvdW50c0tlZXBTaWduKTtcbiAgfVxufVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVq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dGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzS2VlcFNpZ24sXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLFxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk1ldGFGaWVsZCB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YS1maWVsZCc7XG5pbXBvcnQgeyBMb2FuIH0gZnJvbSAnLi4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgSVJlY2VpcHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRXhwZW5zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcblxuLy8gQFRPRE8gQWxleDogcmVmYWN0b3I6IG1vdmUgaGVyZSBhbGxvY2F0aW9ucyBtZXRob2RzLCBuZXRBbW91bnQgPSBhbW91bnQsIGdyb3NzQW1vdW50IGNhbGN1bGF0aW9uLCByZW1vdmUgdW51c2VkIG1ldGhvZHMsIGV0Yy5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIEV4cGVuc2UsIElSZWNlaXB0IHtcbiAgLy8gbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uUmVjZWlwdClcbiAgcmVjZWlwdDogVHJhbnNhY3Rpb25SZWNlaXB0O1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbk1ldGFGaWVsZClcbiAgbWV0YUZpZWxkczogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VJdGVtKVxuICBzb2xlSW52b2ljZUl0ZW06IFNvbGVJbnZvaWNlSXRlbTtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgdGF4ID0gMDtcbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIGFsbG9jYXRlZEFtb3VudDogbnVtYmVyO1xuICB1bmFsbG9jYXRlZEFtb3VudDogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICBjbGFpbVBlcmNlbnQgPSAxMDA7XG4gIGFtb3VudCA9IDA7XG5cbiAgZ2V0IGludm9pY2VJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNvbGVJbnZvaWNlSXRlbT8uaW52b2ljZS5pZDtcbiAgfVxuXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5ERUJJVDtcbiAgfVxuXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZUVudW0uQ1JFRElUO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgLy8gQFRPRE8gbm90IHVzZWRcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWwuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzSW50ZXJlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XG4gIH1cblxuICBnZXQgY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1BlcnNvbmFsKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsO1xuXG4gICAgICBjYXNlIHRoaXMuaXNQcm9wZXJ0eVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHk7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1NvbGVUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnNvbGU7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcms7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbiBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gdHlwZSBpcyB2ZWhpY2xlXG4gICAqL1xuICBpc1ZlaGljbGVUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlzVmVoaWNsZUV4cGVuc2UoKTtcbiAgfVxuXG4gIGdldCB0YXhGcmVlQ29tcG9uZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlRBWF9GUkVFX0NPTVBPTkVOVCk7XG4gIH1cblxuICBnZXQgZnJhbmtpbmdDcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktJTkdfQ1JFRElUKTtcbiAgfVxuXG4gIGdldCBlbGlnaWJsZUZvclJlZHVjdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5FTElHSUJMRV9GT1JfUkVEVUNUSU9OKTtcbiAgfVxuXG4gIGdldCB1bnRheGVkRWxlbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5VTlRBWEVEX0VMRU1FTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHJlY29uY2lsZSBvcGVyYXRpb24gaWYgVFJBTlNGRVJcbiAgICogQFRPRE8gYmFkIHVzYWdlIG9mIGdldCAoYW5kIGFsbCBpcyogbWV0aG9kcyksIGdldHRlciBzaG91bGQgc291bmQgbGlrZSBhIG5vdW5cbiAgICovXG4gIGdldCBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgaXNGaW5kQW5kTWF0Y2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIH1cblxuICBpc01hdGNoSW52b2ljZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5NQVRDSF9JTlZPSUNFO1xuICB9XG5cbiAgZ2V0IGRlYml0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpID8gTWF0aC5hYnModGhpcy5ncm9zc0Ftb3VudCkgOiAwO1xuICB9XG5cbiAgZ2V0IGNyZWRpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCkgPyBNYXRoLmFicyh0aGlzLmdyb3NzQW1vdW50KSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbHVlIG9mIHRyYW5zYWN0aW9uIG1ldGEgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkIGZvciB3aGljaCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICogQFRvZG8gbW9kaWZ5ICdtZXRhRmllbGRzJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFGaWVsZFZhbHVlKGZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhRmllbGRzLmZpbmQoKHRyYW5zYWN0aW9uTWV0YUZpZWxkOiBUcmFuc2FjdGlvbk1ldGFGaWVsZCk6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb25NZXRhRmllbGQuY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCA9PT0gZmllbGQpPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiBNYXRoLmFicyh0aGlzLmFtb3VudCksXG4gICAgICBjaGFydEFjY291bnRzOiB0aGlzLmNoYXJ0QWNjb3VudHMsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHR5cGU6IHRoaXMuY2hhcnRBY2NvdW50cy5pc1Byb3BlcnR5Q2FwaXRhbFdvcmtzKCkgPyBEZXByZWNpYXRpb25UeXBlRW51bS5DQVBJVEFMX1dPUktTIDogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1RcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZENsYWltQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgY29lZiA9IDE7XG4gICAgaWYgKHRoaXMuaXNTb2xlVGFuaygpICYmIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzR1NUKSB7XG4gICAgICBjb2VmID0gQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKSAqIHRoaXMuY2xhaW1SYXRpbyAvIGNvZWY7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmV0QW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHRyYW5zYWN0aW9uIGFtb3VudCBpbmNsdWRpbmcgdGF4ZXMgYW5kIG90aGVyIGFkZGl0aW9uYWwgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGdyb3NzQW1vdW50ID0gc3VwZXIuZ3Jvc3NBbW91bnQgKyB0aGlzLnRheDtcbiAgICBpZiAodGhpcy5pc0V4cGVuc2UoKSkge1xuICAgICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICAgIH1cblxuICAgIC8vIHNhbGFyeSBpbmNsdWRlZCB0cmFuc2FjdGlvbnMgYWZmZWN0IHBhcmVudCB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIGFzIGEgcmVzdWx0IGdyb3NzQW1vdW50LCBza2lwIHRvIGF2b2lkIGRvdWJsZSBzdW1cbiAgICBncm9zc0Ftb3VudCArPSBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+ICF0LmNoYXJ0QWNjb3VudHM/LmlzU2FsYXJ5SW5jbHVkZWQoKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50JywgdHJ1ZSk7XG5cbiAgICBpZiAodGhpcy5pc1dvcmtUYW5rKCkgfHwgdGhpcy5pc0hvbGRpbmdUYW5rKCkpIHtcbiAgICAgIGdyb3NzQW1vdW50ICs9IHRoaXMuZnJhbmtpbmdDcmVkaXQgLSB0aGlzLnRheEZyZWVDb21wb25lbnQgLSB0aGlzLmVsaWdpYmxlRm9yUmVkdWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBncm9zc0Ftb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgY29uZnVzaW5nIGxvZ2ljIGRlbWFuZGVkIGJ5IE5pY29sZSwgd2UgbmVlZCBhIGJldHRlciB1eCB0byBmaXggaXRcbiAgICogbmV0QW1vdW50IG1hdGNoZXMgcmVjZWl2ZWQgcGF5bWVudCAoYmFua1RyYW5zYWN0aW9uIGFtb3VudCksIGluY2x1ZGVzIGdzdCBhbmQgc2FsYXJ5IGluY2x1ZGVkIGFkanVzdG1lbnRzXG4gICAqIGllIHVzZXIgcmVjZWl2ZWQgMTAwMCQgc2FsYXJ5IGluY2x1ZGluZyAxMDAkIHRpcHMuIE5ldEFtb3VudD0xMDAwJCwgYW1vdW50PTkwMCQsIHRpcHM9MTAwJFxuICAgKi9cbiAgZ2V0IG5ldEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQuY2hhcnRBY2NvdW50cz8uaXNTYWxhcnlJbmNsdWRlZCgpKVxuICAgICAgLnN1bUJ5KCdhbW91bnQnKSArIHRoaXMuYW1vdW50V2l0aEdzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtb3N0IG9mIHRoZSB0cmFuc2FjdGlvbnMgY291bGQgaGF2ZSBvbmx5IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGFtb3VudCBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMsIHNvIHdlIGlnbm9yZVxuICAgKiB1c2VyJ3MgY2hvaWNlIGFuZCB0cmFuc2Zvcm0gYW1vdW50LCBidXQgdGhlcmUgYXJlIGV4Y2VwdGlvbnMgbGlrZSBhZHZhbmNlIChuZWdhdGl2ZSBvciBwb3NpdGl2ZSBhbW91bnQpXG4gICAqL1xuICBpZ25vcmVTaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHRoaXMuY2hhcnRBY2NvdW50cz8uaWQgaW4gQ2hhcnRBY2NvdW50c0tlZXBTaWduKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Type } from 'class-transformer';
3
- import { FinancialYear } from '../financial-year/financial-year';
3
+ import { FinancialYear } from '../financial-year';
4
+ import round from 'lodash/round';
4
5
  /**
5
6
  * Class contains traveled kilometers and work usage percent in 12 weeks date range
6
7
  * @TODO Vik: Best period: move this and related logic to backend
@@ -12,7 +13,7 @@ export class LogbookPeriod {
12
13
  }
13
14
  getWorkUsageByClaim(claim) {
14
15
  const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
15
- return this.workUsage * (claimKilometers / this.kilometers);
16
+ return round(this.workUsage * (claimKilometers / this.kilometers), 2);
16
17
  }
17
18
  }
18
19
  __decorate([
@@ -21,4 +22,4 @@ __decorate([
21
22
  __decorate([
22
23
  Type(() => Date)
23
24
  ], LogbookPeriod.prototype, "to", void 0);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nYm9vay1wZXJpb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3ZlaGljbGUvbG9nYm9vay1wZXJpb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJakU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBV3hCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDakQsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQW1CO1FBQ3JDLE1BQU0sZUFBZSxHQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFFekcsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFsQkc7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzJDQUNKO0FBR1g7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuL3ZlaGljbGUtY2xhaW0nO1xuXG4vKipcbiAqIENsYXNzIGNvbnRhaW5zIHRyYXZlbGVkIGtpbG9tZXRlcnMgYW5kIHdvcmsgdXNhZ2UgcGVyY2VudCBpbiAxMiB3ZWVrcyBkYXRlIHJhbmdlXG4gKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kOiBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICogQFRPRE8gQWxleDogY2hlY2sgaWYgd2UgbmVlZCB0aGlzIGNsYXNzIHdoZW4gY2FsY3VsYXRpb24gcmVmYWN0b3JlZCB3aXRoIGJhY2tlbmRcbiAqL1xuZXhwb3J0IGNsYXNzIExvZ2Jvb2tQZXJpb2Qge1xuICBAVHlwZSgoKSA9PiBEYXRlKVxuICAgIGZyb206IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgICB0bzogRGF0ZTtcblxuICBraWxvbWV0ZXJzOiBudW1iZXI7XG4gIHdvcmtVc2FnZTogbnVtYmVyO1xuICBsb2dib29rczogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uO1xuXG4gIGlzRW5kT2ZZZWFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvID09PSBuZXcgRmluYW5jaWFsWWVhcigpLmVuZERhdGU7XG4gIH1cblxuICBnZXRXb3JrVXNhZ2VCeUNsYWltKGNsYWltOiBWZWhpY2xlQ2xhaW0pOiBudW1iZXIge1xuICAgIGNvbnN0IGNsYWltS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5sb2dib29rcy5nZXRCeVZlaGljbGVDbGFpbShjbGFpbSkuZ2V0Q2xhaW1hYmxlTG9nYm9va3MoKS5raWxvbWV0ZXJzO1xuXG4gICAgcmV0dXJuIHRoaXMud29ya1VzYWdlICogKGNsYWltS2lsb21ldGVycyAvIHRoaXMua2lsb21ldGVycyk7XG4gIH1cbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nYm9vay1wZXJpb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3ZlaGljbGUvbG9nYm9vay1wZXJpb2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQVd4QixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFtQjtRQUNyQyxNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsVUFBVSxDQUFDO1FBRXpHLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQWxCRztJQURELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0o7QUFHWDtJQURELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSB9IGZyb20gJy4vdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcblxuLyoqXG4gKiBDbGFzcyBjb250YWlucyB0cmF2ZWxlZCBraWxvbWV0ZXJzIGFuZCB3b3JrIHVzYWdlIHBlcmNlbnQgaW4gMTIgd2Vla3MgZGF0ZSByYW5nZVxuICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZDogbW92ZSB0aGlzIGFuZCByZWxhdGVkIGxvZ2ljIHRvIGJhY2tlbmRcbiAqIEBUT0RPIEFsZXg6IGNoZWNrIGlmIHdlIG5lZWQgdGhpcyBjbGFzcyB3aGVuIGNhbGN1bGF0aW9uIHJlZmFjdG9yZWQgd2l0aCBiYWNrZW5kXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2dib29rUGVyaW9kIHtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgICBmcm9tOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gICAgdG86IERhdGU7XG5cbiAga2lsb21ldGVyczogbnVtYmVyO1xuICB3b3JrVXNhZ2U6IG51bWJlcjtcbiAgbG9nYm9va3M6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbjtcblxuICBpc0VuZE9mWWVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50byA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS5lbmREYXRlO1xuICB9XG5cbiAgZ2V0V29ya1VzYWdlQnlDbGFpbShjbGFpbTogVmVoaWNsZUNsYWltKTogbnVtYmVyIHtcbiAgICBjb25zdCBjbGFpbUtpbG9tZXRlcnM6IG51bWJlciA9IHRoaXMubG9nYm9va3MuZ2V0QnlWZWhpY2xlQ2xhaW0oY2xhaW0pLmdldENsYWltYWJsZUxvZ2Jvb2tzKCkua2lsb21ldGVycztcblxuICAgIHJldHVybiByb3VuZCh0aGlzLndvcmtVc2FnZSAqIChjbGFpbUtpbG9tZXRlcnMgLyB0aGlzLmtpbG9tZXRlcnMpLCAyKTtcbiAgfVxufVxuIl19