taxtank-core 0.32.71 → 0.32.73

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 (27) hide show
  1. package/esm2022/lib/db/Models/transaction/transaction-base.mjs +4 -1
  2. package/esm2022/lib/db/Models/transaction/transaction.mjs +1 -1
  3. package/esm2022/lib/forms/transaction/allocation-rule.form.mjs +28 -1
  4. package/esm2022/lib/forms/transaction/transaction.form.mjs +1 -3
  5. package/esm2022/lib/models/transaction/allocation-rule-transaction.mjs +20 -15
  6. package/esm2022/lib/models/transaction/allocation-rule.mjs +5 -2
  7. package/esm2022/lib/models/transaction/transaction.mjs +13 -2
  8. package/esm2022/lib/services/http/bank/bank-connection/bank-connection.service.mjs +2 -2
  9. package/esm2022/lib/services/http/chat/message.service.mjs +2 -2
  10. package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +2 -2
  11. package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +2 -2
  12. package/esm2022/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +2 -2
  13. package/esm2022/lib/services/http/subscription/service-subscription/subscription.service.mjs +2 -2
  14. package/fesm2022/taxtank-core.mjs +216 -169
  15. package/fesm2022/taxtank-core.mjs.map +1 -1
  16. package/lib/db/Models/transaction/transaction-base.d.ts +1 -0
  17. package/lib/db/Models/transaction/transaction.d.ts +3 -0
  18. package/lib/forms/transaction/allocation-rule.form.d.ts +9 -0
  19. package/lib/models/transaction/allocation-rule-transaction.d.ts +1 -1
  20. package/lib/models/transaction/transaction.d.ts +4 -0
  21. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -0
  22. package/lib/services/http/chat/message.service.d.ts +1 -0
  23. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +1 -0
  24. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -0
  25. package/lib/services/http/subscription/service-payment-method/service-payment-method.service.d.ts +1 -0
  26. package/lib/services/http/subscription/service-subscription/subscription.service.d.ts +1 -0
  27. package/package.json +1 -1
@@ -5,6 +5,9 @@ import { TankTypeEnum } from '../../Enums/tank-type.enum';
5
5
  import { ObservableModel } from '../observable-model';
6
6
  import round from 'lodash/round';
7
7
  export class TransactionBase extends ObservableModel {
8
+ get gstCoefficient() {
9
+ return this.isGST ? ChartAccounts.GSTCoefficient : 1;
10
+ }
8
11
  get claimRatio() {
9
12
  return this.sharedClaimPercent / 100;
10
13
  }
@@ -117,4 +120,4 @@ __decorate([
117
120
  __decorate([
118
121
  Exclude()
119
122
  ], TransactionBase.prototype, "gstClaimAmount", null);
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsZUFBZTtJQXVCM0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDeEIsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQy9CLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQzNCLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQzNCLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQzlCLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQzVCO2dCQUNFLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksUUFBUSxDQUFDLFFBQXNCO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixnREFBZ0Q7UUFDaEQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8seUJBQXlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pGO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixPQUFPLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM5RTtRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDOUU7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhO1FBQ1gsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixPQUFPLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNqRjtRQUVELDZEQUE2RDtRQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1QsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkcsQ0FBQztJQUdELElBQUksU0FBUztRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBR0QsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUF2SUM7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDOytDQUN6QztBQUdoQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7NkNBQ047QUFlZDtJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDOzJEQUNMO0FBNkY1QjtJQURDLE9BQU8sRUFBRTtvREFHVDtBQUdEO0lBREMsT0FBTyxFQUFFO2dEQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7cURBR1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBBcHBGaWxlLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uL3NvbGUvc29sZS1idXNpbmVzcyc7XG5pbXBvcnQgeyBFeGNsdWRlLCBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tICcuLi9vYnNlcnZhYmxlLW1vZGVsJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CYXNlIGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgLy8gQFRPRE8gdXBkYXRlIGRiIHNjaGVtZSB0byBhbHdheXMgaGF2ZSBhIG51bWJlclxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBudWxsID8gbnVsbCA6ICt2YWx1ZSlcbiAgYW1vdW50PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgcHJvcGVydHk/OiBQcm9wZXJ0eTtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGRhdGU/OiBEYXRlO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50c0Jhc2U7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBnc3QgYXBwbGllcyB0byBzb2xlIHRyYWRlciBleHBlbnNlL2luY29tZSwgaWYgaGUgaXMgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZVxuICAgKi9cbiAgaXNHU1Q/OiBib29sZWFuO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiArdmFsdWUpXG4gIHNoYXJlZENsYWltUGVyY2VudD86IG51bWJlcjtcblxuICBnZXQgY2xhaW1SYXRpbygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNoYXJlZENsYWltUGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gICAgICBjYXNlIHRoaXMuaXNXb3JrVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLldPUks7XG4gICAgICBjYXNlIHRoaXMuaXNTb2xlVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlNPTEU7XG4gICAgICBjYXNlIHRoaXMuaXNIb2xkaW5nVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLkhPTERJTkc7XG4gICAgICBjYXNlIHRoaXMuaXNPdGhlclRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5PVEhFUjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUEVSU09OQUw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlbW92ZSB3aGVuIEFsbG9jYXRlRm9ybSBpcyByZWZhY3RvcmVkIGFuZCBub3QgbWVyZ2luZyB3aXRoIFRyYW5zYWN0aW9uIGNsYXNzIHdoaWNoIGNhdXNlIHRoZSBpc3N1ZVxuICAgKi9cbiAgc2V0IHRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgUHJvcGVydHlcbiAgICovXG4gIGlzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5LmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgV29ya1xuICAgKi9cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgU29sZVxuICAgKi9cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5zb2xlLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMuYnVzaW5lc3M7XG4gIH1cblxuICBpc0hvbGRpbmdUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmhvbGRpbmcuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgLy8gQFRPRE8gQWxleCB3ZSBuZWVkIGFub3RoZXIgd2F5IHRvIGRpc3Rpbmd1aXNoIHdvcmsvaG9sZGluZ1xuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIGlzT3RoZXJUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMub3RoZXIuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1BlcnNvbmFsVGFuaygpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gTWF0aC50cnVuYyh0aGlzLmFtb3VudCAqIENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQgKiAxMDApIC8gMTAwIDogdGhpcy5hbW91bnQ7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBnc3RBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQodGhpcy5hbW91bnRXaXRoR3N0IC0gdGhpcy5hbW91bnQsIDIpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgZ3N0Q2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nc3RBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cblxuICAvKipcbiAgICogYmFzZSBncm9zc0Ftb3VudCwgZXh0ZW5kcyBpbiBjaGlsZCBjbGFzc2VzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgKyB0aGlzLmdzdEFtb3VudDtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsZUFBZTtJQXVCM0QsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDL0IsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixP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QyxTQUFTLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQTNJQztJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7K0NBQ3pDO0FBR2hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzs2Q0FDTjtBQWVkO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7MkRBQ0w7QUFpRzVCO0lBREMsT0FBTyxFQUFFO29EQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7Z0RBR1Q7QUFHRDtJQURDLE9BQU8sRUFBRTtxREFHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyBhcyBDaGFydEFjY291bnRzQmFzZSB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEFwcEZpbGUsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uL29ic2VydmFibGUtbW9kZWwnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJhc2UgZXh0ZW5kcyBPYnNlcnZhYmxlTW9kZWwge1xuICAvLyBAVE9ETyB1cGRhdGUgZGIgc2NoZW1lIHRvIGFsd2F5cyBoYXZlIGEgbnVtYmVyXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPT09IG51bGwgPyBudWxsIDogK3ZhbHVlKVxuICBhbW91bnQ/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcblxuICBwcm9wZXJ0eT86IFByb3BlcnR5O1xuICBidXNpbmVzcz86IFNvbGVCdXNpbmVzcztcbiAgZGF0ZT86IERhdGU7XG4gIGNoYXJ0QWNjb3VudHM/OiBDaGFydEFjY291bnRzQmFzZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGdzdCBhcHBsaWVzIHRvIHNvbGUgdHJhZGVyIGV4cGVuc2UvaW5jb21lLCBpZiBoZSBpcyByZWdpc3RlcmVkIGFuZCBjaGFydEFjY291bnRzIGlzIGVsaWdpYmxlXG4gICAqL1xuICBpc0dTVD86IGJvb2xlYW47XG4gIGNsYWltUGVyY2VudD86IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgc2hhcmVkQ2xhaW1QZXJjZW50PzogbnVtYmVyO1xuXG4gIGdldCBnc3RDb2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudCA6IDE7XG4gIH1cblxuICBnZXQgY2xhaW1SYXRpbygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNoYXJlZENsYWltUGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZSgpOiBUYW5rVHlwZUVudW0ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gICAgICBjYXNlIHRoaXMuaXNXb3JrVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLldPUks7XG4gICAgICBjYXNlIHRoaXMuaXNTb2xlVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlNPTEU7XG4gICAgICBjYXNlIHRoaXMuaXNIb2xkaW5nVGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLkhPTERJTkc7XG4gICAgICBjYXNlIHRoaXMuaXNPdGhlclRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5PVEhFUjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBUYW5rVHlwZUVudW0uUEVSU09OQUw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlbW92ZSB3aGVuIEFsbG9jYXRlRm9ybSBpcyByZWZhY3RvcmVkIGFuZCBub3QgbWVyZ2luZyB3aXRoIFRyYW5zYWN0aW9uIGNsYXNzIHdoaWNoIGNhdXNlIHRoZSBpc3N1ZVxuICAgKi9cbiAgc2V0IHRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgUHJvcGVydHlcbiAgICovXG4gIGlzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5LmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgV29ya1xuICAgKi9cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHRhbmsgaXMgU29sZVxuICAgKi9cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5zb2xlLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMuYnVzaW5lc3M7XG4gIH1cblxuICBpc0hvbGRpbmdUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICh0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmhvbGRpbmcuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgLy8gQFRPRE8gQWxleCB3ZSBuZWVkIGFub3RoZXIgd2F5IHRvIGRpc3Rpbmd1aXNoIHdvcmsvaG9sZGluZ1xuICAgIHJldHVybiAhdGhpcy5pc1Byb3BlcnR5VGFuaygpICYmICF0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIGlzT3RoZXJUYW5rKCk6IGJvb2xlYW4ge1xuICAgIC8vIGNoYXJ0IGFjY291bnRzIG1heSBiZSBlbXB0eSBmb3IgbmV3IGluc3RhbmNlc1xuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMub3RoZXIuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzPy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1BlcnNvbmFsVGFuaygpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cz8uY2F0ZWdvcnkpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gTWF0aC50cnVuYyh0aGlzLmFtb3VudCAqIENoYXJ0QWNjb3VudHMuR1NUQ29lZmZpY2llbnQgKiAxMDApIC8gMTAwIDogdGhpcy5hbW91bnQ7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBnc3RBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQodGhpcy5hbW91bnRXaXRoR3N0IC0gdGhpcy5hbW91bnQsIDIpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgZ3N0Q2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nc3RBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cblxuICAvKipcbiAgICogYmFzZSBncm9zc0Ftb3VudCwgZXh0ZW5kcyBpbiBjaGlsZCBjbGFzc2VzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgKyB0aGlzLmdzdEFtb3VudDtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cbn1cbiJdfQ==
@@ -2,4 +2,4 @@ import { TransactionBase } from './transaction-base';
2
2
  export class Transaction extends TransactionBase {
3
3
  static { this.className = 'Transaction'; }
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1yRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7YUFDdkMsY0FBUyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lU291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhRmllbGQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLW1ldGEtZmllbGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi9sb2FuL2xvYW4nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1iYXNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3MgfSBmcm9tICcuLi9zb2xlL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtIH0gZnJvbSAnLi4vc29sZS9zb2xlLWludm9pY2UtaXRlbSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSB7XG4gIHN0YXRpYyBjbGFzc05hbWUgPSAnVHJhbnNhY3Rpb24nO1xuICB0eXBlPzogVHJhbnNhY3Rpb25UeXBlRW51bTtcbiAgc291cmNlPzogVHJhbnNhY3Rpb25Tb3VyY2VFbnVtO1xuICBkYXRlPzogRGF0ZTtcbiAgYW1vdW50PzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdGF4PzogbnVtYmVyO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG4gIGNsYWltQW1vdW50PzogbnVtYmVyO1xuICB0YXhQYXlhYmxlPzogbnVtYmVyO1xuICBvcGVyYXRpb24/OiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW07XG4gIGNyZWF0ZWRBdD86IERhdGU7XG4gIHVwZGF0ZWRBdD86IERhdGU7XG4gIGRlbGV0ZWRBdD86IERhdGU7XG4gIHVzZXI/OiBVc2VyO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50cztcbiAgaW5jb21lU291cmNlPzogSW5jb21lU291cmNlO1xuICBwYXJlbnRUcmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uO1xuICBjaGlsZFRyYW5zYWN0aW9ucz86IFRyYW5zYWN0aW9uW107XG4gIHByb3BlcnR5PzogUHJvcGVydHk7XG4gIG1ldGFGaWVsZHM/OiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdO1xuICB0cmFuc2Zlcj86IFRyYW5zYWN0aW9uO1xuICBhbGxvY2F0aW9ucz86IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdO1xuICBsb2FuPzogTG9hbjtcbiAgZGVwcmVjaWF0aW9uPzogRGVwcmVjaWF0aW9uO1xuICBjcmVhdGVkQnk/OiBVc2VyO1xuICB1cGRhdGVkQnk/OiBVc2VyO1xuICBidXNpbmVzcz86IFNvbGVCdXNpbmVzcztcbiAgaXNHU1Q/OiBib29sZWFuO1xuICBpbnZvaWNlSXRlbT86IFNvbGVJbnZvaWNlSXRlbTtcbn1cbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1yRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7YUFDdkMsY0FBUyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lU291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhRmllbGQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLW1ldGEtZmllbGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi9sb2FuL2xvYW4nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1iYXNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3MgfSBmcm9tICcuLi9zb2xlL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtIH0gZnJvbSAnLi4vc29sZS9zb2xlLWludm9pY2UtaXRlbSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSB7XG4gIHN0YXRpYyBjbGFzc05hbWUgPSAnVHJhbnNhY3Rpb24nO1xuICB0eXBlPzogVHJhbnNhY3Rpb25UeXBlRW51bTtcbiAgc291cmNlPzogVHJhbnNhY3Rpb25Tb3VyY2VFbnVtO1xuICBkYXRlPzogRGF0ZTtcbiAgYW1vdW50PzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdGF4PzogbnVtYmVyO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG4gIGNsYWltQW1vdW50PzogbnVtYmVyO1xuICB0YXhQYXlhYmxlPzogbnVtYmVyO1xuICBvcGVyYXRpb24/OiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW07XG4gIGNyZWF0ZWRBdD86IERhdGU7XG4gIHVwZGF0ZWRBdD86IERhdGU7XG4gIGRlbGV0ZWRBdD86IERhdGU7XG4gIHVzZXI/OiBVc2VyO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50cztcbiAgaW5jb21lU291cmNlPzogSW5jb21lU291cmNlO1xuICBwYXJlbnRUcmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uO1xuICAvKipcbiAgICogbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpXG4gICAqL1xuICBjaGlsZFRyYW5zYWN0aW9ucz86IFRyYW5zYWN0aW9uW107XG4gIHByb3BlcnR5PzogUHJvcGVydHk7XG4gIG1ldGFGaWVsZHM/OiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdO1xuICB0cmFuc2Zlcj86IFRyYW5zYWN0aW9uO1xuICBhbGxvY2F0aW9ucz86IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdO1xuICBsb2FuPzogTG9hbjtcbiAgZGVwcmVjaWF0aW9uPzogRGVwcmVjaWF0aW9uO1xuICBjcmVhdGVkQnk/OiBVc2VyO1xuICB1cGRhdGVkQnk/OiBVc2VyO1xuICBidXNpbmVzcz86IFNvbGVCdXNpbmVzcztcbiAgaXNHU1Q/OiBib29sZWFuO1xuICBpbnZvaWNlSXRlbT86IFNvbGVJbnZvaWNlSXRlbTtcbn1cbiJdfQ==
@@ -159,5 +159,32 @@ export class AllocationRuleForm extends AbstractForm {
159
159
  break;
160
160
  }
161
161
  }
162
+ isIncome() {
163
+ return this.get('type').value === AllocationRuleTypeEnum.INCOME;
164
+ }
165
+ isExpense() {
166
+ return this.get('type').value === AllocationRuleTypeEnum.EXPENSE;
167
+ }
168
+ isTransfer() {
169
+ return this.get('type').value === AllocationRuleTypeEnum.TRANSFER;
170
+ }
171
+ isPropertyTank() {
172
+ return this.get('transaction').get('tankType').value === TankTypeEnum.PROPERTY;
173
+ }
174
+ isWorkTank() {
175
+ return this.get('transaction').get('tankType').value === TankTypeEnum.WORK;
176
+ }
177
+ isSoleTank() {
178
+ return this.get('transaction').get('tankType').value === TankTypeEnum.SOLE;
179
+ }
180
+ isPropertyIncome() {
181
+ return this.isIncome() && this.isPropertyTank();
182
+ }
183
+ isWorkIncome() {
184
+ return this.isIncome() && this.isWorkTank();
185
+ }
186
+ isSoleIncome() {
187
+ return this.isIncome() && this.isSoleTank();
188
+ }
162
189
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUE2QixNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBNEI7SUFHbEU7SUFDRSxpRUFBaUU7SUFDakUsSUFBb0I7SUFDcEIsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVELElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZ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b250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGUsIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2hhcnRBY2NvdW50c0NhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBydWxlIGlzIHJlcXVpcmVkIGJlY2F1c2Ugd2UgaGF2ZSB0byBrZWVwIGJhbmsgYWNjb3VudCByZWxhdGlvblxuICAgIHJ1bGU6IEFsbG9jYXRpb25SdWxlLFxuICAgIC8vIEZsYWcgdG8gZW5hYmxlIHRyYW5zYWN0aW9uIEdTVCBmaWVsZFxuICAgIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLnR5cGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbmFtZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29uZGl0aW9uT3BlcmF0b3I6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS5jb25kaXRpb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheShcbiAgICAgICAgKHJ1bGUuY29uZGl0aW9ucyB8fCBbcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uLCB7fSldKVxuICAgICAgICAgIC5tYXAoKGNvbmRpdGlvbjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb24pID0+IG5ldyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0oY29uZGl0aW9uKSlcbiAgICAgICksXG4gICAgICB0cmFuc2FjdGlvbjogbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtKHJ1bGUudHJhbnNhY3Rpb24gfHwgcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgaXNHU1QpLFxuICAgICAgdHJhbnNmZXJCYW5rQWNjb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLnRyYW5zZmVyQmFua0FjY291bnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgYXV0b0FsbG9jYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUuYXV0b0FsbG9jYXRlIHx8IGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHRyYW5zYWN0aW9uIGhhcyBubyBhbW91bnQgKG5vbi1zcGxpdClcbiAgICBpZiAoIXJ1bGUudHJhbnNhY3Rpb24/LmlzU3BsaXQoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnY29uZGl0aW9ucycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCB0cmFuc2FjdGlvbkZvcm1Hcm91cCgpOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0cmFuc2FjdGlvbicpIGFzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtO1xuICB9XG5cbiAgYWRkQ29uZGl0aW9uRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmRpdGlvbnNBcnJheS5wdXNoKG5ldyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0oKSk7XG4gIH1cblxuICBpc1RheEZpZWxkSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMgPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlO1xuXG4gICAgcmV0dXJuICFjaGFydEFjY291bnRzIHx8ICFjaGFydEFjY291bnRzLmhhc1RheEZpZWxkKCk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETyBBbGV4OiBkaXNhYmxlIHNvbGUgdGFuayBpbiBmb3JtIGNvbnRyb2wgd2hlbiBpbmNvbWUgc2VsZWN0ZWRcbiAgICovXG4gIGlzVHJhbnNhY3Rpb25GaWVsZHNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBudWxsIHx8IHRoaXMuY3VycmVudFZhbHVlLmlzU29sZUluY29tZSgpO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgY29uZGl0aW9uczogdGhpcy5jb25kaXRpb25zQXJyYXkuY29udHJvbHMubWFwKChjb25kaXRpb25Gb3JtOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0pID0+IGNvbmRpdGlvbkZvcm0uc3VibWl0KCkpLFxuICAgICAgdHJhbnNhY3Rpb246IG51bGwsXG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUuaXNUcmFuc2ZlcigpKSB7XG4gICAgICBkYXRhLnRyYW5zYWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5zdWJtaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEpO1xuICB9XG5cbiAgaXNTcGxpdHRhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHlwZScpLnZhbHVlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0UgfHwgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5pc1BlcnNvbmFsKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5UYW5rVHlwZUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblR5cGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblR5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0eXBlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSkgPT4ge1xuICAgICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZSh0eXBlKTtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcblxuICAgICAgLy8gd2UgaGF2ZSBkaWZmZXJlbnQgZmllbGRzIGZvciBkaWZmZXJlbnQgdHlwZXNcbiAgICAgIC8vIEBUT0RPIHNlcGFyYXRlZCByZWluaXQgbWV0aG9kIGlmIHdlIG5lZWQgaXQgYW55d2hlcmUgZWxzZVxuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5zZXRWYWx1ZShcbiAgICAgICAgbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtKHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLCB7fSksIHRoaXMuaXNHU1QpLmdldFJhd1ZhbHVlKClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRhbmtUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0YW5rVHlwZTogVGFua1R5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUYW5rVHlwZSh0YW5rVHlwZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGxpc3Qgb2YgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcmllcyBhbGxvd2VkIGZvciB0cmFuc2FjdGlvblxuICAgKiBEZXBlbmRzIG9uIHRyYW5zYWN0aW9uIHR5cGUgYW5kIHRhbmsgdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpOiB2b2lkIHtcbiAgICAvLyBXZSB1c2UgdW5pcXVlIG9uZSBDaGFydCBBY2NvdW50cyBmb3IgdHJhbnNmZXJcbiAgICBpZiAodGhpcy5jdXJyZW50VmFsdWUuaXNUcmFuc2ZlcigpKSB7XG4gICAgICB0aGlzLmNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBleGNsdWRlZENhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSA9IFsuLi5DSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmRlcHJlY2lhdGlvbl07XG5cbiAgICB0aGlzLmNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzID0gaW50ZXJzZWN0aW9uKENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVNbdGhpcy5jdXJyZW50VmFsdWUudHlwZUxhYmVsXSwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLnRhbmtUeXBlTGFiZWxdKVxuICAgICAgLmZpbHRlcigoY2F0ZWdvcnk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0pID0+ICFleGNsdWRlZENhdGVnb3JpZXMuaW5jbHVkZXMoY2F0ZWdvcnkpKTtcbiAgfVxuXG4gIGdldCB0YW5rVHlwZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgndGFua1R5cGUnKS52YWx1ZSkge1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgcmV0dXJuICd3b3JrJztcblxuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uUFJPUEVSVFk6XG4gICAgICAgIHJldHVybiAncHJvcGVydHknO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICByZXR1cm4gJ3NvbGUnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5IT0xESU5HOlxuICAgICAgICByZXR1cm4gJ2hvbGRpbmcnO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3BlcnNvbmFsJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwRmllbGRzQnlUeXBlKHR5cGU6IEFsbG9jYXRpb25SdWxlVHlwZUVudW0pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFOlxuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zZmVyQmFua0FjY291bnQnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICAvLyBkaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHZhbHVlIGlzIGVtcHR5XG4gICAgICAgIC8vIGRpc2FibGUgbWFudWFsbHkgYmVjYXVzZSBjb2RlIGFib3ZlIGVuYWJsZXMgdGhpcyBmaWVsZFxuICAgICAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KFsnYW1vdW50UGVyY2VudCddKS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KFsnYW1vdW50UGVyY2VudCddKS5kaXNhYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI6XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2FjdGlvbicpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwRmllbGRzQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgZGlzYWJsZSB0YW5rVHlwZS1yZWxhdGVkIGZpZWxkcywgc2Vjb25kIGVuYWJsZSBmb3Igc2VsZWN0ZWQgdGFuayB0eXBlXG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2J1c2luZXNzJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2lzR1NUJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2luY29tZVNvdXJjZScpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2luY29tZVNvdXJjZScpLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uUFJPUEVSVFk6XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdwcm9wZXJ0eScpLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2J1c2luZXNzJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICBpZiAodGhpcy5pc0dTVCkge1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdpc0dTVCcpLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUE2QixNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBNEI7SUFHbEU7SUFDRSxpRUFBaUU7SUFDakUsSUFBb0I7SUFDcEIsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVELElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZ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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZSwgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtY29uZGl0aW9uJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCBpbnRlcnNlY3Rpb24gZnJvbSAnbG9kYXNoL2ludGVyc2VjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjaGFydEFjY291bnRzQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIHJ1bGUgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGtlZXAgYmFuayBhY2NvdW50IHJlbGF0aW9uXG4gICAgcnVsZTogQWxsb2NhdGlvblJ1bGUsXG4gICAgLy8gRmxhZyB0byBlbmFibGUgdHJhbnNhY3Rpb24gR1NUIGZpZWxkXG4gICAgcHJpdmF0ZSBpc0dTVDogYm9vbGVhblxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25PcGVyYXRvcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLmNvbmRpdGlvbk9wZXJhdG9yLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbmRpdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHJhbnNmZXJCYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBhdXRvQWxsb2NhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS5hdXRvQWxsb2NhdGUgfHwgZmFsc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0sIHJ1bGUpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHJ1bGUudHlwZSk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VGFua1R5cGUocnVsZS50cmFuc2FjdGlvbj8udGFua1R5cGUpO1xuICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcblxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZT8uaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2xhaW1QZXJjZW50JykuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdHJhbnNhY3Rpb24gaGFzIG5vIGFtb3VudCAobm9uLXNwbGl0KVxuICAgIGlmICghcnVsZS50cmFuc2FjdGlvbj8uaXNTcGxpdCgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldChbJ2Ftb3VudFBlcmNlbnQnXSkuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb25kaXRpb25zQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaXNHU1QnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmlzR1NUKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2lzR1NUJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaXNHU1QnKS5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
@@ -5,7 +5,6 @@ import { MessagesEnum } from './messages.enum';
5
5
  import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
6
6
  import { plainToClass } from 'class-transformer';
7
7
  import { TransactionSourceEnum } from '../../db/Enums/transaction-source.enum';
8
- import { TransactionTypeEnum } from '../../db/Enums/transaction-type.enum';
9
8
  export class TransactionForm extends TransactionBaseForm {
10
9
  constructor(transaction, registeredForGst, allocations, controls = {}) {
11
10
  super(transaction, registeredForGst, Object.assign(controls, {
@@ -52,7 +51,6 @@ export class TransactionForm extends TransactionBaseForm {
52
51
  date: transaction.date,
53
52
  claimPercent: (transaction.claimPercent * childTransaction.chartAccounts?.taxablePercent) / 100,
54
53
  source: TransactionSourceEnum.BANK_TRANSACTION,
55
- type: childTransaction.chartAccounts?.isExpense() ? TransactionTypeEnum.DEBIT : TransactionTypeEnum.CREDIT,
56
54
  incomeSource: transaction.incomeSource,
57
55
  property: transaction.property
58
56
  }, this.model.transactions.find((transaction) => transaction.id === childTransaction['id']) || {}, childTransaction));
@@ -61,4 +59,4 @@ export class TransactionForm extends TransactionBaseForm {
61
59
  return super.submit(Object.assign(data, { transactions: this.buildTransactions(this.currentValue) }), true);
62
60
  }
63
61
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQXdCLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBZ0M7SUFDbkUsWUFBWSxXQUF3QixFQUFFLGdCQUF5QixFQUFFLFdBQW9DLEVBQUUsV0FBNkMsRUFBRTtRQUNwSixLQUFLLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQzNELFlBQVksRUFBRSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDbEgsQ0FBQyxDQUFD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LEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUM5RixnQkFBZ0IsQ0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFlLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUZvcm0gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuZm9ybSc7XG5pbXBvcnQge2F1dG9jb21wbGV0ZVZhbGlkYXRvciwgY3VycmVudEZpblllYXJWYWxpZGF0b3IsIG1pbkRhdGVWYWxpZGF0b3J9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgTWVzc2FnZXNFbnVtIH0gZnJvbSAnLi9tZXNzYWdlcy5lbnVtJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1RyYW5zYWN0aW9uU291cmNlRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlRm9ybTxUcmFuc2FjdGlvbj4ge1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW4sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSwgY29udHJvbHM6IHtba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2x9ID0ge30pIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgT2JqZWN0LmFzc2lnbihjb250cm9scywge1xuICAgICAgdHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheShbXSksXG4gICAgICBzb3VyY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uc291cmNlIHx8IFRyYW5zYWN0aW9uU291cmNlRW51bS5CQU5LX1RSQU5TQUNUSU9OLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH0pKTtcbiAgICB0aGlzLmdldCgnZGF0ZScpLmFkZFZhbGlkYXRvcnMoW2N1cnJlbnRGaW5ZZWFyVmFsaWRhdG9yKCldKTtcblxuICAgIC8vIGNvbnZlcnQgY2hpbGQgdHJhbnNhY3Rpb25zIHRvIGNvbnRyb2xzXG4gICAgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCA9PiB7XG4gICAgICB0aGlzLmFkZFRyYW5zYWN0aW9uQ29udHJvbCh0cmFuc2FjdGlvbik7XG4gICAgfSk7XG5cbiAgICAvLyBmb3JiaWQgdG8gYWRkIHRyYW5zYWN0aW9ucyBiZWZvcmUgcHJvcGVydHkgb3duZXJzaGlwXG4gICAgaWYgKHRyYW5zYWN0aW9uLnByb3BlcnR5KSB7XG4gICAgICB0aGlzLmdldCgnZGF0ZScpLmFkZFZhbGlkYXRvcnMoXG4gICAgICAgIG1pbkRhdGVWYWxpZGF0b3IodHJhbnNhY3Rpb24ucHJvcGVydHkubXlTaGFyZS5mcm9tRGF0ZSwgTWVzc2FnZXNFbnVtLkRBVEVfVkFMSURBVElPTl9FUlJPUilcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gcHJvcGVydHkgaW5jb21lIHVzdWFsbHkgY29tZXMgd2l0aCBmZWVzLCBhZGQgZW1wdHkgY29udHJvbCBmb3IgbmV3IHRyYW5zYWN0aW9uc1xuICAgIGlmICghdHJhbnNhY3Rpb24uaWQgJiYgdHJhbnNhY3Rpb24ucHJvcGVydHkgJiYgIXRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGggJiYgdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSkge1xuICAgICAgdGhpcy5hZGRUcmFuc2FjdGlvbkNvbnRyb2woKTtcbiAgICB9XG5cbiAgICAvLyBmb3JiaWQgdG8gZWRpdCBhbW91bnQgZm9yIGFsbG9jYXRlZCB0cmFuc2FjdGlvbnMgdG8gcHJldmVudCB3cm9uZyBhbGxvY2F0aW9uc1xuICAgIGlmIChhbGxvY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmdldCgnZGF0ZScpLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBhZGRUcmFuc2FjdGlvbkNvbnRyb2wodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7fSkpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICBpZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5pZCksXG4gICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhdXRvY29tcGxldGVWYWxpZGF0b3IoKV0pLFxuICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICB9KTtcblxuICAgICh0aGlzLmdldCgndHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheSkucHVzaChmb3JtR3JvdXApO1xuICB9XG5cbiAgcmVtb3ZlVHJhbnNhY3Rpb25Db250cm9sKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAodGhpcy5nZXQoJ3RyYW5zYWN0aW9ucycpIGFzIFVudHlwZWRGb3JtQXJyYXkpLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpbmNvbWUgdHJhbnNhY3Rpb25zIG1pZ2h0IGluY2x1ZGUgYWRqdXN0bWVudHMgKGNoaWxkIHRyYW5zYWN0aW9ucyksIGxpa2UgdGlwcyBvciBmZWVzLlxuICAgKiBBZGp1c3RtZW50cyBpbmhlcml0IG1vc3Qgb2YgdGhlIGZpZWxkcyBmcm9tIHBhcmVudCB0cmFuc2FjdGlvblxuICAgKi9cbiAgYnVpbGRUcmFuc2FjdGlvbnModHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0cmFuc2FjdGlvbnMnKS52YWx1ZS5tYXAoKGNoaWxkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogY2hpbGRUcmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5uYW1lLFxuICAgICAgICBkYXRlOiB0cmFuc2FjdGlvbi5kYXRlLFxuICAgICAgICBjbGFpbVBlcmNlbnQ6ICh0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgKiBjaGlsZFRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHM/LnRheGFibGVQZXJjZW50KSAvIDEwMCxcbiAgICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQkFOS19UUkFOU0FDVElPTixcbiAgICAgICAgdHlwZTogY2hpbGRUcmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5pc0V4cGVuc2UoKSA/IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQgOiAgVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQsXG4gICAgICAgIGluY29tZVNvdXJjZTogdHJhbnNhY3Rpb24uaW5jb21lU291cmNlLFxuICAgICAgICBwcm9wZXJ0eTogdHJhbnNhY3Rpb24ucHJvcGVydHlcbiAgICAgIH0sXG4gICAgICB0aGlzLm1vZGVsLnRyYW5zYWN0aW9ucy5maW5kKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uaWQgPT09IGNoaWxkVHJhbnNhY3Rpb25bJ2lkJ10pIHx8IHt9LFxuICAgICAgY2hpbGRUcmFuc2FjdGlvbixcbiAgICApKTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KE9iamVjdC5hc3NpZ24oZGF0YSwge3RyYW5zYWN0aW9uczogdGhpcy5idWlsZFRyYW5zYWN0aW9ucyh0aGlzLmN1cnJlbnRWYWx1ZSl9KSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBZ0M7SUFDbkUsWUFBWSxXQUF3QixFQUFFLGdCQUF5QixFQUFFLFdBQW9DLEVBQUUsV0FFbkcsRUFBRTtRQUNKLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDM0QsWUFBWSxFQUFFLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNsSCxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQseUNBQXlDO1FBQ3pDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBd0IsRUFBUSxFQUFFO1lBQzlELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILHVEQUF1RDtRQUN2RCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLENBQzVCLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FDNUYsQ0FBQztTQUNIO1FBRUQsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDekcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUI7UUFFRCxnRkFBZ0Y7UUFDaEYsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxjQUEyQixZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUM1RSxNQUFNLFNBQVMsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQztZQUN2RCxFQUFFLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzFDLGFBQWEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUNoSCxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBc0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLFdBQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQTZCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3hGO1lBQ0UsV0FBVyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJO1lBQ2pELElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN0QixZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsR0FBRyxHQUFHO1lBQy9GLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxnQkFBZ0I7WUFDOUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZO1lBQ3RDLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTtTQUMvQixFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFDOUYsZ0JBQWdCLENBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZSxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZUZvcm0gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuZm9ybSc7XG5pbXBvcnQgeyBhdXRvY29tcGxldGVWYWxpZGF0b3IsIGN1cnJlbnRGaW5ZZWFyVmFsaWRhdG9yLCBtaW5EYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlc0VudW0gfSBmcm9tICcuL21lc3NhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRm9ybSBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUZvcm08VHJhbnNhY3Rpb24+IHtcbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sIGNvbnRyb2xzOiB7XG4gICAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sXG4gIH0gPSB7fSkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCBPYmplY3QuYXNzaWduKGNvbnRyb2xzLCB7XG4gICAgICB0cmFuc2FjdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKSxcbiAgICAgIHNvdXJjZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5zb3VyY2UgfHwgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkJBTktfVFJBTlNBQ1RJT04sIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfSkpO1xuICAgIHRoaXMuZ2V0KCdkYXRlJykuYWRkVmFsaWRhdG9ycyhbY3VycmVudEZpblllYXJWYWxpZGF0b3IoKV0pO1xuXG4gICAgLy8gY29udmVydCBjaGlsZCB0cmFuc2FjdGlvbnMgdG8gY29udHJvbHNcbiAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuYWRkVHJhbnNhY3Rpb25Db250cm9sKHRyYW5zYWN0aW9uKTtcbiAgICB9KTtcblxuICAgIC8vIGZvcmJpZCB0byBhZGQgdHJhbnNhY3Rpb25zIGJlZm9yZSBwcm9wZXJ0eSBvd25lcnNoaXBcbiAgICBpZiAodHJhbnNhY3Rpb24ucHJvcGVydHkpIHtcbiAgICAgIHRoaXMuZ2V0KCdkYXRlJykuYWRkVmFsaWRhdG9ycyhcbiAgICAgICAgbWluRGF0ZVZhbGlkYXRvcih0cmFuc2FjdGlvbi5wcm9wZXJ0eS5teVNoYXJlLmZyb21EYXRlLCBNZXNzYWdlc0VudW0uREFURV9WQUxJREFUSU9OX0VSUk9SKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBwcm9wZXJ0eSBpbmNvbWUgdXN1YWxseSBjb21lcyB3aXRoIGZlZXMsIGFkZCBlbXB0eSBjb250cm9sIGZvciBuZXcgdHJhbnNhY3Rpb25zXG4gICAgaWYgKCF0cmFuc2FjdGlvbi5pZCAmJiB0cmFuc2FjdGlvbi5wcm9wZXJ0eSAmJiAhdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCAmJiB0cmFuc2FjdGlvbi5pc0NyZWRpdCgpKSB7XG4gICAgICB0aGlzLmFkZFRyYW5zYWN0aW9uQ29udHJvbCgpO1xuICAgIH1cblxuICAgIC8vIGZvcmJpZCB0byBlZGl0IGFtb3VudCBmb3IgYWxsb2NhdGVkIHRyYW5zYWN0aW9ucyB0byBwcmV2ZW50IHdyb25nIGFsbG9jYXRpb25zXG4gICAgaWYgKGFsbG9jYXRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuZ2V0KCdkYXRlJykuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFRyYW5zYWN0aW9uQ29udHJvbCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHt9KSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgIGlkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGF1dG9jb21wbGV0ZVZhbGlkYXRvcigpXSksXG4gICAgICBhbW91bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uYW1vdW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0pO1xuXG4gICAgKHRoaXMuZ2V0KCd0cmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5KS5wdXNoKGZvcm1Hcm91cCk7XG4gIH1cblxuICByZW1vdmVUcmFuc2FjdGlvbkNvbnRyb2woaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICh0aGlzLmdldCgndHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheSkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGluY29tZSB0cmFuc2FjdGlvbnMgbWlnaHQgaW5jbHVkZSBhZGp1c3RtZW50cyAoY2hpbGQgdHJhbnNhY3Rpb25zKSwgbGlrZSB0aXBzIG9yIGZlZXMuXG4gICAqIEFkanVzdG1lbnRzIGluaGVyaXQgbW9zdCBvZiB0aGUgZmllbGRzIGZyb20gcGFyZW50IHRyYW5zYWN0aW9uXG4gICAqL1xuICBidWlsZFRyYW5zYWN0aW9ucyh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9ucycpLnZhbHVlLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBjaGlsZFRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHM/Lm5hbWUsXG4gICAgICAgIGRhdGU6IHRyYW5zYWN0aW9uLmRhdGUsXG4gICAgICAgIGNsYWltUGVyY2VudDogKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCAqIGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8udGF4YWJsZVBlcmNlbnQpIC8gMTAwLFxuICAgICAgICBzb3VyY2U6IFRyYW5zYWN0aW9uU291cmNlRW51bS5CQU5LX1RSQU5TQUNUSU9OLFxuICAgICAgICBpbmNvbWVTb3VyY2U6IHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSxcbiAgICAgICAgcHJvcGVydHk6IHRyYW5zYWN0aW9uLnByb3BlcnR5XG4gICAgICB9LFxuICAgICAgdGhpcy5tb2RlbC50cmFuc2FjdGlvbnMuZmluZCgodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlkID09PSBjaGlsZFRyYW5zYWN0aW9uWydpZCddKSB8fCB7fSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb24sXG4gICAgKSk7XG4gIH1cblxuICBzdWJtaXQoZGF0YTogb2JqZWN0ID0ge30pOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdChPYmplY3QuYXNzaWduKGRhdGEsIHsgdHJhbnNhY3Rpb25zOiB0aGlzLmJ1aWxkVHJhbnNhY3Rpb25zKHRoaXMuY3VycmVudFZhbHVlKSB9KSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { AllocationRuleTransaction as AllocationRuleTransactionBase } from '../../db/Models/transaction/allocation-rule-transaction';
3
3
  import { ChartAccounts } from '../chart-accounts';
4
- import { Transform, Type } from 'class-transformer';
4
+ import { Transform, Type, plainToClass } from 'class-transformer';
5
5
  import { AllocationRuleTransactionMetaField } from './allocation-rule-transaction-meta-field';
6
- import { Loan, Property, SoleBusiness, TransactionAllocation } from '../../models';
6
+ import { Loan, Property, SoleBusiness, Transaction } from '../../models';
7
7
  import { IncomeSource } from '../income-source';
8
8
  import { ChartAccountsListEnum } from '../../db/Enums';
9
- import merge from 'lodash/merge';
10
9
  import { TransactionOperationEnum } from '../../db/Enums/transaction-operation.enum';
10
+ import { TransactionSourceEnum } from '../../db/Enums/transaction-source.enum';
11
11
  export class AllocationRuleTransaction extends AllocationRuleTransactionBase {
12
12
  constructor() {
13
13
  super(...arguments);
@@ -40,8 +40,10 @@ export class AllocationRuleTransaction extends AllocationRuleTransactionBase {
40
40
  /**
41
41
  * Create Transaction instance based on passed bank transaction and rule transaction
42
42
  */
43
- toTransaction(bankTransaction) {
44
- const transaction = merge(bankTransaction.toTransaction(this.isGST), {
43
+ toTransaction(bankTransaction = null) {
44
+ const transaction = bankTransaction ? bankTransaction.toTransaction(this.isGST) : plainToClass(Transaction, {});
45
+ Object.assign(transaction, {
46
+ isGST: this.isGST,
45
47
  tax: this.tax,
46
48
  claimPercent: this.claimPercent,
47
49
  chartAccounts: this.chartAccounts,
@@ -49,19 +51,22 @@ export class AllocationRuleTransaction extends AllocationRuleTransactionBase {
49
51
  loan: this.loan,
50
52
  incomeSource: this.incomeSource,
51
53
  metaFields: this.metaFields,
52
- parentTransaction: this.parentTransaction,
53
- childTransactions: this.childTransactions,
54
54
  business: this.business,
55
+ source: TransactionSourceEnum.BANK_TRANSACTION,
55
56
  operation: TransactionOperationEnum.ALLOCATE,
57
+ transactions: [],
56
58
  });
57
- // amount: bankTransaction.amount * (this.amountPercent ? (this.amountPercent / 100) : 1),
58
- if (this.amount) {
59
- transaction.amount = this.amount;
59
+ // split allocation
60
+ if (this.amountPercent) {
61
+ transaction.amount = bankTransaction.amount * this.amountPercentCoefficient / this.gstCoefficient;
60
62
  }
61
- else if (this.amountPercent) {
62
- transaction.amount *= this.amountPercentCoefficient;
63
- }
64
- transaction.allocations = [TransactionAllocation.create(transaction.amountWithGst, bankTransaction)];
63
+ // child transactions inherit most of the fields from parent transaction
64
+ this.childTransactions.forEach((childRuleTransaction) => {
65
+ const childTransaction = childRuleTransaction.toTransaction();
66
+ childTransaction.amount = childRuleTransaction.amount;
67
+ childTransaction.setParent(transaction);
68
+ transaction.transactions.push(childTransaction);
69
+ });
65
70
  return transaction;
66
71
  }
67
72
  }
@@ -102,4 +107,4 @@ __decorate([
102
107
  __decorate([
103
108
  Type(() => Number)
104
109
  ], AllocationRuleTransaction.prototype, "tax", void 0);
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx5QkFBeUIsSUFBSSw2QkFBNkIsRUFDM0QsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQW1CLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFlLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFckYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDZCQUE2QjtJQUE1RTs7UUErQnNCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFFNUIsV0FBTSxHQUFXLElBQUksQ0FBQztJQThEeEIsQ0FBQztJQTVEQyxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELHFCQUFx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LENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzt1REFDdEU7QUFJWDtJQUZDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDeEIsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzsrREFDckQ7QUFJNUI7SUFGQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7MkRBQzFEO0FBR3ZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzZEQUNFO0FBR2pEO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29FQUNPO0FBRzdDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29FQUNTO0FBRTNCO0lBQW5CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0RBQW9CO0FBQ25CO0lBQW5CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7c0RBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIGFzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25CYXNlXG59IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQgfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiwgTG9hbiwgUHJvcGVydHksIFNvbGVCdXNpbmVzcywgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiBleHRlbmRzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25CYXNlIHtcbiAgQFR5cGUoKCkgPT4gQ2hhcnRBY2NvdW50cylcbiAgLy8gQFRPRE8gQWxleDogQ3JlYXRlIGN1c3RvbSBkZWNvcmF0b3IgZm9yIHRoaXMgdHJhbnNmb3JtXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gKHsgaWQ6IHZhbHVlLmlkIH0pLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHkpXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPyB7IGlkOiB2YWx1ZS5pZCB9IDogbnVsbCwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBwcm9wZXJ0eTogUHJvcGVydHk7XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA/IHsgaWQ6IHZhbHVlLmlkIH0gOiBudWxsLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGxvYW46IExvYW47XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IHZhbHVlID8geyBpZDogdmFsdWUuaWQgfSA6IG51bGwsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgaW5jb21lU291cmNlPzogSW5jb21lU291cmNlO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzcylcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA/IHsgaWQ6IHZhbHVlLmlkIH0gOiBudWxsLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgQFR5cGUoKCkgPT4gQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZClcbiAgbWV0YUZpZWxkczogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZFtdO1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24pXG4gIHBhcmVudFRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24pXG4gIGNoaWxkVHJhbnNhY3Rpb25zOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKSBjbGFpbVBlcmNlbnQgPSAxMDA7XG4gIEBUeXBlKCgpID0+IE51bWJlcikgdGF4ID0gMDtcblxuICBhbW91bnQ6IG51bWJlciA9IG51bGw7XG5cbiAgZ2V0IGFtb3VudFBlcmNlbnRDb2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFtb3VudFBlcmNlbnQgPyB0aGlzLmFtb3VudFBlcmNlbnQgLyAxMDAgOiAxO1xuICB9XG5cbiAgY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjbGFpbVBlcmNlbnQgPSB0aGlzLmNoYXJ0QWNjb3VudHMudGF4YWJsZVBlcmNlbnQ7XG5cbiAgICAvLyBQcm9wZXJ0eSBjbGFpbSAob3duZXJzaGlwJSB4IHNoYXJlZCUpIGZvciBwcm9wZXJ0eSBleHBlbnNlcywgdGF4YWJsZSBwZXJjZW50IGZvciBvdGhlcnNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzPy5pc1Byb3BlcnR5KCkgJiYgdGhpcy5wcm9wZXJ0eSkge1xuXG4gICAgICBpZiAodGhpcy5jaGFydEFjY291bnRzLmlzUHJvcGVydHlFeHBlbnNlKCkgJiYgdGhpcy5jaGFydEFjY291bnRzLmlkICE9PSBDaGFydEFjY291bnRzTGlzdEVudW0uUExBVEZPUk1fRkVFUykge1xuICAgICAgICBjbGFpbVBlcmNlbnQgKj0gdGhpcy5wcm9wZXJ0eT8uY2xhaW1Db2VmZmljaWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHJ1bGUgdHJhbnNhY3Rpb24gaGFzIGFtb3VudCB0aGVuIHNwbGl0IGVuYWJsZWQuIFRoZXJlIGlzIDAgd2hlbiBzcGxpdCBkaXNhYmxlZFxuICAgKi9cbiAgaXNTcGxpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmFtb3VudFBlcmNlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIFRyYW5zYWN0aW9uIGluc3RhbmNlIGJhc2VkIG9uIHBhc3NlZCBiYW5rIHRyYW5zYWN0aW9uIGFuZCBydWxlIHRyYW5zYWN0aW9uXG4gICAqL1xuICB0b1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbWVyZ2UoXG4gICAgICBiYW5rVHJhbnNhY3Rpb24udG9UcmFuc2FjdGlvbih0aGlzLmlzR1NUKSxcbiAgICAgIHtcbiAgICAgICAgdGF4OiB0aGlzLnRheCxcbiAgICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgICAgY2hhcnRBY2NvdW50czogdGhpcy5jaGFydEFjY291bnRzLFxuICAgICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgICAgbG9hbjogdGhpcy5sb2FuLFxuICAgICAgICBpbmNvbWVTb3VyY2U6IHRoaXMuaW5jb21lU291cmNlLFxuICAgICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHMsXG4gICAgICAgIHBhcmVudFRyYW5zYWN0aW9uOiB0aGlzLnBhcmVudFRyYW5zYWN0aW9uLFxuICAgICAgICBjaGlsZFRyYW5zYWN0aW9uczogdGhpcy5jaGlsZFRyYW5zYWN0aW9ucyxcbiAgICAgICAgYnVzaW5lc3M6IHRoaXMuYnVzaW5lc3MsXG4gICAgICAgIG9wZXJhdGlvbjogVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkFMTE9DQVRFLFxuICAgICAgfVxuICAgICk7XG4gICAgLy8gYW1vdW50OiBiYW5rVHJhbnNhY3Rpb24uYW1vdW50ICogKHRoaXMuYW1vdW50UGVyY2VudCA/ICh0aGlzLmFtb3VudFBlcmNlbnQgLyAxMDApIDogMSksXG4gICAgaWYgKHRoaXMuYW1vdW50KSB7XG4gICAgICB0cmFuc2FjdGlvbi5hbW91bnQgPSB0aGlzLmFtb3VudDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW1vdW50UGVyY2VudCkge1xuICAgICAgdHJhbnNhY3Rpb24uYW1vdW50ICo9IHRoaXMuYW1vdW50UGVyY2VudENvZWZmaWNpZW50O1xuICAgIH1cblxuICAgIHRyYW5zYWN0aW9uLmFsbG9jYXRpb25zID0gW1RyYW5zYWN0aW9uQWxsb2NhdGlvbi5jcmVhdGUodHJhbnNhY3Rpb24uYW1vdW50V2l0aEdzdCwgYmFua1RyYW5zYWN0aW9uKV1cblxuICAgIHJldHVybiB0cmFuc2FjdGlvbjtcbiAgfVxufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx5QkFBeUIsSUFBSSw2QkFBNkIsRUFDM0QsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFtQixJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsNkJBQTZCO0lBQTVFOztRQStCc0IsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUU1QixXQUFNLEdBQVcsSUFBSSxDQUFDO0lBbUV4QixDQUFDO0lBakVDLElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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SUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29FQUNTO0FBRTNCO0lBQW5CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0RBQW9CO0FBQ25CO0lBQW5CLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7c0RBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIGFzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25CYXNlXG59IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQnO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uLCBMb2FuLCBQcm9wZXJ0eSwgU29sZUJ1c2luZXNzLCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC9tZXJnZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU291cmNlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXNvdXJjZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24gZXh0ZW5kcyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uQmFzZSB7XG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIC8vIEBUT0RPIEFsZXg6IENyZWF0ZSBjdXN0b20gZGVjb3JhdG9yIGZvciB0aGlzIHRyYW5zZm9ybVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICh7IGlkOiB2YWx1ZS5pZCB9KSwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5KVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IHZhbHVlID8geyBpZDogdmFsdWUuaWQgfSA6IG51bGwsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IExvYW4pXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPyB7IGlkOiB2YWx1ZS5pZCB9IDogbnVsbCwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBsb2FuOiBMb2FuO1xuXG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA/IHsgaWQ6IHZhbHVlLmlkIH0gOiBudWxsLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGluY29tZVNvdXJjZT86IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gdmFsdWUgPyB7IGlkOiB2YWx1ZS5pZCB9IDogbnVsbCwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBidXNpbmVzczogU29sZUJ1c2luZXNzO1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQpXG4gIG1ldGFGaWVsZHM6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRbXTtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKVxuICBwYXJlbnRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKVxuICBjaGlsZFRyYW5zYWN0aW9uczogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcikgY2xhaW1QZXJjZW50ID0gMTAwO1xuICBAVHlwZSgoKSA9PiBOdW1iZXIpIHRheCA9IDA7XG5cbiAgYW1vdW50OiBudW1iZXIgPSBudWxsO1xuXG4gIGdldCBhbW91bnRQZXJjZW50Q29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnRQZXJjZW50ID8gdGhpcy5hbW91bnRQZXJjZW50IC8gMTAwIDogMTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgY2xhaW1QZXJjZW50ID0gdGhpcy5jaGFydEFjY291bnRzLnRheGFibGVQZXJjZW50O1xuXG4gICAgLy8gUHJvcGVydHkgY2xhaW0gKG93bmVyc2hpcCUgeCBzaGFyZWQlKSBmb3IgcHJvcGVydHkgZXhwZW5zZXMsIHRheGFibGUgcGVyY2VudCBmb3Igb3RoZXJzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cz8uaXNQcm9wZXJ0eSgpICYmIHRoaXMucHJvcGVydHkpIHtcblxuICAgICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cy5pc1Byb3BlcnR5RXhwZW5zZSgpICYmIHRoaXMuY2hhcnRBY2NvdW50cy5pZCAhPT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlBMQVRGT1JNX0ZFRVMpIHtcbiAgICAgICAgY2xhaW1QZXJjZW50ICo9IHRoaXMucHJvcGVydHk/LmNsYWltQ29lZmZpY2llbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYWltUGVyY2VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBydWxlIHRyYW5zYWN0aW9uIGhhcyBhbW91bnQgdGhlbiBzcGxpdCBlbmFibGVkLiBUaGVyZSBpcyAwIHdoZW4gc3BsaXQgZGlzYWJsZWRcbiAgICovXG4gIGlzU3BsaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5hbW91bnRQZXJjZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBUcmFuc2FjdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbiBhbmQgcnVsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbiA9IG51bGwpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBiYW5rVHJhbnNhY3Rpb24gPyBiYW5rVHJhbnNhY3Rpb24udG9UcmFuc2FjdGlvbih0aGlzLmlzR1NUKSA6IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge30pO1xuICAgIE9iamVjdC5hc3NpZ24odHJhbnNhY3Rpb24sIHtcbiAgICAgIGlzR1NUOiB0aGlzLmlzR1NULFxuICAgICAgdGF4OiB0aGlzLnRheCxcbiAgICAgIGNsYWltUGVyY2VudDogdGhpcy5jbGFpbVBlcmNlbnQsXG4gICAgICBjaGFydEFjY291bnRzOiB0aGlzLmNoYXJ0QWNjb3VudHMsXG4gICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgIGxvYW46IHRoaXMubG9hbixcbiAgICAgIGluY29tZVNvdXJjZTogdGhpcy5pbmNvbWVTb3VyY2UsXG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHMsXG4gICAgICBidXNpbmVzczogdGhpcy5idXNpbmVzcyxcbiAgICAgIHNvdXJjZTogVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkJBTktfVFJBTlNBQ1RJT04sXG4gICAgICBvcGVyYXRpb246IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5BTExPQ0FURSxcbiAgICAgIHRyYW5zYWN0aW9uczogW10sXG4gICAgfSk7XG5cbiAgICAvLyBzcGxpdCBhbGxvY2F0aW9uXG4gICAgaWYgKHRoaXMuYW1vdW50UGVyY2VudCkge1xuICAgICAgdHJhbnNhY3Rpb24uYW1vdW50ID0gYmFua1RyYW5zYWN0aW9uLmFtb3VudCAqIHRoaXMuYW1vdW50UGVyY2VudENvZWZmaWNpZW50IC8gdGhpcy5nc3RDb2VmZmljaWVudDtcbiAgICB9XG5cbiAgICAvLyBjaGlsZCB0cmFuc2FjdGlvbnMgaW5oZXJpdCBtb3N0IG9mIHRoZSBmaWVsZHMgZnJvbSBwYXJlbnQgdHJhbnNhY3Rpb25cbiAgICB0aGlzLmNoaWxkVHJhbnNhY3Rpb25zLmZvckVhY2goKGNoaWxkUnVsZVRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uID0gY2hpbGRSdWxlVHJhbnNhY3Rpb24udG9UcmFuc2FjdGlvbigpO1xuICAgICAgY2hpbGRUcmFuc2FjdGlvbi5hbW91bnQgPSBjaGlsZFJ1bGVUcmFuc2FjdGlvbi5hbW91bnQ7XG4gICAgICBjaGlsZFRyYW5zYWN0aW9uLnNldFBhcmVudCh0cmFuc2FjdGlvbik7XG5cbiAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5wdXNoKGNoaWxkVHJhbnNhY3Rpb24pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,7 @@ import { AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionF
8
8
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
9
9
  import { TransactionOperationEnum } from '../../db/Enums/transaction-operation.enum';
10
10
  import { ChartAccounts } from '../chart-accounts';
11
+ import { TransactionAllocation } from './transaction-allocation';
11
12
  export class AllocationRule extends AllocationRuleBase {
12
13
  constructor() {
13
14
  super(...arguments);
@@ -65,7 +66,9 @@ export class AllocationRule extends AllocationRuleBase {
65
66
  transaction.chartAccounts = plainToClass(ChartAccounts, { id: ChartAccountsListEnum.TRANSFER });
66
67
  return transaction;
67
68
  }
68
- return this.transaction.toTransaction(bankTransaction);
69
+ const transaction = this.transaction.toTransaction(bankTransaction);
70
+ transaction.allocations = [TransactionAllocation.create(transaction.amountWithGst, bankTransaction)];
71
+ return transaction;
69
72
  }
70
73
  /**
71
74
  * Rule is matched when all conditions matched
@@ -125,4 +128,4 @@ __decorate([
125
128
  __decorate([
126
129
  Type(() => BankAccount)
127
130
  ], AllocationRule.prototype, "transferBankAccount", void 0);
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsNkNBQTZDLEVBQzdDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQUUscUJBQXFCLEVBQzlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQUF0RDs7UUFjRSxTQUFJLEdBQTJCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUM5RCxzQkFBaUIsR0FBd0MsbUNBQW1DLENBQUMsRUFBRSxDQUFDO1FBQ2hHLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBdUh2QixDQUFDO0lBckhDLElBQUksU0FBUztRQUNYLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQ2pDLE9BQU8sU0FB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YXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCwgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtY29uZGl0aW9uJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0sXG4gIEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRmllbGRFbnVtLFxuICBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbk9wZXJhdG9yRW51bSxcbiAgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0xpc3RFbnVtXG59IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGUgZXh0ZW5kcyBBbGxvY2F0aW9uUnVsZUJhc2Uge1xuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudClcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiAoeyBpZDogdmFsdWUuaWQgfSksIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgYmFua0FjY291bnQ/OiBCYW5rQWNjb3VudDtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbilcbiAgY29uZGl0aW9ucz86IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb24/OiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IEJhbmtBY2NvdW50KVxuICB0cmFuc2ZlckJhbmtBY2NvdW50PzogQmFua0FjY291bnQ7XG5cbiAgdHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSA9IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtID0gQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0uT1I7XG4gIGF1dG9BbGxvY2F0ZSA9IGZhbHNlO1xuXG4gIGdldCB0eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICAgIHJldHVybiAnZXhwZW5zZSc7XG5cbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU6XG4gICAgICAgIHJldHVybiAnaW5jb21lJztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0cmFuc2Zlcic7XG4gICAgfVxuICB9XG5cbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFO1xuICB9XG5cbiAgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgaXNQcm9wZXJ0eVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5QUk9QRVJUWTtcbiAgfVxuXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLlNPTEU7XG4gIH1cblxuICBpc1Byb3BlcnR5SW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5jb21lKCkgJiYgdGhpcy5pc1Byb3BlcnR5VGFuaygpO1xuICB9XG5cbiAgaXNXb3JrSW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5jb21lKCkgJiYgdGhpcy5pc1dvcmtUYW5rKCk7XG4gIH1cblxuICBpc1NvbGVJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiBtb3ZlIHRvIGNvbGxlY3Rpb25cbiAgICovXG4gIG1hdGNoQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uT3BlcmF0b3IgPT09IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtLkFORCA/IHRoaXMuY2hlY2tBbmQoYmFua1RyYW5zYWN0aW9uKSA6IHRoaXMuY2hlY2tPcihiYW5rVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgY3JlYXRlVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuaXNUcmFuc2ZlcigpKSB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSBiYW5rVHJhbnNhY3Rpb24udG9UcmFuc2FjdGlvbigpO1xuXG4gICAgICB0cmFuc2FjdGlvbi5vcGVyYXRpb24gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVI7XG4gICAgICB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzID0gcGxhaW5Ub0NsYXNzKENoYXJ0QWNjb3VudHMsIHsgaWQ6IENoYXJ0QWNjb3VudHNMaXN0RW51bS5UUkFOU0ZFUiB9KTtcblxuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uLnRvVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIGlzIG1hdGNoZWQgd2hlbiBhbGwgY29uZGl0aW9ucyBtYXRjaGVkXG4gICAqL1xuICBwcml2YXRlIGNoZWNrQW5kKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgdGhpcy5jb25kaXRpb25zKSB7XG4gICAgICBpZiAoIWNvbmRpdGlvbi5tYXRjaEJhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIGlzIG1hdGNoZWQgd2hlbiBhdCBsZWFzdCBvbmUgY29uZGl0aW9uIG1hdGNoZWRcbiAgICovXG4gIHByaXZhdGUgY2hlY2tPcihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHRoaXMuY29uZGl0aW9ucykge1xuICAgICAgaWYgKGNvbmRpdGlvbi5tYXRjaEJhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYWxsb2NhdGlvbiBydWxlIGJhc2VkIG9uIGJhbmsgdHJhbnNhY3Rpb24gKGp1c3QgcHJlZmlsbCBydWxlIGZpZWxkcyB3aXRoIGJhbmsgdHJhbnNhY3Rpb24gdmFsdWVzKVxuICAgKi9cbiAgc3RhdGljIGZyb21CYW5rVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBBbGxvY2F0aW9uUnVsZSB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZSwge1xuICAgICAgdHlwZTogYmFua1RyYW5zYWN0aW9uLmlzRGViaXQoKSA/IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSA6IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FLFxuICAgICAgYmFua0FjY291bnQ6IGJhbmtUcmFuc2FjdGlvbi5iYW5rQWNjb3VudCxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbk9wZXJhdG9yRW51bS5BTkQsXG4gICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgIHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge1xuICAgICAgICAgIGZpZWxkOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZpZWxkRW51bS5BTU9VTlQsXG4gICAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uRVFVQUxTLFxuICAgICAgICAgIHZhbHVlOiBiYW5rVHJhbnNhY3Rpb24uYW1vdW50XG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHtcbiAgICAgICAgICBmaWVsZDogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25GaWVsZEVudW0uREVTQ1JJUFRJT04sXG4gICAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uRVFVQUxTLFxuICAgICAgICAgIHZhbHVlOiBiYW5rVHJhbnNhY3Rpb24uZGVzY3JpcHRpb25cbiAgICAgICAgfSlcbiAgICAgIF1cbiAgICB9KTtcbiAgfVxufVxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsNkNBQTZDLEVBQzdDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQUUscUJBQXFCLEVBQzlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQUF0RDs7UUFjRSxTQUFJLEdBQTJCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUM5RCxzQkFBaUIsR0FBd0MsbUNBQW1DLENBQUMsRUFBRSxDQUFDO1FBQ2hHLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBMEh2QixDQUFDO0lBeEhDLElBQUksU0FBUztRQUNYLFFBQVEsSUFBSSxDQUFDLElBQUksRUFB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O0FBR3ZDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO21EQUNFO0FBR3hDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzsyREFDVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsbG9jYXRpb25SdWxlIGFzIEFsbG9jYXRpb25SdWxlQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgQmFua0FjY291bnQsIEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2JhbmsnO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Db21wYXJpc29uT3BlcmF0b3JFbnVtLFxuICBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZpZWxkRW51bSxcbiAgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0sXG4gIEFsbG9jYXRpb25SdWxlVHlwZUVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bVxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZSBleHRlbmRzIEFsbG9jYXRpb25SdWxlQmFzZSB7XG4gIEBUeXBlKCgpID0+IEJhbmtBY2NvdW50KVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICh7IGlkOiB2YWx1ZS5pZCB9KSwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBiYW5rQWNjb3VudD86IEJhbmtBY2NvdW50O1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uKVxuICBjb25kaXRpb25zPzogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbj86IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gQmFua0FjY291bnQpXG4gIHRyYW5zZmVyQmFua0FjY291bnQ/OiBCYW5rQWNjb3VudDtcblxuICB0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtID0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFO1xuICBjb25kaXRpb25PcGVyYXRvcjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0gPSBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbk9wZXJhdG9yRW51bS5PUjtcbiAgYXV0b0FsbG9jYXRlID0gZmFsc2U7XG5cbiAgZ2V0IHR5cGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTpcbiAgICAgICAgcmV0dXJuICdleHBlbnNlJztcblxuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTpcbiAgICAgICAgcmV0dXJuICdpbmNvbWUnO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3RyYW5zZmVyJztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTtcbiAgfVxuXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U7XG4gIH1cblxuICBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLlBST1BFUlRZO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gY29sbGVjdGlvblxuICAgKi9cbiAgbWF0Y2hCYW5rVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb25kaXRpb25PcGVyYXRvciA9PT0gQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0uQU5EID8gdGhpcy5jaGVja0FuZChiYW5rVHJhbnNhY3Rpb24pIDogdGhpcy5jaGVja09yKGJhbmtUcmFuc2FjdGlvbik7XG4gIH1cblxuICBjcmVhdGVUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IGJhbmtUcmFuc2FjdGlvbi50b1RyYW5zYWN0aW9uKCk7XG5cbiAgICAgIHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUjtcbiAgICAgIHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMgPSBwbGFpblRvQ2xhc3MoQ2hhcnRBY2NvdW50cywgeyBpZDogQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlRSQU5TRkVSIH0pO1xuXG4gICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uLnRvVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uKTtcbiAgICB0cmFuc2FjdGlvbi5hbGxvY2F0aW9ucyA9IFtUcmFuc2FjdGlvbkFsbG9jYXRpb24uY3JlYXRlKHRyYW5zYWN0aW9uLmFtb3VudFdpdGhHc3QsIGJhbmtUcmFuc2FjdGlvbildO1xuXG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgaXMgbWF0Y2hlZCB3aGVuIGFsbCBjb25kaXRpb25zIG1hdGNoZWRcbiAgICovXG4gIHByaXZhdGUgY2hlY2tBbmQoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiB0aGlzLmNvbmRpdGlvbnMpIHtcbiAgICAgIGlmICghY29uZGl0aW9uLm1hdGNoQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgaXMgbWF0Y2hlZCB3aGVuIGF0IGxlYXN0IG9uZSBjb25kaXRpb24gbWF0Y2hlZFxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja09yKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgdGhpcy5jb25kaXRpb25zKSB7XG4gICAgICBpZiAoY29uZGl0aW9uLm1hdGNoQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbGxvY2F0aW9uIHJ1bGUgYmFzZWQgb24gYmFuayB0cmFuc2FjdGlvbiAoanVzdCBwcmVmaWxsIHJ1bGUgZmllbGRzIHdpdGggYmFuayB0cmFuc2FjdGlvbiB2YWx1ZXMpXG4gICAqL1xuICBzdGF0aWMgZnJvbUJhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IEFsbG9jYXRpb25SdWxlIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlLCB7XG4gICAgICB0eXBlOiBiYW5rVHJhbnNhY3Rpb24uaXNEZWJpdCgpID8gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFIDogQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUUsXG4gICAgICBiYW5rQWNjb3VudDogYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LFxuICAgICAgY29uZGl0aW9uT3BlcmF0b3I6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtLkFORCxcbiAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uLCB7XG4gICAgICAgICAgZmllbGQ6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRmllbGRFbnVtLkFNT1VOVCxcbiAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uQ29tcGFyaXNvbk9wZXJhdG9yRW51bS5FUVVBTFMsXG4gICAgICAgICAgdmFsdWU6IGJhbmtUcmFuc2FjdGlvbi5hbW91bnRcbiAgICAgICAgfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge1xuICAgICAgICAgIGZpZWxkOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZpZWxkRW51bS5ERVNDUklQVElPTixcbiAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uQ29tcGFyaXNvbk9wZXJhdG9yRW51bS5FUVVBTFMsXG4gICAgICAgICAgdmFsdWU6IGJhbmtUcmFuc2FjdGlvbi5kZXNjcmlwdGlvblxuICAgICAgICB9KVxuICAgICAgXVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -20,7 +20,9 @@ import { SoleInvoiceItem } from '../sole';
20
20
  export class Transaction extends TransactionBase {
21
21
  constructor() {
22
22
  super(...arguments);
23
- // list of child transactions (fees)
23
+ /**
24
+ * @TODO rename to childTransactions
25
+ */
24
26
  this.transactions = [];
25
27
  this.metaFields = [];
26
28
  this.allocations = [];
@@ -198,6 +200,15 @@ export class Transaction extends TransactionBase {
198
200
  ignoreSign() {
199
201
  return !(this.chartAccounts?.id in ChartAccountsKeepSign);
200
202
  }
203
+ setParent(transaction) {
204
+ this.description = this.chartAccounts.name;
205
+ this.date = transaction.date;
206
+ this.claimPercent = transaction.claimPercent;
207
+ this.property = transaction.property;
208
+ this.loan = transaction.loan;
209
+ this.incomeSource = transaction.incomeSource;
210
+ this.business = transaction.business;
211
+ }
201
212
  }
202
213
  __decorate([
203
214
  Type(() => Transaction)
@@ -232,4 +243,4 @@ __decorate([
232
243
  __decorate([
233
244
  Transform(({ value }) => +value)
234
245
  ], Transaction.prototype, "tax", void 0);
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsRUFBRSxrQ0FBa0MsR0FDbkUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG1CQUFt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Y3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtcbiAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0tlZXBTaWduLFxuICBDaGFydEFjY291bnRzTGlzdEVudW0sXG4gIENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bSwgQ2hhcnRBY2NvdW50c1VuYWxsb2NhdGFibGVMaXN0RW51bSxcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk1ldGFGaWVsZCB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YS1maWVsZCc7XG5pbXBvcnQgeyBMb2FuIH0gZnJvbSAnLi4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBFeHBlbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW0gfSBmcm9tICcuLi9zb2xlJztcblxuLy8gQFRPRE8gQWxleDogcmVmYWN0b3I6IG1vdmUgaGVyZSBhbGxvY2F0aW9ucyBtZXRob2RzLCBuZXRBbW91bnQgPSBhbW91bnQsIGdyb3NzQW1vdW50IGNhbGN1bGF0aW9uLCByZW1vdmUgdW51c2VkIG1ldGhvZHMsIGV0Yy5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIEV4cGVuc2Uge1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ1RyYW5zYWN0aW9uJztcbiAgLy8gbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbk1ldGFGaWVsZClcbiAgbWV0YUZpZWxkczogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VJdGVtKVxuICBpbnZvaWNlSXRlbTogU29sZUludm9pY2VJdGVtO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICB0YXggPSAwO1xuXG4gIG9wZXJhdGlvbjogVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtID0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICBjbGFpbVBlcmNlbnQgPSAxMDA7XG4gIGFtb3VudCA9IDA7XG5cbiAgZ2V0IGludm9pY2VJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2VJdGVtPy5pbnZvaWNlLmlkO1xuICB9XG5cbiAgaXNEZWJpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkRFQklUO1xuICB9XG5cbiAgaXNDcmVkaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQ7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzSW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIC8vIEBUT0RPIG5vdCB1c2VkXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaW5jb21lLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0RlYml0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZXhwZW5zZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbC5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNJbnRlcmVzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uSU5URVJFU1RfT05fTE9BTjtcbiAgfVxuXG4gIGdldCBjaGFydEFjY291bnRzQ2F0ZWdvcmllcygpOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUGVyc29uYWwoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWw7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eTtcblxuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuc29sZTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29yaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9uIGRhdGVcbiAgICovXG4gIGdldERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiB0eXBlIGlzIHZlaGljbGVcbiAgICovXG4gIGlzVmVoaWNsZVRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaXNWZWhpY2xlRXhwZW5zZSgpO1xuICB9XG5cbiAgZ2V0IHRheEZyZWVDb21wb25lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uVEFYX0ZSRUVfQ09NUE9ORU5UKTtcbiAgfVxuXG4gIGdldCBmcmFua2luZ0NyZWRpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5GUkFOS0lOR19DUkVESVQpO1xuICB9XG5cbiAgZ2V0IGVsaWdpYmxlRm9yUmVkdWN0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLkVMSUdJQkxFX0ZPUl9SRURVQ1RJT04pO1xuICB9XG5cbiAgZ2V0IHVudGF4ZWRFbGVtZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlVOVEFYRURfRUxFTUVOVCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gcmVjb25jaWxlIG9wZXJhdGlvbiBpZiBUUkFOU0ZFUlxuICAgKiBAVE9ETyBiYWQgdXNhZ2Ugb2YgZ2V0IChhbmQgYWxsIGlzKiBtZXRob2RzKSwgZ2V0dGVyIHNob3VsZCBzb3VuZCBsaWtlIGEgbm91blxuICAgKi9cbiAgZ2V0IGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc0ZpbmRBbmRNYXRjaCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgfVxuXG4gIGdldCBkZWJpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzRGViaXQoKSA/IE1hdGguYWJzKHRoaXMuYW1vdW50KSA6IDA7XG4gIH1cblxuICBnZXQgY3JlZGl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKSA/IE1hdGguYWJzKHRoaXMuYW1vdW50KSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbHVlIG9mIHRyYW5zYWN0aW9uIG1ldGEgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkIGZvciB3aGljaCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICogQFRvZG8gbW9kaWZ5ICdtZXRhRmllbGRzJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFGaWVsZFZhbHVlKGZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhRmllbGRzLmZpbmQoKHRyYW5zYWN0aW9uTWV0YUZpZWxkOiBUcmFuc2FjdGlvbk1ldGFGaWVsZCk6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb25NZXRhRmllbGQuY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCA9PT0gZmllbGQpPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICBjYW5GaW5kQW5kTWF0Y2goYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucGFyZW50VHJhbnNhY3Rpb25cbiAgICAgICYmICF0aGlzLmlzQ2FzaCgpXG4gICAgICAmJiAhKHRoaXMuaXNTb2xlVGFuaygpICYmIHRoaXMuaXNJbmNvbWUoKSlcbiAgICAgICYmICFPYmplY3QudmFsdWVzKENoYXJ0QWNjb3VudHNVbmFsbG9jYXRhYmxlTGlzdEVudW0pLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5pZClcbiAgICAgICYmICF0aGlzLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgRGVwcmVjaWF0aW9uIGluc3RhbmNlIGJhc2VkIG9uIFRyYW5zYWN0aW9uXG4gICAqL1xuICB0b0RlcHJlY2lhdGlvbigpOiBEZXByZWNpYXRpb24ge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRGVwcmVjaWF0aW9uLCB7XG4gICAgICBkYXRlOiB0aGlzLmRhdGUsXG4gICAgICBhbW91bnQ6IE1hdGguYWJzKHRoaXMuYW1vdW50KSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IHRoaXMuY2hhcnRBY2NvdW50cyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogdGhpcy5jaGFydEFjY291bnRzLmlzUHJvcGVydHlDYXBpdGFsV29ya3MoKSA/IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1MgOiBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQsXG4gICAgICBjbGFpbVBlcmNlbnQ6IHRoaXMuY2xhaW1QZXJjZW50LFxuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICBjYWxjdWxhdGlvbjogdGhpcy5wcm9wZXJ0eSA/IHRoaXMucHJvcGVydHkuZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24gOiBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uUFJJTUVfQ09TVCxcbiAgICAgIHRyYW5zYWN0aW9uczogW3RoaXNdLFxuICAgICAgYnVzaW5lc3M6IHRoaXMuYnVzaW5lc3MsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gaXMgY29tcGxldGVseSBhbGxvY2F0ZWRcbiAgICovXG4gIGlzQWxsb2NhdGVkKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKSkgLSBNYXRoLmFicyh0aGlzLm5ldEFtb3VudCkgPj0gMDtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgLSB0aGlzLmdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgdHJhbnNhY3Rpb24gYW1vdW50IGluY2x1ZGluZyB0YXhlcyBhbmQgb3RoZXIgYWRkaXRpb25hbCBhbW91bnRzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgZ3Jvc3NBbW91bnQgPSBzdXBlci5ncm9zc0Ftb3VudCArIHRoaXMudGF4O1xuICAgIGlmICh0aGlzLmlzRXhwZW5zZSgpKSB7XG4gICAgICByZXR1cm4gZ3Jvc3NBbW91bnQ7XG4gICAgfVxuXG4gICAgLy8gc2FsYXJ5IGluY2x1ZGVkIHRyYW5zYWN0aW9ucyBhZmZlY3QgcGFyZW50IHRyYW5zYWN0aW9uIGFtb3VudCBhbmQgYXMgYSByZXN1bHQgZ3Jvc3NBbW91bnQsIHNraXAgdG8gYXZvaWQgZG91YmxlIHN1bVxuICAgIGdyb3NzQW1vdW50ICs9IG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcigodCkgPT4gIXQuY2hhcnRBY2NvdW50cz8uaXNTYWxhcnlJbmNsdWRlZCgpKVxuICAgICAgLnN1bUJ5KCdhbW91bnQnLCB0cnVlKTtcblxuICAgIGlmICh0aGlzLmlzV29ya1RhbmsoKSB8fCB0aGlzLmlzSG9sZGluZ1RhbmsoKSkge1xuICAgICAgZ3Jvc3NBbW91bnQgKz0gdGhpcy5mcmFua2luZ0NyZWRpdCAtIHRoaXMudGF4RnJlZUNvbXBvbmVudCAtIHRoaXMuZWxpZ2libGVGb3JSZWR1Y3Rpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBjb25mdXNpbmcgbG9naWMgZGVtYW5kZWQgYnkgTmljb2xlLCB3ZSBuZWVkIGEgYmV0dGVyIHV4IHRvIGZpeCBpdFxuICAgKiBuZXRBbW91bnQgbWF0Y2hlcyByZWNlaXZlZCBwYXltZW50IChiYW5rVHJhbnNhY3Rpb24gYW1vdW50KSwgaW5jbHVkZXMgZ3N0IGFuZCBzYWxhcnkgaW5jbHVkZWQgYWRqdXN0bWVudHNcbiAgICogaWUgdXNlciByZWNlaXZlZCAxMDAwJCBzYWxhcnkgaW5jbHVkaW5nIDEwMCQgdGlwcy4gTmV0QW1vdW50PTEwMDAkLCBhbW91bnQ9OTAwJCwgdGlwcz0xMDAkXG4gICAqL1xuICBnZXQgbmV0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcigodCkgPT4gdC5jaGFydEFjY291bnRzPy5pc1NhbGFyeUluY2x1ZGVkKCkpXG4gICAgICAuc3VtQnkoJ2Ftb3VudCcpICsgdGhpcy5hbW91bnRXaXRoR3N0O1xuICB9XG5cbiAgLyoqXG4gICAqIG1vc3Qgb2YgdGhlIHRyYW5zYWN0aW9ucyBjb3VsZCBoYXZlIG9ubHkgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYW1vdW50IGRlcGVuZHMgb24gY2hhcnRBY2NvdW50cywgc28gd2UgaWdub3JlXG4gICAqIHVzZXIncyBjaG9pY2UgYW5kIHRyYW5zZm9ybSBhbW91bnQsIGJ1dCB0aGVyZSBhcmUgZXhjZXB0aW9ucyBsaWtlIGFkdmFuY2UgKG5lZ2F0aXZlIG9yIHBvc2l0aXZlIGFtb3VudClcbiAgICovXG4gIGlnbm9yZVNpZ24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5jaGFydEFjY291bnRzPy5pZCBpbiBDaGFydEFjY291bnRzS2VlcFNpZ24pO1xuICB9XG59XG4iXX0=
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsRUFBRSxrQ0FBa0MsR0FDbkUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG1CQUFt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SUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs2Q0FDRjtBQUd0QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnREFDUTtBQUcxQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0RBQ0M7QUFHN0I7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQzt3Q0FDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzS2VlcFNpZ24sXG4gIENoYXJ0QWNjb3VudHNMaXN0RW51bSxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLCBDaGFydEFjY291bnRzVW5hbGxvY2F0YWJsZUxpc3RFbnVtLFxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL3Byb3BlcnR5JztcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uTWV0YUZpZWxkIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1tZXRhLWZpZWxkJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi9sb2FuJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IEV4cGVuc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlSXRlbSB9IGZyb20gJy4uL3NvbGUnO1xuXG4vLyBAVE9ETyBBbGV4OiByZWZhY3RvcjogbW92ZSBoZXJlIGFsbG9jYXRpb25zIG1ldGhvZHMsIG5ldEFtb3VudCA9IGFtb3VudCwgZ3Jvc3NBbW91bnQgY2FsY3VsYXRpb24sIHJlbW92ZSB1bnVzZWQgbWV0aG9kcywgZXRjLlxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlIGltcGxlbWVudHMgRXhwZW5zZSB7XG4gIHN0YXRpYyBjbGFzc05hbWUgPSAnVHJhbnNhY3Rpb24nO1xuICAvKipcbiAgICogQFRPRE8gcmVuYW1lIHRvIGNoaWxkVHJhbnNhY3Rpb25zXG4gICAqL1xuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHkpXG4gIHByb3BlcnR5OiBQcm9wZXJ0eTtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2U7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25NZXRhRmllbGQpXG4gIG1ldGFGaWVsZHM6IFRyYW5zYWN0aW9uTWV0YUZpZWxkW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNmZXI6IFRyYW5zYWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IExvYW4pXG4gIGxvYW46IExvYW47XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pXG4gIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlSXRlbSlcbiAgaW52b2ljZUl0ZW06IFNvbGVJbnZvaWNlSXRlbTtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgdGF4ID0gMDtcblxuICBvcGVyYXRpb246IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgY2xhaW1QZXJjZW50ID0gMTAwO1xuICBhbW91bnQgPSAwO1xuXG4gIGdldCBpbnZvaWNlSWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnZvaWNlSXRlbT8uaW52b2ljZS5pZDtcbiAgfVxuXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5ERUJJVDtcbiAgfVxuXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZUVudW0uQ1JFRElUO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmluY29tZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gYmFzZSBjb2xsZWN0aW9uXG4gICAqL1xuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgLy8gQFRPRE8gbm90IHVzZWRcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWwuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzSW50ZXJlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XG4gIH1cblxuICBnZXQgY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1BlcnNvbmFsKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsO1xuXG4gICAgICBjYXNlIHRoaXMuaXNQcm9wZXJ0eVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucHJvcGVydHk7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1NvbGVUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnNvbGU7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcms7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbiBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gdHlwZSBpcyB2ZWhpY2xlXG4gICAqL1xuICBpc1ZlaGljbGVUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlzVmVoaWNsZUV4cGVuc2UoKTtcbiAgfVxuXG4gIGdldCB0YXhGcmVlQ29tcG9uZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlRBWF9GUkVFX0NPTVBPTkVOVCk7XG4gIH1cblxuICBnZXQgZnJhbmtpbmdDcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktJTkdfQ1JFRElUKTtcbiAgfVxuXG4gIGdldCBlbGlnaWJsZUZvclJlZHVjdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5FTElHSUJMRV9GT1JfUkVEVUNUSU9OKTtcbiAgfVxuXG4gIGdldCB1bnRheGVkRWxlbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5VTlRBWEVEX0VMRU1FTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHJlY29uY2lsZSBvcGVyYXRpb24gaWYgVFJBTlNGRVJcbiAgICogQFRPRE8gYmFkIHVzYWdlIG9mIGdldCAoYW5kIGFsbCBpcyogbWV0aG9kcyksIGdldHRlciBzaG91bGQgc291bmQgbGlrZSBhIG5vdW5cbiAgICovXG4gIGdldCBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgaXNGaW5kQW5kTWF0Y2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIH1cblxuICBnZXQgZGViaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0RlYml0KCkgPyBNYXRoLmFicyh0aGlzLmFtb3VudCkgOiAwO1xuICB9XG5cbiAgZ2V0IGNyZWRpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCkgPyBNYXRoLmFicyh0aGlzLmFtb3VudCkgOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWx1ZSBvZiB0cmFuc2FjdGlvbiBtZXRhIGZpZWxkXG4gICAqIEBwYXJhbSBmaWVsZCBmb3Igd2hpY2ggdmFsdWUgc2hvdWxkIGJlIHJldHVybmVkXG4gICAqIEBUb2RvIG1vZGlmeSAnbWV0YUZpZWxkcycgcHJvcGVydHkgZnJvbSBhcnJheSB0byBDb2xsZWN0aW9uXG4gICAqL1xuICBnZXRNZXRhRmllbGRWYWx1ZShmaWVsZDogQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMubWV0YUZpZWxkcy5maW5kKCh0cmFuc2FjdGlvbk1ldGFGaWVsZDogVHJhbnNhY3Rpb25NZXRhRmllbGQpOiBib29sZWFuID0+IHRyYW5zYWN0aW9uTWV0YUZpZWxkLmNoYXJ0QWNjb3VudHNNZXRhRmllbGQuaWQgPT09IGZpZWxkKT8udmFsdWUgfHwgMDtcbiAgfVxuXG4gIGlzQ2FzaCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2UgPT09IFRyYW5zYWN0aW9uU291cmNlRW51bS5DQVNIO1xuICB9XG5cbiAgY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnBhcmVudFRyYW5zYWN0aW9uXG4gICAgICAmJiAhdGhpcy5pc0Nhc2goKVxuICAgICAgJiYgISh0aGlzLmlzU29sZVRhbmsoKSAmJiB0aGlzLmlzSW5jb21lKCkpXG4gICAgICAmJiAhT2JqZWN0LnZhbHVlcyhDaGFydEFjY291bnRzVW5hbGxvY2F0YWJsZUxpc3RFbnVtKS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuaWQpXG4gICAgICAmJiAhdGhpcy5pc0FsbG9jYXRlZChhbGxvY2F0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiBNYXRoLmFicyh0aGlzLmFtb3VudCksXG4gICAgICBjaGFydEFjY291bnRzOiB0aGlzLmNoYXJ0QWNjb3VudHMsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHR5cGU6IHRoaXMuY2hhcnRBY2NvdW50cy5pc1Byb3BlcnR5Q2FwaXRhbFdvcmtzKCkgPyBEZXByZWNpYXRpb25UeXBlRW51bS5DQVBJVEFMX1dPUktTIDogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1QsXG4gICAgICB0cmFuc2FjdGlvbnM6IFt0aGlzXSxcbiAgICAgIGJ1c2luZXNzOiB0aGlzLmJ1c2luZXNzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlbHkgYWxsb2NhdGVkXG4gICAqL1xuICBpc0FsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBNYXRoLmFicyh0aGlzLmdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucykpIC0gTWF0aC5hYnModGhpcy5uZXRBbW91bnQpID49IDA7XG4gIH1cblxuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0aGlzLmlkKS5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmV0QW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHRyYW5zYWN0aW9uIGFtb3VudCBpbmNsdWRpbmcgdGF4ZXMgYW5kIG90aGVyIGFkZGl0aW9uYWwgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGdyb3NzQW1vdW50ID0gc3VwZXIuZ3Jvc3NBbW91bnQgKyB0aGlzLnRheDtcbiAgICBpZiAodGhpcy5pc0V4cGVuc2UoKSkge1xuICAgICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICAgIH1cblxuICAgIC8vIHNhbGFyeSBpbmNsdWRlZCB0cmFuc2FjdGlvbnMgYWZmZWN0IHBhcmVudCB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIGFzIGEgcmVzdWx0IGdyb3NzQW1vdW50LCBza2lwIHRvIGF2b2lkIGRvdWJsZSBzdW1cbiAgICBncm9zc0Ftb3VudCArPSBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+ICF0LmNoYXJ0QWNjb3VudHM/LmlzU2FsYXJ5SW5jbHVkZWQoKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50JywgdHJ1ZSk7XG5cbiAgICBpZiAodGhpcy5pc1dvcmtUYW5rKCkgfHwgdGhpcy5pc0hvbGRpbmdUYW5rKCkpIHtcbiAgICAgIGdyb3NzQW1vdW50ICs9IHRoaXMuZnJhbmtpbmdDcmVkaXQgLSB0aGlzLnRheEZyZWVDb21wb25lbnQgLSB0aGlzLmVsaWdpYmxlRm9yUmVkdWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBncm9zc0Ftb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgY29uZnVzaW5nIGxvZ2ljIGRlbWFuZGVkIGJ5IE5pY29sZSwgd2UgbmVlZCBhIGJldHRlciB1eCB0byBmaXggaXRcbiAgICogbmV0QW1vdW50IG1hdGNoZXMgcmVjZWl2ZWQgcGF5bWVudCAoYmFua1RyYW5zYWN0aW9uIGFtb3VudCksIGluY2x1ZGVzIGdzdCBhbmQgc2FsYXJ5IGluY2x1ZGVkIGFkanVzdG1lbnRzXG4gICAqIGllIHVzZXIgcmVjZWl2ZWQgMTAwMCQgc2FsYXJ5IGluY2x1ZGluZyAxMDAkIHRpcHMuIE5ldEFtb3VudD0xMDAwJCwgYW1vdW50PTkwMCQsIHRpcHM9MTAwJFxuICAgKi9cbiAgZ2V0IG5ldEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQuY2hhcnRBY2NvdW50cz8uaXNTYWxhcnlJbmNsdWRlZCgpKVxuICAgICAgLnN1bUJ5KCdhbW91bnQnKSArIHRoaXMuYW1vdW50V2l0aEdzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtb3N0IG9mIHRoZSB0cmFuc2FjdGlvbnMgY291bGQgaGF2ZSBvbmx5IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGFtb3VudCBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMsIHNvIHdlIGlnbm9yZVxuICAgKiB1c2VyJ3MgY2hvaWNlIGFuZCB0cmFuc2Zvcm0gYW1vdW50LCBidXQgdGhlcmUgYXJlIGV4Y2VwdGlvbnMgbGlrZSBhZHZhbmNlIChuZWdhdGl2ZSBvciBwb3NpdGl2ZSBhbW91bnQpXG4gICAqL1xuICBpZ25vcmVTaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHRoaXMuY2hhcnRBY2NvdW50cz8uaWQgaW4gQ2hhcnRBY2NvdW50c0tlZXBTaWduKTtcbiAgfVxuXG4gIHNldFBhcmVudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy5jaGFydEFjY291bnRzLm5hbWU7XG4gICAgdGhpcy5kYXRlID0gdHJhbnNhY3Rpb24uZGF0ZTtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudDtcbiAgICB0aGlzLnByb3BlcnR5ID0gdHJhbnNhY3Rpb24ucHJvcGVydHk7XG4gICAgdGhpcy5sb2FuID0gdHJhbnNhY3Rpb24ubG9hbjtcbiAgICB0aGlzLmluY29tZVNvdXJjZSA9IHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZTtcbiAgICB0aGlzLmJ1c2luZXNzID0gdHJhbnNhY3Rpb24uYnVzaW5lc3M7XG4gIH1cbn1cbiJdfQ==