taxtank-core 0.33.6 → 0.33.8
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/lib/collections/bank-account.collection.mjs +5 -41
- package/esm2022/src/lib/collections/depreciation.collection.mjs +15 -21
- package/esm2022/src/lib/collections/exportable.collection.mjs +2 -6
- package/esm2022/src/lib/collections/property/property.collection.mjs +8 -4
- package/esm2022/src/lib/collections/transaction/index.mjs +2 -1
- package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +5 -17
- package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +2 -2
- package/esm2022/src/lib/db/Models/bank/bank-account.mjs +1 -1
- package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +6 -40
- package/esm2022/src/lib/forms/property/property-share.form.mjs +2 -2
- package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +7 -2
- package/esm2022/src/lib/models/bank/bank-account.mjs +6 -3
- package/esm2022/src/lib/models/bank/type-loan.const.mjs +2 -5
- package/esm2022/src/lib/models/depreciation/depreciation.mjs +8 -22
- package/esm2022/src/lib/models/property/property.mjs +1 -4
- package/esm2022/src/lib/models/report/report.interface.mjs +1 -1
- package/esm2022/src/lib/models/report/reports.const.mjs +107 -72
- package/esm2022/src/lib/models/transaction/transaction.mjs +1 -19
- package/esm2022/src/lib/models/user/user.mjs +18 -28
- package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +3 -1
- package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +3 -1
- package/esm2022/src/lib/services/http/property/property.service.mjs +3 -2
- package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +1 -18
- package/fesm2022/taxtank-core.mjs +182 -287
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/collections/bank-account.collection.d.ts +1 -21
- package/src/lib/collections/depreciation.collection.d.ts +6 -3
- package/src/lib/collections/exportable.collection.d.ts +2 -2
- package/src/lib/collections/property/property.collection.d.ts +1 -1
- package/src/lib/collections/transaction/index.d.ts +1 -0
- package/src/lib/collections/transaction/transaction-base.collection.d.ts +4 -0
- package/src/lib/collections/transaction/transaction.collection.d.ts +2 -2
- package/src/lib/db/Enums/bank/bank-account-type.enum.d.ts +1 -0
- package/src/lib/db/Models/bank/bank-account.d.ts +0 -1
- package/src/lib/db/Models/transaction/transaction-base.d.ts +0 -9
- package/src/lib/forms/transaction/transaction-base-filter.form.d.ts +3 -2
- package/src/lib/models/bank/bank-account.d.ts +1 -0
- package/src/lib/models/bank/type-loan.const.d.ts +0 -3
- package/src/lib/models/depreciation/depreciation.d.ts +3 -11
- package/src/lib/models/property/property.d.ts +0 -1
- package/src/lib/models/report/report.interface.d.ts +4 -3
- package/src/lib/models/report/reports.const.d.ts +2 -2
- package/src/lib/models/transaction/transaction.d.ts +1 -6
- package/src/lib/models/user/user.d.ts +2 -14
- package/src/lib/services/http/holding/holding-sale.service.d.ts +2 -0
- package/src/lib/services/http/property/property-sale/property-sale.service.d.ts +2 -0
- package/src/lib/services/http/property/property.service.d.ts +2 -0
- package/src/lib/services/http/transaction/transaction.service.d.ts +0 -6
@@ -4,33 +4,12 @@ import { TYPE_LOAN } from '../models';
|
|
4
4
|
import flatten from 'lodash/flatten';
|
5
5
|
import uniqBy from 'lodash/uniqBy';
|
6
6
|
import uniq from 'lodash/uniq';
|
7
|
-
import concat from 'lodash/concat';
|
8
7
|
import { CollectionDictionary } from './collection-dictionary';
|
9
8
|
import { LoanCollection } from './loan';
|
10
9
|
/**
|
11
10
|
* Collection of bank accounts.
|
12
11
|
*/
|
13
12
|
export class BankAccountCollection extends Collection {
|
14
|
-
/**
|
15
|
-
* get list of bank accounts with passed types
|
16
|
-
*/
|
17
|
-
getByType(types, isExclude = false) {
|
18
|
-
// get types always as array (if only one passed)
|
19
|
-
const typesArray = concat(types);
|
20
|
-
return this.items.filter((bankAccount) => {
|
21
|
-
if (isExclude) {
|
22
|
-
return !typesArray.includes(bankAccount.type);
|
23
|
-
}
|
24
|
-
return typesArray.includes(bankAccount.type);
|
25
|
-
});
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* get amount of current loans
|
29
|
-
*/
|
30
|
-
getCurrentLoanAmount() {
|
31
|
-
return this.getByType(TYPE_LOAN)
|
32
|
-
.reduce((sum, bankAccount) => sum += bankAccount.currentBalance, 0);
|
33
|
-
}
|
34
13
|
/**
|
35
14
|
* get collection filtered by property id
|
36
15
|
*/
|
@@ -59,18 +38,15 @@ export class BankAccountCollection extends Collection {
|
|
59
38
|
getActive() {
|
60
39
|
return this.getOwn().filter((bankAccount) => bankAccount.isActive());
|
61
40
|
}
|
62
|
-
/**
|
63
|
-
* Get collection of loan bank accounts
|
64
|
-
*/
|
65
41
|
getLoanAccounts() {
|
66
|
-
return
|
42
|
+
return this.filterBy('type', TYPE_LOAN);
|
43
|
+
}
|
44
|
+
getDebitAccounts() {
|
45
|
+
return this.filter(bankAccount => ![...TYPE_LOAN, BankAccountTypeEnum.CREDIT_CARD].includes(bankAccount.type));
|
67
46
|
}
|
68
47
|
get loans() {
|
69
48
|
return new LoanCollection(this.filterBy('type', BankAccountTypeEnum.LOAN).map((bankAccount) => bankAccount.loan));
|
70
49
|
}
|
71
|
-
getSavingsAccounts() {
|
72
|
-
return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
|
73
|
-
}
|
74
50
|
getOpeningBalance() {
|
75
51
|
return this.items.reduce((sum, bankAccount) => sum + bankAccount.getOpeningBalance(), 0);
|
76
52
|
}
|
@@ -80,18 +56,6 @@ export class BankAccountCollection extends Collection {
|
|
80
56
|
get bankShortNames() {
|
81
57
|
return uniq(this.map((bankAccount) => bankAccount.bank.shortName)).join(', ');
|
82
58
|
}
|
83
|
-
/**
|
84
|
-
* Get Collection of bank accounts with property tank type
|
85
|
-
*/
|
86
|
-
getPropertyBankAccounts() {
|
87
|
-
return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isPropertyTank()));
|
88
|
-
}
|
89
|
-
/**
|
90
|
-
* Get Collection of bank accounts with work tank type
|
91
|
-
*/
|
92
|
-
getWorkBankAccounts() {
|
93
|
-
return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isWorkTank()));
|
94
|
-
}
|
95
59
|
/**
|
96
60
|
* Get Collection of bank accounts by tank type
|
97
61
|
*/
|
@@ -150,4 +114,4 @@ export class BankAccountCollection extends Collection {
|
|
150
114
|
return this.getActive().getLoanAccounts().getByPropertiesIds(ids);
|
151
115
|
}
|
152
116
|
}
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUE4QyxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEYsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV4Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxVQUF1QjtJQUNoRTs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFrRCxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQzdFLGlEQUFpRDtRQUNqRCxNQUFNLFVBQVUsR0FBMEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDcEQsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMs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QU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxXQUF3QixFQUFVLEVBQUUsQ0FDckYsR0FBRyxHQUFHLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDO0lBQy9GLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELGlDQUFpQyxDQUFDLEdBQWE7UUFDN0MsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFR5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnQsIEJhbmtBY2NvdW50UHJvcGVydHksIFByb3BlcnR5LCBUWVBFX0xPQU4gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnbG9kYXNoL2ZsYXR0ZW4nO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gvdW5pcUJ5JztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC91bmlxJztcbmltcG9ydCBjb25jYXQgZnJvbSAnbG9kYXNoL2NvbmNhdCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IExvYW5Db2xsZWN0aW9uIH0gZnJvbSAnLi9sb2FuJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGJhbmsgYWNjb3VudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtBY2NvdW50PiB7XG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBiYW5rIGFjY291bnRzIHdpdGggcGFzc2VkIHR5cGVzXG4gICAqL1xuICBnZXRCeVR5cGUodHlwZXM6IEJhbmtBY2NvdW50VHlwZUVudW0gfCBCYW5rQWNjb3VudFR5cGVFbnVtW10sIGlzRXhjbHVkZSA9IGZhbHNlKTogQmFua0FjY291bnRbXSB7XG4gICAgLy8gZ2V0IHR5cGVzIGFsd2F5cyBhcyBhcnJheSAoaWYgb25seSBvbmUgcGFzc2VkKVxuICAgIGNvbnN0IHR5cGVzQXJyYXk6IEJhbmtBY2NvdW50VHlwZUVudW1bXSA9IGNvbmNhdCh0eXBlcyk7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHtcbiAgICAgIGlmIChpc0V4Y2x1ZGUpIHtcbiAgICAgICAgcmV0dXJuICF0eXBlc0FycmF5LmluY2x1ZGVzKGJhbmtBY2NvdW50LnR5cGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHR5cGVzQXJyYXkuaW5jbHVkZXMoYmFua0FjY291bnQudHlwZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGFtb3VudCBvZiBjdXJyZW50IGxvYW5zXG4gICAqL1xuICBnZXRDdXJyZW50TG9hbkFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5VHlwZShUWVBFX0xPQU4pXG4gICAgICAucmVkdWNlKChzdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiBzdW0gKz0gYmFua0FjY291bnQuY3VycmVudEJhbGFuY2UsIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IHByb3BlcnR5IGlkXG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQoaWQ6IG51bWJlcik6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rQWNjb3VudENvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuYmFua0FjY291bnRQcm9wZXJ0aWVzLmZpbmQoKGJhbmtBY2NvdW50UHJvcGVydHk6IEJhbmtBY2NvdW50UHJvcGVydHkpID0+IGJhbmtBY2NvdW50UHJvcGVydHkucHJvcGVydHkuaWQgPT09IGlkKSkpO1xuICB9XG5cbiAgZ3JvdXBCeVByb3BlcnR5KCk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PEJhbmtBY2NvdW50Q29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkobmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbigpKTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYmFua0FjY291bnQpID0+IHtcbiAgICAgIGJhbmtBY2NvdW50LmJhbmtBY2NvdW50UHJvcGVydGllcy5mb3JFYWNoKChiYW5rQWNjb3VudFByb3BlcnR5KSA9PiB7XG4gICAgICAgIGRpY3Rpb25hcnkuYWRkVG8oYmFua0FjY291bnRQcm9wZXJ0eS5wcm9wZXJ0eS5pZCwgYmFua0FjY291bnQpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuYmFua0FjY291bnRQcm9wZXJ0aWVzLmZpbmQoKGJhbmtBY2NvdW50UHJvcGVydHk6IEJhbmtBY2NvdW50UHJvcGVydHkpID0+IGlkcy5pbmNsdWRlcyhiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5LmlkKSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBmZWF0dXJlIGZ1bmN0aW9uYWxpdHkgYWxsb3cgdG8gd29yayB3aXRoIHNoYXJlZCBhY2NvdW50c1xuICAgKiBnZXQgY29sbGVjdGlvbiBvZiBhY3RpdmUgYmFuayBhY2NvdW50c1xuICAgKi9cbiAgZ2V0QWN0aXZlKCk6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3duKCkuZmlsdGVyKChiYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuaXNBY3RpdmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgbG9hbiBiYW5rIGFjY291bnRzXG4gICAqL1xuICBnZXRMb2FuQWNjb3VudHMoKTogQmFua0FjY291bnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbih0aGlzLmdldEJ5VHlwZShUWVBFX0xPQU4pKTtcbiAgfVxuXG4gIGdldCBsb2FucygpOiBMb2FuQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBMb2FuQ29sbGVjdGlvbih0aGlzLmZpbHRlckJ5KCd0eXBlJywgQmFua0FjY291bnRUeXBlRW51bS5MT0FOKS5tYXAoKGJhbmtBY2NvdW50KSA9PiBiYW5rQWNjb3VudC5sb2FuKSk7XG4gIH1cblxuICBnZXRTYXZpbmdzQWNjb3VudHMoKTogQmFua0FjY291bnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbih0aGlzLmdldEJ5VHlwZShUWVBFX0xPQU4sIHRydWUpKTtcbiAgfVxuXG4gIGdldE9wZW5pbmdCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogbnVtYmVyID0+IHN1bSArIGJhbmtBY2NvdW50LmdldE9wZW5pbmdCYWxhbmNlKCksIDApO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2N1cnJlbnRCYWxhbmNlJyk7XG4gIH1cblxuICBnZXQgYmFua1Nob3J0TmFtZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdW5pcSh0aGlzLm1hcCgoYmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmJhbmsuc2hvcnROYW1lKSkuam9pbignLCAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgQ29sbGVjdGlvbiBvZiBiYW5rIGFjY291bnRzIHdpdGggcHJvcGVydHkgdGFuayB0eXBlXG4gICAqL1xuICBnZXRQcm9wZXJ0eUJhbmtBY2NvdW50cygpOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IGJvb2xlYW4gPT4gYmFua0FjY291bnQuaXNQcm9wZXJ0eVRhbmsoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBDb2xsZWN0aW9uIG9mIGJhbmsgYWNjb3VudHMgd2l0aCB3b3JrIHRhbmsgdHlwZVxuICAgKi9cbiAgZ2V0V29ya0JhbmtBY2NvdW50cygpOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IGJvb2xlYW4gPT4gYmFua0FjY291bnQuaXNXb3JrVGFuaygpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IENvbGxlY3Rpb24gb2YgYmFuayBhY2NvdW50cyBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rQWNjb3VudENvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogYm9vbGVhbiA9PiBiYW5rQWNjb3VudC50YW5rVHlwZSA9PT0gdGFua1R5cGUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhbGwgYmFuayBhY2NvdW50IHByb3BlcnRpZXNcbiAgICovXG4gIGdldEJhbmtBY2NvdW50UHJvcGVydGllc0xpc3QoKTogQmFua0FjY291bnRQcm9wZXJ0eVtdIHtcbiAgICByZXR1cm4gZmxhdHRlbihcbiAgICAgIHRoaXMuaXRlbXMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBCYW5rQWNjb3VudFByb3BlcnR5W10gPT4gYmFua0FjY291bnQuYmFua0FjY291bnRQcm9wZXJ0aWVzKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpcyBvZiB1bmlxdWUgcHJvcGVydGllcyBmcm9tIGFsbCBiYW5rIGFjY291bnRzIHByb3BlcnRpZXNcbiAgICovXG4gIGdldFByb3BlcnRpZXMoKTogUHJvcGVydHlbXSB7XG4gICAgcmV0dXJuIHVuaXFCeShcbiAgICAgIHRoaXMuZ2V0QmFua0FjY291bnRQcm9wZXJ0aWVzTGlzdCgpLm1hcCgoYmFua0FjY291bnRQcm9wZXJ0eTogQmFua0FjY291bnRQcm9wZXJ0eSkgPT4gYmFua0FjY291bnRQcm9wZXJ0eS5wcm9wZXJ0eSksXG4gICAgICAnaWQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4IG5vdCBlZmZpY2llbnQsIGZpbHRlciBiYW5rQWNjb3VudHMgYnkgcHJvcGVydHkgZmlyc3RcbiAgICovXG4gIGdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eUlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IG51bWJlciA9PiBzdW0gKyBiYW5rQWNjb3VudC5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHlJZCksIDApO1xuICB9XG5cbiAgZ2V0IHByb3BlcnRpZXNCYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGJhbGFuY2VBbW91bnQgPSAwO1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYmFua0FjY291bnQpID0+IHtcbiAgICAgIGJhbmtBY2NvdW50LmJhbmtBY2NvdW50UHJvcGVydGllcy5mb3JFYWNoKChiYW5rQWNjb3VudFByb3BlcnR5KSA9PiB7XG4gICAgICAgIGJhbGFuY2VBbW91bnQgKz0gTWF0aC5hYnMoYmFua0FjY291bnQuZ2V0UHJvcGVydHlCYWxhbmNlQW1vdW50KGJhbmtBY2NvdW50UHJvcGVydHkucHJvcGVydHkuaWQpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJhbGFuY2VBbW91bnQ7XG4gIH1cblxuICBnZXQgcHJvcGVydGllc01vbnRobHlSZXBheW1lbnRBbW91bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgcmVwYXltZW50QW1vdW50ID0gMDtcbiAgICB0aGlzLmdldExvYW5BY2NvdW50cygpLml0ZW1zLmZvckVhY2goKGJhbmtBY2NvdW50KSA9PiB7XG4gICAgICBiYW5rQWNjb3VudC5iYW5rQWNjb3VudFByb3BlcnRpZXMuZm9yRWFjaCgoYmFua0FjY291bnRQcm9wZXJ0eSkgPT4ge1xuICAgICAgICByZXBheW1lbnRBbW91bnQgKz0gYmFua0FjY291bnQuZ2V0TW9udGhseVJlcGF5bWVudEFtb3VudChiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5LmlkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcGF5bWVudEFtb3VudDtcbiAgfVxuXG4gIGdldFByb3BlcnR5TW9udGhseVJlcGF5bWVudEFtb3VudChwcm9wZXJ0eUlkOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldExvYW5BY2NvdW50cygpLnJlZHVjZSgoc3VtOiBudW1iZXIsIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IG51bWJlciA9PlxuICAgICAgc3VtICsgYmFua0FjY291bnQuZ2V0TW9udGhseVJlcGF5bWVudEFtb3VudChwcm9wZXJ0eUlkKSwgMFxuICAgICk7XG4gIH1cblxuICBnZXRMVlIocHJvcGVydHk6IFByb3BlcnR5KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpIC8gcHJvcGVydHkuY3VycmVudFllYXJGb3JlY2FzdC5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4L1ZpazogbWF5YmUgd2Ugc2hvdWxkIGdldCBpdCBmcm9tIGp3dFRva2VuIG9yIHRoaW5rIGFib3V0IHNvbWUgbG9jYWxTdG9yYWdlU2VydmljZT9cbiAgICovXG4gIGdldE93bigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuaXNPd25lcigrbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKSk7XG4gIH1cblxuICBnZXRBY3RpdmVMb2FuQWNjb3VudHNCeVByb3BlcnRpZXMoaWRzOiBudW1iZXJbXSk6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlKCkuZ2V0TG9hbkFjY291bnRzKCkuZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkcyk7XG4gIH1cbn1cbiJdfQ==
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUE4QyxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEYsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQXVCO0lBQ2hFOztPQUVHO0lBQ0gsZUFBZSxDQUFDLEVBQVU7UUFDeEIsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLG1CQUF3QyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsTixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sVUFBVSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVB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ZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxVQUFrQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsV0FBd0IsRUFBVSxFQUFFLENBQ3JGLEdBQUcsR0FBRyxXQUFXLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQztJQUMvRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxHQUFhO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQmFua0FjY291bnRUeXBlRW51bSB9IGZyb20gJy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50LCBCYW5rQWNjb3VudFByb3BlcnR5LCBQcm9wZXJ0eSwgVFlQRV9MT0FOIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgdW5pcSBmcm9tICdsb2Rhc2gvdW5pcSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IExvYW5Db2xsZWN0aW9uIH0gZnJvbSAnLi9sb2FuJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGJhbmsgYWNjb3VudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtBY2NvdW50PiB7XG4gIC8qKlxuICAgKiBnZXQgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBwcm9wZXJ0eSBpZFxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0eUlkKGlkOiBudW1iZXIpOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmJhbmtBY2NvdW50UHJvcGVydGllcy5maW5kKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KSA9PiBiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5LmlkID09PSBpZCkpKTtcbiAgfVxuXG4gIGdyb3VwQnlQcm9wZXJ0eSgpOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxCYW5rQWNjb3VudENvbGxlY3Rpb24+IHtcbiAgICBjb25zdCBkaWN0aW9uYXJ5ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBCYW5rQWNjb3VudENvbGxlY3Rpb24oKSk7XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGJhbmtBY2NvdW50KSA9PiB7XG4gICAgICBiYW5rQWNjb3VudC5iYW5rQWNjb3VudFByb3BlcnRpZXMuZm9yRWFjaCgoYmFua0FjY291bnRQcm9wZXJ0eSkgPT4ge1xuICAgICAgICBkaWN0aW9uYXJ5LmFkZFRvKGJhbmtBY2NvdW50UHJvcGVydHkucHJvcGVydHkuaWQsIGJhbmtBY2NvdW50KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgcHJvcGVydGllcyBpZHNcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogQmFua0FjY291bnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmJhbmtBY2NvdW50UHJvcGVydGllcy5maW5kKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KSA9PiBpZHMuaW5jbHVkZXMoYmFua0FjY291bnRQcm9wZXJ0eS5wcm9wZXJ0eS5pZCkpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gZmVhdHVyZSBmdW5jdGlvbmFsaXR5IGFsbG93IHRvIHdvcmsgd2l0aCBzaGFyZWQgYWNjb3VudHNcbiAgICogZ2V0IGNvbGxlY3Rpb24gb2YgYWN0aXZlIGJhbmsgYWNjb3VudHNcbiAgICovXG4gIGdldEFjdGl2ZSgpOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmdldE93bigpLmZpbHRlcigoYmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmlzQWN0aXZlKCkpO1xuICB9XG5cbiAgZ2V0TG9hbkFjY291bnRzKCk6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUnLCBUWVBFX0xPQU4pO1xuICB9XG5cbiAgZ2V0RGViaXRBY2NvdW50cygpOiBCYW5rQWNjb3VudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcihiYW5rQWNjb3VudCA9PiAhWy4uLlRZUEVfTE9BTiwgQmFua0FjY291bnRUeXBlRW51bS5DUkVESVRfQ0FSRF0uaW5jbHVkZXMoYmFua0FjY291bnQudHlwZSkpO1xuICB9XG5cbiAgZ2V0IGxvYW5zKCk6IExvYW5Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IExvYW5Db2xsZWN0aW9uKHRoaXMuZmlsdGVyQnkoJ3R5cGUnLCBCYW5rQWNjb3VudFR5cGVFbnVtLkxPQU4pLm1hcCgoYmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmxvYW4pKTtcbiAgfVxuXG4gIGdldE9wZW5pbmdCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogbnVtYmVyID0+IHN1bSArIGJhbmtBY2NvdW50LmdldE9wZW5pbmdCYWxhbmNlKCksIDApO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2N1cnJlbnRCYWxhbmNlJyk7XG4gIH1cblxuICBnZXQgYmFua1Nob3J0TmFtZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdW5pcSh0aGlzLm1hcCgoYmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmJhbmsuc2hvcnROYW1lKSkuam9pbignLCAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgQ29sbGVjdGlvbiBvZiBiYW5rIGFjY291bnRzIGJ5IHRhbmsgdHlwZVxuICAgKi9cbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogQmFua0FjY291bnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBib29sZWFuID0+IGJhbmtBY2NvdW50LnRhbmtUeXBlID09PSB0YW5rVHlwZSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFsbCBiYW5rIGFjY291bnQgcHJvcGVydGllc1xuICAgKi9cbiAgZ2V0QmFua0FjY291bnRQcm9wZXJ0aWVzTGlzdCgpOiBCYW5rQWNjb3VudFByb3BlcnR5W10ge1xuICAgIHJldHVybiBmbGF0dGVuKFxuICAgICAgdGhpcy5pdGVtcy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IEJhbmtBY2NvdW50UHJvcGVydHlbXSA9PiBiYW5rQWNjb3VudC5iYW5rQWNjb3VudFByb3BlcnRpZXMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzIG9mIHVuaXF1ZSBwcm9wZXJ0aWVzIGZyb20gYWxsIGJhbmsgYWNjb3VudHMgcHJvcGVydGllc1xuICAgKi9cbiAgZ2V0UHJvcGVydGllcygpOiBQcm9wZXJ0eVtdIHtcbiAgICByZXR1cm4gdW5pcUJ5KFxuICAgICAgdGhpcy5nZXRCYW5rQWNjb3VudFByb3BlcnRpZXNMaXN0KCkubWFwKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KSA9PiBiYW5rQWNjb3VudFByb3BlcnR5LnByb3BlcnR5KSxcbiAgICAgICdpZCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggbm90IGVmZmljaWVudCwgZmlsdGVyIGJhbmtBY2NvdW50cyBieSBwcm9wZXJ0eSBmaXJzdFxuICAgKi9cbiAgZ2V0UHJvcGVydHlCYWxhbmNlQW1vdW50KHByb3BlcnR5SWQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogbnVtYmVyID0+IHN1bSArIGJhbmtBY2NvdW50LmdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eUlkKSwgMCk7XG4gIH1cblxuICBnZXQgcHJvcGVydGllc0JhbGFuY2VBbW91bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgYmFsYW5jZUFtb3VudCA9IDA7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChiYW5rQWNjb3VudCkgPT4ge1xuICAgICAgYmFua0FjY291bnQuYmFua0FjY291bnRQcm9wZXJ0aWVzLmZvckVhY2goKGJhbmtBY2NvdW50UHJvcGVydHkpID0+IHtcbiAgICAgICAgYmFsYW5jZUFtb3VudCArPSBNYXRoLmFicyhiYW5rQWNjb3VudC5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQoYmFua0FjY291bnRQcm9wZXJ0eS5wcm9wZXJ0eS5pZCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYmFsYW5jZUFtb3VudDtcbiAgfVxuXG4gIGdldCBwcm9wZXJ0aWVzTW9udGhseVJlcGF5bWVudEFtb3VudCgpOiBudW1iZXIge1xuICAgIGxldCByZXBheW1lbnRBbW91bnQgPSAwO1xuICAgIHRoaXMuZ2V0TG9hbkFjY291bnRzKCkuaXRlbXMuZm9yRWFjaCgoYmFua0FjY291bnQpID0+IHtcbiAgICAgIGJhbmtBY2NvdW50LmJhbmtBY2NvdW50UHJvcGVydGllcy5mb3JFYWNoKChiYW5rQWNjb3VudFByb3BlcnR5KSA9PiB7XG4gICAgICAgIHJlcGF5bWVudEFtb3VudCArPSBiYW5rQWNjb3VudC5nZXRNb250aGx5UmVwYXltZW50QW1vdW50KGJhbmtBY2NvdW50UHJvcGVydHkucHJvcGVydHkuaWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVwYXltZW50QW1vdW50O1xuICB9XG5cbiAgZ2V0UHJvcGVydHlNb250aGx5UmVwYXltZW50QW1vdW50KHByb3BlcnR5SWQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TG9hbkFjY291bnRzKCkucmVkdWNlKChzdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogbnVtYmVyID0+XG4gICAgICBzdW0gKyBiYW5rQWNjb3VudC5nZXRNb250aGx5UmVwYXltZW50QW1vdW50KHByb3BlcnR5SWQpLCAwXG4gICAgKTtcbiAgfVxuXG4gIGdldExWUihwcm9wZXJ0eTogUHJvcGVydHkpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eS5pZCkgLyBwcm9wZXJ0eS5jdXJyZW50WWVhckZvcmVjYXN0Lm1hcmtldFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXgvVmlrOiBtYXliZSB3ZSBzaG91bGQgZ2V0IGl0IGZyb20gand0VG9rZW4gb3IgdGhpbmsgYWJvdXQgc29tZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlP1xuICAgKi9cbiAgZ2V0T3duKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiBiYW5rQWNjb3VudC5pc093bmVyKCtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUxvYW5BY2NvdW50c0J5UHJvcGVydGllcyhpZHM6IG51bWJlcltdKTogQmFua0FjY291bnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5nZXRMb2FuQWNjb3VudHMoKS5nZXRCeVByb3BlcnRpZXNJZHMoaWRzKTtcbiAgfVxufVxuIl19
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import { TankTypeEnum } from '../db/Enums/tank-type.enum';
|
2
|
-
import { Collection } from './collection';
|
3
2
|
import uniqBy from 'lodash/uniqBy';
|
4
3
|
import compact from 'lodash/compact';
|
5
4
|
import { TransactionCollection } from './transaction';
|
6
5
|
import round from 'lodash/round';
|
7
|
-
|
6
|
+
import { TransactionBaseCollection } from './transaction';
|
7
|
+
export class DepreciationCollection extends TransactionBaseCollection {
|
8
8
|
getSoleDepreciations() {
|
9
9
|
return this.filter((depreciation) => depreciation.isSoleTank());
|
10
10
|
}
|
11
|
-
|
12
|
-
return this.filter(
|
11
|
+
getCurrentYearBuy() {
|
12
|
+
return this.filter(depreciation => depreciation.isCurrentYearBuy());
|
13
13
|
}
|
14
14
|
/**
|
15
15
|
* Get total amount of all depreciations in the collection
|
@@ -18,7 +18,7 @@ export class DepreciationCollection extends Collection {
|
|
18
18
|
return this.items.reduce((sum, depreciation) => sum + depreciation.amount, 0);
|
19
19
|
}
|
20
20
|
get claimAmount() {
|
21
|
-
return this.
|
21
|
+
return this.sumBy('currentYearForecast.claimAmount');
|
22
22
|
}
|
23
23
|
getClaimedAmountByYear(year = +localStorage.getItem('financialYear')) {
|
24
24
|
const closeBalance = this.items.reduce((sum, depreciation) => sum + depreciation.getCloseBalanceByYear(year), 0);
|
@@ -31,7 +31,7 @@ export class DepreciationCollection extends Collection {
|
|
31
31
|
return this.items.reduce((sum, depreciation) => sum + depreciation.getCloseBalanceByYear(year), 0);
|
32
32
|
}
|
33
33
|
getCurrentYearForecastAmount() {
|
34
|
-
return this.
|
34
|
+
return this.sumBy('currentYearForecast.amount');
|
35
35
|
}
|
36
36
|
get closeBalance() {
|
37
37
|
return this.sumBy('currentYearForecast.closeBalance');
|
@@ -49,7 +49,7 @@ export class DepreciationCollection extends Collection {
|
|
49
49
|
return new DepreciationCollection(this.items.filter((depreciation) => !depreciation.isBorrowingExpense()));
|
50
50
|
}
|
51
51
|
getByChartAccountsCategories(categories) {
|
52
|
-
return this.
|
52
|
+
return this.filterBy('chartAccounts.category', categories);
|
53
53
|
}
|
54
54
|
getAssets() {
|
55
55
|
return this.filter((depreciation) => depreciation.isAsset());
|
@@ -82,19 +82,7 @@ export class DepreciationCollection extends Collection {
|
|
82
82
|
return this.filter((depreciation) => depreciation.isVehicleDepreciation());
|
83
83
|
}
|
84
84
|
getByTankType(tankType) {
|
85
|
-
return this.
|
86
|
-
switch (tankType) {
|
87
|
-
case TankTypeEnum.PROPERTY:
|
88
|
-
return depreciation.isPropertyTank();
|
89
|
-
case TankTypeEnum.WORK:
|
90
|
-
return depreciation.isWorkTank();
|
91
|
-
case TankTypeEnum.SOLE:
|
92
|
-
return depreciation.isSoleTank();
|
93
|
-
// case for other tank or some extra
|
94
|
-
default:
|
95
|
-
return false;
|
96
|
-
}
|
97
|
-
}));
|
85
|
+
return this.filterBy('tankType', tankType);
|
98
86
|
}
|
99
87
|
/**
|
100
88
|
* Create TransactionCollection from depreciation items
|
@@ -112,5 +100,11 @@ export class DepreciationCollection extends Collection {
|
|
112
100
|
// work tank may have only one vehicle claim, so we need to filter by tank type
|
113
101
|
: this.getVehicleDepreciations().filterBy('tankType', TankTypeEnum.WORK);
|
114
102
|
}
|
103
|
+
getExportBody(params) {
|
104
|
+
return [];
|
105
|
+
}
|
106
|
+
getExportHeader() {
|
107
|
+
return [];
|
108
|
+
}
|
115
109
|
}
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQXdCO0lBQ2xFLG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBVSxFQUFFLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBRSxFQUFF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WUFDL0UsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgY29tcGFjdCBmcm9tICdsb2Rhc2gvY29tcGFjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxEZXByZWNpYXRpb24+IHtcbiAgZ2V0U29sZURlcHJlY2lhdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXROZXcoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzTmV3KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBhbW91bnQgb2YgYWxsIGRlcHJlY2lhdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IG51bWJlciA9PiBzdW0gKyBkZXByZWNpYXRpb24uYW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBzdW0gKyBkZXByZWNpYXRpb24uY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbUFtb3VudCwgMCk7XG4gIH1cblxuICBnZXRDbGFpbWVkQW1vdW50QnlZZWFyKHllYXI6IG51bWJlciA9ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZmluYW5jaWFsWWVhcicpKTogbnVtYmVyIHtcbiAgICBjb25zdCBjbG9zZUJhbGFuY2UgPSB0aGlzLml0ZW1zLnJlZHVjZShcbiAgICAgIChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4gc3VtICsgZGVwcmVjaWF0aW9uLmdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyKSwgMFxuICAgICk7XG5cbiAgICByZXR1cm4gcm91bmQodGhpcy5hbW91bnQgLSBjbG9zZUJhbGFuY2UsIDIpO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbGFpbUFtb3VudEJ5WWVhcih5ZWFyKSwgMCk7XG4gIH1cblxuICBnZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhciksIDApO1xuICB9XG5cbiAgZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHN1bSArIGRlcHJlY2lhdGlvbi5jdXJyZW50WWVhckZvcmVjYXN0LmFtb3VudCwgMCk7XG4gIH1cblxuICBnZXQgY2xvc2VCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2N1cnJlbnRZZWFyRm9yZWNhc3QuY2xvc2VCYWxhbmNlJyk7XG4gIH1cblxuICBnZXRCeVByb3BlcnRpZXNJZHMoaWRzOiBudW1iZXJbXSk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKGRlcHJlY2lhdGlvbi5wcm9wZXJ0eT8uaWQpKVxuICAgICk7XG4gIH1cblxuICBnZXRXaXRoQ2FwaXRhbFByb2plY3QoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiAhIWRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgICApO1xuICB9XG5cbiAgZ2V0V2l0aG91dENhcGl0YWxQcm9qZWN0KCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gIWRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgICApO1xuICB9XG5cbiAgZ2V0V2l0aG91dEJvcnJvd2luZ0V4cGVuc2VzKCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gIWRlcHJlY2lhdGlvbi5pc0JvcnJvd2luZ0V4cGVuc2UoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGNhdGVnb3JpZXMuaW5jbHVkZXMoZGVwcmVjaWF0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpKVxuICAgICk7XG4gIH1cblxuICBnZXRBc3NldHMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc0Fzc2V0KCkpO1xuICB9XG5cbiAgZ2V0UGxhbnRFcXVpcG1lbnQoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc1BsYW50RXF1aXBtZW50UG9vbCgpKTtcbiAgfVxuXG4gIGdldENhcGl0YWxEZXByZWNpYXRpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoZGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNDYXBpdGFsKCkpO1xuICB9XG5cbiAgZ2V0Qm9ycm93aW5nRXhwZW5zZURlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzQm9ycm93aW5nRXhwZW5zZSgpKTtcbiAgfVxuXG4gIGdldFdyaXR0ZW5PZmZEZXByZWNpYXRpb25zKCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc1dyaXR0ZW5PZmYoKSk7XG4gIH1cblxuICBnZXRMVlBEZXByZWNpYXRpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc0xWUCgpKTtcbiAgfVxuXG4gIGdldFNCUERlcHJlY2lhdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzU0JQKCkpO1xuICB9XG5cbiAgZ2V0Q2FwaXRhbFByb2plY3RzKCk6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0W10ge1xuICAgIHJldHVybiB1bmlxQnkoXG4gICAgICBjb21wYWN0KFxuICAgICAgICB0aGlzLml0ZW1zLm1hcCgoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCA9PiBkZXByZWNpYXRpb24uZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpXG4gICAgICApLFxuICAgICAgJ2lkJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbmV3IGNvbGxlY3Rpb24gb2YgZGVwcmVjaWF0aW9ucyByZWxhdGVkIHRvIHZlaGljbGVzXG4gICAqL1xuICBnZXRWZWhpY2xlRGVwcmVjaWF0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNWZWhpY2xlRGVwcmVjaWF0aW9uKCkpO1xuICB9XG5cbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHN3aXRjaCAodGFua1R5cGUpIHtcbiAgICAgICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgICAgIHJldHVybiBkZXByZWNpYXRpb24uaXNQcm9wZXJ0eVRhbmsoKTtcbiAgICAgICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICAgICAgcmV0dXJuIGRlcHJlY2lhdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiBkZXByZWNpYXRpb24uaXNTb2xlVGFuaygpO1xuICAgICAgICAgIC8vIGNhc2UgZm9yIG90aGVyIHRhbmsgb3Igc29tZSBleHRyYVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGZyb20gZGVwcmVjaWF0aW9uIGl0ZW1zXG4gICAqL1xuICB0b1RyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5tYXAoKGl0ZW06IERlcHJlY2lhdGlvbikgPT4gaXRlbS50b1RyYW5zYWN0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVwcmVjaWF0aW9ucyBieSB2ZWhpY2xlIGNsYWltLiBPbmx5IHZlaGljbGUgZGVwcmVjaWF0aW9ucyBtYXkgYmUgcmVsYXRlZCB0byB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBnZXRCeVZlaGljbGVDbGFpbSh2ZWhpY2xlQ2xhaW06IFZlaGljbGVDbGFpbSk6IHRoaXMge1xuICAgIHJldHVybiB2ZWhpY2xlQ2xhaW0uaXNTb2xlVGFuaygpXG4gICAgICAvLyBzb2xlIHRhbmsgbWF5IGhhdmUgbXVsdGlwbGUgdmVoaWNsZSBjbGFpbXMsIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IGJ1c2luZXNzLmlkXG4gICAgICA/IHRoaXMuZ2V0VmVoaWNsZURlcHJlY2lhdGlvbnMoKS5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2ZWhpY2xlQ2xhaW0uYnVzaW5lc3MuaWQpXG4gICAgICAvLyB3b3JrIHRhbmsgbWF5IGhhdmUgb25seSBvbmUgdmVoaWNsZSBjbGFpbSwgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgdGFuayB0eXBlXG4gICAgICA6IHRoaXMuZ2V0VmVoaWNsZURlcHJlY2lhdGlvbnMoKS5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cbn1cbiJdfQ==
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEseUJBQXVDO0lBQ2pGLG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFlBQTBCLEVBQVUsRUFBRSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQXNC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Q0gsY0FBYztRQUNaLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLFlBQTBCO1FBQzFDLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM5QixrRkFBa0Y7WUFDbEYsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEYsK0VBQStFO1lBQy9FLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWM7UUFDMUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgY29tcGFjdCBmcm9tICdsb2Rhc2gvY29tcGFjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbjxEZXByZWNpYXRpb24+IHtcbiAgZ2V0U29sZURlcHJlY2lhdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXRDdXJyZW50WWVhckJ1eSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoZGVwcmVjaWF0aW9uID0+IGRlcHJlY2lhdGlvbi5pc0N1cnJlbnRZZWFyQnV5KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBhbW91bnQgb2YgYWxsIGRlcHJlY2lhdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IG51bWJlciA9PiBzdW0gKyBkZXByZWNpYXRpb24uYW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdjdXJyZW50WWVhckZvcmVjYXN0LmNsYWltQW1vdW50Jyk7XG4gIH1cblxuICBnZXRDbGFpbWVkQW1vdW50QnlZZWFyKHllYXI6IG51bWJlciA9ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZmluYW5jaWFsWWVhcicpKTogbnVtYmVyIHtcbiAgICBjb25zdCBjbG9zZUJhbGFuY2UgPSB0aGlzLml0ZW1zLnJlZHVjZShcbiAgICAgIChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4gc3VtICsgZGVwcmVjaWF0aW9uLmdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyKSwgMFxuICAgICk7XG5cbiAgICByZXR1cm4gcm91bmQodGhpcy5hbW91bnQgLSBjbG9zZUJhbGFuY2UsIDIpO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbGFpbUFtb3VudEJ5WWVhcih5ZWFyKSwgMCk7XG4gIH1cblxuICBnZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhciksIDApO1xuICB9XG5cbiAgZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdjdXJyZW50WWVhckZvcmVjYXN0LmFtb3VudCcpO1xuICB9XG5cbiAgZ2V0IGNsb3NlQmFsYW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdjdXJyZW50WWVhckZvcmVjYXN0LmNsb3NlQmFsYW5jZScpO1xuICB9XG5cbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhkZXByZWNpYXRpb24ucHJvcGVydHk/LmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0V2l0aENhcGl0YWxQcm9qZWN0KCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gISFkZXByZWNpYXRpb24uZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpXG4gICAgKTtcbiAgfVxuXG4gIGdldFdpdGhvdXRDYXBpdGFsUHJvamVjdCgpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+ICFkZXByZWNpYXRpb24uZGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpXG4gICAgKTtcbiAgfVxuXG4gIGdldFdpdGhvdXRCb3Jyb3dpbmdFeHBlbnNlcygpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+ICFkZXByZWNpYXRpb24uaXNCb3Jyb3dpbmdFeHBlbnNlKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoY2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuY2F0ZWdvcnknLCBjYXRlZ29yaWVzKTtcbiAgfVxuXG4gIGdldEFzc2V0cygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzQXNzZXQoKSk7XG4gIH1cblxuICBnZXRQbGFudEVxdWlwbWVudCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzUGxhbnRFcXVpcG1lbnRQb29sKCkpO1xuICB9XG5cbiAgZ2V0Q2FwaXRhbERlcHJlY2lhdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc0NhcGl0YWwoKSk7XG4gIH1cblxuICBnZXRCb3Jyb3dpbmdFeHBlbnNlRGVwcmVjaWF0aW9ucygpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNCb3Jyb3dpbmdFeHBlbnNlKCkpO1xuICB9XG5cbiAgZ2V0V3JpdHRlbk9mZkRlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzV3JpdHRlbk9mZigpKTtcbiAgfVxuXG4gIGdldExWUERlcHJlY2lhdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzTFZQKCkpO1xuICB9XG5cbiAgZ2V0U0JQRGVwcmVjaWF0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNTQlAoKSk7XG4gIH1cblxuICBnZXRDYXBpdGFsUHJvamVjdHMoKTogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHVuaXFCeShcbiAgICAgIGNvbXBhY3QoXG4gICAgICAgIHRoaXMuaXRlbXMubWFwKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0ID0+IGRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgICAgICksXG4gICAgICAnaWQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBuZXcgY29sbGVjdGlvbiBvZiBkZXByZWNpYXRpb25zIHJlbGF0ZWQgdG8gdmVoaWNsZXNcbiAgICovXG4gIGdldFZlaGljbGVEZXByZWNpYXRpb25zKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pID0+IGRlcHJlY2lhdGlvbi5pc1ZlaGljbGVEZXByZWNpYXRpb24oKSk7XG4gIH1cblxuICBnZXRCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndGFua1R5cGUnLCB0YW5rVHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBmcm9tIGRlcHJlY2lhdGlvbiBpdGVtc1xuICAgKi9cbiAgdG9UcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMubWFwKChpdGVtOiBEZXByZWNpYXRpb24pID0+IGl0ZW0udG9UcmFuc2FjdGlvbigpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlcHJlY2lhdGlvbnMgYnkgdmVoaWNsZSBjbGFpbS4gT25seSB2ZWhpY2xlIGRlcHJlY2lhdGlvbnMgbWF5IGJlIHJlbGF0ZWQgdG8gdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgZ2V0QnlWZWhpY2xlQ2xhaW0odmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdmVoaWNsZUNsYWltLmlzU29sZVRhbmsoKVxuICAgICAgLy8gc29sZSB0YW5rIG1heSBoYXZlIG11bHRpcGxlIHZlaGljbGUgY2xhaW1zLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSBidXNpbmVzcy5pZFxuICAgICAgPyB0aGlzLmdldFZlaGljbGVEZXByZWNpYXRpb25zKCkuZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmVoaWNsZUNsYWltLmJ1c2luZXNzLmlkKVxuICAgICAgLy8gd29yayB0YW5rIG1heSBoYXZlIG9ubHkgb25lIHZlaGljbGUgY2xhaW0sIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IHRhbmsgdHlwZVxuICAgICAgOiB0aGlzLmdldFZlaGljbGVEZXByZWNpYXRpb25zKCkuZmlsdGVyQnkoJ3RhbmtUeXBlJywgVGFua1R5cGVFbnVtLldPUkspO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keShwYXJhbXM6IG9iamVjdCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxufVxuIl19
|
@@ -6,11 +6,7 @@ export class ExportableCollection extends Collection {
|
|
6
6
|
return [];
|
7
7
|
}
|
8
8
|
getBodyAoa(exportData) {
|
9
|
-
return exportData.body.map(row =>
|
10
|
-
return row.map(cell => {
|
11
|
-
return cell.value;
|
12
|
-
});
|
13
|
-
});
|
9
|
+
return exportData.body.map(row => row.map(cell => cell.value));
|
14
10
|
}
|
15
11
|
export(params) {
|
16
12
|
return plainToClass(ExportDataTable, {
|
@@ -20,4 +16,4 @@ export class ExportableCollection extends Collection {
|
|
20
16
|
});
|
21
17
|
}
|
22
18
|
}
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2V4cG9ydGFibGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckUsTUFBTSxPQUFnQixvQkFBa0QsU0FBUSxVQUFpQjtJQUsvRixlQUFlO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQVU7UUFDbkIsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVk7UUFDakIsT0FBTyxZQUFZLENBQUMsZUFBZSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUNoQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnREYXRhVGFibGUgfSBmcm9tICcuLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1kYXRhLXRhYmxlJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi9kYi9Nb2RlbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwb3J0YWJsZUNvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+IHtcbiAgYWJzdHJhY3QgZ2V0RXhwb3J0SGVhZGVyKCk6IHN0cmluZ1tdO1xuXG4gIGFic3RyYWN0IGdldEV4cG9ydEJvZHkocGFyYW1zOiBvYmplY3QpOiBFeHBvcnRDZWxsW11bXTtcblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRCb2R5QW9hKGV4cG9ydERhdGEpOiBhbnkge1xuICAgIHJldHVybiBleHBvcnREYXRhLmJvZHkubWFwKHJvdyA9PiByb3cubWFwKGNlbGwgPT4gY2VsbC52YWx1ZSkpXG4gIH1cblxuICBleHBvcnQocGFyYW1zPzogYW55KTogRXhwb3J0RGF0YVRhYmxlIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKEV4cG9ydERhdGFUYWJsZSwge1xuICAgICAgaGVhZGVyOiB0aGlzLmdldEV4cG9ydEhlYWRlcigpLFxuICAgICAgYm9keTogdGhpcy5nZXRFeHBvcnRCb2R5KHBhcmFtcyksXG4gICAgICBmb290ZXI6IFt0aGlzLmdldEV4cG9ydEZvb3RlcigpXVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
@@ -29,10 +29,14 @@ export class PropertyCollection extends Collection {
|
|
29
29
|
return this.sumBy('growthPercent');
|
30
30
|
}
|
31
31
|
get marketValue() {
|
32
|
-
return this.sumBy('marketValue');
|
32
|
+
return this.sumBy('valuation.marketValue');
|
33
33
|
}
|
34
|
-
get
|
35
|
-
|
34
|
+
get sharedMarketValue() {
|
35
|
+
let sharedMarketValue = 0;
|
36
|
+
this.items.forEach(property => {
|
37
|
+
sharedMarketValue += property.shareRatio * property.marketValue;
|
38
|
+
});
|
39
|
+
return sharedMarketValue;
|
36
40
|
}
|
37
41
|
/**
|
38
42
|
* Get list of unique property categories from collection
|
@@ -110,4 +114,4 @@ export class PropertyCollection extends Collection {
|
|
110
114
|
return propertiesByCategory;
|
111
115
|
}
|
112
116
|
}
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBTW5DLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFvQjtJQUMxRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztP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RyxDQUFDLEVBQUU7WUFDckMsb0JBQW9CLENBQUMsR0FBRyxDQUN0QixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4RixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRTtZQUNkLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0RixvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5LCBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Q29sbGVjdGlvbiB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuY29sbGVjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5PiB7XG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgYWN0aXZlIHN0YXR1c1xuICAgKi9cbiAgZ2V0QWN0aXZlUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNBY3RpdmUpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWF0ZWRQcm9wZXJ0aWVzKCk6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5pc093bigpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBwcm9wZXJ0eSBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IHNoYXJlZFxuICAgKi9cbiAgZ2V0U2hhcmVkUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gIXByb3BlcnR5LmlzT3duKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFVuc29sZCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiAhcHJvcGVydHkuaXNTb2xkKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdG90YWwgcHVyY2hhc2UgcHJpY2UgZm9yIGFsbCBwcm9wZXJ0aWVzIGluIHRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXQgcHVyY2hhc2VQcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdwdXJjaGFzZVByaWNlJyk7XG4gIH1cblxuICBnZXQgZ3Jvd3RoUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdncm93dGhQZXJjZW50Jyk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnbWFya2V0VmFsdWUnKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZUdyb3d0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5tYXJrZXRWYWx1ZSAtIHRoaXMucHVyY2hhc2VQcmljZSkgLyB0aGlzLnB1cmNoYXNlUHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdW5pcXVlIHByb3BlcnR5IGNhdGVnb3JpZXMgZnJvbSBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXRDYXRlZ29yaWVzKCk6IFByb3BlcnR5Q2F0ZWdvcnlbXSB7XG4gICAgcmV0dXJuIHVuaXFCeSh0aGlzLml0ZW1zLm1hcCgocHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHlDYXRlZ29yeSA9PiBwcm9wZXJ0eS5jYXRlZ29yeSksICdpZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3Qgb2YgcHJvcGVydGllc1xuICAgKi9cbiAgZ2V0Q0dUQXBwbGljYWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5pc0NHVEFwcGxpY2FibGUoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSB3aXRoIHRoZSBoaWdoZXN0IGdyb3d0aCBwZXJjZW50XG4gICAqL1xuICBnZXRCZXN0UGVyZm9ybWFuY2VHcm93dGhQcm9wZXJ0eSgpOiBQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtYXg6IFByb3BlcnR5LCBjdXJyZW50OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IG1heC5ncm93dGhQZXJjZW50IDwgY3VycmVudC5ncm93dGhQZXJjZW50ID8gY3VycmVudCA6IG1heCwgdGhpcy5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHdpdGggdGhlIGxvd2VzdCB0YXggcG9zaXRpb25cbiAgICovXG4gIGdldEJlc3RQZXJmb3JtYW5jZVRheFByb3BlcnR5KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uKTogUHJvcGVydHkge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSB0cmFuc2FjdGlvbnMuZ3JvdXBCeSgncHJvcGVydHkuaWQnKTtcbiAgICBjb25zdCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4gPSBkZXByZWNpYXRpb25zLmdyb3VwQnkoJ3Byb3BlcnR5LmlkJyk7XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKG1pbjogUHJvcGVydHksIGN1cnJlbnQ6IFByb3BlcnR5KTogUHJvcGVydHkgPT4ge1xuICAgICAgY29uc3QgbWluVGF4UG9zaXRpb246IG51bWJlciA9IG1pbi5nZXRUYXhQb3NpdGlvbih0cmFuc2FjdGlvbnNCeVByb3BlcnR5LmdldChtaW4uaWQpLCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eS5nZXQobWluLmlkKSk7XG4gICAgICBjb25zdCBjdXJyZW50VGF4UG9zaXRpb246IG51bWJlciA9IGN1cnJlbnQuZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5nZXQoY3VycmVudC5pZCksIGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5LmdldChjdXJyZW50LmlkKSk7XG5cbiAgICAgIHJldHVybiBtaW5UYXhQb3NpdGlvbiA+IGN1cnJlbnRUYXhQb3NpdGlvbiA/IGN1cnJlbnQgOiBtaW47XG4gICAgfSwgdGhpcy5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gTmljb2xlIG5vdCBuZWVkZWQgYW55bW9yZT9cbiAgICogU2hvdyBiZXN0IHBlcmZvcm1hbmNlIHByb3BlcnRpZXMgZmlyc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTcvUHJvcGVydHkrVGFuaytEYXNoYm9hcmRcbiAgICovXG4gIHNvcnRCeUJlc3RQZXJmb3JtYW5jZSh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IGFjdGl2ZVByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbiA9IHRoaXMuZ2V0QWN0aXZlUHJvcGVydGllcygpO1xuXG4gICAgLy8gbm90aGluZyB0byBzb3J0IHdoZW4gbm8gYWN0aXZlIHByb3BlcnRpZXNcbiAgICBpZiAoIWFjdGl2ZVByb3BlcnRpZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCBiZXN0UHJvcGVydGllczogUHJvcGVydHlbXSA9IHVuaXFCeSh0aGlzLmNyZWF0ZShbXG4gICAgICBhY3RpdmVQcm9wZXJ0aWVzLmdldEJlc3RQZXJmb3JtYW5jZUdyb3d0aFByb3BlcnR5KCksXG4gICAgICBhY3RpdmVQcm9wZXJ0aWVzLmdldEJlc3RQZXJmb3JtYW5jZVRheFByb3BlcnR5KHRyYW5zYWN0aW9ucywgZGVwcmVjaWF0aW9ucylcbiAgICBdKS50b0FycmF5KCksICdpZCcpO1xuXG4gICAgY29uc3QgbmV3SXRlbXM6IFByb3BlcnR5W10gPSB0aGlzLmRpZmYoYmVzdFByb3BlcnRpZXMpLnRvQXJyYXkoKTtcbiAgICBuZXdJdGVtcy51bnNoaWZ0KC4uLmJlc3RQcm9wZXJ0aWVzKTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShuZXdJdGVtcyk7XG4gIH1cblxuICBnZXQgbmV0TW9udGhseUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdtb250aGx5SW5jb21lJykgKyB0aGlzLnN1bUJ5KCdtb250aGx5RXhwZW5zZScpO1xuICB9XG5cbiAgZ2V0T3duZXJPY2N1cGllZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlzT3duZXJPY2N1cGllZCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydGllcyB0aGF0IGFyZSB0YXhlZCBhbmQgd2lsbCBiZSBpbmNsdWRlZCBpbiByZXBvcnRzIChUYXggc3VtbWFyeSwgTXkgdGF4IHJlcG9ydCwgZS50LmMuKVxuICAgKi9cbiAgZ2V0VGF4SW5jbHVzaXZlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpID0+IHByb3BlcnR5LmNhdGVnb3J5LmlzVGF4SW5jbHVzaXZlKVxuICAgICk7XG4gIH1cblxuICBncm91cEJ5Q2F0ZWdvcnkoY2F0ZWdvcmllczogQ29sbGVjdGlvbjxQcm9wZXJ0eUNhdGVnb3J5PiwgbW92ZW1lbnRzOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRDb2xsZWN0aW9uLCBhbGxvd0VtcHR5ID0gZmFsc2UpOiBNYXA8UHJvcGVydHlDYXRlZ29yeSwgUHJvcGVydHlDb2xsZWN0aW9uPiB7XG4gICAgY29uc3QgY2F0ZWdvcnlCeUlkID0gY2F0ZWdvcmllcy5pbmRleEJ5KCdpZCcpO1xuICAgIGNvbnN0IG1vdmVtZW50c0J5Q2F0ZWdvcnkgPSBtb3ZlbWVudHMuZ2V0Q3VycmVudCgpLmdyb3VwQnkoJ3Byb3BlcnR5Q2F0ZWdvcnkuaWQnKTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXNCeUNhdGVnb3J5ID0gbmV3IE1hcDxQcm9wZXJ0eUNhdGVnb3J5LCBQcm9wZXJ0eUNvbGxlY3Rpb24+O1xuICAgIG1vdmVtZW50c0J5Q2F0ZWdvcnkua2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBwcm9wZXJ0aWVzQnlDYXRlZ29yeS5zZXQoXG4gICAgICAgIGNhdGVnb3J5QnlJZC5nZXQoa2V5KSxcbiAgICAgICAgdGhpcy5maWx0ZXJCeSgnaWQnLCBtb3ZlbWVudHNCeUNhdGVnb3J5LmdldChrZXkpLm1hcChtb3ZlbWVudCA9PiBtb3ZlbWVudC5wcm9wZXJ0eS5pZCkpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKGFsbG93RW1wdHkpIHtcbiAgICAgIGNhdGVnb3JpZXMucmVtb3ZlKEFycmF5LmZyb20ocHJvcGVydGllc0J5Q2F0ZWdvcnkua2V5cygpKSkudG9BcnJheSgpLmZvckVhY2goY2F0ZWdvcnkgPT4ge1xuICAgICAgICBwcm9wZXJ0aWVzQnlDYXRlZ29yeS5zZXQoY2F0ZWdvcnksIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydGllc0J5Q2F0ZWdvcnk7XG4gIH1cbn1cbiJdfQ==
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBTW5DLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFvQjtJQUMxRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztP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QUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVsRixNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBeUMsQ0FBQztRQUMzRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLG9CQUFvQixDQUFDLEdBQUcsQ0FDdEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDeEYsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEVBQUU7WUFDZCxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdEYsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudENvbGxlY3Rpb24gfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxQcm9wZXJ0eT4ge1xuICAvKipcbiAgICogR2V0IG5ldyBwcm9wZXJ0eSBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGFjdGl2ZSBzdGF0dXNcbiAgICovXG4gIGdldEFjdGl2ZVByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmlzQWN0aXZlKVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVhdGVkUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNPd24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgcHJvcGVydHkgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBzaGFyZWRcbiAgICovXG4gIGdldFNoYXJlZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+ICFwcm9wZXJ0eS5pc093bigpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbnNvbGQoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gIXByb3BlcnR5LmlzU29sZCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRvdGFsIHB1cmNoYXNlIHByaWNlIGZvciBhbGwgcHJvcGVydGllcyBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IHB1cmNoYXNlUHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgncHVyY2hhc2VQcmljZScpO1xuICB9XG5cbiAgZ2V0IGdyb3d0aFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnZ3Jvd3RoUGVyY2VudCcpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3ZhbHVhdGlvbi5tYXJrZXRWYWx1ZScpO1xuICB9XG5cbiAgZ2V0IHNoYXJlZE1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgbGV0IHNoYXJlZE1hcmtldFZhbHVlID0gMDtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgc2hhcmVkTWFya2V0VmFsdWUgKz0gcHJvcGVydHkuc2hhcmVSYXRpbyAqIHByb3BlcnR5Lm1hcmtldFZhbHVlXG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2hhcmVkTWFya2V0VmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdW5pcXVlIHByb3BlcnR5IGNhdGVnb3JpZXMgZnJvbSBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXRDYXRlZ29yaWVzKCk6IFByb3BlcnR5Q2F0ZWdvcnlbXSB7XG4gICAgcmV0dXJuIHVuaXFCeSh0aGlzLml0ZW1zLm1hcCgocHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHlDYXRlZ29yeSA9PiBwcm9wZXJ0eS5jYXRlZ29yeSksICdpZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3Qgb2YgcHJvcGVydGllc1xuICAgKi9cbiAgZ2V0Q0dUQXBwbGljYWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5pc0NHVEFwcGxpY2FibGUoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSB3aXRoIHRoZSBoaWdoZXN0IGdyb3d0aCBwZXJjZW50XG4gICAqL1xuICBnZXRCZXN0UGVyZm9ybWFuY2VHcm93dGhQcm9wZXJ0eSgpOiBQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtYXg6IFByb3BlcnR5LCBjdXJyZW50OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IG1heC5ncm93dGhQZXJjZW50IDwgY3VycmVudC5ncm93dGhQZXJjZW50ID8gY3VycmVudCA6IG1heCwgdGhpcy5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHdpdGggdGhlIGxvd2VzdCB0YXggcG9zaXRpb25cbiAgICovXG4gIGdldEJlc3RQZXJmb3JtYW5jZVRheFByb3BlcnR5KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uKTogUHJvcGVydHkge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSB0cmFuc2FjdGlvbnMuZ3JvdXBCeSgncHJvcGVydHkuaWQnKTtcbiAgICBjb25zdCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4gPSBkZXByZWNpYXRpb25zLmdyb3VwQnkoJ3Byb3BlcnR5LmlkJyk7XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKG1pbjogUHJvcGVydHksIGN1cnJlbnQ6IFByb3BlcnR5KTogUHJvcGVydHkgPT4ge1xuICAgICAgY29uc3QgbWluVGF4UG9zaXRpb246IG51bWJlciA9IG1pbi5nZXRUYXhQb3NpdGlvbih0cmFuc2FjdGlvbnNCeVByb3BlcnR5LmdldChtaW4uaWQpLCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eS5nZXQobWluLmlkKSk7XG4gICAgICBjb25zdCBjdXJyZW50VGF4UG9zaXRpb246IG51bWJlciA9IGN1cnJlbnQuZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5nZXQoY3VycmVudC5pZCksIGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5LmdldChjdXJyZW50LmlkKSk7XG5cbiAgICAgIHJldHVybiBtaW5UYXhQb3NpdGlvbiA+IGN1cnJlbnRUYXhQb3NpdGlvbiA/IGN1cnJlbnQgOiBtaW47XG4gICAgfSwgdGhpcy5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gTmljb2xlIG5vdCBuZWVkZWQgYW55bW9yZT9cbiAgICogU2hvdyBiZXN0IHBlcmZvcm1hbmNlIHByb3BlcnRpZXMgZmlyc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTcvUHJvcGVydHkrVGFuaytEYXNoYm9hcmRcbiAgICovXG4gIHNvcnRCeUJlc3RQZXJmb3JtYW5jZSh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IGFjdGl2ZVByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbiA9IHRoaXMuZ2V0QWN0aXZlUHJvcGVydGllcygpO1xuXG4gICAgLy8gbm90aGluZyB0byBzb3J0IHdoZW4gbm8gYWN0aXZlIHByb3BlcnRpZXNcbiAgICBpZiAoIWFjdGl2ZVByb3BlcnRpZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCBiZXN0UHJvcGVydGllczogUHJvcGVydHlbXSA9IHVuaXFCeSh0aGlzLmNyZWF0ZShbXG4gICAgICBhY3RpdmVQcm9wZXJ0aWVzLmdldEJlc3RQZXJmb3JtYW5jZUdyb3d0aFByb3BlcnR5KCksXG4gICAgICBhY3RpdmVQcm9wZXJ0aWVzLmdldEJlc3RQZXJmb3JtYW5jZVRheFByb3BlcnR5KHRyYW5zYWN0aW9ucywgZGVwcmVjaWF0aW9ucylcbiAgICBdKS50b0FycmF5KCksICdpZCcpO1xuXG4gICAgY29uc3QgbmV3SXRlbXM6IFByb3BlcnR5W10gPSB0aGlzLmRpZmYoYmVzdFByb3BlcnRpZXMpLnRvQXJyYXkoKTtcbiAgICBuZXdJdGVtcy51bnNoaWZ0KC4uLmJlc3RQcm9wZXJ0aWVzKTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShuZXdJdGVtcyk7XG4gIH1cblxuICBnZXQgbmV0TW9udGhseUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdtb250aGx5SW5jb21lJykgKyB0aGlzLnN1bUJ5KCdtb250aGx5RXhwZW5zZScpO1xuICB9XG5cbiAgZ2V0T3duZXJPY2N1cGllZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlzT3duZXJPY2N1cGllZCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydGllcyB0aGF0IGFyZSB0YXhlZCBhbmQgd2lsbCBiZSBpbmNsdWRlZCBpbiByZXBvcnRzIChUYXggc3VtbWFyeSwgTXkgdGF4IHJlcG9ydCwgZS50LmMuKVxuICAgKi9cbiAgZ2V0VGF4SW5jbHVzaXZlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpID0+IHByb3BlcnR5LmNhdGVnb3J5LmlzVGF4SW5jbHVzaXZlKVxuICAgICk7XG4gIH1cblxuICBncm91cEJ5Q2F0ZWdvcnkoY2F0ZWdvcmllczogQ29sbGVjdGlvbjxQcm9wZXJ0eUNhdGVnb3J5PiwgbW92ZW1lbnRzOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRDb2xsZWN0aW9uLCBhbGxvd0VtcHR5ID0gZmFsc2UpOiBNYXA8UHJvcGVydHlDYXRlZ29yeSwgUHJvcGVydHlDb2xsZWN0aW9uPiB7XG4gICAgY29uc3QgY2F0ZWdvcnlCeUlkID0gY2F0ZWdvcmllcy5pbmRleEJ5KCdpZCcpO1xuICAgIGNvbnN0IG1vdmVtZW50c0J5Q2F0ZWdvcnkgPSBtb3ZlbWVudHMuZ2V0Q3VycmVudCgpLmdyb3VwQnkoJ3Byb3BlcnR5Q2F0ZWdvcnkuaWQnKTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXNCeUNhdGVnb3J5ID0gbmV3IE1hcDxQcm9wZXJ0eUNhdGVnb3J5LCBQcm9wZXJ0eUNvbGxlY3Rpb24+O1xuICAgIG1vdmVtZW50c0J5Q2F0ZWdvcnkua2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBwcm9wZXJ0aWVzQnlDYXRlZ29yeS5zZXQoXG4gICAgICAgIGNhdGVnb3J5QnlJZC5nZXQoa2V5KSxcbiAgICAgICAgdGhpcy5maWx0ZXJCeSgnaWQnLCBtb3ZlbWVudHNCeUNhdGVnb3J5LmdldChrZXkpLm1hcChtb3ZlbWVudCA9PiBtb3ZlbWVudC5wcm9wZXJ0eS5pZCkpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKGFsbG93RW1wdHkpIHtcbiAgICAgIGNhdGVnb3JpZXMucmVtb3ZlKEFycmF5LmZyb20ocHJvcGVydGllc0J5Q2F0ZWdvcnkua2V5cygpKSkudG9BcnJheSgpLmZvckVhY2goY2F0ZWdvcnkgPT4ge1xuICAgICAgICBwcm9wZXJ0aWVzQnlDYXRlZ29yeS5zZXQoY2F0ZWdvcnksIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydGllc0J5Q2F0ZWdvcnk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,3 +1,4 @@
|
|
1
1
|
export * from './transaction.collection';
|
2
2
|
export * from './transaction-allocation.collection';
|
3
|
-
|
3
|
+
export * from './transaction-base.collection';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi1iYXNlLmNvbGxlY3Rpb24nO1xuIl19
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { ExportableCollection } from '../exportable.collection';
|
2
|
+
export class TransactionBaseCollection extends ExportableCollection {
|
3
|
+
}
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWJhc2UuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRSxNQUFNLE9BQWdCLHlCQUF5RCxTQUFRLG9CQUEyQjtDQUVqSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlPiBleHRlbmRzIEV4cG9ydGFibGVDb2xsZWN0aW9uPE1vZGVsPiB7XG5cbn1cbiJdfQ==
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import { Dictionary } from '../../models';
|
2
2
|
import { ChartAccountsListEnum } from '../../db/Enums';
|
3
3
|
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
4
|
-
import { ExportableCollection } from '../exportable.collection';
|
5
4
|
import { plainToClass } from 'class-transformer';
|
6
5
|
import { ExportCell } from '../../models/export/export-cell';
|
7
6
|
import { ExportCellTypeEnum } from '../../models/export/export-cell-type.enum';
|
8
7
|
import { Collection } from '../collection';
|
9
8
|
import { ChartData } from '../../models/chart/chart-data';
|
10
9
|
import { FinancialYear, MONTHS } from '../../models';
|
10
|
+
import { TransactionBaseCollection } from './transaction-base.collection';
|
11
11
|
/**
|
12
12
|
* Collection of transactions
|
13
13
|
*/
|
14
|
-
export class TransactionCollection extends
|
14
|
+
export class TransactionCollection extends TransactionBaseCollection {
|
15
15
|
/**
|
16
16
|
* we use depreciations as expense transactions a lot
|
17
17
|
*/
|
@@ -111,7 +111,7 @@ export class TransactionCollection extends ExportableCollection {
|
|
111
111
|
* Get new collection of property transactions
|
112
112
|
*/
|
113
113
|
getPropertyTransactions() {
|
114
|
-
return
|
114
|
+
return this.filterBy('tankType', TankTypeEnum.PROPERTY);
|
115
115
|
}
|
116
116
|
getDebitTransactions() {
|
117
117
|
return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
|
@@ -144,19 +144,7 @@ export class TransactionCollection extends ExportableCollection {
|
|
144
144
|
* Get new transaction collection filtered by tank type
|
145
145
|
*/
|
146
146
|
getByTankType(tankType) {
|
147
|
-
return this.
|
148
|
-
switch (tankType) {
|
149
|
-
case TankTypeEnum.PROPERTY:
|
150
|
-
return transaction.isPropertyTank();
|
151
|
-
case TankTypeEnum.WORK:
|
152
|
-
return transaction.isWorkTank();
|
153
|
-
case TankTypeEnum.SOLE:
|
154
|
-
return transaction.isSoleTank();
|
155
|
-
// Transaction may be not related to any tank type (personal)
|
156
|
-
default:
|
157
|
-
return false;
|
158
|
-
}
|
159
|
-
}));
|
147
|
+
return this.filterBy('tankType', tankType);
|
160
148
|
}
|
161
149
|
getExportHeader() {
|
162
150
|
return ['Date', 'Description', 'Debit', 'Credit'];
|
@@ -240,4 +228,4 @@ export class TransactionCollection extends ExportableCollection {
|
|
240
228
|
return this.filter(transaction => transaction.claimPercent > 0);
|
241
229
|
}
|
242
230
|
}
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVgsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUE2QixxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRTs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBaUM7SUFDMUU7O09BRUc7SUFDSCxZQUFZLGVBQThCLEVBQUUsRUFBRSxnQkFBZ0MsRUFBRTtRQUM5RSxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUE0QztRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQTRDO1FBQ3pELE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUE0QztRQUMvRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQVUsRUFBRSxDQUN6RSxHQUFHLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxXQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxXQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxVQUF1QztRQUNsRSxPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ2xILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLFVBQWtCO1FBQzNCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUN2RixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUJBQXlCO1FBQ3ZCLE1BQU0sZUFBZSxHQUEyQixFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDOUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxVQUFVLENBQXVCLGVBQWUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQy9HLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNuRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxHQUFhO1FBQzlCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxFQUFVO1FBQzVCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCwwQkFBMEIsQ0FBQyxRQUFtQztRQUM1RCxPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQzFHLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUN2RixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDakYsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUE0QztRQUMzRCxPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUErQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLHVEQUF1RDtRQUN2RCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBdUIsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFMUQscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxRQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFO1lBQ3RELFFBQVEsUUFBUSxFQUFFO2dCQUNoQixLQUFLLFlBQVksQ0FBQyxRQUFRO29CQUN4QixPQUFPLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxZQUFZLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssWUFBWSxDQUFDLElBQUk7b0JBQ3BCLE9BQU8sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQyw2REFBNkQ7Z0JBQzdEO29CQUNFLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RSxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEUsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzRixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYOzs7V0FHRztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQztZQUNsRCxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BHLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekYsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxZQUEyQjtRQUMzQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUM5QixrRkFBa0Y7WUFDbEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakYsK0VBQStFO1lBQy9FLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJO2FBQ1Isc0JBQXNCLEVBQUU7YUFDeEIsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHdCQUF3QjtRQUN0QixNQUFNLFNBQVMsR0FBZ0I7WUFDN0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3JELFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztTQUN2RCxDQUFDO1FBRUYsSUFBSSxhQUFhLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFhLEVBQVEsRUFBRTtZQUNsRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVzthQUNsRSxDQUFDLENBQUM7WUFDSCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUM7YUFDN0UsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsV0FBNEM7UUFDN0QsT0FBTyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQixDQUFDLGFBQXFCLElBQUk7UUFDOUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2xGLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25NZXRhRmllbGQsXG4gIFZlaGljbGVDbGFpbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC9jaGFydC1kYXRhJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiwgRmluYW5jaWFsWWVhciwgTU9OVEhTIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB9IGZyb20gJy4uL3NvbGUnO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBFeHBvcnRhYmxlQ29sbGVjdGlvbjxUcmFuc2FjdGlvbj4ge1xuICAvKipcbiAgICogd2UgdXNlIGRlcHJlY2lhdGlvbnMgYXMgZXhwZW5zZSB0cmFuc2FjdGlvbnMgYSBsb3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSA9IFtdKSB7XG4gICAgc3VwZXIoWy4uLnRyYW5zYWN0aW9ucywgLi4uZGVwcmVjaWF0aW9ucy5tYXAoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLnRvVHJhbnNhY3Rpb24oKSldKTtcbiAgfVxuXG4gIGdldFNvbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0RmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhdHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+XG4gICAgICBzdW0gKyB0cmFuc2FjdGlvbi5nZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0cmFuc2FjdGlvbi5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0Ftb3VudCwgMCk7XG4gIH1cblxuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBjYXRlZ29yaWVzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyBieSBtb250aFxuICAgKiBAcGFyYW0gbW9udGhJbmRleCBieSB3aGljaCBkZXNpcmVkIG1vbnRoIHNob3VsZCBiZSB0YWtlblxuICAgKi9cbiAgZ2V0QnlNb250aChtb250aEluZGV4OiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+XG4gICAgICB0cmFuc2FjdGlvbi5kYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXhcbiAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgbWV0YSBmaWVsZHNcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc01ldGFGaWVsZHMoKTogQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4ge1xuICAgIGNvbnN0IG1ldGFGaWVsZHNBcnJheTogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIG1ldGFGaWVsZHNBcnJheS5wdXNoKC4uLnRyYW5zYWN0aW9uLm1ldGFGaWVsZHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uTWV0YUZpZWxkPihtZXRhRmllbGRzQXJyYXkpO1xuICB9XG5cbiAgZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0luY29tZSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUV4cGVuc2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbnRlcmVzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEludGVyZXN0VHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIGFuZCBwcm9wZXJ0aWVzIGZpbHRlcmVkIGJ5IHByb3BlcnRpZXMgaWRzXG4gICAqIEBwYXJhbSBpZHMgSWRzIG9mIHByb3BlcnRpZXMgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgaW5jb21lIHNvdXJjZSBpZFxuICAgKiBAcGFyYW0gaWQgaWQgb2YgaW5jb21lIHNvdXJjZSBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeUluY29tZVNvdXJjZUlkKGlkOiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaW5jb21lU291cmNlPy5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnlcbiAgICogQHBhcmFtIGNhdGVnb3J5IENoYXJ0IGFjY291bnRzIGNhdGVnb3J5IHZhbHVlXG4gICAqL1xuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yeShjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5ID09PSBjYXRlZ29yeSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFByb3BlcnR5VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1Byb3BlcnR5VGFuaygpKVxuICAgICk7XG4gIH1cblxuICBnZXREZWJpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNEZWJpdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVkaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzQ3JlZGl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUludm9pY2VzKGludm9pY2VzOiBTb2xlSW52b2ljZUNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnaW52b2ljZUl0ZW0uaWQnLCBpbnZvaWNlcy5nZXRJbnZvaWNlSXRlbXNJZHMoKSk7XG4gIH1cblxuICBnZXRBbW91bnRQZXJJbnZvaWNlKCk6IERpY3Rpb25hcnk8bnVtYmVyPiB7XG4gICAgLy8gQFRPRE8gaW52b2ljZUl0ZW0uaW52b2ljZSB3aWxsIGJlIHJlbW92ZWQgb24gYmFja2VuZFxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5SW52b2ljZSA9IHRoaXMuZ3JvdXBCeSgnaW52b2ljZUl0ZW0uaW52b2ljZS5pZCcpO1xuICAgIGNvbnN0IGRpY3Rpb25hcnk6IERpY3Rpb25hcnk8bnVtYmVyPiA9IG5ldyBEaWN0aW9uYXJ5KFtdKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5SW52b2ljZS5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZGljdGlvbmFyeS5hZGQoa2V5LCB0cmFuc2FjdGlvbnNCeUludm9pY2UuZ2V0KGtleSkuc3VtQnkoJ2dyb3NzQW1vdW50JykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIFZlaGljbGUgY2F0ZWdvcnlcbiAgICovXG4gIGdldFZlaGljbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNWZWhpY2xlVHJhbnNhY3Rpb24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdEZXNjcmlwdGlvbicsICdEZWJpdCcsICdDcmVkaXQnXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogJ1RvdGFsJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0aGlzLnN1bUJ5KCdkZWJpdCcpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdGhpcy5zdW1CeSgnY3JlZGl0JyksIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KVxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBpcyBub3QgYSByZXF1aXJlZCBmaWVsZCBmb3IgdHJhbnNhY3Rpb25zLlxuICAgICAqIGlmIHRoZXJlIGlzIG5vIGRlc2NyaXB0aW9uLCB0aGVuIGFkZCBhbiBlbXB0eSBsaW5lIHNvIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyB3aGVuIHRyYW5zbGF0ZWQgaW50byBhIHN0cmluZy5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uID8/ICctJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklORyB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0cmFuc2FjdGlvbi5kZWJpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmNyZWRpdCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pXG4gICAgXSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZmlsdGVyZWQgYnkgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgZ2V0QnlWZWhpY2xlQ2xhaW0odmVoaWNsZUNsYWltPzogVmVoaWNsZUNsYWltKTogdGhpcyB7XG4gICAgaWYgKCF2ZWhpY2xlQ2xhaW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlaGljbGVDbGFpbS5pc1NvbGVUYW5rKClcbiAgICAgIC8vIHNvbGUgdGFuayBtYXkgaGF2ZSBtdWx0aXBsZSB2ZWhpY2xlIGNsYWltcywgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgYnVzaW5lc3MuaWRcbiAgICAgID8gdGhpcy5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKCkuZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmVoaWNsZUNsYWltLmJ1c2luZXNzLmlkKVxuICAgICAgLy8gd29yayB0YW5rIG1heSBoYXZlIG9ubHkgb25lIHZlaGljbGUgY2xhaW0sIHNvIHdlIG5lZWQgdG8gZmlsdGVyIGJ5IHRhbmsgdHlwZVxuICAgICAgOiB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5maWx0ZXJCeSgndGFua1R5cGUnLCBUYW5rVHlwZUVudW0uV09SSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSB0cmFuc2FjdGlvbnMgZXhjZXB0IEtNUyB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldExvZ2Jvb2tUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXNcbiAgICAgIC5nZXRWZWhpY2xlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5yZW1vdmVCeSgnY2hhcnRBY2NvdW50cy5pZCcsIFtDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUkssIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGNoYXJ0IGRhdGEgd2l0aCB0cmFuc2FjdGlvbnMgY2FzaCBwb3NpdGlvbi5cbiAgICogQ2FzaCBwb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzIChpbmNsdWRlIGRlcHJlY2lhdGlvbnMpXG4gICAqIENoYXJ0IGRhdGEgZm9yIGVhY2ggbW9udGggZnJvbSBmaW4geWVhciBzdGFydCB0aWxsIGN1cnJlbnQgbW9udGhcbiAgICovXG4gIGdldENhc2hQb3NpdGlvbkNoYXJ0RGF0YSgpOiBDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBDaGFydERhdGFbXSA9IFtcbiAgICAgIHBsYWluVG9DbGFzcyhDaGFydERhdGEsIHsgbmFtZTogJ0luY29tZScsIGRhdGE6IFtdIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKENoYXJ0RGF0YSwgeyBuYW1lOiAnRXhwZW5zZScsIGRhdGE6IFtdIH0pXG4gICAgXTtcblxuICAgIG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0UGFzdE1vbnRocygpLmZvckVhY2goKG1vbnRoOiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goe1xuICAgICAgICBsYWJlbDogTU9OVEhTW21vbnRoXSxcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnRcbiAgICAgIH0pO1xuICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogTWF0aC5hYnModGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuZ2V0QnlNb250aChtb250aCkuY2xhaW1BbW91bnQpXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjaGFydERhdGE7XG4gIH1cblxuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5zdW1CeSgnYW1vdW50JylcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgYnVzaW5lc3MgdHJhbnNhY3Rpb25zIGNhbGN1bGF0ZWQgZGlmZmVyZW50bHksIHNlcGFyYXRlZCBjb2xsZWN0aW9uP1xuICAgKi9cbiAgZ2V0QnVzaW5lc3NDbGFpbUFtb3VudChidXNpbmVzc0lkOiBudW1iZXIgPSBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSBidXNpbmVzc0lkID8gdGhpcy5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCBidXNpbmVzc0lkKSA6IHRoaXM7XG4gICAgY29uc3QgZXhwZW5zZXMgPSB0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGluY29tZXMgPSB0cmFuc2FjdGlvbnMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk7XG5cbiAgICByZXR1cm4gaW5jb21lcy5zdW1CeSgnY2xhaW1BbW91bnQnKSArIGV4cGVuc2VzLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICB9XG5cbiAgZ2V0VGF4YWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIodHJhbnNhY3Rpb24gPT4gdHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50ID4gMCk7XG4gIH1cbn1cbiJdfQ==
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVgsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUE2QixxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBc0M7SUFDL0U7O09BRUc7SUFDSCxZQUFZLGVBQThCLEVBQUUsRUFBRSxnQkFBZ0MsRUFBRTtRQUM5RSxLQUFLLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxD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QUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25NZXRhRmllbGQsXG4gIFZlaGljbGVDbGFpbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC9jaGFydC1kYXRhJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiwgRmluYW5jaWFsWWVhciwgTU9OVEhTIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlQ29sbGVjdGlvbiB9IGZyb20gJy4uL3NvbGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbjxUcmFuc2FjdGlvbj4ge1xuICAvKipcbiAgICogd2UgdXNlIGRlcHJlY2lhdGlvbnMgYXMgZXhwZW5zZSB0cmFuc2FjdGlvbnMgYSBsb3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSA9IFtdKSB7XG4gICAgc3VwZXIoWy4uLnRyYW5zYWN0aW9ucywgLi4uZGVwcmVjaWF0aW9ucy5tYXAoKGRlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLnRvVHJhbnNhY3Rpb24oKSldKTtcbiAgfVxuXG4gIGdldFNvbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0RmluZEFuZE1hdGNoKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uY2FuRmluZEFuZE1hdGNoKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhdHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+XG4gICAgICBzdW0gKyB0cmFuc2FjdGlvbi5nZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucy5maWx0ZXJCeSgndHJhbnNhY3Rpb24uaWQnLCB0cmFuc2FjdGlvbi5pZCkpLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQ2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmdyb3NzQ2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5ncm9zc0Ftb3VudCwgMCk7XG4gIH1cblxuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBjYXRlZ29yaWVzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9ucyBieSBtb250aFxuICAgKiBAcGFyYW0gbW9udGhJbmRleCBieSB3aGljaCBkZXNpcmVkIG1vbnRoIHNob3VsZCBiZSB0YWtlblxuICAgKi9cbiAgZ2V0QnlNb250aChtb250aEluZGV4OiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+XG4gICAgICB0cmFuc2FjdGlvbi5kYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXhcbiAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnMgbWV0YSBmaWVsZHNcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc01ldGFGaWVsZHMoKTogQ29sbGVjdGlvbjxUcmFuc2FjdGlvbk1ldGFGaWVsZD4ge1xuICAgIGNvbnN0IG1ldGFGaWVsZHNBcnJheTogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIG1ldGFGaWVsZHNBcnJheS5wdXNoKC4uLnRyYW5zYWN0aW9uLm1ldGFGaWVsZHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uTWV0YUZpZWxkPihtZXRhRmllbGRzQXJyYXkpO1xuICB9XG5cbiAgZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0luY29tZSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUV4cGVuc2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1JbnRlcmVzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEludGVyZXN0VHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIGFuZCBwcm9wZXJ0aWVzIGZpbHRlcmVkIGJ5IHByb3BlcnRpZXMgaWRzXG4gICAqIEBwYXJhbSBpZHMgSWRzIG9mIHByb3BlcnRpZXMgZm9yIGZpbHRlclxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgaW5jb21lIHNvdXJjZSBpZFxuICAgKiBAcGFyYW0gaWQgaWQgb2YgaW5jb21lIHNvdXJjZSBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeUluY29tZVNvdXJjZUlkKGlkOiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaW5jb21lU291cmNlPy5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnlcbiAgICogQHBhcmFtIGNhdGVnb3J5IENoYXJ0IGFjY291bnRzIGNhdGVnb3J5IHZhbHVlXG4gICAqL1xuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yeShjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5ID09PSBjYXRlZ29yeSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFByb3BlcnR5VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3RhbmtUeXBlJywgVGFua1R5cGVFbnVtLlBST1BFUlRZKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5SW52b2ljZXMoaW52b2ljZXM6IFNvbGVJbnZvaWNlQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCdpbnZvaWNlSXRlbS5pZCcsIGludm9pY2VzLmdldEludm9pY2VJdGVtc0lkcygpKTtcbiAgfVxuXG4gIGdldEFtb3VudFBlckludm9pY2UoKTogRGljdGlvbmFyeTxudW1iZXI+IHtcbiAgICAvLyBAVE9ETyBpbnZvaWNlSXRlbS5pbnZvaWNlIHdpbGwgYmUgcmVtb3ZlZCBvbiBiYWNrZW5kXG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlJbnZvaWNlID0gdGhpcy5ncm91cEJ5KCdpbnZvaWNlSXRlbS5pbnZvaWNlLmlkJyk7XG4gICAgY29uc3QgZGljdGlvbmFyeTogRGljdGlvbmFyeTxudW1iZXI+ID0gbmV3IERpY3Rpb25hcnkoW10pO1xuXG4gICAgdHJhbnNhY3Rpb25zQnlJbnZvaWNlLmtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBkaWN0aW9uYXJ5LmFkZChrZXksIHRyYW5zYWN0aW9uc0J5SW52b2ljZS5nZXQoa2V5KS5zdW1CeSgnZ3Jvc3NBbW91bnQnKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IHRhbmsgdHlwZVxuICAgKi9cbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3RhbmtUeXBlJywgdGFua1R5cGUpO1xuICB9XG5cbiAgZ2V0RXhwb3J0SGVhZGVyKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydEYXRlJywgJ0Rlc2NyaXB0aW9uJywgJ0RlYml0JywgJ0NyZWRpdCddO1xuICB9XG5cbiAgZ2V0RXhwb3J0Rm9vdGVyKCk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiAnVG90YWwnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICcnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRoaXMuc3VtQnkoJ2RlYml0JyksIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWSB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiB0aGlzLnN1bUJ5KCdjcmVkaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pXG4gICAgXTtcbiAgfVxuXG4gIGdldEV4cG9ydEJvZHkoKTogRXhwb3J0Q2VsbFtdW10ge1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIGlzIG5vdCBhIHJlcXVpcmVkIGZpZWxkIGZvciB0cmFuc2FjdGlvbnMuXG4gICAgICogaWYgdGhlcmUgaXMgbm8gZGVzY3JpcHRpb24sIHRoZW4gYWRkIGFuIGVtcHR5IGxpbmUgc28gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIHdoZW4gdHJhbnNsYXRlZCBpbnRvIGEgc3RyaW5nLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEUgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uZGVzY3JpcHRpb24gPz8gJy0nLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHRyYW5zYWN0aW9uLmRlYml0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogdHJhbnNhY3Rpb24uY3JlZGl0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSlcbiAgICBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBmaWx0ZXJlZCBieSB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBnZXRCeVZlaGljbGVDbGFpbSh2ZWhpY2xlQ2xhaW0/OiBWZWhpY2xlQ2xhaW0pOiB0aGlzIHtcbiAgICBpZiAoIXZlaGljbGVDbGFpbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVoaWNsZUNsYWltLmlzU29sZVRhbmsoKVxuICAgICAgLy8gc29sZSB0YW5rIG1heSBoYXZlIG11bHRpcGxlIHZlaGljbGUgY2xhaW1zLCBzbyB3ZSBuZWVkIHRvIGZpbHRlciBieSBidXNpbmVzcy5pZFxuICAgICAgPyB0aGlzLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5maWx0ZXJCeSgnYnVzaW5lc3MuaWQnLCB2ZWhpY2xlQ2xhaW0uYnVzaW5lc3MuaWQpXG4gICAgICAvLyB3b3JrIHRhbmsgbWF5IGhhdmUgb25seSBvbmUgdmVoaWNsZSBjbGFpbSwgc28gd2UgbmVlZCB0byBmaWx0ZXIgYnkgdGFuayB0eXBlXG4gICAgICA6IHRoaXMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmZpbHRlckJ5KCd0YW5rVHlwZScsIFRhbmtUeXBlRW51bS5XT1JLKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIHRyYW5zYWN0aW9ucyBleGNlcHQgS01TIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0TG9nYm9va1RyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLnJlbW92ZUJ5KCdjaGFydEFjY291bnRzLmlkJywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgY2hhcnQgZGF0YSB3aXRoIHRyYW5zYWN0aW9ucyBjYXNoIHBvc2l0aW9uLlxuICAgKiBDYXNoIHBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZXMgKGluY2x1ZGUgZGVwcmVjaWF0aW9ucylcbiAgICogQ2hhcnQgZGF0YSBmb3IgZWFjaCBtb250aCBmcm9tIGZpbiB5ZWFyIHN0YXJ0IHRpbGwgY3VycmVudCBtb250aFxuICAgKi9cbiAgZ2V0Q2FzaFBvc2l0aW9uQ2hhcnREYXRhKCk6IENoYXJ0RGF0YVtdIHtcbiAgICBjb25zdCBjaGFydERhdGE6IENoYXJ0RGF0YVtdID0gW1xuICAgICAgcGxhaW5Ub0NsYXNzKENoYXJ0RGF0YSwgeyBuYW1lOiAnSW5jb21lJywgZGF0YTogW10gfSksXG4gICAgICBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7IG5hbWU6ICdFeHBlbnNlJywgZGF0YTogW10gfSlcbiAgICBdO1xuXG4gICAgbmV3IEZpbmFuY2lhbFllYXIoKS5nZXRQYXN0TW9udGhzKCkuZm9yRWFjaCgobW9udGg6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgICAgY2hhcnREYXRhWzBdLmRhdGEucHVzaCh7XG4gICAgICAgIGxhYmVsOiBNT05USFNbbW9udGhdLFxuICAgICAgICB2YWx1ZTogdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudFxuICAgICAgfSk7XG4gICAgICBjaGFydERhdGFbMV0uZGF0YS5wdXNoKHtcbiAgICAgICAgbGFiZWw6IE1PTlRIU1ttb250aF0sXG4gICAgICAgIHZhbHVlOiBNYXRoLmFicyh0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5nZXRCeU1vbnRoKG1vbnRoKS5jbGFpbUFtb3VudClcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmdldEJ5VHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLnN1bUJ5KCdhbW91bnQnKVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBidXNpbmVzcyB0cmFuc2FjdGlvbnMgY2FsY3VsYXRlZCBkaWZmZXJlbnRseSwgc2VwYXJhdGVkIGNvbGxlY3Rpb24/XG4gICAqL1xuICBnZXRCdXNpbmVzc0NsYWltQW1vdW50KGJ1c2luZXNzSWQ6IG51bWJlciA9IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGJ1c2luZXNzSWQgPyB0aGlzLmZpbHRlckJ5KCdidXNpbmVzcy5pZCcsIGJ1c2luZXNzSWQpIDogdGhpcztcbiAgICBjb25zdCBleHBlbnNlcyA9IHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk7XG4gICAgY29uc3QgaW5jb21lcyA9IHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKTtcblxuICAgIHJldHVybiBpbmNvbWVzLnN1bUJ5KCdjbGFpbUFtb3VudCcpICsgZXhwZW5zZXMuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gIH1cblxuICBnZXRUYXhhYmxlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgPiAwKTtcbiAgfVxufVxuIl19
|
@@ -4,10 +4,10 @@ export var BankAccountTypeEnum;
|
|
4
4
|
BankAccountTypeEnum[BankAccountTypeEnum["SAVINGS"] = 2] = "SAVINGS";
|
5
5
|
BankAccountTypeEnum[BankAccountTypeEnum["CREDIT_CARD"] = 3] = "CREDIT_CARD";
|
6
6
|
// @TODO Alex: should be removed by backend (TT-2107)
|
7
|
-
|
7
|
+
BankAccountTypeEnum[BankAccountTypeEnum["MORTGAGE"] = 4] = "MORTGAGE";
|
8
8
|
BankAccountTypeEnum[BankAccountTypeEnum["LOAN"] = 5] = "LOAN";
|
9
9
|
BankAccountTypeEnum[BankAccountTypeEnum["INVESTMENT"] = 6] = "INVESTMENT";
|
10
10
|
BankAccountTypeEnum[BankAccountTypeEnum["TERM_DEPOSIT"] = 7] = "TERM_DEPOSIT";
|
11
11
|
BankAccountTypeEnum[BankAccountTypeEnum["OFFSET"] = 10] = "OFFSET";
|
12
12
|
})(BankAccountTypeEnum || (BankAccountTypeEnum = {}));
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9iYW5rL2JhbmstYWNjb3VudC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBVVg7QUFWRCxXQUFZLG1CQUFtQjtJQUM3QiwyRUFBZSxDQUFBO0lBQ2YsbUVBQVcsQ0FBQTtJQUNYLDJFQUFlLENBQUE7SUFDZixxREFBcUQ7SUFDckQscUVBQVksQ0FBQTtJQUNaLDZEQUFRLENBQUE7SUFDUix5RUFBYyxDQUFBO0lBQ2QsNkVBQWdCLENBQUE7SUFDaEIsa0VBQVcsQ0FBQTtBQUNiLENBQUMsRUFWVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBVTlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQmFua0FjY291bnRUeXBlRW51bSB7XG4gIFRSQU5TQUNUSU9OID0gMSxcbiAgU0FWSU5HUyA9IDIsXG4gIENSRURJVF9DQVJEID0gMyxcbiAgLy8gQFRPRE8gQWxleDogc2hvdWxkIGJlIHJlbW92ZWQgYnkgYmFja2VuZCAoVFQtMjEwNylcbiAgTU9SVEdBR0UgPSA0LFxuICBMT0FOID0gNSxcbiAgSU5WRVNUTUVOVCA9IDYsXG4gIFRFUk1fREVQT1NJVCA9IDcsXG4gIE9GRlNFVCA9IDEwLFxufVxuIl19
|