taxtank-core 0.28.97 → 0.28.98
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/bundles/taxtank-core.umd.js +2600 -2329
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/index.js +3 -1
- package/esm2015/lib/db/Models/abstract-model.js +2 -1
- package/esm2015/lib/db/Models/observable-model.js +10 -0
- package/esm2015/lib/db/Models/property/property.js +3 -3
- package/esm2015/lib/db/Models/sole/bas-report.js +3 -2
- package/esm2015/lib/functions/array/index.js +2 -1
- package/esm2015/lib/functions/array/to-array.js +7 -0
- package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
- package/esm2015/lib/interceptors/basiq-token.interceptor.js +3 -3
- package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
- package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
- package/esm2015/lib/interceptors/interceptors.module.js +4 -4
- package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
- package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
- package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
- package/esm2015/lib/models/event/app-event.js +12 -1
- package/esm2015/lib/models/property/property.js +3 -1
- package/esm2015/lib/services/account-setup/account-setup.service.js +6 -5
- package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
- package/esm2015/lib/services/asset/assets.service.js +3 -3
- package/esm2015/lib/services/auth/auth.service.js +3 -3
- package/esm2015/lib/services/auth/jwt.service.js +3 -3
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/event/event-dispatcher.service.js +15 -4
- package/esm2015/lib/services/event/sse.service.js +3 -3
- package/esm2015/lib/services/export/export-formatter.service.js +3 -3
- package/esm2015/lib/services/header-title/header-title.service.js +3 -3
- package/esm2015/lib/services/http/address/address.service.js +3 -3
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +5 -5
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +5 -5
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +5 -5
- package/esm2015/lib/services/http/bank/bank.service.js +5 -5
- package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +3 -3
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +5 -5
- package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +5 -5
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
- package/esm2015/lib/services/http/chat/chat.service.js +5 -5
- package/esm2015/lib/services/http/chat/message/message.service.js +5 -5
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +5 -5
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +5 -5
- package/esm2015/lib/services/http/document/document.service.js +5 -5
- package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +5 -5
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +5 -5
- package/esm2015/lib/services/http/firm/employee/employee.service.js +5 -5
- package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +5 -5
- package/esm2015/lib/services/http/firm/firm.service.js +3 -3
- package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +5 -5
- package/esm2015/lib/services/http/income-source/income-source.service.js +5 -5
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +5 -5
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +5 -5
- package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
- package/esm2015/lib/services/http/loan/loan.service.js +5 -5
- package/esm2015/lib/services/http/property/property-category/property-category.service.js +5 -5
- package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +5 -5
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +5 -5
- package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +5 -5
- package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +5 -5
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +5 -5
- package/esm2015/lib/services/http/property/property.service.js +32 -49
- package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
- package/esm2015/lib/services/http/rest/http-method.type.js +2 -0
- package/esm2015/lib/services/http/rest/index.js +3 -1
- package/esm2015/lib/services/http/rest/rest-method.type.js +2 -0
- package/esm2015/lib/services/http/rest/rest-old.service.js +225 -0
- package/esm2015/lib/services/http/rest/rest.service.js +146 -149
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +5 -5
- package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +5 -5
- package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +5 -5
- package/esm2015/lib/services/http/subscription/service-price.service.js +5 -5
- package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +5 -5
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +5 -5
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +5 -5
- package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction.service.js +5 -5
- package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
- package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +5 -5
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +5 -5
- package/esm2015/lib/services/http/user/user.service.js +3 -3
- package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +5 -5
- package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +5 -5
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +5 -5
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +5 -5
- package/esm2015/lib/services/intercom/intercom.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
- package/esm2015/lib/services/preloader/preloader.service.js +3 -3
- package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
- package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +5 -6
- package/esm2015/lib/services/toast/toast.service.js +3 -3
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/user/user-switcher.service.js +3 -3
- package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
- package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
- package/esm2015/lib/tt-core.module.js +4 -4
- package/fesm2015/taxtank-core.js +2247 -2012
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/index.d.ts +2 -0
- package/lib/db/Models/observable-model.d.ts +8 -0
- package/lib/db/Models/property/property.d.ts +2 -2
- package/lib/db/Models/sole/bas-report.d.ts +2 -1
- package/lib/functions/array/index.d.ts +1 -0
- package/lib/functions/array/to-array.d.ts +4 -0
- package/lib/models/event/app-event.d.ts +9 -0
- package/lib/models/property/property.d.ts +2 -0
- package/lib/services/event/event-dispatcher.service.d.ts +9 -1
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -1
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -1
- package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +1 -1
- package/lib/services/http/bank/bank.service.d.ts +1 -1
- package/lib/services/http/bank/basiq/basiq.service.d.ts +1 -1
- package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +1 -1
- package/lib/services/http/chat/chat.service.d.ts +1 -1
- package/lib/services/http/chat/message/message.service.d.ts +1 -1
- package/lib/services/http/depreciation/depreciation.service.d.ts +1 -1
- package/lib/services/http/document/document-folder/document-folder.service.d.ts +1 -1
- package/lib/services/http/document/document.service.d.ts +1 -1
- package/lib/services/http/firm/client-invite/client-invite.service.d.ts +1 -1
- package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
- package/lib/services/http/firm/employee/employee.service.d.ts +1 -1
- package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +1 -1
- package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +1 -1
- package/lib/services/http/income-source/income-source.service.d.ts +1 -1
- package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -1
- package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +1 -1
- package/lib/services/http/loan/loan.service.d.ts +1 -1
- package/lib/services/http/property/property-category/property-category.service.d.ts +1 -1
- package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +1 -1
- package/lib/services/http/property/property-document/property-document.service.d.ts +1 -1
- package/lib/services/http/property/property-sale/property-sale.service.d.ts +1 -1
- package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +1 -1
- package/lib/services/http/property/property-share/property-share.service.d.ts +1 -1
- package/lib/services/http/property/property.service.d.ts +8 -11
- package/lib/services/http/rest/http-method.type.d.ts +1 -0
- package/lib/services/http/rest/index.d.ts +2 -0
- package/lib/services/http/rest/rest-method.type.d.ts +1 -0
- package/lib/services/http/rest/rest-old.service.d.ts +110 -0
- package/lib/services/http/rest/rest.service.d.ts +71 -62
- package/lib/services/http/service-notification/service-notification.service.d.ts +1 -1
- package/lib/services/http/sole/bas-report/bas-report.service.d.ts +1 -1
- package/lib/services/http/sole/sole-business/sole-business.service.d.ts +1 -1
- package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +1 -1
- package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts +1 -1
- package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts +1 -1
- package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts +1 -1
- package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts +1 -1
- package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +1 -1
- package/lib/services/http/subscription/service-price.service.d.ts +1 -1
- package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +1 -1
- package/lib/services/http/tax-review/tax-review.service.d.ts +1 -1
- package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +1 -1
- package/lib/services/http/transaction/transaction.service.d.ts +1 -1
- package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +1 -1
- package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +1 -1
- package/lib/services/http/user/users-invite/users-invite.service.d.ts +1 -1
- package/lib/services/http/vehicle/vehicle-claim.service.d.ts +1 -1
- package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +1 -1
- package/lib/services/http/vehicle/vehicle.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,223 +1,220 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { first, map } from 'rxjs/operators';
|
|
4
|
+
import { plainToClass } from 'class-transformer';
|
|
5
|
+
import { AppEvent2 } from '../../../models/event/app-event';
|
|
6
|
+
import { ObservableModel } from '../../../db/Models/observable-model';
|
|
7
|
+
import { toArray } from '../../../functions/array';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@angular/common/http";
|
|
8
10
|
import * as i2 from "../../event/event-dispatcher.service";
|
|
9
|
-
import * as i3 from "../../toast/toast.service";
|
|
10
11
|
/**
|
|
11
12
|
* Abstract base service that implements common services functionality
|
|
12
13
|
* and describe abstract methods/properties that have to be implemented in child services
|
|
13
14
|
* Model - entity service is working with
|
|
14
15
|
* BaseModel - base entity model that extends by Model
|
|
15
|
-
*
|
|
16
|
-
* @TODO TT-1777 Alex: implement smart system of default toast messages
|
|
17
|
-
* @TODO TT-1777 Alex: work not only with array/collection but with single objects
|
|
18
|
-
* @TODO TT-1777 Alex: automatic events generation (eventDispatcher)
|
|
19
|
-
* @TODO TT-1777 Alex: optional rest methods (not all services have all 4 methods)
|
|
16
|
+
* CollectionModel - entity collection class
|
|
20
17
|
*/
|
|
21
18
|
export class RestService {
|
|
22
|
-
constructor(http, eventDispatcherService, environment
|
|
19
|
+
constructor(http, eventDispatcherService, environment) {
|
|
23
20
|
this.http = http;
|
|
24
21
|
this.eventDispatcherService = eventDispatcherService;
|
|
25
22
|
this.environment = environment;
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Subject for service cache
|
|
25
|
+
*/
|
|
28
26
|
this.cacheSubject = new ReplaySubject(1);
|
|
27
|
+
/**
|
|
28
|
+
* List of methods unavailable for current API
|
|
29
|
+
*/
|
|
30
|
+
this.disabledMethods = [];
|
|
29
31
|
this.listenEvents();
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
get apiUrl() {
|
|
34
|
+
return `${this.environment.apiV2}/${this.entityUrl}`;
|
|
35
|
+
}
|
|
34
36
|
get() {
|
|
37
|
+
this.handleAccessError('get');
|
|
38
|
+
// Set cache as empty collection to avoid multiple requests before cache filled
|
|
35
39
|
if (!this.cache) {
|
|
36
|
-
this.cache = [];
|
|
37
|
-
this.
|
|
40
|
+
this.cache = this.createCollectionInstance(this.collectionClass, []);
|
|
41
|
+
this.resetCache();
|
|
38
42
|
}
|
|
39
43
|
return this.cacheSubject.asObservable();
|
|
40
44
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
findById(id) {
|
|
46
|
-
return this.get()
|
|
47
|
-
.pipe(map((items) => {
|
|
48
|
-
return items.find((item) => item['id'] === id);
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
find(id) {
|
|
52
|
-
return this.cache.find((item) => item['id'] === id);
|
|
45
|
+
;
|
|
46
|
+
getSingle() {
|
|
47
|
+
this.handleAccessError('get');
|
|
48
|
+
return this.get().pipe(map((collection) => collection.first));
|
|
53
49
|
}
|
|
54
50
|
/**
|
|
55
|
-
*
|
|
51
|
+
* Create a new Model instance in database
|
|
56
52
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (this.cache) {
|
|
65
|
-
this.cache.push(newInstance);
|
|
66
|
-
this.updateCache();
|
|
67
|
-
}
|
|
68
|
-
if (this.messageCreated) {
|
|
69
|
-
this.toastService.success(this.messageCreated);
|
|
70
|
-
}
|
|
71
|
-
return newInstance;
|
|
53
|
+
post(model) {
|
|
54
|
+
this.handleAccessError('post');
|
|
55
|
+
return this.http.post(this.apiUrl, model)
|
|
56
|
+
.pipe(map((response) => {
|
|
57
|
+
const result = this.createModelInstance(this.modelClass, response);
|
|
58
|
+
this.handleResponse([result], 'post');
|
|
59
|
+
return result;
|
|
72
60
|
}));
|
|
73
61
|
}
|
|
74
62
|
/**
|
|
75
|
-
*
|
|
63
|
+
* Create multiple new Model instances in database
|
|
76
64
|
*/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const formData = new FormData();
|
|
85
|
-
formData.append('file', file);
|
|
86
|
-
for (let key in params) {
|
|
87
|
-
formData.append(key, params[key]);
|
|
88
|
-
}
|
|
89
|
-
return this.create(formData);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Add several new items
|
|
93
|
-
* @param models Array of new items for saving
|
|
94
|
-
* @param queryParams query parameters for request
|
|
95
|
-
* @TODO Alex TT-1777 rename to postBatch
|
|
96
|
-
*/
|
|
97
|
-
addBatch(models, queryParams = {}) {
|
|
98
|
-
return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(models), queryParams)
|
|
99
|
-
.pipe(map((newItems) => {
|
|
100
|
-
const newInstances = newItems.map((item) => this.createModelInstance(this.modelClass, item));
|
|
101
|
-
if (this.cache) {
|
|
102
|
-
this.cache.push(...newInstances);
|
|
103
|
-
this.updateCache();
|
|
104
|
-
}
|
|
105
|
-
if (this.messageCreatedBatch) {
|
|
106
|
-
this.toastService.success(this.messageCreatedBatch);
|
|
107
|
-
}
|
|
108
|
-
return newInstances;
|
|
65
|
+
postBatch(models) {
|
|
66
|
+
this.handleAccessError('postBatch');
|
|
67
|
+
return this.http.post(this.apiUrl, models)
|
|
68
|
+
.pipe(map((response) => {
|
|
69
|
+
const result = response.map((item) => this.createModelInstance(this.modelClass, item));
|
|
70
|
+
this.handleResponse(result, 'post');
|
|
71
|
+
return result;
|
|
109
72
|
}));
|
|
110
73
|
}
|
|
111
74
|
/**
|
|
112
|
-
*
|
|
113
|
-
* @param model Existing instance for updating
|
|
114
|
-
* @param queryParams query parameters for request
|
|
115
|
-
* @TODO Alex TT-1777 rename to put
|
|
75
|
+
* Change an existing Model instance in database
|
|
116
76
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
this.
|
|
123
|
-
|
|
124
|
-
this.toastService.success(this.messageUpdated);
|
|
125
|
-
}
|
|
126
|
-
return updatedInstance;
|
|
77
|
+
put(model) {
|
|
78
|
+
this.handleAccessError('put');
|
|
79
|
+
return this.http.put(`${this.apiUrl}/${model.id}`, model)
|
|
80
|
+
.pipe(map((response) => {
|
|
81
|
+
const result = this.createModelInstance(this.modelClass, response);
|
|
82
|
+
this.handleResponse([result], 'put');
|
|
83
|
+
return result;
|
|
127
84
|
}));
|
|
128
85
|
}
|
|
129
86
|
/**
|
|
130
|
-
*
|
|
131
|
-
* @param models Array of items for updating
|
|
132
|
-
* @param queryParams query parameters for request
|
|
133
|
-
* TODO Alex TT-1777 rename to putBatch
|
|
87
|
+
* Change multiple existing Model instances in database
|
|
134
88
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
this.toastService.success(this.messageUpdatedBatch);
|
|
144
|
-
}
|
|
145
|
-
this.updateCache();
|
|
146
|
-
return updatedInstances;
|
|
89
|
+
putBatch(models) {
|
|
90
|
+
this.handleAccessError('putBatch');
|
|
91
|
+
return this.http.put(this.apiUrl, models)
|
|
92
|
+
.pipe(map((response) => {
|
|
93
|
+
const result = response.map((item) => this.createModelInstance(this.modelClass, item));
|
|
94
|
+
debugger;
|
|
95
|
+
this.handleResponse(result, 'put');
|
|
96
|
+
return result;
|
|
147
97
|
}));
|
|
148
98
|
}
|
|
149
99
|
/**
|
|
150
|
-
*
|
|
151
|
-
* @param model Class instance for deleting
|
|
100
|
+
* Remove a Model instance from database
|
|
152
101
|
*/
|
|
153
102
|
delete(model) {
|
|
154
|
-
|
|
103
|
+
this.handleAccessError('delete');
|
|
104
|
+
return this.http.delete(`${this.apiUrl}/${model.id}`)
|
|
155
105
|
.pipe(map(() => {
|
|
156
|
-
this.
|
|
157
|
-
this.updateCache();
|
|
158
|
-
if (this.messageDeleted) {
|
|
159
|
-
this.toastService.success(this.messageDeleted);
|
|
160
|
-
}
|
|
106
|
+
this.handleResponse([model], 'delete');
|
|
161
107
|
}));
|
|
162
108
|
}
|
|
163
109
|
/**
|
|
164
|
-
*
|
|
165
|
-
* @param models Class instances array for deleting
|
|
110
|
+
* Remove multiple Model instances from database
|
|
166
111
|
*/
|
|
167
112
|
deleteBatch(models) {
|
|
168
|
-
|
|
113
|
+
this.handleAccessError('deleteBatch');
|
|
114
|
+
return this.http.post(`${this.apiUrl}/delete`, models)
|
|
169
115
|
.pipe(map(() => {
|
|
170
|
-
|
|
171
|
-
this.cache = this.cache.filter((item) => !ids.includes(item['id']));
|
|
172
|
-
this.updateCache();
|
|
173
|
-
if (this.messageDeletedBatch) {
|
|
174
|
-
this.toastService.success(this.messageDeletedBatch);
|
|
175
|
-
}
|
|
116
|
+
this.handleResponse(models, 'delete');
|
|
176
117
|
}));
|
|
177
118
|
}
|
|
178
119
|
/**
|
|
179
|
-
*
|
|
120
|
+
* Refresh cache with actual backend data
|
|
180
121
|
*/
|
|
181
122
|
resetCache() {
|
|
182
|
-
this.fetch()
|
|
123
|
+
this.fetch()
|
|
124
|
+
.pipe(first())
|
|
125
|
+
.subscribe();
|
|
183
126
|
}
|
|
184
127
|
/**
|
|
185
|
-
*
|
|
128
|
+
* Get data from backend and fill the cache
|
|
186
129
|
*/
|
|
187
130
|
fetch() {
|
|
188
|
-
return this.http.get(
|
|
189
|
-
.pipe(map((response) => {
|
|
190
|
-
const items = (this.
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
this.cache = items;
|
|
195
|
-
this.updateCache();
|
|
196
|
-
return items;
|
|
131
|
+
return this.http.get(this.apiUrl)
|
|
132
|
+
.pipe(map((response) => this.isApiPlatform ? response['hydra:member'] : toArray(response)), map((response) => {
|
|
133
|
+
const items = response.map((item) => this.createModelInstance(this.modelClass, item));
|
|
134
|
+
this.cache = this.createCollectionInstance(this.collectionClass, items);
|
|
135
|
+
this.cacheSubject.next(this.cache);
|
|
136
|
+
return this.cache;
|
|
197
137
|
}));
|
|
198
138
|
}
|
|
139
|
+
;
|
|
140
|
+
/**
|
|
141
|
+
* Handle response data - update cache and dispatch event if it is needed
|
|
142
|
+
*/
|
|
143
|
+
handleResponse(response, method) {
|
|
144
|
+
this.updateCache(response, method);
|
|
145
|
+
// dispatch event for interested services
|
|
146
|
+
if (response[0] instanceof ObservableModel) {
|
|
147
|
+
this.dispatchEvent(method, response);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Update cache with passed items. Add/Update detects automatically, Delete via optional flag
|
|
152
|
+
*/
|
|
153
|
+
updateCache(items, method) {
|
|
154
|
+
switch (method) {
|
|
155
|
+
case 'post':
|
|
156
|
+
this.cache = this.cache.push(...items);
|
|
157
|
+
break;
|
|
158
|
+
case 'put':
|
|
159
|
+
items.forEach((item) => {
|
|
160
|
+
this.cache = this.cache.replaceBy('id', item.id, item);
|
|
161
|
+
});
|
|
162
|
+
break;
|
|
163
|
+
case 'delete':
|
|
164
|
+
this.cache = this.cache.removeBy('id', items.map((item) => item.id));
|
|
165
|
+
}
|
|
166
|
+
this.cacheSubject.next(this.cache);
|
|
167
|
+
}
|
|
199
168
|
/**
|
|
200
|
-
*
|
|
169
|
+
* Generate and dispatch rest event
|
|
201
170
|
*/
|
|
202
|
-
|
|
203
|
-
this.
|
|
171
|
+
dispatchEvent(method, items) {
|
|
172
|
+
const eventName = this.modelClass.getEventName(method);
|
|
173
|
+
this.eventDispatcherService.dispatch2(new AppEvent2(eventName, items));
|
|
204
174
|
}
|
|
205
175
|
/**
|
|
206
176
|
* Create new instance of class
|
|
207
|
-
* @param model The class
|
|
208
|
-
* @param
|
|
177
|
+
* @param model The class whose instance to be created
|
|
178
|
+
* @param plain Single object or array from which will be created model instance(s)
|
|
209
179
|
*/
|
|
210
|
-
createModelInstance(model,
|
|
211
|
-
|
|
180
|
+
createModelInstance(model, plain) {
|
|
181
|
+
// excludePrefixes - class-transformer option is using to ignore hydra fields
|
|
182
|
+
return plainToClass(model, plain, { excludePrefixes: ['@'] });
|
|
183
|
+
}
|
|
184
|
+
createCollectionInstance(collectionClass, items) {
|
|
185
|
+
return new collectionClass(items);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Check if method is not disabled. Throw exception otherwise.
|
|
189
|
+
* Some entities does not have endpoints for all methods.
|
|
190
|
+
*/
|
|
191
|
+
handleAccessError(method) {
|
|
192
|
+
if (!this.disabledMethods.includes(method)) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
throw new Error(`Method ${method}() is not allowed for ${this.constructor.name}`);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Subscribe to http events and run callback
|
|
199
|
+
* @param type The class whose changes should be listened for
|
|
200
|
+
* @param methods The list of http methods should be listened for
|
|
201
|
+
* @param callback The function to be called when event triggered
|
|
202
|
+
*/
|
|
203
|
+
listenCSE(modelClass, methods, callback) {
|
|
204
|
+
methods.forEach((method) => {
|
|
205
|
+
this.eventDispatcherService.on2(modelClass.getEventName(method)).subscribe((data) => {
|
|
206
|
+
callback(data);
|
|
207
|
+
});
|
|
208
|
+
});
|
|
212
209
|
}
|
|
213
210
|
/**
|
|
214
211
|
* Method that call all listeners. Empty by default. Should be redefined by child services if required
|
|
215
212
|
*/
|
|
216
213
|
listenEvents() { }
|
|
217
214
|
}
|
|
218
|
-
RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
219
|
-
RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
215
|
+
RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
216
|
+
RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, providedIn: 'root' });
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, decorators: [{
|
|
221
218
|
type: Injectable,
|
|
222
219
|
args: [{
|
|
223
220
|
providedIn: 'root'
|
|
@@ -225,5 +222,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
225
222
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
226
223
|
type: Inject,
|
|
227
224
|
args: ['environment']
|
|
228
|
-
}] }
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBSS9EOzs7Ozs7Ozs7O0dBVUc7QUFJSCxNQUFNLE9BQWdCLFdBQVc7SUFtQi9CLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCO1FBSDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWZ0Qyw0QkFBNEI7UUFDbEIsaUJBQVksR0FBMkIsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFnQjdFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUNyQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksQ0FBQyxFQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxJQUFZLEVBQUUsb0JBQTZCLElBQUk7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDakUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE9BQWtCLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFBO2FBQ1o7WUFFRCxNQUFNLFdBQVcsR0FBVSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNwQjtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2hEO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxLQUFZLEVBQUUsb0JBQTZCLElBQUk7UUFDakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFVLEVBQUUsU0FBb0MsRUFBRTtRQUN6RCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO1lBQ3RCLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxNQUFlLEVBQUUsY0FBc0IsRUFBRTtRQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLENBQUM7YUFDOUYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUM1QixNQUFNLFlBQVksR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7WUFFRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDckQ7WUFFRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQVksRUFBRSxjQUFzQixFQUFFO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLENBQUM7YUFDM0csSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFdBQXNCLEVBQUUsRUFBRTtZQUM3QixNQUFNLGVBQWUsR0FBVSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN0RixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDaEQ7WUFFRCxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLE1BQWUsRUFBRSxjQUFzQixFQUFFO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsQ0FBQzthQUM3RixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBeUIsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sZ0JBQWdCLEdBQVksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN6SCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFlLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDckQ7WUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQzVFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVuQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLE1BQWU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLFNBQVMsRUFBRSxNQUFNLENBQUM7YUFDMUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLEdBQUcsR0FBYSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBWSxFQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ08sS0FBSztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDMUQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQVcsRUFBRTtZQUNyQyxNQUFNLEtBQUssR0FBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2lCQUN4RSxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQVMsRUFBRTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLG1CQUFtQixDQUFDLEtBQWtDLEVBQUUsU0FBb0I7UUFDcEYsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLEtBQVUsQ0FBQzs7eUdBalFILFdBQVcsa0ZBc0JyQixhQUFhOzZHQXRCSCxXQUFXLGNBRm5CLE1BQU07NEZBRUUsV0FBVztrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXVCSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEFic3RyYWN0IGJhc2Ugc2VydmljZSB0aGF0IGltcGxlbWVudHMgY29tbW9uIHNlcnZpY2VzIGZ1bmN0aW9uYWxpdHlcbiAqIGFuZCBkZXNjcmliZSBhYnN0cmFjdCBtZXRob2RzL3Byb3BlcnRpZXMgdGhhdCBoYXZlIHRvIGJlIGltcGxlbWVudGVkIGluIGNoaWxkIHNlcnZpY2VzXG4gKiBNb2RlbCAtIGVudGl0eSBzZXJ2aWNlIGlzIHdvcmtpbmcgd2l0aFxuICogQmFzZU1vZGVsIC0gYmFzZSBlbnRpdHkgbW9kZWwgdGhhdCBleHRlbmRzIGJ5IE1vZGVsXG4gKiBAVE9ETyBUVC0xNzc3IEFsZXg6IHJlZmFjdG9yIGFsbCBzZXJ2aWNlcyBmb3Igd29yayB3aXRoIGNvbGxlY3Rpb25zIGluc3RlYWQgb2YgYXJyYXlzXG4gKiBAVE9ETyBUVC0xNzc3IEFsZXg6IGltcGxlbWVudCBzbWFydCBzeXN0ZW0gb2YgZGVmYXVsdCB0b2FzdCBtZXNzYWdlc1xuICogQFRPRE8gVFQtMTc3NyBBbGV4OiB3b3JrIG5vdCBvbmx5IHdpdGggYXJyYXkvY29sbGVjdGlvbiBidXQgd2l0aCBzaW5nbGUgb2JqZWN0c1xuICogQFRPRE8gVFQtMTc3NyBBbGV4OiBhdXRvbWF0aWMgZXZlbnRzIGdlbmVyYXRpb24gKGV2ZW50RGlzcGF0Y2hlcilcbiAqIEBUT0RPIFRULTE3NzcgQWxleDogb3B0aW9uYWwgcmVzdCBtZXRob2RzIChub3QgYWxsIHNlcnZpY2VzIGhhdmUgYWxsIDQgbWV0aG9kcylcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzdFNlcnZpY2U8QmFzZU1vZGVsLCBNb2RlbCBleHRlbmRzIEJhc2VNb2RlbD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8vIHVybCBwYXJ0IGZvciBzZXJ2aWNlIGVudGl0eSBBUEkuIEhhdmUgdG8gYmUgZGVmaW5lZCBpbiBleHRlbmRlZCBjbGFzc2VzXG4gIGFic3RyYWN0IHVybDogc3RyaW5nO1xuICAvLyBNb2RlbCBjbGFzcyBmb3IgaW5zdGFuY2VzIGNyZWF0aW5nXG4gIGFic3RyYWN0IG1vZGVsQ2xhc3M7XG4gIC8vIEBUT0RPIE1ha2UgY2FjaGUgUmVhZG9ubHlcbiAgLy8gY2FjaGVkIGFycmF5IG9mIHNlcnZpY2UgY2xhc3MgaW5zdGFuY2VzXG4gIHByb3RlY3RlZCBjYWNoZTogTW9kZWxbXTtcbiAgLy8gc3ViamVjdCBmb3Igc2VydmljZSBjYWNoZVxuICBwcm90ZWN0ZWQgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PE1vZGVsW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8TW9kZWxbXT4oMSk7XG4gIC8vIGZsYWcgZm9yIHdvcmsgd2l0aCBBUEkgcGxhdGZvcm1cbiAgcHJvdGVjdGVkIGlzSHlkcmE6IGJvb2xlYW47XG4gIG1lc3NhZ2VDcmVhdGVkOiBzdHJpbmc7XG4gIG1lc3NhZ2VDcmVhdGVkQmF0Y2g6IHN0cmluZztcbiAgbWVzc2FnZVVwZGF0ZWQ6IHN0cmluZztcbiAgbWVzc2FnZVVwZGF0ZWRCYXRjaDogc3RyaW5nO1xuICBtZXNzYWdlRGVsZXRlZDogc3RyaW5nO1xuICBtZXNzYWdlRGVsZXRlZEJhdGNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgY2FjaGVkIGxpc3Qgb2YgYWxsIGluc3RhbmNlc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IFtdO1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgaW5zdGFuY2UgYnkgaWQgZnJvbSBjYWNoZVxuICAgKiBAcGFyYW0gaWQgSUQgb2YgcmVxdWlyZWQgaXRlbVxuICAgKi9cbiAgZmluZEJ5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaXRlbXM6IE1vZGVsW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBmaW5kKGlkOiBudW1iZXIpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZmluZCgoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgbmV3IGluc3RhbmNlIGFuZCB1cGRhdGUgY2FjaGVcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGRhdGE6IG9iamVjdCwgc2hvdWxkVXBkYXRlQ2FjaGU6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGRhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdJdGVtOiBCYXNlTW9kZWwpID0+IHtcbiAgICAgICAgICBpZiAoIXNob3VsZFVwZGF0ZUNhY2hlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld0luc3RhbmNlOiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIG5ld0l0ZW0pO1xuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2gobmV3SW5zdGFuY2UpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZUNyZWF0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdJbnN0YW5jZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleCBUVC0xNzc3IHJlbmFtZSB0byBwb3N0XG4gICAqL1xuICBhZGQobW9kZWw6IE1vZGVsLCBzaG91bGRVcGRhdGVDYWNoZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGNsYXNzVG9QbGFpbihtb2RlbCksIHNob3VsZFVwZGF0ZUNhY2hlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4IFRULTE3NzcgcmVuYW1lIHRvIHVwbG9hZFxuICAgKi9cbiAgcG9zdEZvcm0oZmlsZTogRmlsZSwgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtcykge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgcGFyYW1zW2tleV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShmb3JtRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNldmVyYWwgbmV3IGl0ZW1zXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2YgbmV3IGl0ZW1zIGZvciBzYXZpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogQFRPRE8gQWxleCBUVC0xNzc3IHJlbmFtZSB0byBwb3N0QmF0Y2hcbiAgICovXG4gIGFkZEJhdGNoKG1vZGVsczogTW9kZWxbXSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKG1vZGVscyksIHF1ZXJ5UGFyYW1zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3SXRlbXM6IEJhc2VNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3SW5zdGFuY2VzOiBNb2RlbFtdID0gbmV3SXRlbXMubWFwKChpdGVtOiBCYXNlTW9kZWwpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIGl0ZW0pKTtcbiAgICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5wdXNoKC4uLm5ld0luc3RhbmNlcyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZUNyZWF0ZWRCYXRjaCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VDcmVhdGVkQmF0Y2gpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdJbnN0YW5jZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBpdGVtXG4gICAqIEBwYXJhbSBtb2RlbCBFeGlzdGluZyBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogQFRPRE8gQWxleCBUVC0xNzc3IHJlbmFtZSB0byBwdXRcbiAgICovXG4gIHVwZGF0ZShtb2RlbDogTW9kZWwsIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsWydpZCddfWAsIGNsYXNzVG9QbGFpbihtb2RlbCksIHF1ZXJ5UGFyYW1zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZEl0ZW06IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZTogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCB1cGRhdGVkSXRlbSk7XG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkSW5zdGFuY2UpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VVcGRhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZVVwZGF0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzZXZlcmFsIGl0ZW1zXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2YgaXRlbXMgZm9yIHVwZGF0aW5nXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBxdWVyeSBwYXJhbWV0ZXJzIGZvciByZXF1ZXN0XG4gICAqIFRPRE8gQWxleCBUVC0xNzc3IHJlbmFtZSB0byBwdXRCYXRjaFxuICAgKi9cbiAgdXBkYXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRJdGVtczogQmFzZU1vZGVsW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkSW5zdGFuY2VzOiBNb2RlbFtdID0gdXBkYXRlZEl0ZW1zLm1hcCgoaXRlbTogQmFzZU1vZGVsKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG4gICAgICAgICAgdXBkYXRlZEluc3RhbmNlcy5mb3JFYWNoKChpbnN0YW5jZTogTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgaW5zdGFuY2UpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZVVwZGF0ZWRCYXRjaCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VVcGRhdGVkQmF0Y2gpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEluc3RhbmNlcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIGluc3RhbmNlIG9mIGNsYXNzXG4gICAqIEBwYXJhbSBtb2RlbCBDbGFzcyBpbnN0YW5jZSBmb3IgZGVsZXRpbmdcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogTW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsWydpZCddfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiBpdGVtWydpZCddICE9PSBtb2RlbFsnaWQnXSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZURlbGV0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlRGVsZXRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIGNsYXNzXG4gICAqIEBwYXJhbSBtb2RlbHMgQ2xhc3MgaW5zdGFuY2VzIGFycmF5IGZvciBkZWxldGluZ1xuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L2RlbGV0ZWAsIG1vZGVscylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBtb2RlbHMubWFwKChtb2RlbDogTW9kZWwpOiBudW1iZXIgPT4gbW9kZWxbJ2lkJ10pO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICFpZHMuaW5jbHVkZXMoaXRlbVsnaWQnXSkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VEZWxldGVkQmF0Y2gpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlRGVsZXRlZEJhdGNoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGJhc2UgY2xhc3MgaW5zdGFuY2VzIGRpcmVjdGx5IGZyb20gYmFja2VuZFxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoKCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSk6IE1vZGVsW10gPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zOiBNb2RlbFtdID0gKHRoaXMuaXNIeWRyYSA/IHJlc3BvbnNlWydoeWRyYTptZW1iZXInXSA6IHJlc3BvbnNlKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHN1YmplY3Qgd2l0aCBjdXJyZW50IGNhY2hlIGFycmF5IHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBjbGFzcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlXG4gICAqIEBwYXJhbSBiYXNlTW9kZWwgYmFzZSBtb2RlbCBpbnN0YW5jZSB0aGF0IHdlIHdpbGwgdXNlIGFzIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEluc3RhbmNlKG1vZGVsOiBuZXcoYm06IEJhc2VNb2RlbCkgPT4gTW9kZWwsIGJhc2VNb2RlbDogQmFzZU1vZGVsKTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MobW9kZWwsIGJhc2VNb2RlbCwgeyBleGNsdWRlUHJlZml4ZXM6IFsnQCddIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0aGF0IGNhbGwgYWxsIGxpc3RlbmVycy4gRW1wdHkgYnkgZGVmYXVsdC4gU2hvdWxkIGJlIHJlZGVmaW5lZCBieSBjaGlsZCBzZXJ2aWNlcyBpZiByZXF1aXJlZFxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge31cbn1cbiJdfQ==
|
|
225
|
+
}] }]; } });
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUluRDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQWdCLFdBQVc7SUFvQy9CLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQWxCbkQ7O1dBRUc7UUFDTyxpQkFBWSxHQUFtQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQU85RTs7V0FFRztRQUNILG9CQUFlLEdBQWlCLEVBQUUsQ0FBQztRQU9qQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWMsTUFBTTtRQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLCtFQUErRTtRQUMvRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBRUYsU0FBUztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFVBQTJCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxLQUFZO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7YUFDdEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBVSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFdEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxNQUFlO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQWUsRUFBUyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsSCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVwQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEtBQVk7UUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQzthQUN0RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBbUIsRUFBRSxFQUFFO1lBQzFCLE1BQU0sTUFBTSxHQUFVLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVyQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7YUFDdEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUM1QixNQUFNLE1BQU0sR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBZSxFQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xILFFBQVEsQ0FBQztZQUNULElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRW5DLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBWTtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLFNBQVMsRUFBRSxNQUFNLENBQUM7YUFDbkQsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEVBQUU7YUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxLQUFLO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUM1RixHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUU7WUFDNUIsTUFBTSxLQUFLLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQWUsRUFBUyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVqSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFBQSxDQUFDO0lBRUY7O09BRUc7SUFDSyxjQUFjLENBQUMsUUFBaUIsRUFBRSxNQUFrQjtRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVuQyx5Q0FBeUM7UUFDekMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxFQUFFO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ08sV0FBVyxDQUFDLEtBQWMsRUFBRSxNQUFrQjtRQUN0RCxRQUFRLE1BQU0sRUFBRTtZQUNkLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFFUixLQUFLLEtBQUs7Z0JBQ1IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFO29CQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBRVIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNPLGFBQWEsQ0FBQyxNQUFrQixFQUFFLEtBQWM7UUFDeEQsTUFBTSxTQUFTLEdBQVksSUFBSSxDQUFDLFVBQXFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxtQkFBbUIsQ0FBQyxLQUFtQyxFQUFFLEtBQWdCO1FBQ2pGLDZFQUE2RTtRQUM3RSxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxlQUF3RCxFQUFFLEtBQWM7UUFDekcsT0FBTyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssaUJBQWlCLENBQUMsTUFBa0I7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFDLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxNQUFNLHlCQUF5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sU0FBUyxDQUFDLFVBQWtDLEVBQUUsT0FBcUIsRUFBRSxRQUFrQjtRQUMvRixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBa0IsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDckcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLEtBQVUsQ0FBQzs7eUdBclJILFdBQVcsa0ZBdUNyQixhQUFhOzZHQXZDSCxXQUFXLGNBRm5CLE1BQU07NEZBRUUsV0FBVztrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXdDSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuaW1wb3J0IHsgQXBwRXZlbnQyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvb2JzZXJ2YWJsZS1tb2RlbCc7XG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RNZXRob2QgfSBmcm9tICcuL3Jlc3QtbWV0aG9kLnR5cGUnO1xuaW1wb3J0IHsgSHR0cE1ldGhvZCB9IGZyb20gJy4vaHR0cC1tZXRob2QudHlwZSc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBzZXJ2aWNlIHRoYXQgaW1wbGVtZW50cyBjb21tb24gc2VydmljZXMgZnVuY3Rpb25hbGl0eVxuICogYW5kIGRlc2NyaWJlIGFic3RyYWN0IG1ldGhvZHMvcHJvcGVydGllcyB0aGF0IGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQgaW4gY2hpbGQgc2VydmljZXNcbiAqIE1vZGVsIC0gZW50aXR5IHNlcnZpY2UgaXMgd29ya2luZyB3aXRoXG4gKiBCYXNlTW9kZWwgLSBiYXNlIGVudGl0eSBtb2RlbCB0aGF0IGV4dGVuZHMgYnkgTW9kZWxcbiAqIENvbGxlY3Rpb25Nb2RlbCAtIGVudGl0eSBjb2xsZWN0aW9uIGNsYXNzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3RTZXJ2aWNlPEJhc2VNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWwsIE1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsLCBDb2xsZWN0aW9uTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsPj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8qKlxuICAgKiBVcmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZW50aXR5VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1vZGVsIGNsYXNzIGZvciBpbnN0YW5jZXMgY3JlYXRpbmdcbiAgICovXG4gIGFic3RyYWN0IG1vZGVsQ2xhc3M7XG5cbiAgLyoqXG4gICAqIENvbGxlY3Rpb24gTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICAgKi9cbiAgYWJzdHJhY3QgY29sbGVjdGlvbkNsYXNzO1xuXG4gIC8qKlxuICAgKiBDYWNoZWQgYXJyYXkgb2Ygc2VydmljZSBjbGFzcyBpbnN0YW5jZXNcbiAgICovXG4gIHByb3RlY3RlZCBjYWNoZTogQ29sbGVjdGlvbk1vZGVsO1xuXG4gIC8qKlxuICAgKiBTdWJqZWN0IGZvciBzZXJ2aWNlIGNhY2hlXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PENvbGxlY3Rpb25Nb2RlbD4gPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcblxuICAvKipcbiAgICogRmxhZyBmb3Igd29yayB3aXRoIEFQSSBwbGF0Zm9ybVxuICAgKi9cbiAgcHJvdGVjdGVkIGlzQXBpUGxhdGZvcm06IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgbWV0aG9kcyB1bmF2YWlsYWJsZSBmb3IgY3VycmVudCBBUElcbiAgICovXG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcGlVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLmVudGl0eVVybH1gO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZ2V0Jyk7XG5cbiAgICAvLyBTZXQgY2FjaGUgYXMgZW1wdHkgY29sbGVjdGlvbiB0byBhdm9pZCBtdWx0aXBsZSByZXF1ZXN0cyBiZWZvcmUgY2FjaGUgZmlsbGVkXG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmNhY2hlID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uSW5zdGFuY2UodGhpcy5jb2xsZWN0aW9uQ2xhc3MsIFtdKTtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuICBnZXRTaW5nbGUoKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ2dldCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoY29sbGVjdGlvbjogQ29sbGVjdGlvbk1vZGVsKSA9PiBjb2xsZWN0aW9uLmZpcnN0KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1vZGVsIGluc3RhbmNlIGluIGRhdGFiYXNlXG4gICAqL1xuICBwb3N0KG1vZGVsOiBNb2RlbCk6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdwb3N0Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIG1vZGVsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzdWx0XSwgJ3Bvc3QnKTtcblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBtdWx0aXBsZSBuZXcgTW9kZWwgaW5zdGFuY2VzIGluIGRhdGFiYXNlXG4gICAqL1xuICBwb3N0QmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncG9zdEJhdGNoJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIG1vZGVscylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSkpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0LCAncG9zdCcpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIGFuIGV4aXN0aW5nIE1vZGVsIGluc3RhbmNlIGluIGRhdGFiYXNlXG4gICAqL1xuICBwdXQobW9kZWw6IE1vZGVsKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3B1dCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9LyR7bW9kZWwuaWR9YCwgbW9kZWwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogQmFzZU1vZGVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncHV0Jyk7XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgbXVsdGlwbGUgZXhpc3RpbmcgTW9kZWwgaW5zdGFuY2VzIGluIGRhdGFiYXNlXG4gICAqL1xuICBwdXRCYXRjaChtb2RlbHM6IE1vZGVsW10pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdwdXRCYXRjaCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5hcGlVcmwsIG1vZGVscylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSkpO1xuICAgICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0LCAncHV0Jyk7XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBNb2RlbCBpbnN0YW5jZSBmcm9tIGRhdGFiYXNlXG4gICAqL1xuICBkZWxldGUobW9kZWw6IE1vZGVsKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmFwaVVybH0vJHttb2RlbC5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbbW9kZWxdLCAnZGVsZXRlJyk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBNb2RlbCBpbnN0YW5jZXMgZnJvbSBkYXRhYmFzZVxuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlQmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vZGVsZXRlYCwgbW9kZWxzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShtb2RlbHMsICdkZWxldGUnKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaCBjYWNoZSB3aXRoIGFjdHVhbCBiYWNrZW5kIGRhdGFcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkYXRhIGZyb20gYmFja2VuZCBhbmQgZmlsbCB0aGUgY2FjaGVcbiAgICovXG4gIHByb3RlY3RlZCBmZXRjaCgpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4gdGhpcy5pc0FwaVBsYXRmb3JtID8gcmVzcG9uc2VbJ2h5ZHJhOm1lbWJlciddIDogdG9BcnJheShyZXNwb25zZSkpLFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zOiBNb2RlbFtdID0gcmVzcG9uc2UubWFwKChpdGVtOiBCYXNlTW9kZWwpOiBNb2RlbCA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG5cbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uSW5zdGFuY2UodGhpcy5jb2xsZWN0aW9uQ2xhc3MsIGl0ZW1zKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGUgcmVzcG9uc2UgZGF0YSAtIHVwZGF0ZSBjYWNoZSBhbmQgZGlzcGF0Y2ggZXZlbnQgaWYgaXQgaXMgbmVlZGVkXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpIHtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKHJlc3BvbnNlLCBtZXRob2QpO1xuXG4gICAgLy8gZGlzcGF0Y2ggZXZlbnQgZm9yIGludGVyZXN0ZWQgc2VydmljZXNcbiAgICBpZiAocmVzcG9uc2VbMF0gaW5zdGFuY2VvZiBPYnNlcnZhYmxlTW9kZWwpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChtZXRob2QsIHJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHdpdGggcGFzc2VkIGl0ZW1zLiBBZGQvVXBkYXRlIGRldGVjdHMgYXV0b21hdGljYWxseSwgRGVsZXRlIHZpYSBvcHRpb25hbCBmbGFnXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoaXRlbXM6IE1vZGVsW10sIG1ldGhvZDogSHR0cE1ldGhvZCk6IHZvaWQge1xuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUucHVzaCguLi5pdGVtcyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtOiBNb2RlbCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnJlcGxhY2VCeSgnaWQnLCBpdGVtLmlkLCBpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5yZW1vdmVCeSgnaWQnLCBpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhbmQgZGlzcGF0Y2ggcmVzdCBldmVudFxuICAgKi9cbiAgcHJvdGVjdGVkIGRpc3BhdGNoRXZlbnQobWV0aG9kOiBIdHRwTWV0aG9kLCBpdGVtczogTW9kZWxbXSk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50TmFtZTogc3RyaW5nID0gKHRoaXMubW9kZWxDbGFzcyBhcyB0eXBlb2YgT2JzZXJ2YWJsZU1vZGVsKS5nZXRFdmVudE5hbWUobWV0aG9kKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gyKG5ldyBBcHBFdmVudDIoZXZlbnROYW1lLCBpdGVtcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBjbGFzcyB3aG9zZSBpbnN0YW5jZSB0byBiZSBjcmVhdGVkXG4gICAqIEBwYXJhbSBwbGFpbiBTaW5nbGUgb2JqZWN0IG9yIGFycmF5IGZyb20gd2hpY2ggd2lsbCBiZSBjcmVhdGVkIG1vZGVsIGluc3RhbmNlKHMpXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlTW9kZWxJbnN0YW5jZShtb2RlbDogbmV3IChibTogQmFzZU1vZGVsKSA9PiBNb2RlbCwgcGxhaW46IEJhc2VNb2RlbCk6IE1vZGVsIHtcbiAgICAvLyBleGNsdWRlUHJlZml4ZXMgLSBjbGFzcy10cmFuc2Zvcm1lciBvcHRpb24gaXMgdXNpbmcgdG8gaWdub3JlIGh5ZHJhIGZpZWxkc1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MobW9kZWwsIHBsYWluLCB7IGV4Y2x1ZGVQcmVmaXhlczogWydAJ10gfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29sbGVjdGlvbkluc3RhbmNlKGNvbGxlY3Rpb25DbGFzczogbmV3IChpdGVtczogTW9kZWxbXSkgPT4gQ29sbGVjdGlvbk1vZGVsLCBpdGVtczogTW9kZWxbXSk6IENvbGxlY3Rpb25Nb2RlbCB7XG4gICAgcmV0dXJuIG5ldyBjb2xsZWN0aW9uQ2xhc3MoaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIG1ldGhvZCBpcyBub3QgZGlzYWJsZWQuIFRocm93IGV4Y2VwdGlvbiBvdGhlcndpc2UuXG4gICAqIFNvbWUgZW50aXRpZXMgZG9lcyBub3QgaGF2ZSBlbmRwb2ludHMgZm9yIGFsbCBtZXRob2RzLlxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVBY2Nlc3NFcnJvcihtZXRob2Q6IFJlc3RNZXRob2QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRNZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCAke21ldGhvZH0oKSBpcyBub3QgYWxsb3dlZCBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGh0dHAgZXZlbnRzIGFuZCBydW4gY2FsbGJhY2tcbiAgICogQHBhcmFtIHR5cGUgVGhlIGNsYXNzIHdob3NlIGNoYW5nZXMgc2hvdWxkIGJlIGxpc3RlbmVkIGZvclxuICAgKiBAcGFyYW0gbWV0aG9kcyBUaGUgbGlzdCBvZiBodHRwIG1ldGhvZHMgc2hvdWxkIGJlIGxpc3RlbmVkIGZvclxuICAgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIGV2ZW50IHRyaWdnZXJlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGxpc3RlbkNTRShtb2RlbENsYXNzOiB0eXBlb2YgT2JzZXJ2YWJsZU1vZGVsLCBtZXRob2RzOiBSZXN0TWV0aG9kW10sIGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBSZXN0TWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0aGF0IGNhbGwgYWxsIGxpc3RlbmVycy4gRW1wdHkgYnkgZGVmYXVsdC4gU2hvdWxkIGJlIHJlZGVmaW5lZCBieSBjaGlsZCBzZXJ2aWNlcyBpZiByZXF1aXJlZFxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge31cbn1cbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { Notification } from '../../../models/notification/notification';
|
|
3
3
|
import { replace } from '../../../functions/array';
|
|
4
4
|
import { plainToClass } from 'class-transformer';
|
|
5
|
-
import { RestService } from '../rest/rest.service';
|
|
5
|
+
import { RestService } from '../rest/rest-old.service';
|
|
6
6
|
import { AppEvent } from '../../../models/event/app-event';
|
|
7
7
|
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
8
8
|
import clone from 'lodash/clone';
|
|
@@ -48,9 +48,9 @@ export class ServiceNotificationService extends RestService {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
52
|
-
ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
51
|
+
ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, decorators: [{
|
|
54
54
|
type: Injectable,
|
|
55
55
|
args: [{
|
|
56
56
|
providedIn: 'root'
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
59
59
|
type: Inject,
|
|
60
60
|
args: ['environment']
|
|
61
61
|
}] }, { type: i3.ToastService }, { type: i4.SseService }]; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1ub3RpZmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3NlcnZpY2Utbm90aWZpY2F0aW9uL3NlcnZpY2Utbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUE7Ozs7OztBQUdoQzs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxXQUEyQztJQUt6RixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN2QyxZQUEwQixFQUM1QixVQUFzQjtRQUU5QixLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQU5yRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDdkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRoQyxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsdUJBQXVCLENBQUM7UUFDdEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQVV0QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBa0MsRUFBUSxFQUFFO1lBQy9GLE1BQU0sWUFBWSxHQUFpQixZQUFZLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDaEYsTUFBTSxLQUFLLEdBQW1CLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsNEVBQTRFO1lBQzVFLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLGlGQUFpRjtZQUNqRixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDeEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3SEFsQ1UsMEJBQTBCLGtGQVEzQixhQUFhOzRIQVJaLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZU5vdGlmaWNhdGlvbiBhcyBOb3RpZmljYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3NlcnZpY2Utbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L3NzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSdcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIHNlcnZpY2Ugbm90aWZpY2F0aW9ucyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlTm90aWZpY2F0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPE5vdGlmaWNhdGlvbkJhc2UsIE5vdGlmaWNhdGlvbj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgTm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdzZXJ2aWNlLW5vdGlmaWNhdGlvbnMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQsIHRvYXN0U2VydmljZSk7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogc3Vic2NyaWJlIHRvIG5ldyBjaGF0IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBzZXJ2aWNlTm90aWZpY2F0aW9uYCkuc3Vic2NyaWJlKChub3RpZmljYXRpb25CYXNlOiBOb3RpZmljYXRpb25CYXNlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbiA9IHBsYWluVG9DbGFzcyhOb3RpZmljYXRpb24sIG5vdGlmaWNhdGlvbkJhc2UpO1xuICAgICAgY29uc3QgY2FjaGU6IE5vdGlmaWNhdGlvbltdID0gY2xvbmUodGhpcy5jYWNoZSk7XG4gICAgICAvLyB1cGRhdGUgZXhpc3Rpbmcgbm90aWZpY2F0aW9uIGlmIHJlYWQgYW5kIGFkZCBuZXcgbm90aWZpY2F0aW9uIGlmIG5vdCByZWFkXG4gICAgICBpZiAobm90aWZpY2F0aW9uLmlzUmVhZCkge1xuICAgICAgICByZXBsYWNlKGNhY2hlLCBub3RpZmljYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGUudW5zaGlmdChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgICAgdGhpcy5jYWNoZSA9IGNhY2hlO1xuICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgIC8vIEBUT0RPIFRULTIyODAgQWxleCB3cm9uZyBldmVudCwgaXQncyB1cGRhdGVkLCBhZGRlZCBvciBkZWxldGVkLiBOb3QganVzdCBhZGRlZFxuICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCwgbm90aWZpY2F0aW9uKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { RestService } from '../../rest/rest.service';
|
|
2
|
+
import { RestService } from '../../rest/rest-old.service';
|
|
3
3
|
import { BasReport } from '../../../../models';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class BasReportService extends RestService {
|
|
@@ -10,12 +10,12 @@ export class BasReportService extends RestService {
|
|
|
10
10
|
this.isHydra = true;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
BasReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
14
|
-
BasReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
+
BasReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasReportService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
BasReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasReportService, providedIn: 'root' });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasReportService, decorators: [{
|
|
16
16
|
type: Injectable,
|
|
17
17
|
args: [{
|
|
18
18
|
providedIn: 'root'
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzLXJlcG9ydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvc29sZS9iYXMtcmVwb3J0L2Jhcy1yZXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFxQztJQUgzRTs7UUFJRSxlQUFVLEdBQXFCLFNBQVMsQ0FBQztRQUN6QyxRQUFHLEdBQVcsYUFBYSxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FDekI7OzhHQUpZLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQge0Jhc1JlcG9ydCBhcyBCYXNSZXBvcnRCYXNlfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvc29sZS9iYXMtcmVwb3J0JztcbmltcG9ydCB7QmFzUmVwb3J0fSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNSZXBvcnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFzUmVwb3J0QmFzZSwgQmFzUmVwb3J0PntcbiAgbW9kZWxDbGFzczogdHlwZW9mIEJhc1JlcG9ydCA9IEJhc1JlcG9ydDtcbiAgdXJsOiBzdHJpbmcgPSAnYmFzLXJlcG9ydHMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { RestService } from '../../rest/rest.service';
|
|
2
|
+
import { RestService } from '../../rest/rest-old.service';
|
|
3
3
|
import { SoleBusiness } from '../../../../models';
|
|
4
4
|
import { catchError, map } from 'rxjs/operators';
|
|
5
5
|
import { AppEvent } from '../../../../models/event/app-event';
|
|
@@ -42,12 +42,12 @@ export class SoleBusinessService extends RestService {
|
|
|
42
42
|
}));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
SoleBusinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
46
|
-
SoleBusinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
45
|
+
SoleBusinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleBusinessService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
SoleBusinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleBusinessService, providedIn: 'root' });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleBusinessService, decorators: [{
|
|
48
48
|
type: Injectable,
|
|
49
49
|
args: [{
|
|
50
50
|
providedIn: 'root'
|
|
51
51
|
}]
|
|
52
52
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvc29sZS9zb2xlLWJ1c2luZXNzL3NvbGUtYnVzaW5lc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUt6RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGlCQUFpQixDQUFDO1FBQ2hDLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FtQ3pCO0lBakNDLEdBQUcsQ0FBQyxZQUEwQjtRQUM1QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxRQUFzQixFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRXJHLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQXNCLEVBQUUsSUFBVTtRQUMzQyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7YUFDekYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGVBQWlDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLFNBQVMsR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0Qyw2REFBNkQ7WUFDN0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7WUFFRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztpSEFyQ1UsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIGFzIFNvbGVCdXNpbmVzc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvc29sZS9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IE1lc3NhZ2VzRW51bSB9IGZyb20gJy4vbWVzc2FnZXMuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvdGhyb3dFcnJvcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzc1NlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxTb2xlQnVzaW5lc3NCYXNlLCBTb2xlQnVzaW5lc3M+e1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU29sZUJ1c2luZXNzID0gU29sZUJ1c2luZXNzO1xuICB1cmw6IHN0cmluZyA9ICdzb2xlLWJ1c2luZXNzZXMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBhZGQoc29sZUJ1c2luZXNzOiBTb2xlQnVzaW5lc3MpOiBPYnNlcnZhYmxlPFNvbGVCdXNpbmVzcz4ge1xuICAgIHJldHVybiBzdXBlci5hZGQoc29sZUJ1c2luZXNzKS5waXBlKFxuICAgICAgbWFwKChidXNpbmVzczogU29sZUJ1c2luZXNzKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5TT0xFX0JVU0lORVNTX0NSRUFURUQsIGJ1c2luZXNzKSk7XG5cbiAgICAgICAgcmV0dXJuIGJ1c2luZXNzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBsb2FkTG9nbyhidXNpbmVzczogU29sZUJ1c2luZXNzLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtidXNpbmVzcy5pZH0vbG9nb2AsIGZvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZEJ1c2luZXNzOiBTb2xlQnVzaW5lc3NCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBTb2xlQnVzaW5lc3NbXSA9IGNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICByZXBsYWNlKHRlbXBDYWNoZSwgcGxhaW5Ub0NsYXNzKFNvbGVCdXNpbmVzcywgdXBkYXRlZEJ1c2luZXNzKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3MoTWVzc2FnZXNFbnVtLkxPR09fVVBEQVRFRCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCB3cm9uZyBpbWFnZSAoZm9ybWF0IG9yIHNpemUpXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDIyKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihlcnJvci5lcnJvci52aW9sYXRpb25zWzBdLm1lc3NhZ2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
|