taxtank-core 0.30.27 → 0.30.29-1
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.
- package/esm2020/lib/db/Models/bank/bank-account-property.mjs +6 -1
- package/esm2020/lib/db/Models/bank/bank-account.mjs +6 -1
- package/esm2020/lib/db/Models/loan/loan-payout.mjs +9 -1
- package/esm2020/lib/db/Models/loan/loan.mjs +18 -1
- package/esm2020/lib/db/Models/property/property-share.mjs +6 -1
- package/esm2020/lib/db/Models/property/property-valuation.mjs +6 -1
- package/esm2020/lib/db/Models/property/property.mjs +18 -1
- package/esm2020/lib/forms/sole/sole-invoice.form.mjs +5 -1
- package/esm2020/lib/forms/transaction/allocation-rule-transaction.form.mjs +3 -2
- package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +3 -1
- package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
- package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
- package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
- package/esm2020/lib/models/property/property-valuation.mjs +4 -1
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
- package/esm2020/lib/services/asset/assets.service.mjs +3 -3
- package/esm2020/lib/services/auth/auth.service.mjs +3 -3
- package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
- package/esm2020/lib/services/event/sse.service.mjs +3 -3
- package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
- package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
- package/esm2020/lib/services/http/address/address.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +5 -4
- package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document.service.mjs +3 -3
- package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
- package/esm2020/lib/services/http/file/file.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
- package/esm2020/lib/services/http/google/google.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding-sale.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding-type.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property.service.mjs +3 -3
- package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
- package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
- package/esm2020/lib/services/http/user/occupation/occupation.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user.service.mjs +3 -3
- package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
- package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
- package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
- package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
- package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
- package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
- package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
- package/esm2020/lib/services/toast/toast.service.mjs +3 -3
- package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
- package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
- package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
- package/esm2020/lib/tt-core.module.mjs +4 -4
- package/esm2020/lib/validators/transactions-meta-fields.validator.mjs +34 -0
- package/fesm2015/taxtank-core.mjs +438 -344
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +438 -344
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
- package/lib/models/property/property-valuation.d.ts +1 -0
- package/lib/validators/transactions-meta-fields.validator.d.ts +5 -0
- package/package.json +1 -1
|
@@ -36,9 +36,9 @@ export class XlsxService {
|
|
|
36
36
|
return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
40
|
-
XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
39
|
+
XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: XlsxService, providedIn: 'root' });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: XlsxService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{
|
|
44
44
|
providedIn: 'root'
|
|
@@ -16,12 +16,12 @@ export class TtCoreModule {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
20
|
-
TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
19
|
+
TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
|
|
21
21
|
InterceptorsModule] });
|
|
22
|
-
TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
22
|
+
TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
|
|
23
23
|
InterceptorsModule] });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TtCoreModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
declarations: [],
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChartAccountsMetaFieldListEnum } from '../db/Enums';
|
|
2
|
+
/**
|
|
3
|
+
* Validator that check fields for transaction meta
|
|
4
|
+
*/
|
|
5
|
+
export function transactionsMetaFieldsValidator() {
|
|
6
|
+
return (formGroup) => {
|
|
7
|
+
const chartAccounts = formGroup.get('chartAccounts').value;
|
|
8
|
+
if (!chartAccounts) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const metaFields = chartAccounts.metaFields;
|
|
12
|
+
if (chartAccounts.isDividends()) {
|
|
13
|
+
return checkDividends(metaFields, formGroup);
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* the sum of the fields "Franked" and "Unfranked" must equal transactions amount
|
|
20
|
+
*/
|
|
21
|
+
function checkDividends(metaFields, formGroup) {
|
|
22
|
+
const frankedAndUnfrankedIds = [ChartAccountsMetaFieldListEnum.FRANKED, ChartAccountsMetaFieldListEnum.UNFRANKED];
|
|
23
|
+
const amount = Math.abs(formGroup.get('amount').value);
|
|
24
|
+
const frankedAndUnfrankedControls = (formGroup.get('metaFields')).controls
|
|
25
|
+
.filter((control) => frankedAndUnfrankedIds.includes(control.get('chartAccountsMetaField').value.id));
|
|
26
|
+
const frankedAndUnfrankedAmount = frankedAndUnfrankedControls.reduce((sum, control) => sum + (+control.get('value').value), 0);
|
|
27
|
+
for (let control of frankedAndUnfrankedControls) {
|
|
28
|
+
if (control.get('value').value !== null && frankedAndUnfrankedAmount !== amount) {
|
|
29
|
+
return { metaFields: `Field ${control.get('chartAccountsMetaField').value.label} is required` };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return amount === frankedAndUnfrankedAmount ? null : { metaFields: 'Please enter the franked and/or unfranked amounts.' };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25zLW1ldGEtZmllbGRzLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi92YWxpZGF0b3JzL3RyYW5zYWN0aW9ucy1tZXRhLWZpZWxkcy52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTdEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQjtJQUM3QyxPQUFPLENBQUMsU0FBMkMsRUFBMkIsRUFBRTtRQUM5RSxNQUFNLGFBQWEsR0FBa0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFMUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxVQUFVLEdBQTZCLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFdEUsSUFBSSxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDL0IsT0FBTyxjQUFjLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGNBQWMsQ0FBQyxVQUFVLEVBQUUsU0FBUztJQUMzQyxNQUFNLHNCQUFzQixHQUFxQyxDQUFDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwSixNQUFNLE1BQU0sR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsTUFBTSwyQkFBMkIsR0FBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUTtTQUM3RixNQUFNLENBQUMsQ0FBQyxPQUFrQixFQUFFLEVBQUUsQ0FDN0Isc0JBQXNCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVyRixNQUFNLHlCQUF5QixHQUFXLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxPQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFNUosS0FBSyxJQUFJLE9BQU8sSUFBSSwyQkFBMkIsRUFBRztRQUNoRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSx5QkFBeUIsS0FBSyxNQUFNLEVBQUU7WUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxjQUFjLEVBQUUsQ0FBQTtTQUNoRztLQUNGO0lBRUQsT0FBTyxNQUFNLEtBQUsseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsb0RBQW9ELEVBQUUsQ0FBQztBQUM1SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cywgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlRm9ybSB9IGZyb20gJy4uL2Zvcm1zJztcblxuLyoqXG4gKiBWYWxpZGF0b3IgdGhhdCBjaGVjayBmaWVsZHMgZm9yIHRyYW5zYWN0aW9uIG1ldGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zYWN0aW9uc01ldGFGaWVsZHNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGZvcm1Hcm91cDogVHJhbnNhY3Rpb25CYXNlRm9ybTxUcmFuc2FjdGlvbj4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IGZvcm1Hcm91cC5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZTtcblxuICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YUZpZWxkczogQ2hhcnRBY2NvdW50c01ldGFGaWVsZFtdID0gY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzO1xuXG4gICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNEaXZpZGVuZHMoKSkge1xuICAgICAgcmV0dXJuIGNoZWNrRGl2aWRlbmRzKG1ldGFGaWVsZHMsIGZvcm1Hcm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiB0aGUgc3VtIG9mIHRoZSBmaWVsZHMgXCJGcmFua2VkXCIgYW5kIFwiVW5mcmFua2VkXCIgbXVzdCBlcXVhbCB0cmFuc2FjdGlvbnMgYW1vdW50XG4gKi9cbmZ1bmN0aW9uIGNoZWNrRGl2aWRlbmRzKG1ldGFGaWVsZHMsIGZvcm1Hcm91cCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICBjb25zdCBmcmFua2VkQW5kVW5mcmFua2VkSWRzOiBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW1bXSA9IFtDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktFRCwgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlVORlJBTktFRF07XG4gIGNvbnN0IGFtb3VudDogbnVtYmVyID0gTWF0aC5hYnMoZm9ybUdyb3VwLmdldCgnYW1vdW50JykudmFsdWUpO1xuICBjb25zdCBmcmFua2VkQW5kVW5mcmFua2VkQ29udHJvbHM6IFVudHlwZWRGb3JtQ29udHJvbFtdID0gKGZvcm1Hcm91cC5nZXQoJ21ldGFGaWVsZHMnKSkuY29udHJvbHNcbiAgICAuZmlsdGVyKChjb250cm9sOiBGb3JtR3JvdXApID0+XG4gICAgICBmcmFua2VkQW5kVW5mcmFua2VkSWRzLmluY2x1ZGVzKGNvbnRyb2wuZ2V0KCdjaGFydEFjY291bnRzTWV0YUZpZWxkJykudmFsdWUuaWQpKTtcblxuICBjb25zdCBmcmFua2VkQW5kVW5mcmFua2VkQW1vdW50OiBudW1iZXIgPSBmcmFua2VkQW5kVW5mcmFua2VkQ29udHJvbHMucmVkdWNlKChzdW06IG51bWJlciwgY29udHJvbDogRm9ybUNvbnRyb2wpID0+IHN1bSArICgrY29udHJvbC5nZXQoJ3ZhbHVlJykudmFsdWUpLCAwKTtcblxuICBmb3IoIGxldCBjb250cm9sIG9mIGZyYW5rZWRBbmRVbmZyYW5rZWRDb250cm9scyApIHtcbiAgICBpZiAoY29udHJvbC5nZXQoJ3ZhbHVlJykudmFsdWUgIT09IG51bGwgJiYgZnJhbmtlZEFuZFVuZnJhbmtlZEFtb3VudCAhPT0gYW1vdW50KSB7XG4gICAgICByZXR1cm4geyBtZXRhRmllbGRzOiBgRmllbGQgJHtjb250cm9sLmdldCgnY2hhcnRBY2NvdW50c01ldGFGaWVsZCcpLnZhbHVlLmxhYmVsfSBpcyByZXF1aXJlZGAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhbW91bnQgPT09IGZyYW5rZWRBbmRVbmZyYW5rZWRBbW91bnQgPyBudWxsIDogeyBtZXRhRmllbGRzOiAnUGxlYXNlIGVudGVyIHRoZSBmcmFua2VkIGFuZC9vciB1bmZyYW5rZWQgYW1vdW50cy4nIH07XG59XG4iXX0=
|