taxtank-core 0.32.18 → 0.32.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,7 +5,6 @@ import { TransactionOperationEnum } from '../../../db/Enums/transaction-operatio
|
|
|
5
5
|
import { RestService } from '../rest/rest-old.service';
|
|
6
6
|
import { AppEvent, AppEventTypeEnum, Depreciation, Transaction } from '../../../models';
|
|
7
7
|
import _ from 'lodash';
|
|
8
|
-
import { PropertyCategoryListEnum } from '../../../db/Enums/property/property-category-list.enum';
|
|
9
8
|
import { classToPlain } from 'class-transformer';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@angular/common/http";
|
|
@@ -82,7 +81,7 @@ export class TransactionService extends RestService {
|
|
|
82
81
|
* Get list of property holding costs (transactions related to vacant land property)
|
|
83
82
|
*/
|
|
84
83
|
getPropertyHoldingCosts(propertyId) {
|
|
85
|
-
return super.fetch(`${this.environment.apiV2}/${
|
|
84
|
+
return super.fetch(`${this.environment.apiV2}/properties/${propertyId}/holding-costs`, false);
|
|
86
85
|
}
|
|
87
86
|
/**
|
|
88
87
|
* get list of taxable transactions with tank type 'Work'
|
|
@@ -267,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
267
266
|
type: Inject,
|
|
268
267
|
args: ['environment']
|
|
269
268
|
}] }]; } });
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFJbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBQ2pEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXlDO0lBTS9FLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVJuRCwrQkFBK0I7UUFDL0IsUUFBRyxHQUFHLGNBQWMsQ0FBQztRQUNyQixlQUFVLEdBQUcsV0FBVyxDQUFD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QUNyRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQTdTVSxrQkFBa0Isa0ZBU25CLGFBQWE7bUhBVFosa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSwgc29ydCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSwgRGVwcmVjaWF0aW9uLCBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3IgVHJhbnNhY3Rpb24gQVBJXG4gIHVybCA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlGb3JlY2FzdFVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuSW52b2ljZXNQdWJsaXNoKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYWxsIHVzZXIncyBUYXhUYW5rIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoKS5waXBlKFxuICAgICAgLy8gYXNzaWduIGNoaWxkIHRyYW5zYWN0aW9ucyAoZmVlcykgdG8gcGFyZW50IHRyYW5zYWN0aW9uc1xuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzb3J0KHRyYW5zYWN0aW9ucywgJ2RhdGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNXb3JrVGFuaygpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgcHJvcGVydHkgaG9sZGluZyBjb3N0cyAodHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdmFjYW50IGxhbmQgcHJvcGVydHkpXG4gICAqL1xuICBnZXRQcm9wZXJ0eUhvbGRpbmdDb3N0cyhwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZmV0Y2goYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/cHJvcGVydHlJZD0ke3Byb3BlcnR5SWR9JnByb3BlcnR5Q2F0ZWdvcnlJZD0ke1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5WQUNBTlRfTEFORH1gLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMudGF4UmV0dXJuSXRlbSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBMaXN0IG9mIG5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZXMgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgdHJhbnNhY3Rpb25zID0gXy5jbG9uZURlZXAodHJhbnNhY3Rpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb25zKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZCB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2godHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHRvIGNhY2hlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24ub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVIpIHtcbiAgICAgICAgICAgICAgYWRkZWRUcmFuc2FjdGlvbnMucHVzaChhZGRlZFRyYW5zYWN0aW9uc1swXS50cmFuc2Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5wdXNoKC4uLmFkZGVkVHJhbnNhY3Rpb25zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb25bXT4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCwgYWRkZWRUcmFuc2FjdGlvbnMpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBhZGRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZSh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHt0cmFuc2FjdGlvbi5pZH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb24pKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZCB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodXBkYXRlZFRyYW5zYWN0aW9uKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKHRyYW5zYWN0aW9ucykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb25zLmZvckVhY2goKHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIHRyYW5zYWN0aW9uIGFuZCByZWxhdGVkIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gbW9kZWxcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiBkZWxldGUgdHJhbnNmZXIgd2UgZGVsZXRlIGFjdHVhbGx5IDIgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAobW9kZWwuaXNUcmFuc2Zlcikge1xuICAgICAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gW21vZGVsLmlkXTtcblxuICAgICAgICAgICAgICAvLyBnZXQgaWQgb2YgcmVsYXRlZCB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICBpZiAobW9kZWwudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBqdXN0IHRha2UgaWQgaWYgd2UgZGVsZXRlIHNvdXJjZSB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKG1vZGVsLnRyYW5zZmVyLmlkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHNvdXJjZSB0cmFuc2FjdGlvbiBpZCBpZiB3ZSBkZWxldGUgZGVzdGluYXRpb24gdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaCh0aGlzLmNhY2hlLmZpbmQoKHQ6IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0LnRyYW5zZmVyLmlkID09PSBtb2RlbC5pZCkuaWQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICFpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaWQgIT09IG1vZGVsLmlkICYmIHRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uPy5pZCAhPT0gbW9kZWwuaWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCwgbW9kZWwpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRGVsZXRlZC5lbWl0KG1vZGVsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleCB3cm9uZyBwbGFjZSBmb3IgdGhpcyBsb2dpYywgbW92ZSB0byBtb2RlbFxuICAgKiBjYWxjdWxhdGUgZ3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIHRheGVzIChmZWVzKVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIGNhbGN1bGF0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVHcm9zc0Ftb3VudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuICAgIGxldCBhbW91bnQ6IG51bWJlciA9IHRyYW5zYWN0aW9uLmFtb3VudCB8fCAwO1xuXG4gICAgLy8gZ3Jvc3MgaW5jb21lIGFtb3VudCBpbmNsdWRlcyBhbW91bnQgb2YgZmVlcyBmb3IgcHJvcGVydHkgdGFuayBhbmQgdGF4IGZvciB3b3JrIHRhbmtcbiAgICBpZiAodHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgYW1vdW50ICs9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgaXRlbS5hbW91bnQsIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAVE9ETyBBbGV4OiBmaXggbG9naWMgYWZ0ZXIgVFQtNjQxIHJlYWR5XG4gICAgICBhbW91bnQgKz0gKHRyYW5zYWN0aW9uLnRheCB8fCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gRGVwcmVjaWF0aW9uIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyByZXNldCBjYWNoZSBvbmx5IHdoZW4gcmVxdWlyZWQgKGRlcHJlY2lhdGlvbiBoYXMgdHJhbnNhY3Rpb24pXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5EZXByZWNpYXRpb24uZ2V0RXZlbnROYW1lcygncG9zdCcsICdkZWxldGUnKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBQcm9wZXJ0eSBTaGFyZSBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hDYWNoZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9ERVRBSUxTX1VQREFURURcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHByb3BlcnR5IGZvcmVjYXN0IGluY2x1ZGVzIGNsYWltUGVyY2VudCB3aGljaCBhZmZlY3RzIHByb3BlcnR5IHJlbGF0ZWQgZXhwZW5zZXNcbiAgICogQFRPRE8gQWxleCBtb3ZlIHRvIGZvcmVjYXN0IGFwaSBpbnN0ZWFkIG9mIHByb3BlcnR5XG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5Rm9yZWNhc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1JlcGxhY2U6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB0cmFuc2FjdGlvblRvUmVwbGFjZSk7XG4gICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5JbnZvaWNlc1B1Ymxpc2goKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uU09MRV9JTlZPSUNFX1BVQkxJU0hFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSlcbiAgfVxufVxuIl19
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFLdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBQ2pEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXlDO0lBTS9FLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVJuRCwrQkFBK0I7UUFDL0IsUUFBRyxHQUFHLGNBQWMsQ0FBQztRQUNyQixlQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLHVCQUFrQixHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBUTlF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bUhBVFosa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSwgc29ydCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSwgRGVwcmVjaWF0aW9uLCBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNsYXNzVG9QbGFpbiB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3IgVHJhbnNhY3Rpb24gQVBJXG4gIHVybCA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlGb3JlY2FzdFVwZGF0ZSgpO1xuICAgIHRoaXMubGlzdGVuSW52b2ljZXNQdWJsaXNoKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYWxsIHVzZXIncyBUYXhUYW5rIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoKS5waXBlKFxuICAgICAgLy8gYXNzaWduIGNoaWxkIHRyYW5zYWN0aW9ucyAoZmVlcykgdG8gcGFyZW50IHRyYW5zYWN0aW9uc1xuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzb3J0KHRyYW5zYWN0aW9ucywgJ2RhdGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNXb3JrVGFuaygpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgcHJvcGVydHkgaG9sZGluZyBjb3N0cyAodHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdmFjYW50IGxhbmQgcHJvcGVydHkpXG4gICAqL1xuICBnZXRQcm9wZXJ0eUhvbGRpbmdDb3N0cyhwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZmV0Y2goYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5SWR9L2hvbGRpbmctY29zdHNgLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMudGF4UmV0dXJuSXRlbSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBMaXN0IG9mIG5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZXMgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgdHJhbnNhY3Rpb25zID0gXy5jbG9uZURlZXAodHJhbnNhY3Rpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb25zKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZCB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2godHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHRvIGNhY2hlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24ub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVIpIHtcbiAgICAgICAgICAgICAgYWRkZWRUcmFuc2FjdGlvbnMucHVzaChhZGRlZFRyYW5zYWN0aW9uc1swXS50cmFuc2Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5wdXNoKC4uLmFkZGVkVHJhbnNhY3Rpb25zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb25bXT4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCwgYWRkZWRUcmFuc2FjdGlvbnMpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBhZGRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIGV4aXN0aW5nIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZSh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHt0cmFuc2FjdGlvbi5pZH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb24pKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHsgaWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZCB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodXBkYXRlZFRyYW5zYWN0aW9uKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKHRyYW5zYWN0aW9ucykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG5cbiAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb25zLmZvckVhY2goKHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIHRyYW5zYWN0aW9uIGFuZCByZWxhdGVkIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gbW9kZWxcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiBkZWxldGUgdHJhbnNmZXIgd2UgZGVsZXRlIGFjdHVhbGx5IDIgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAobW9kZWwuaXNUcmFuc2Zlcikge1xuICAgICAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gW21vZGVsLmlkXTtcblxuICAgICAgICAgICAgICAvLyBnZXQgaWQgb2YgcmVsYXRlZCB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICBpZiAobW9kZWwudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBqdXN0IHRha2UgaWQgaWYgd2UgZGVsZXRlIHNvdXJjZSB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKG1vZGVsLnRyYW5zZmVyLmlkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHNvdXJjZSB0cmFuc2FjdGlvbiBpZCBpZiB3ZSBkZWxldGUgZGVzdGluYXRpb24gdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaCh0aGlzLmNhY2hlLmZpbmQoKHQ6IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0LnRyYW5zZmVyLmlkID09PSBtb2RlbC5pZCkuaWQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICFpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaWQgIT09IG1vZGVsLmlkICYmIHRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uPy5pZCAhPT0gbW9kZWwuaWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCwgbW9kZWwpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRGVsZXRlZC5lbWl0KG1vZGVsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleCB3cm9uZyBwbGFjZSBmb3IgdGhpcyBsb2dpYywgbW92ZSB0byBtb2RlbFxuICAgKiBjYWxjdWxhdGUgZ3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIHRheGVzIChmZWVzKVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIGNhbGN1bGF0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVHcm9zc0Ftb3VudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuICAgIGxldCBhbW91bnQ6IG51bWJlciA9IHRyYW5zYWN0aW9uLmFtb3VudCB8fCAwO1xuXG4gICAgLy8gZ3Jvc3MgaW5jb21lIGFtb3VudCBpbmNsdWRlcyBhbW91bnQgb2YgZmVlcyBmb3IgcHJvcGVydHkgdGFuayBhbmQgdGF4IGZvciB3b3JrIHRhbmtcbiAgICBpZiAodHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgYW1vdW50ICs9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgaXRlbS5hbW91bnQsIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAVE9ETyBBbGV4OiBmaXggbG9naWMgYWZ0ZXIgVFQtNjQxIHJlYWR5XG4gICAgICBhbW91bnQgKz0gKHRyYW5zYWN0aW9uLnRheCB8fCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gRGVwcmVjaWF0aW9uIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyByZXNldCBjYWNoZSBvbmx5IHdoZW4gcmVxdWlyZWQgKGRlcHJlY2lhdGlvbiBoYXMgdHJhbnNhY3Rpb24pXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5EZXByZWNpYXRpb24uZ2V0RXZlbnROYW1lcygncG9zdCcsICdkZWxldGUnKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBQcm9wZXJ0eSBTaGFyZSBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hDYWNoZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9ERVRBSUxTX1VQREFURURcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHByb3BlcnR5IGZvcmVjYXN0IGluY2x1ZGVzIGNsYWltUGVyY2VudCB3aGljaCBhZmZlY3RzIHByb3BlcnR5IHJlbGF0ZWQgZXhwZW5zZXNcbiAgICogQFRPRE8gQWxleCBtb3ZlIHRvIGZvcmVjYXN0IGFwaSBpbnN0ZWFkIG9mIHByb3BlcnR5XG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5Rm9yZWNhc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1JlcGxhY2U6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB0cmFuc2FjdGlvblRvUmVwbGFjZSk7XG4gICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5JbnZvaWNlc1B1Ymxpc2goKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uU09MRV9JTlZPSUNFX1BVQkxJU0hFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSlcbiAgfVxufVxuIl19
|
|
@@ -14939,7 +14939,7 @@ class TransactionService extends RestService {
|
|
|
14939
14939
|
* Get list of property holding costs (transactions related to vacant land property)
|
|
14940
14940
|
*/
|
|
14941
14941
|
getPropertyHoldingCosts(propertyId) {
|
|
14942
|
-
return super.fetch(`${this.environment.apiV2}/${
|
|
14942
|
+
return super.fetch(`${this.environment.apiV2}/properties/${propertyId}/holding-costs`, false);
|
|
14943
14943
|
}
|
|
14944
14944
|
/**
|
|
14945
14945
|
* get list of taxable transactions with tank type 'Work'
|