@myrtex-org/form 1.0.5 → 1.0.7

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.
@@ -12,33 +12,33 @@ export class ObjectFormService {
12
12
  get apiUrl() {
13
13
  return '/form/api/v2';
14
14
  }
15
- getTemplate(applicationId) {
16
- return this._http.get(`${this.apiUrl}/application/${applicationId}/params`);
15
+ getTemplate(apiPrefix, objectId) {
16
+ return this._http.get(`${this.apiUrl}/${apiPrefix}/${objectId}/params`);
17
17
  }
18
- getSectionValues(applicationId) {
18
+ getSectionValues(apiPrefix, applicationId) {
19
19
  return this._http
20
- .get(`${this.apiUrl}/application/${applicationId}`, this.getHeaders())
20
+ .get(`${this.apiUrl}/${apiPrefix}/${applicationId}`, this.getHeaders())
21
21
  .pipe(map(this.mapResult.bind(this)));
22
22
  }
23
23
  getTemplateSettings(templateSysName) {
24
24
  return this._http.get(`${this.apiUrl}/template/settings/${templateSysName}`);
25
25
  }
26
- updateApplicationValues(applicationId, sectionValues) {
26
+ updateApplicationValues(apiPrefix, applicationId, sectionValues) {
27
27
  return this._http
28
- .put(`${this.apiUrl}/application/${applicationId}`, { sectionValues }, this.getHeaders())
28
+ .put(`${this.apiUrl}/${apiPrefix}/${applicationId}`, { sectionValues }, this.getHeaders())
29
29
  .pipe(map(this.mapResult.bind(this)));
30
30
  }
31
- saveApplication(applicationId) {
31
+ saveApplication(apiPrefix, applicationId) {
32
32
  return this._http
33
- .post(`${this.apiUrl}/application/${applicationId}/save`, null, this.getHeaders())
33
+ .post(`${this.apiUrl}/${apiPrefix}/${applicationId}/save`, null, this.getHeaders())
34
34
  .pipe(map(this.mapResult.bind(this)));
35
35
  }
36
- copyApplication(copyCommand) {
37
- return this._http.post(`${this.apiUrl}/application/copy`, copyCommand);
36
+ copyApplication(apiPrefix, copyCommand) {
37
+ return this._http.post(`${this.apiUrl}/${apiPrefix}/copy`, copyCommand);
38
38
  }
39
- getSectionFiles(applicationId, sectionSysName) {
39
+ getSectionFiles(apiPrefix, applicationId, sectionSysName) {
40
40
  return this._http
41
- .get(`${this.apiUrl}/application/${applicationId}/${sectionSysName}/files`, this.getHeaders())
41
+ .get(`${this.apiUrl}/${apiPrefix}/${applicationId}/${sectionSysName}/files`, this.getHeaders())
42
42
  .pipe(map(this.mapResult.bind(this)));
43
43
  }
44
44
  getHeaders() {
@@ -54,4 +54,4 @@ export class ObjectFormService {
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectFormService, decorators: [{
55
55
  type: Injectable
56
56
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zZXJ2aWNlcy9vYmplY3QtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQTZCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUlyRSxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRVUsVUFBSyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN0Qyx3QkFBbUIsR0FBNEIsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFOUUsb0JBQWUsR0FBVyxvQkFBb0IsQ0FBQztLQXFEeEQ7SUFuREMsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXLENBQUMsYUFBcUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBOEIsR0FBRyxJQUFJLENBQUMsTUFBTSxnQkFBZ0IsYUFBYSxTQUFTLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsYUFBcUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLEdBQUcsQ0FBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxnQkFBZ0IsYUFBYSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxlQUF1QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLHNCQUFzQixlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxhQUFxQixFQUFFLGFBQWtDO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sZ0JBQWdCLGFBQWEsRUFBRSxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3pHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlLENBQUMsYUFBcUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLGdCQUFnQixhQUFhLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3ZGLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlLENBQUMsV0FBZ0U7UUFDckYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0sZUFBZSxDQUFDLGFBQXFCLEVBQUUsY0FBc0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLEdBQUcsQ0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLGdCQUFnQixhQUFhLElBQUksY0FBYyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxVQUFVO1FBSWhCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLFNBQVMsQ0FBSSxJQUFxQjtRQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSyxDQUFDO0lBQ3BCLENBQUM7K0dBeERVLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaWxlTW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb25jdXJyZW5jeVN0b3JlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC1mb3JtL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgT2JqZWN0VmFsdWVzRHRvLCBTZWN0aW9uVmFsdWVNb2RlbCwgVXBkYXRlVmFsdWVSZXN1bHQsIFRlbXBsYXRlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0Rm9ybVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudClcclxuICBwcml2YXRlIF9jb25jdXJyZW5jeVNlcnZpY2U6IENvbmN1cnJlbmN5U3RvcmVTZXJ2aWNlID0gaW5qZWN0KENvbmN1cnJlbmN5U3RvcmVTZXJ2aWNlKVxyXG5cclxuICBwcml2YXRlIF9jb25jdXJyZW5jeUtleTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uLXZhbHVlcyc7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGFwaVVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcvZm9ybS9hcGkvdjInO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlbXBsYXRlKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyB0ZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyB0ZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9PihgJHt0aGlzLmFwaVVybH0vYXBwbGljYXRpb24vJHthcHBsaWNhdGlvbklkfS9wYXJhbXNgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWN0aW9uVmFsdWVzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8T2JqZWN0VmFsdWVzRHRvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFxyXG4gICAgICAuZ2V0PE9iamVjdFZhbHVlc0R0bz4oYCR7dGhpcy5hcGlVcmx9L2FwcGxpY2F0aW9uLyR7YXBwbGljYXRpb25JZH1gLCB0aGlzLmdldEhlYWRlcnMoKSlcclxuICAgICAgLnBpcGUobWFwKHRoaXMubWFwUmVzdWx0LmJpbmQodGhpcykpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZW1wbGF0ZVNldHRpbmdzKHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZU1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VGVtcGxhdGVNb2RlbD4oYCR7dGhpcy5hcGlVcmx9L3RlbXBsYXRlL3NldHRpbmdzLyR7dGVtcGxhdGVTeXNOYW1lfWApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUFwcGxpY2F0aW9uVmFsdWVzKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgc2VjdGlvblZhbHVlczogU2VjdGlvblZhbHVlTW9kZWxbXSk6IE9ic2VydmFibGU8VXBkYXRlVmFsdWVSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwXHJcbiAgICAgIC5wdXQ8VXBkYXRlVmFsdWVSZXN1bHQ+KGAke3RoaXMuYXBpVXJsfS9hcHBsaWNhdGlvbi8ke2FwcGxpY2F0aW9uSWR9YCwge3NlY3Rpb25WYWx1ZXN9LCB0aGlzLmdldEhlYWRlcnMoKSlcclxuICAgICAgLnBpcGUobWFwKHRoaXMubWFwUmVzdWx0LmJpbmQodGhpcykpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlQXBwbGljYXRpb24oYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFxyXG4gICAgICAucG9zdDx2b2lkPihgJHt0aGlzLmFwaVVybH0vYXBwbGljYXRpb24vJHthcHBsaWNhdGlvbklkfS9zYXZlYCwgbnVsbCwgdGhpcy5nZXRIZWFkZXJzKCkpXHJcbiAgICAgIC5waXBlKG1hcCh0aGlzLm1hcFJlc3VsdC5iaW5kKHRoaXMpKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29weUFwcGxpY2F0aW9uKGNvcHlDb21tYW5kOiB7IHNvdXJjZUlkOiBzdHJpbmcsIHRhcmdldFRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPHsgaWQ6IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PHsgaWQ6IHN0cmluZyB9PihgJHt0aGlzLmFwaVVybH0vYXBwbGljYXRpb24vY29weWAsIGNvcHlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWN0aW9uRmlsZXMoYXBwbGljYXRpb25JZDogc3RyaW5nLCBzZWN0aW9uU3lzTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxGaWxlTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcclxuICAgICAgLmdldDxGaWxlTW9kZWxbXT4oYCR7dGhpcy5hcGlVcmx9L2FwcGxpY2F0aW9uLyR7YXBwbGljYXRpb25JZH0vJHtzZWN0aW9uU3lzTmFtZX0vZmlsZXNgLCB0aGlzLmdldEhlYWRlcnMoKSlcclxuICAgICAgLnBpcGUobWFwKHRoaXMubWFwUmVzdWx0LmJpbmQodGhpcykpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVhZGVycygpOiB7XHJcbiAgICBoZWFkZXJzOiBIdHRwSGVhZGVycyB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSxcclxuICAgIG9ic2VydmU6ICdyZXNwb25zZSdcclxuICB9IHtcclxuICAgIHJldHVybiB0aGlzLl9jb25jdXJyZW5jeVNlcnZpY2UuZ2V0SGVhZGVycyh0aGlzLl9jb25jdXJyZW5jeUtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcFJlc3VsdDxUPihyZXNwOiBIdHRwUmVzcG9uc2U8VD4pIHtcclxuICAgIHRoaXMuX2NvbmN1cnJlbmN5U2VydmljZS5mcm9tSGVhZGVycyh0aGlzLl9jb25jdXJyZW5jeUtleSwgcmVzcCk7XHJcbiAgICByZXR1cm4gcmVzcC5ib2R5ITtcclxuICB9XHJcbn1cclxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zZXJ2aWNlcy9vYmplY3QtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQTZCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUlyRSxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRVUsVUFBSyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN0Qyx3QkFBbUIsR0FBNEIsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFOUUsb0JBQWUsR0FBVyxvQkFBb0IsQ0FBQztLQXFEeEQ7SUFuREMsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBaUIsRUFBRSxRQUFnQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUE4QixHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxJQUFJLFFBQVEsU0FBUyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsYUFBcUI7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLEdBQUcsQ0FBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsSUFBSSxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDdkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGVBQXVCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0JBQXNCLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxhQUFrQztRQUN6RyxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsR0FBRyxDQUFvQixHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxJQUFJLGFBQWEsRUFBRSxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUIsRUFBRSxhQUFxQjtRQUM3RCxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsSUFBSSxDQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLElBQUksYUFBYSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN4RixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCLEVBQUUsV0FBZ0U7UUFDeEcsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUIsRUFBRSxhQUFxQixFQUFFLGNBQXNCO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxHQUFHLENBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsSUFBSSxhQUFhLElBQUksY0FBYyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzNHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxVQUFVO1FBSWhCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLFNBQVMsQ0FBSSxJQUFxQjtRQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSyxDQUFDO0lBQ3BCLENBQUM7K0dBeERVLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaWxlTW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb25jdXJyZW5jeVN0b3JlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC1mb3JtL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgT2JqZWN0VmFsdWVzRHRvLCBTZWN0aW9uVmFsdWVNb2RlbCwgVXBkYXRlVmFsdWVSZXN1bHQsIFRlbXBsYXRlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0Rm9ybVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudClcclxuICBwcml2YXRlIF9jb25jdXJyZW5jeVNlcnZpY2U6IENvbmN1cnJlbmN5U3RvcmVTZXJ2aWNlID0gaW5qZWN0KENvbmN1cnJlbmN5U3RvcmVTZXJ2aWNlKVxyXG5cclxuICBwcml2YXRlIF9jb25jdXJyZW5jeUtleTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uLXZhbHVlcyc7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGFwaVVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcvZm9ybS9hcGkvdjInO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlbXBsYXRlKGFwaVByZWZpeDogc3RyaW5nLCBvYmplY3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KGAke3RoaXMuYXBpVXJsfS8ke2FwaVByZWZpeH0vJHtvYmplY3RJZH0vcGFyYW1zYCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2VjdGlvblZhbHVlcyhhcGlQcmVmaXg6IHN0cmluZywgYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPYmplY3RWYWx1ZXNEdG8+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwXHJcbiAgICAgIC5nZXQ8T2JqZWN0VmFsdWVzRHRvPihgJHt0aGlzLmFwaVVybH0vJHthcGlQcmVmaXh9LyR7YXBwbGljYXRpb25JZH1gLCB0aGlzLmdldEhlYWRlcnMoKSlcclxuICAgICAgLnBpcGUobWFwKHRoaXMubWFwUmVzdWx0LmJpbmQodGhpcykpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZW1wbGF0ZVNldHRpbmdzKHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZU1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VGVtcGxhdGVNb2RlbD4oYCR7dGhpcy5hcGlVcmx9L3RlbXBsYXRlL3NldHRpbmdzLyR7dGVtcGxhdGVTeXNOYW1lfWApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUFwcGxpY2F0aW9uVmFsdWVzKGFwaVByZWZpeDogc3RyaW5nLCBhcHBsaWNhdGlvbklkOiBzdHJpbmcsIHNlY3Rpb25WYWx1ZXM6IFNlY3Rpb25WYWx1ZU1vZGVsW10pOiBPYnNlcnZhYmxlPFVwZGF0ZVZhbHVlUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFxyXG4gICAgICAucHV0PFVwZGF0ZVZhbHVlUmVzdWx0PihgJHt0aGlzLmFwaVVybH0vJHthcGlQcmVmaXh9LyR7YXBwbGljYXRpb25JZH1gLCB7c2VjdGlvblZhbHVlc30sIHRoaXMuZ2V0SGVhZGVycygpKVxyXG4gICAgICAucGlwZShtYXAodGhpcy5tYXBSZXN1bHQuYmluZCh0aGlzKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVBcHBsaWNhdGlvbihhcGlQcmVmaXg6IHN0cmluZywgYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFxyXG4gICAgICAucG9zdDx2b2lkPihgJHt0aGlzLmFwaVVybH0vJHthcGlQcmVmaXh9LyR7YXBwbGljYXRpb25JZH0vc2F2ZWAsIG51bGwsIHRoaXMuZ2V0SGVhZGVycygpKVxyXG4gICAgICAucGlwZShtYXAodGhpcy5tYXBSZXN1bHQuYmluZCh0aGlzKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvcHlBcHBsaWNhdGlvbihhcGlQcmVmaXg6IHN0cmluZywgY29weUNvbW1hbmQ6IHsgc291cmNlSWQ6IHN0cmluZywgdGFyZ2V0VGVtcGxhdGVTeXNOYW1lOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8eyBpZDogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8eyBpZDogc3RyaW5nIH0+KGAke3RoaXMuYXBpVXJsfS8ke2FwaVByZWZpeH0vY29weWAsIGNvcHlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWN0aW9uRmlsZXMoYXBpUHJlZml4OiBzdHJpbmcsIGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgc2VjdGlvblN5c05hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8RmlsZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwXHJcbiAgICAgIC5nZXQ8RmlsZU1vZGVsW10+KGAke3RoaXMuYXBpVXJsfS8ke2FwaVByZWZpeH0vJHthcHBsaWNhdGlvbklkfS8ke3NlY3Rpb25TeXNOYW1lfS9maWxlc2AsIHRoaXMuZ2V0SGVhZGVycygpKVxyXG4gICAgICAucGlwZShtYXAodGhpcy5tYXBSZXN1bHQuYmluZCh0aGlzKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IHtcclxuICAgIGhlYWRlcnM6IEh0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9LFxyXG4gICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ1xyXG4gIH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmN1cnJlbmN5U2VydmljZS5nZXRIZWFkZXJzKHRoaXMuX2NvbmN1cnJlbmN5S2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFwUmVzdWx0PFQ+KHJlc3A6IEh0dHBSZXNwb25zZTxUPikge1xyXG4gICAgdGhpcy5fY29uY3VycmVuY3lTZXJ2aWNlLmZyb21IZWFkZXJzKHRoaXMuX2NvbmN1cnJlbmN5S2V5LCByZXNwKTtcclxuICAgIHJldHVybiByZXNwLmJvZHkhO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,46 +1,46 @@
1
1
  import { createAction, props } from '@ngrx/store';
2
2
  export var EApplicationActions;
3
3
  (function (EApplicationActions) {
4
- EApplicationActions["LoadTemplatePending"] = "[Application] Load Template Pending";
5
- EApplicationActions["LoadTemplateSuccess"] = "[Application] Load Template Success";
6
- EApplicationActions["LoadTemplateError"] = "[Application] Load Template Error";
7
- EApplicationActions["LoadApplicationPending"] = "[Application] Load Application Pending";
8
- EApplicationActions["LoadApplicationSuccess"] = "[Application] Load Application Success";
9
- EApplicationActions["LoadApplicationError"] = "[Application] Load Application Error";
10
- EApplicationActions["SaveApplicationPending"] = "[Application] Save Application Pending";
11
- EApplicationActions["SaveApplicationSuccess"] = "[Application] Save Application Success";
12
- EApplicationActions["SaveApplicationError"] = "[Application] Save Application Error";
13
- EApplicationActions["CopyApplicationPending"] = "[Application] Copy Application Pending";
14
- EApplicationActions["CopyApplicationSuccess"] = "[Application] Copy Application Success";
15
- EApplicationActions["CopyApplicationError"] = "[Application] Copy Application Error";
16
- EApplicationActions["UpdateValues"] = "[Application] Update Application Values";
17
- EApplicationActions["AccessUpdateValues"] = "[Application] Access Update Application Values";
18
- EApplicationActions["SaveValuesPending"] = "[Application] Save Application Values Pending";
19
- EApplicationActions["SaveValuesSuccess"] = "[Application] Save Application Values Success";
20
- EApplicationActions["SaveValuesError"] = "[Application] Save Application Values Error";
21
- EApplicationActions["UpdateSelectedSectionSysName"] = "[Application] Update Selected Section SysName";
22
- EApplicationActions["LoadSectionFilesPending"] = "[Application] Load Section Files Pending";
23
- EApplicationActions["LoadSectionFilesSuccess"] = "[Application] Load Section Files Success";
24
- EApplicationActions["LoadSectionFilesError"] = "[Application] Load Section Files Error";
25
- EApplicationActions["ToggleCheckRequired"] = "[Application] Toggle Check Required";
4
+ EApplicationActions["LoadTemplatePending"] = "[Object Form] Load Template Pending";
5
+ EApplicationActions["LoadTemplateSuccess"] = "[Object Form] Load Template Success";
6
+ EApplicationActions["LoadTemplateError"] = "[Object Form] Load Template Error";
7
+ EApplicationActions["LoadObjectPending"] = "[Object Form] Load Object Pending";
8
+ EApplicationActions["LoadObjectSuccess"] = "[Object Form] Load Object Success";
9
+ EApplicationActions["LoadObjectError"] = "[Object Form] Load Object Error";
10
+ EApplicationActions["SaveObjectPending"] = "[Object Form] Save Object Pending";
11
+ EApplicationActions["SaveObjectSuccess"] = "[Object Form] Save Object Success";
12
+ EApplicationActions["SaveObjectError"] = "[Object Form] Save Object Error";
13
+ EApplicationActions["CopyObjectPending"] = "[Object Form] Copy Object Pending";
14
+ EApplicationActions["CopyObjectSuccess"] = "[Object Form] Copy Object Success";
15
+ EApplicationActions["CopyObjectError"] = "[Object Form] Copy Object Error";
16
+ EApplicationActions["UpdateValues"] = "[Object Form] Update Application Values";
17
+ EApplicationActions["AccessUpdateValues"] = "[Object Form] Access Update Application Values";
18
+ EApplicationActions["SaveValuesPending"] = "[Object Form] Save Application Values Pending";
19
+ EApplicationActions["SaveValuesSuccess"] = "[Object Form] Save Application Values Success";
20
+ EApplicationActions["SaveValuesError"] = "[Object Form] Save Application Values Error";
21
+ EApplicationActions["UpdateSelectedSectionSysName"] = "[Object Form] Update Selected Section SysName";
22
+ EApplicationActions["LoadSectionFilesPending"] = "[Object Form] Load Section Files Pending";
23
+ EApplicationActions["LoadSectionFilesSuccess"] = "[Object Form] Load Section Files Success";
24
+ EApplicationActions["LoadSectionFilesError"] = "[Object Form] Load Section Files Error";
25
+ EApplicationActions["ToggleCheckRequired"] = "[Object Form] Toggle Check Required";
26
26
  EApplicationActions["UpdateCheckRequired"] = "[Application] Update Check Required";
27
- EApplicationActions["LoadPreviewTemplatePending"] = "[Application] Load Preview Template Pending";
28
- EApplicationActions["LoadPreviewTemplateSuccess"] = "[Application] Load Preview Template Success";
29
- EApplicationActions["LoadPreviewTemplateError"] = "[Application] Load Preview Template Error";
30
- EApplicationActions["CheckAllDependencyRules"] = "[Application] Check All Dependency Rule";
27
+ EApplicationActions["LoadPreviewTemplatePending"] = "[Object Form] Load Preview Template Pending";
28
+ EApplicationActions["LoadPreviewTemplateSuccess"] = "[Object Form] Load Preview Template Success";
29
+ EApplicationActions["LoadPreviewTemplateError"] = "[Object Form] Load Preview Template Error";
30
+ EApplicationActions["CheckAllDependencyRules"] = "[Object Form] Check All Dependency Rule";
31
31
  })(EApplicationActions || (EApplicationActions = {}));
32
32
  export const loadTemplatePending = createAction(EApplicationActions.LoadTemplatePending);
33
33
  export const loadTemplateSuccess = createAction(EApplicationActions.LoadTemplateSuccess, props());
34
34
  export const loadTemplateError = createAction(EApplicationActions.LoadTemplateError);
35
- export const loadApplicationPending = createAction(EApplicationActions.LoadApplicationPending, props());
36
- export const loadApplicationSuccess = createAction(EApplicationActions.LoadApplicationSuccess, props());
37
- export const loadApplicationError = createAction(EApplicationActions.LoadApplicationError);
38
- export const saveApplicationPending = createAction(EApplicationActions.SaveApplicationPending);
39
- export const saveApplicationSuccess = createAction(EApplicationActions.SaveApplicationSuccess);
40
- export const saveApplicationError = createAction(EApplicationActions.SaveApplicationError);
41
- export const copyApplicationPending = createAction(EApplicationActions.CopyApplicationPending, props());
42
- export const copyApplicationSuccess = createAction(EApplicationActions.CopyApplicationSuccess);
43
- export const copyApplicationError = createAction(EApplicationActions.CopyApplicationError);
35
+ export const loadObjectPending = createAction(EApplicationActions.LoadObjectPending, props());
36
+ export const loadObjectSuccess = createAction(EApplicationActions.LoadObjectSuccess, props());
37
+ export const loadObjectError = createAction(EApplicationActions.LoadObjectError);
38
+ export const saveObjectPending = createAction(EApplicationActions.SaveObjectPending);
39
+ export const saveObjectSuccess = createAction(EApplicationActions.SaveObjectSuccess);
40
+ export const saveObjectError = createAction(EApplicationActions.SaveObjectError);
41
+ export const copyObjectPending = createAction(EApplicationActions.CopyObjectPending, props());
42
+ export const copyObjectSuccess = createAction(EApplicationActions.CopyObjectSuccess);
43
+ export const copyObjectError = createAction(EApplicationActions.CopyObjectError);
44
44
  export const updateValues = createAction(EApplicationActions.UpdateValues, props());
45
45
  export const accessUpdateValues = createAction(EApplicationActions.AccessUpdateValues);
46
46
  export const saveValuesPending = createAction(EApplicationActions.SaveValuesPending);
@@ -56,4 +56,4 @@ export const loadPreviewTemplatePending = createAction(EApplicationActions.LoadP
56
56
  export const loadPreviewTemplateSuccess = createAction(EApplicationActions.LoadPreviewTemplateSuccess, props());
57
57
  export const loadPreviewTemplateError = createAction(EApplicationActions.LoadPreviewTemplateError);
58
58
  export const checkAllDependencyRules = createAction(EApplicationActions.CheckAllDependencyRules);
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zdG9yZS9vYmplY3QtZm9ybS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS2xELE1BQU0sQ0FBTixJQUFZLG1CQXFDWDtBQXJDRCxXQUFZLG1CQUFtQjtJQUM3QixrRkFBMkQsQ0FBQTtJQUMzRCxrRkFBMkQsQ0FBQTtJQUMzRCw4RUFBdUQsQ0FBQTtJQUV2RCx3RkFBaUUsQ0FBQTtJQUNqRSx3RkFBaUUsQ0FBQTtJQUNqRSxvRkFBNkQsQ0FBQTtJQUU3RCx3RkFBaUUsQ0FBQTtJQUNqRSx3RkFBaUUsQ0FBQTtJQUNqRSxvRkFBNkQsQ0FBQTtJQUU3RCx3RkFBaUUsQ0FBQTtJQUNqRSx3RkFBaUUsQ0FBQTtJQUNqRSxvRkFBNkQsQ0FBQTtJQUU3RCwrRUFBd0QsQ0FBQTtJQUN4RCw0RkFBcUUsQ0FBQTtJQUNyRSwwRkFBbUUsQ0FBQTtJQUNuRSwwRkFBbUUsQ0FBQTtJQUNuRSxzRkFBK0QsQ0FBQTtJQUUvRCxxR0FBOEUsQ0FBQTtJQUU5RSwyRkFBb0UsQ0FBQTtJQUNwRSwyRkFBb0UsQ0FBQTtJQUNwRSx1RkFBZ0UsQ0FBQTtJQUVoRSxrRkFBMkQsQ0FBQTtJQUMzRCxrRkFBMkQsQ0FBQTtJQUUzRCxpR0FBMEUsQ0FBQTtJQUMxRSxpR0FBMEUsQ0FBQTtJQUMxRSw2RkFBc0UsQ0FBQTtJQUV0RSwwRkFBbUUsQ0FBQTtBQUNyRSxDQUFDLEVBckNXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFxQzlCO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3QyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FDeEMsQ0FBQztBQUNG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MEJBQTBCLEVBQzlDLEtBQUssRUFBK0IsQ0FDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FDcEQsbUJBQW1CLENBQUMsMEJBQTBCLEVBQzlDLEtBQUssRUFBZ0UsQ0FDdEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FDbEQsbUJBQW1CLENBQUMsd0JBQXdCLENBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQ2pELG1CQUFtQixDQUFDLHVCQUF1QixDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlY3Rpb25WYWx1ZU1vZGVsLCBVcGRhdGVWYWx1ZVJlc3VsdCwgVmFsdWVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbGVNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC1mb3JtL21vZGVscyc7XHJcblxyXG5leHBvcnQgZW51bSBFQXBwbGljYXRpb25BY3Rpb25zIHtcclxuICBMb2FkVGVtcGxhdGVQZW5kaW5nID0gJ1tBcHBsaWNhdGlvbl0gTG9hZCBUZW1wbGF0ZSBQZW5kaW5nJyxcclxuICBMb2FkVGVtcGxhdGVTdWNjZXNzID0gJ1tBcHBsaWNhdGlvbl0gTG9hZCBUZW1wbGF0ZSBTdWNjZXNzJyxcclxuICBMb2FkVGVtcGxhdGVFcnJvciA9ICdbQXBwbGljYXRpb25dIExvYWQgVGVtcGxhdGUgRXJyb3InLFxyXG5cclxuICBMb2FkQXBwbGljYXRpb25QZW5kaW5nID0gJ1tBcHBsaWNhdGlvbl0gTG9hZCBBcHBsaWNhdGlvbiBQZW5kaW5nJyxcclxuICBMb2FkQXBwbGljYXRpb25TdWNjZXNzID0gJ1tBcHBsaWNhdGlvbl0gTG9hZCBBcHBsaWNhdGlvbiBTdWNjZXNzJyxcclxuICBMb2FkQXBwbGljYXRpb25FcnJvciA9ICdbQXBwbGljYXRpb25dIExvYWQgQXBwbGljYXRpb24gRXJyb3InLFxyXG5cclxuICBTYXZlQXBwbGljYXRpb25QZW5kaW5nID0gJ1tBcHBsaWNhdGlvbl0gU2F2ZSBBcHBsaWNhdGlvbiBQZW5kaW5nJyxcclxuICBTYXZlQXBwbGljYXRpb25TdWNjZXNzID0gJ1tBcHBsaWNhdGlvbl0gU2F2ZSBBcHBsaWNhdGlvbiBTdWNjZXNzJyxcclxuICBTYXZlQXBwbGljYXRpb25FcnJvciA9ICdbQXBwbGljYXRpb25dIFNhdmUgQXBwbGljYXRpb24gRXJyb3InLFxyXG5cclxuICBDb3B5QXBwbGljYXRpb25QZW5kaW5nID0gJ1tBcHBsaWNhdGlvbl0gQ29weSBBcHBsaWNhdGlvbiBQZW5kaW5nJyxcclxuICBDb3B5QXBwbGljYXRpb25TdWNjZXNzID0gJ1tBcHBsaWNhdGlvbl0gQ29weSBBcHBsaWNhdGlvbiBTdWNjZXNzJyxcclxuICBDb3B5QXBwbGljYXRpb25FcnJvciA9ICdbQXBwbGljYXRpb25dIENvcHkgQXBwbGljYXRpb24gRXJyb3InLFxyXG5cclxuICBVcGRhdGVWYWx1ZXMgPSAnW0FwcGxpY2F0aW9uXSBVcGRhdGUgQXBwbGljYXRpb24gVmFsdWVzJyxcclxuICBBY2Nlc3NVcGRhdGVWYWx1ZXMgPSAnW0FwcGxpY2F0aW9uXSBBY2Nlc3MgVXBkYXRlIEFwcGxpY2F0aW9uIFZhbHVlcycsXHJcbiAgU2F2ZVZhbHVlc1BlbmRpbmcgPSAnW0FwcGxpY2F0aW9uXSBTYXZlIEFwcGxpY2F0aW9uIFZhbHVlcyBQZW5kaW5nJyxcclxuICBTYXZlVmFsdWVzU3VjY2VzcyA9ICdbQXBwbGljYXRpb25dIFNhdmUgQXBwbGljYXRpb24gVmFsdWVzIFN1Y2Nlc3MnLFxyXG4gIFNhdmVWYWx1ZXNFcnJvciA9ICdbQXBwbGljYXRpb25dIFNhdmUgQXBwbGljYXRpb24gVmFsdWVzIEVycm9yJyxcclxuXHJcbiAgVXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSA9ICdbQXBwbGljYXRpb25dIFVwZGF0ZSBTZWxlY3RlZCBTZWN0aW9uIFN5c05hbWUnLFxyXG5cclxuICBMb2FkU2VjdGlvbkZpbGVzUGVuZGluZyA9ICdbQXBwbGljYXRpb25dIExvYWQgU2VjdGlvbiBGaWxlcyBQZW5kaW5nJyxcclxuICBMb2FkU2VjdGlvbkZpbGVzU3VjY2VzcyA9ICdbQXBwbGljYXRpb25dIExvYWQgU2VjdGlvbiBGaWxlcyBTdWNjZXNzJyxcclxuICBMb2FkU2VjdGlvbkZpbGVzRXJyb3IgPSAnW0FwcGxpY2F0aW9uXSBMb2FkIFNlY3Rpb24gRmlsZXMgRXJyb3InLFxyXG5cclxuICBUb2dnbGVDaGVja1JlcXVpcmVkID0gJ1tBcHBsaWNhdGlvbl0gVG9nZ2xlIENoZWNrIFJlcXVpcmVkJyxcclxuICBVcGRhdGVDaGVja1JlcXVpcmVkID0gJ1tBcHBsaWNhdGlvbl0gVXBkYXRlIENoZWNrIFJlcXVpcmVkJyxcclxuXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcgPSAnW0FwcGxpY2F0aW9uXSBMb2FkIFByZXZpZXcgVGVtcGxhdGUgUGVuZGluZycsXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZVN1Y2Nlc3MgPSAnW0FwcGxpY2F0aW9uXSBMb2FkIFByZXZpZXcgVGVtcGxhdGUgU3VjY2VzcycsXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZUVycm9yID0gJ1tBcHBsaWNhdGlvbl0gTG9hZCBQcmV2aWV3IFRlbXBsYXRlIEVycm9yJyxcclxuXHJcbiAgQ2hlY2tBbGxEZXBlbmRlbmN5UnVsZXMgPSAnW0FwcGxpY2F0aW9uXSBDaGVjayBBbGwgRGVwZW5kZW5jeSBSdWxlJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRUZW1wbGF0ZVBlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkVGVtcGxhdGVQZW5kaW5nXHJcbik7XHJcbmV4cG9ydCBjb25zdCBsb2FkVGVtcGxhdGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFRlbXBsYXRlU3VjY2VzcyxcclxuICBwcm9wczx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRUZW1wbGF0ZUVycm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFRlbXBsYXRlRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkQXBwbGljYXRpb25QZW5kaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZEFwcGxpY2F0aW9uUGVuZGluZyxcclxuICBwcm9wczx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRBcHBsaWNhdGlvblN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkQXBwbGljYXRpb25TdWNjZXNzLFxyXG4gIHByb3BzPHtcclxuICAgIHRlbXBsYXRlU2V0dGluZ3M6IFRlbXBsYXRlTW9kZWwsXHJcbiAgICBzZWN0aW9uVmFsdWVzOiBTZWN0aW9uVmFsdWVNb2RlbFtdLFxyXG4gICAgYXBwbGljYXRpb25JZDogc3RyaW5nLFxyXG4gICAgaXNEcmFmdDogYm9vbGVhblxyXG4gIH0+KClcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRBcHBsaWNhdGlvbkVycm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZEFwcGxpY2F0aW9uRXJyb3JcclxuKTtcclxuZXhwb3J0IGNvbnN0IHNhdmVBcHBsaWNhdGlvblBlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlQXBwbGljYXRpb25QZW5kaW5nXHJcbik7XHJcbmV4cG9ydCBjb25zdCBzYXZlQXBwbGljYXRpb25TdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZUFwcGxpY2F0aW9uU3VjY2Vzc1xyXG4pO1xyXG5leHBvcnQgY29uc3Qgc2F2ZUFwcGxpY2F0aW9uRXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlQXBwbGljYXRpb25FcnJvclxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvcHlBcHBsaWNhdGlvblBlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Db3B5QXBwbGljYXRpb25QZW5kaW5nLFxyXG4gIHByb3BzPHsgc291cmNlSWQ6IHN0cmluZywgdGFyZ2V0VGVtcGxhdGVTeXNOYW1lOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5leHBvcnQgY29uc3QgY29weUFwcGxpY2F0aW9uU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkNvcHlBcHBsaWNhdGlvblN1Y2Nlc3NcclxuKTtcclxuZXhwb3J0IGNvbnN0IGNvcHlBcHBsaWNhdGlvbkVycm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuQ29weUFwcGxpY2F0aW9uRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGRhdGVWYWx1ZXMgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5VcGRhdGVWYWx1ZXMsXHJcbiAgcHJvcHM8eyB2YWx1ZTogVmFsdWVNb2RlbCB8IFZhbHVlTW9kZWxbXSB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgYWNjZXNzVXBkYXRlVmFsdWVzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuQWNjZXNzVXBkYXRlVmFsdWVzXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3Qgc2F2ZVZhbHVlc1BlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzUGVuZGluZ1xyXG4pO1xyXG5leHBvcnQgY29uc3Qgc2F2ZVZhbHVlc1N1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzU3VjY2VzcyxcclxuICBwcm9wczx7IHJlc3VsdDogVXBkYXRlVmFsdWVSZXN1bHQsIGFwcGxpY2F0aW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcbmV4cG9ydCBjb25zdCBzYXZlVmFsdWVzRXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGRhdGVTZWxlY3RlZFNlY3Rpb25TeXNOYW1lID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuVXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSxcclxuICBwcm9wczx7IHNlY3Rpb25TeXNOYW1lOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRTZWN0aW9uRmlsZXNQZW5kaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFNlY3Rpb25GaWxlc1BlbmRpbmdcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRTZWN0aW9uRmlsZXNTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFNlY3Rpb25GaWxlc1N1Y2Nlc3MsXHJcbiAgcHJvcHM8eyBzZWN0aW9uRmlsZXM6IEZpbGVNb2RlbFtdIH0+KClcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRTZWN0aW9uRmlsZXNFcnJvciA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRTZWN0aW9uRmlsZXNFcnJvclxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRvZ2dsZUNoZWNrUmVxdWlyZWQgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Ub2dnbGVDaGVja1JlcXVpcmVkXHJcbik7XHJcbmV4cG9ydCBjb25zdCB1cGRhdGVDaGVja1JlcXVpcmVkID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuVXBkYXRlQ2hlY2tSZXF1aXJlZCxcclxuICBwcm9wczx7IGlzQ2hlY2tSZXF1aXJlZDogYm9vbGVhbiB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgbG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkUHJldmlld1RlbXBsYXRlUGVuZGluZyxcclxuICBwcm9wczx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkUHJldmlld1RlbXBsYXRlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRQcmV2aWV3VGVtcGxhdGVTdWNjZXNzLFxyXG4gIHByb3BzPHsgdGVtcGxhdGVTZXR0aW5nczogVGVtcGxhdGVNb2RlbCwgdGVtcGxhdGVTeXNOYW1lOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRQcmV2aWV3VGVtcGxhdGVFcnJvciA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRQcmV2aWV3VGVtcGxhdGVFcnJvclxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNoZWNrQWxsRGVwZW5kZW5jeVJ1bGVzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuQ2hlY2tBbGxEZXBlbmRlbmN5UnVsZXNcclxuKTtcclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zdG9yZS9vYmplY3QtZm9ybS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS2xELE1BQU0sQ0FBTixJQUFZLG1CQXFDWDtBQXJDRCxXQUFZLG1CQUFtQjtJQUM3QixrRkFBMkQsQ0FBQTtJQUMzRCxrRkFBMkQsQ0FBQTtJQUMzRCw4RUFBdUQsQ0FBQTtJQUV2RCw4RUFBdUQsQ0FBQTtJQUN2RCw4RUFBdUQsQ0FBQTtJQUN2RCwwRUFBbUQsQ0FBQTtJQUVuRCw4RUFBdUQsQ0FBQTtJQUN2RCw4RUFBdUQsQ0FBQTtJQUN2RCwwRUFBbUQsQ0FBQTtJQUVuRCw4RUFBdUQsQ0FBQTtJQUN2RCw4RUFBdUQsQ0FBQTtJQUN2RCwwRUFBbUQsQ0FBQTtJQUVuRCwrRUFBd0QsQ0FBQTtJQUN4RCw0RkFBcUUsQ0FBQTtJQUNyRSwwRkFBbUUsQ0FBQTtJQUNuRSwwRkFBbUUsQ0FBQTtJQUNuRSxzRkFBK0QsQ0FBQTtJQUUvRCxxR0FBOEUsQ0FBQTtJQUU5RSwyRkFBb0UsQ0FBQTtJQUNwRSwyRkFBb0UsQ0FBQTtJQUNwRSx1RkFBZ0UsQ0FBQTtJQUVoRSxrRkFBMkQsQ0FBQTtJQUMzRCxrRkFBMkQsQ0FBQTtJQUUzRCxpR0FBMEUsQ0FBQTtJQUMxRSxpR0FBMEUsQ0FBQTtJQUMxRSw2RkFBc0UsQ0FBQTtJQUV0RSwwRkFBbUUsQ0FBQTtBQUNyRSxDQUFDLEVBckNXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFxQzlCO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3QyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FDeEMsQ0FBQztBQUNG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LEtBQUssRUFBK0IsQ0FDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FDcEQsbUJBQW1CLENBQUMsMEJBQTBCLEVBQzlDLEtBQUssRUFBZ0UsQ0FDdEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FDbEQsbUJBQW1CLENBQUMsd0JBQXdCLENBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLENBQ2pELG1CQUFtQixDQUFDLHVCQUF1QixDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlY3Rpb25WYWx1ZU1vZGVsLCBVcGRhdGVWYWx1ZVJlc3VsdCwgVmFsdWVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbGVNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC1mb3JtL21vZGVscyc7XHJcblxyXG5leHBvcnQgZW51bSBFQXBwbGljYXRpb25BY3Rpb25zIHtcclxuICBMb2FkVGVtcGxhdGVQZW5kaW5nID0gJ1tPYmplY3QgRm9ybV0gTG9hZCBUZW1wbGF0ZSBQZW5kaW5nJyxcclxuICBMb2FkVGVtcGxhdGVTdWNjZXNzID0gJ1tPYmplY3QgRm9ybV0gTG9hZCBUZW1wbGF0ZSBTdWNjZXNzJyxcclxuICBMb2FkVGVtcGxhdGVFcnJvciA9ICdbT2JqZWN0IEZvcm1dIExvYWQgVGVtcGxhdGUgRXJyb3InLFxyXG5cclxuICBMb2FkT2JqZWN0UGVuZGluZyA9ICdbT2JqZWN0IEZvcm1dIExvYWQgT2JqZWN0IFBlbmRpbmcnLFxyXG4gIExvYWRPYmplY3RTdWNjZXNzID0gJ1tPYmplY3QgRm9ybV0gTG9hZCBPYmplY3QgU3VjY2VzcycsXHJcbiAgTG9hZE9iamVjdEVycm9yID0gJ1tPYmplY3QgRm9ybV0gTG9hZCBPYmplY3QgRXJyb3InLFxyXG5cclxuICBTYXZlT2JqZWN0UGVuZGluZyA9ICdbT2JqZWN0IEZvcm1dIFNhdmUgT2JqZWN0IFBlbmRpbmcnLFxyXG4gIFNhdmVPYmplY3RTdWNjZXNzID0gJ1tPYmplY3QgRm9ybV0gU2F2ZSBPYmplY3QgU3VjY2VzcycsXHJcbiAgU2F2ZU9iamVjdEVycm9yID0gJ1tPYmplY3QgRm9ybV0gU2F2ZSBPYmplY3QgRXJyb3InLFxyXG5cclxuICBDb3B5T2JqZWN0UGVuZGluZyA9ICdbT2JqZWN0IEZvcm1dIENvcHkgT2JqZWN0IFBlbmRpbmcnLFxyXG4gIENvcHlPYmplY3RTdWNjZXNzID0gJ1tPYmplY3QgRm9ybV0gQ29weSBPYmplY3QgU3VjY2VzcycsXHJcbiAgQ29weU9iamVjdEVycm9yID0gJ1tPYmplY3QgRm9ybV0gQ29weSBPYmplY3QgRXJyb3InLFxyXG5cclxuICBVcGRhdGVWYWx1ZXMgPSAnW09iamVjdCBGb3JtXSBVcGRhdGUgQXBwbGljYXRpb24gVmFsdWVzJyxcclxuICBBY2Nlc3NVcGRhdGVWYWx1ZXMgPSAnW09iamVjdCBGb3JtXSBBY2Nlc3MgVXBkYXRlIEFwcGxpY2F0aW9uIFZhbHVlcycsXHJcbiAgU2F2ZVZhbHVlc1BlbmRpbmcgPSAnW09iamVjdCBGb3JtXSBTYXZlIEFwcGxpY2F0aW9uIFZhbHVlcyBQZW5kaW5nJyxcclxuICBTYXZlVmFsdWVzU3VjY2VzcyA9ICdbT2JqZWN0IEZvcm1dIFNhdmUgQXBwbGljYXRpb24gVmFsdWVzIFN1Y2Nlc3MnLFxyXG4gIFNhdmVWYWx1ZXNFcnJvciA9ICdbT2JqZWN0IEZvcm1dIFNhdmUgQXBwbGljYXRpb24gVmFsdWVzIEVycm9yJyxcclxuXHJcbiAgVXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSA9ICdbT2JqZWN0IEZvcm1dIFVwZGF0ZSBTZWxlY3RlZCBTZWN0aW9uIFN5c05hbWUnLFxyXG5cclxuICBMb2FkU2VjdGlvbkZpbGVzUGVuZGluZyA9ICdbT2JqZWN0IEZvcm1dIExvYWQgU2VjdGlvbiBGaWxlcyBQZW5kaW5nJyxcclxuICBMb2FkU2VjdGlvbkZpbGVzU3VjY2VzcyA9ICdbT2JqZWN0IEZvcm1dIExvYWQgU2VjdGlvbiBGaWxlcyBTdWNjZXNzJyxcclxuICBMb2FkU2VjdGlvbkZpbGVzRXJyb3IgPSAnW09iamVjdCBGb3JtXSBMb2FkIFNlY3Rpb24gRmlsZXMgRXJyb3InLFxyXG5cclxuICBUb2dnbGVDaGVja1JlcXVpcmVkID0gJ1tPYmplY3QgRm9ybV0gVG9nZ2xlIENoZWNrIFJlcXVpcmVkJyxcclxuICBVcGRhdGVDaGVja1JlcXVpcmVkID0gJ1tBcHBsaWNhdGlvbl0gVXBkYXRlIENoZWNrIFJlcXVpcmVkJyxcclxuXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcgPSAnW09iamVjdCBGb3JtXSBMb2FkIFByZXZpZXcgVGVtcGxhdGUgUGVuZGluZycsXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZVN1Y2Nlc3MgPSAnW09iamVjdCBGb3JtXSBMb2FkIFByZXZpZXcgVGVtcGxhdGUgU3VjY2VzcycsXHJcbiAgTG9hZFByZXZpZXdUZW1wbGF0ZUVycm9yID0gJ1tPYmplY3QgRm9ybV0gTG9hZCBQcmV2aWV3IFRlbXBsYXRlIEVycm9yJyxcclxuXHJcbiAgQ2hlY2tBbGxEZXBlbmRlbmN5UnVsZXMgPSAnW09iamVjdCBGb3JtXSBDaGVjayBBbGwgRGVwZW5kZW5jeSBSdWxlJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRUZW1wbGF0ZVBlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkVGVtcGxhdGVQZW5kaW5nXHJcbik7XHJcbmV4cG9ydCBjb25zdCBsb2FkVGVtcGxhdGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFRlbXBsYXRlU3VjY2VzcyxcclxuICBwcm9wczx7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuZXhwb3J0IGNvbnN0IGxvYWRUZW1wbGF0ZUVycm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFRlbXBsYXRlRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkT2JqZWN0UGVuZGluZyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRPYmplY3RQZW5kaW5nLFxyXG4gIHByb3BzPHsgdGVtcGxhdGVTeXNOYW1lOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5leHBvcnQgY29uc3QgbG9hZE9iamVjdFN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkT2JqZWN0U3VjY2VzcyxcclxuICBwcm9wczx7XHJcbiAgICB0ZW1wbGF0ZVNldHRpbmdzOiBUZW1wbGF0ZU1vZGVsLFxyXG4gICAgc2VjdGlvblZhbHVlczogU2VjdGlvblZhbHVlTW9kZWxbXSxcclxuICAgIGFwcGxpY2F0aW9uSWQ6IHN0cmluZyxcclxuICAgIGlzRHJhZnQ6IGJvb2xlYW5cclxuICB9PigpXHJcbik7XHJcbmV4cG9ydCBjb25zdCBsb2FkT2JqZWN0RXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkT2JqZWN0RXJyb3JcclxuKTtcclxuZXhwb3J0IGNvbnN0IHNhdmVPYmplY3RQZW5kaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZU9iamVjdFBlbmRpbmdcclxuKTtcclxuZXhwb3J0IGNvbnN0IHNhdmVPYmplY3RTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZU9iamVjdFN1Y2Nlc3NcclxuKTtcclxuZXhwb3J0IGNvbnN0IHNhdmVPYmplY3RFcnJvciA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLlNhdmVPYmplY3RFcnJvclxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvcHlPYmplY3RQZW5kaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuQ29weU9iamVjdFBlbmRpbmcsXHJcbiAgcHJvcHM8eyBzb3VyY2VJZDogc3RyaW5nLCB0YXJnZXRUZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9PigpXHJcbik7XHJcbmV4cG9ydCBjb25zdCBjb3B5T2JqZWN0U3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkNvcHlPYmplY3RTdWNjZXNzXHJcbik7XHJcbmV4cG9ydCBjb25zdCBjb3B5T2JqZWN0RXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Db3B5T2JqZWN0RXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGRhdGVWYWx1ZXMgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5VcGRhdGVWYWx1ZXMsXHJcbiAgcHJvcHM8eyB2YWx1ZTogVmFsdWVNb2RlbCB8IFZhbHVlTW9kZWxbXSB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgYWNjZXNzVXBkYXRlVmFsdWVzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuQWNjZXNzVXBkYXRlVmFsdWVzXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3Qgc2F2ZVZhbHVlc1BlbmRpbmcgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzUGVuZGluZ1xyXG4pO1xyXG5leHBvcnQgY29uc3Qgc2F2ZVZhbHVlc1N1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzU3VjY2VzcyxcclxuICBwcm9wczx7IHJlc3VsdDogVXBkYXRlVmFsdWVSZXN1bHQsIG9iamVjdElkOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5leHBvcnQgY29uc3Qgc2F2ZVZhbHVlc0Vycm9yID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZVZhbHVlc0Vycm9yXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgdXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLlVwZGF0ZVNlbGVjdGVkU2VjdGlvblN5c05hbWUsXHJcbiAgcHJvcHM8eyBzZWN0aW9uU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkU2VjdGlvbkZpbGVzUGVuZGluZyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRTZWN0aW9uRmlsZXNQZW5kaW5nXHJcbik7XHJcbmV4cG9ydCBjb25zdCBsb2FkU2VjdGlvbkZpbGVzU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRTZWN0aW9uRmlsZXNTdWNjZXNzLFxyXG4gIHByb3BzPHsgc2VjdGlvbkZpbGVzOiBGaWxlTW9kZWxbXSB9PigpXHJcbik7XHJcbmV4cG9ydCBjb25zdCBsb2FkU2VjdGlvbkZpbGVzRXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkU2VjdGlvbkZpbGVzRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCB0b2dnbGVDaGVja1JlcXVpcmVkID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuVG9nZ2xlQ2hlY2tSZXF1aXJlZFxyXG4pO1xyXG5leHBvcnQgY29uc3QgdXBkYXRlQ2hlY2tSZXF1aXJlZCA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLlVwZGF0ZUNoZWNrUmVxdWlyZWQsXHJcbiAgcHJvcHM8eyBpc0NoZWNrUmVxdWlyZWQ6IGJvb2xlYW4gfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRQcmV2aWV3VGVtcGxhdGVQZW5kaW5nID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcsXHJcbiAgcHJvcHM8eyB0ZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgbG9hZFByZXZpZXdUZW1wbGF0ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkUHJldmlld1RlbXBsYXRlU3VjY2VzcyxcclxuICBwcm9wczx7IHRlbXBsYXRlU2V0dGluZ3M6IFRlbXBsYXRlTW9kZWwsIHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkUHJldmlld1RlbXBsYXRlRXJyb3IgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkUHJldmlld1RlbXBsYXRlRXJyb3JcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjaGVja0FsbERlcGVuZGVuY3lSdWxlcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQXBwbGljYXRpb25BY3Rpb25zLkNoZWNrQWxsRGVwZW5kZW5jeVJ1bGVzXHJcbik7XHJcbiJdfQ==
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngrx/effects";
10
10
  import * as i2 from "@ngrx/store";
11
11
  import * as i3 from "@angular/router";
12
- import * as i4 from "../services";
12
+ import * as i4 from "../services/object-form.service";
13
13
  import * as i5 from "@myrtex-org/ui";
14
14
  export class ObjectFormEffects {
15
15
  constructor(_actions$, _store, _router, _applicationService, _toasterService) {
@@ -19,11 +19,11 @@ export class ObjectFormEffects {
19
19
  this._applicationService = _applicationService;
20
20
  this._toasterService = _toasterService;
21
21
  this._autoSaveStore = inject(AutoSaveStore);
22
- this.loadTemplatePending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadTemplatePending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('templateSysName'))), switchMap(([_, applicationId, templateSysName]) => {
23
- if (applicationId) {
24
- return this._applicationService.getTemplate(applicationId).pipe(switchMap(({ templateSysName }) => ([
22
+ this.loadTemplatePending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadTemplatePending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('templateSysName'))), switchMap(([_, apiPrefix, objectId, templateSysName]) => {
23
+ if (objectId) {
24
+ return this._applicationService.getTemplate(apiPrefix, objectId).pipe(switchMap(({ templateSysName }) => ([
25
25
  objectFormActions.loadTemplateSuccess({ templateSysName }),
26
- objectFormActions.loadApplicationPending({ templateSysName })
26
+ objectFormActions.loadObjectPending({ templateSysName })
27
27
  ])), catchError(() => {
28
28
  return of(objectFormActions.loadTemplateError());
29
29
  }));
@@ -32,38 +32,38 @@ export class ObjectFormEffects {
32
32
  return of(objectFormActions.loadPreviewTemplatePending({ templateSysName }));
33
33
  }
34
34
  })));
35
- this.loadPreviewTemplatePending = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadPreviewTemplatePending), map((props) => props.templateSysName), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([templateSysName, sectionSysName]) => {
35
+ this.loadPreviewTemplatePending = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadPreviewTemplatePending), map((props) => props.templateSysName), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([templateSysName, apiPrefix, sectionSysName]) => {
36
36
  return this._applicationService.getTemplateSettings(templateSysName).pipe(map((templateSettings) => {
37
37
  const activeSection = templateSettings.sections.find((s) => s.sysName === sectionSysName);
38
38
  if (!activeSection && templateSettings.sections.length) {
39
- this._router.navigate([`/form/application/preview/${templateSysName}/${templateSettings.sections[0].sysName}`]);
39
+ this._router.navigate([`/form/${apiPrefix}/preview/${templateSysName}/${templateSettings.sections[0].sysName}`]);
40
40
  }
41
41
  return objectFormActions.loadPreviewTemplateSuccess({ templateSettings, templateSysName });
42
42
  }), catchError((error) => {
43
43
  return of(objectFormActions.loadPreviewTemplateError());
44
44
  }));
45
45
  })));
46
- this.loadApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadApplicationPending), map((props) => props.templateSysName), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([templateSysName, applicationId, sectionSysName]) => {
46
+ this.loadApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadObjectPending), map((props) => props.templateSysName), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([templateSysName, apiPrefix, objectId, sectionSysName]) => {
47
47
  const requests = [
48
48
  this._applicationService.getTemplateSettings(templateSysName),
49
- this._applicationService.getSectionValues(applicationId)
49
+ this._applicationService.getSectionValues(apiPrefix, objectId)
50
50
  ];
51
51
  return forkJoin(requests).pipe(switchMap(([templateSettings, valueDto]) => {
52
52
  const activeSection = templateSettings.sections.find((s) => s.sysName === sectionSysName);
53
53
  if (!activeSection && templateSettings.sections.length) {
54
- this._router.navigate([`/form/application/${applicationId}/${templateSettings.sections[0].sysName}`]);
54
+ this._router.navigate([`/form/${apiPrefix}/${objectId}/${templateSettings.sections[0].sysName}`]);
55
55
  }
56
56
  return [
57
- objectFormActions.loadApplicationSuccess({
57
+ objectFormActions.loadObjectSuccess({
58
58
  templateSettings: templateSettings,
59
59
  sectionValues: valueDto.value.sectionValues,
60
- applicationId: applicationId,
60
+ applicationId: objectId,
61
61
  isDraft: valueDto.isDraft
62
62
  }),
63
63
  objectFormActions.checkAllDependencyRules()
64
64
  ];
65
65
  }), catchError(() => {
66
- return of(objectFormActions.loadApplicationError());
66
+ return of(objectFormActions.loadObjectError());
67
67
  }));
68
68
  })));
69
69
  this.checkCanUpdateValues$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.UpdateValues), map((props) => props.value), distinctUntilChanged(), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('templateSysName'))), tap(([value, templateSysName]) => {
@@ -76,48 +76,48 @@ export class ObjectFormEffects {
76
76
  this._autoSaveStore.start();
77
77
  this._store.dispatch(objectFormActions.saveValuesPending());
78
78
  })), { dispatch: false });
79
- this.updateApplicationValues$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveValuesPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(objectFormSelectors.selectSectionValues)), switchMap(([_, applicationId, sectionValues]) => {
80
- return this._applicationService.updateApplicationValues(applicationId, sectionValues).pipe(map((result) => {
79
+ this.updateApplicationValues$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveValuesPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(objectFormSelectors.selectSectionValues)), switchMap(([_, apiPrefix, objectId, sectionValues]) => {
80
+ return this._applicationService.updateApplicationValues(apiPrefix, objectId, sectionValues).pipe(map((result) => {
81
81
  this._autoSaveStore.success();
82
- return objectFormActions.saveValuesSuccess({ result, applicationId });
82
+ return objectFormActions.saveValuesSuccess({ result, objectId });
83
83
  }), catchError((error) => {
84
84
  this._autoSaveStore.error();
85
85
  return of(objectFormActions.saveValuesError());
86
86
  }));
87
87
  })));
88
- this.saveApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveApplicationPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('objectId'))), switchMap(([_, applicationId]) => {
89
- return this._applicationService.saveApplication(applicationId).pipe(map(() => {
88
+ this.saveApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveObjectPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('objectId'))), switchMap(([_, apiPrefix, objectId]) => {
89
+ return this._applicationService.saveApplication(apiPrefix, objectId).pipe(map(() => {
90
90
  this._toasterService.show({
91
91
  title: 'Сохранено успешно',
92
92
  type: ToasterType.Positive
93
93
  });
94
- return objectFormActions.saveApplicationSuccess();
94
+ return objectFormActions.saveObjectSuccess();
95
95
  }), catchError(() => {
96
96
  this._toasterService.show({
97
97
  title: 'Возникли ошибки при сохранении, повторите',
98
98
  type: ToasterType.Negative
99
99
  });
100
- return of(objectFormActions.saveApplicationError());
100
+ return of(objectFormActions.saveObjectError());
101
101
  }));
102
102
  })));
103
- this.copyApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.CopyApplicationPending), map((action) => action), switchMap((action) => {
104
- return this._applicationService.copyApplication(action).pipe(map((result) => {
103
+ this.copyApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.CopyObjectPending), map((action) => action), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix'))), switchMap(([action, apiPrefix,]) => {
104
+ return this._applicationService.copyApplication(apiPrefix, action).pipe(map((result) => {
105
105
  this._toasterService.show({
106
106
  title: 'Копировнаие прошло успешно',
107
107
  type: ToasterType.Positive
108
108
  });
109
109
  window.open('/form/application/' + result.id, '_blank');
110
- return objectFormActions.copyApplicationSuccess();
110
+ return objectFormActions.copyObjectSuccess();
111
111
  }), catchError(() => {
112
112
  this._toasterService.show({
113
113
  title: 'Возникли ошибки при копировании заявки, повторите',
114
114
  type: ToasterType.Negative
115
115
  });
116
- return of(objectFormActions.copyApplicationError());
116
+ return of(objectFormActions.copyObjectError());
117
117
  }));
118
118
  })), { dispatch: false });
119
- this.loadSectionFilesPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadSectionFilesPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([_, applicationId, sectionSysName]) => {
120
- return this._applicationService.getSectionFiles(applicationId, sectionSysName).pipe(map((sectionFiles) => {
119
+ this.loadSectionFilesPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadSectionFilesPending), withLatestFrom(this._store.select(sharedSelectors.selectRouteNestedParam('apiPrefix')), this._store.select(sharedSelectors.selectRouteNestedParam('objectId')), this._store.select(sharedSelectors.selectRouteNestedParam('sectionSysName'))), switchMap(([_, apiPrefix, objectId, sectionSysName]) => {
120
+ return this._applicationService.getSectionFiles(apiPrefix, objectId, sectionSysName).pipe(map((sectionFiles) => {
121
121
  return objectFormActions.loadSectionFilesSuccess({ sectionFiles: sectionFiles });
122
122
  }), catchError(() => {
123
123
  return of(objectFormActions.loadSectionFilesError());
@@ -130,4 +130,4 @@ export class ObjectFormEffects {
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectFormEffects, decorators: [{
131
131
  type: Injectable
132
132
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.Router }, { type: i4.ObjectFormService }, { type: i5.ToasterService }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zdG9yZS9vYmplY3QtZm9ybS5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsRUFDSCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkYsT0FBTyxFQUFFLGFBQWEsRUFBa0IsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBRzFELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFDVSxTQUFrQixFQUNsQixNQUFhLEVBQ2IsT0FBZSxFQUNmLG1CQUFzQyxFQUN0QyxlQUErQjtRQUovQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFtQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFQakMsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFXOUMseUJBQW9C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QUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUMvRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsRUFDbkQsY0FBYyxDQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUM3RSxFQUNELFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQy9DLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNqRixHQUFHLENBQUMsQ0FBQyxZQUF5QixFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8saUJBQWlCLENBQUMsdUJBQXVCLENBQUMsRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztZQUNqRixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUFDO0lBOU1GLENBQUM7K0dBVlUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBtYXAsXHJcbiAgc3dpdGNoTWFwLFxyXG4gIHRhcCxcclxuICB3aXRoTGF0ZXN0RnJvbVxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBPYmplY3RGb3JtU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgb2JqZWN0Rm9ybUFjdGlvbnMsIG9iamVjdEZvcm1TZWxlY3RvcnMsIEVBcHBsaWNhdGlvbkFjdGlvbnMgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYmplY3RWYWx1ZXNEdG8sIFZhbHVlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBdXRvU2F2ZVN0b3JlLCBUb2FzdGVyU2VydmljZSwgVG9hc3RlclR5cGUgfSBmcm9tICdAbXlydGV4LW9yZy91aSc7XHJcbmltcG9ydCB7IENvbXBvbmVudE1vZGVsQmFzZSwgRmlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWZvcm0vbW9kZWxzJztcclxuaW1wb3J0IHsgc2hhcmVkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWZvcm0vc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0Rm9ybUVmZmVjdHMge1xyXG4gIHByaXZhdGUgX2F1dG9TYXZlU3RvcmUgPSBpbmplY3QoQXV0b1NhdmVTdG9yZSlcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9hY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHByaXZhdGUgX3N0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfYXBwbGljYXRpb25TZXJ2aWNlOiBPYmplY3RGb3JtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbG9hZFRlbXBsYXRlUGVuZGluZyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5fYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQXBwbGljYXRpb25BY3Rpb25zLkxvYWRUZW1wbGF0ZVBlbmRpbmcpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnb2JqZWN0SWQnKSksXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgndGVtcGxhdGVTeXNOYW1lJykpLFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoW18sIGFwcGxpY2F0aW9uSWQsIHRlbXBsYXRlU3lzTmFtZV0pID0+IHtcclxuXHJcbiAgICAgIGlmIChhcHBsaWNhdGlvbklkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS5nZXRUZW1wbGF0ZShhcHBsaWNhdGlvbklkKS5waXBlKFxyXG4gICAgICAgICAgc3dpdGNoTWFwKCh7dGVtcGxhdGVTeXNOYW1lfSkgPT4gKFtcclxuICAgICAgICAgICAgb2JqZWN0Rm9ybUFjdGlvbnMubG9hZFRlbXBsYXRlU3VjY2Vzcyh7dGVtcGxhdGVTeXNOYW1lfSksXHJcbiAgICAgICAgICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRBcHBsaWNhdGlvblBlbmRpbmcoe3RlbXBsYXRlU3lzTmFtZX0pXHJcbiAgICAgICAgICBdKSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRUZW1wbGF0ZUVycm9yKCkpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBvZihvYmplY3RGb3JtQWN0aW9ucy5sb2FkUHJldmlld1RlbXBsYXRlUGVuZGluZyh7dGVtcGxhdGVTeXNOYW1lfSkpO1xyXG4gICAgICB9XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBsb2FkUHJldmlld1RlbXBsYXRlUGVuZGluZyA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcpLFxyXG4gICAgbWFwKChwcm9wczogeyB0ZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9KSA9PiBwcm9wcy50ZW1wbGF0ZVN5c05hbWUpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnc2VjdGlvblN5c05hbWUnKSksXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChbdGVtcGxhdGVTeXNOYW1lLCBzZWN0aW9uU3lzTmFtZV0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS5nZXRUZW1wbGF0ZVNldHRpbmdzKHRlbXBsYXRlU3lzTmFtZSkucGlwZShcclxuICAgICAgICBtYXAoKHRlbXBsYXRlU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGFjdGl2ZVNlY3Rpb24gPSB0ZW1wbGF0ZVNldHRpbmdzLnNlY3Rpb25zLmZpbmQoXHJcbiAgICAgICAgICAgIChzOiBDb21wb25lbnRNb2RlbEJhc2UpID0+IHMuc3lzTmFtZSA9PT0gc2VjdGlvblN5c05hbWVcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgaWYgKCFhY3RpdmVTZWN0aW9uICYmIHRlbXBsYXRlU2V0dGluZ3Muc2VjdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbYC9mb3JtL2FwcGxpY2F0aW9uL3ByZXZpZXcvJHt0ZW1wbGF0ZVN5c05hbWV9LyR7dGVtcGxhdGVTZXR0aW5ncy5zZWN0aW9uc1swXS5zeXNOYW1lfWBdKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZVN1Y2Nlc3Moe3RlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZX0pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gb2Yob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZUVycm9yKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBsb2FkQXBwbGljYXRpb25QZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZEFwcGxpY2F0aW9uUGVuZGluZyksXHJcbiAgICBtYXAoKHByb3BzOiB7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0pID0+IHByb3BzLnRlbXBsYXRlU3lzTmFtZSksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdvYmplY3RJZCcpKSxcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdzZWN0aW9uU3lzTmFtZScpKSxcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKFt0ZW1wbGF0ZVN5c05hbWUsIGFwcGxpY2F0aW9uSWQsIHNlY3Rpb25TeXNOYW1lXSkgPT4ge1xyXG4gICAgICBjb25zdCByZXF1ZXN0czogW09ic2VydmFibGU8VGVtcGxhdGVNb2RlbD4sIE9ic2VydmFibGU8T2JqZWN0VmFsdWVzRHRvPl0gPSBbXHJcbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25TZXJ2aWNlLmdldFRlbXBsYXRlU2V0dGluZ3ModGVtcGxhdGVTeXNOYW1lKSxcclxuICAgICAgICB0aGlzLl9hcHBsaWNhdGlvblNlcnZpY2UuZ2V0U2VjdGlvblZhbHVlcyhhcHBsaWNhdGlvbklkKVxyXG4gICAgICBdO1xyXG5cclxuICAgICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoW3RlbXBsYXRlU2V0dGluZ3MsIHZhbHVlRHRvXSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYWN0aXZlU2VjdGlvbiA9IHRlbXBsYXRlU2V0dGluZ3Muc2VjdGlvbnMuZmluZChcclxuICAgICAgICAgICAgKHM6IENvbXBvbmVudE1vZGVsQmFzZSkgPT4gcy5zeXNOYW1lID09PSBzZWN0aW9uU3lzTmFtZVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBpZiAoIWFjdGl2ZVNlY3Rpb24gJiYgdGVtcGxhdGVTZXR0aW5ncy5zZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtgL2Zvcm0vYXBwbGljYXRpb24vJHthcHBsaWNhdGlvbklkfS8ke3RlbXBsYXRlU2V0dGluZ3Muc2VjdGlvbnNbMF0uc3lzTmFtZX1gXSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgb2JqZWN0Rm9ybUFjdGlvbnMubG9hZEFwcGxpY2F0aW9uU3VjY2Vzcyh7XHJcbiAgICAgICAgICAgICAgdGVtcGxhdGVTZXR0aW5nczogdGVtcGxhdGVTZXR0aW5ncyxcclxuICAgICAgICAgICAgICBzZWN0aW9uVmFsdWVzOiB2YWx1ZUR0by52YWx1ZS5zZWN0aW9uVmFsdWVzLFxyXG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uSWQ6IGFwcGxpY2F0aW9uSWQsXHJcbiAgICAgICAgICAgICAgaXNEcmFmdDogdmFsdWVEdG8uaXNEcmFmdFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgb2JqZWN0Rm9ybUFjdGlvbnMuY2hlY2tBbGxEZXBlbmRlbmN5UnVsZXMoKVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihvYmplY3RGb3JtQWN0aW9ucy5sb2FkQXBwbGljYXRpb25FcnJvcigpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpXHJcbiAgKTtcclxuXHJcbiAgY2hlY2tDYW5VcGRhdGVWYWx1ZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuX2FjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUFwcGxpY2F0aW9uQWN0aW9ucy5VcGRhdGVWYWx1ZXMpLFxyXG4gICAgbWFwKChwcm9wczogeyB2YWx1ZTogVmFsdWVNb2RlbCB8IFZhbHVlTW9kZWxbXSB9KSA9PiBwcm9wcy52YWx1ZSksXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgndGVtcGxhdGVTeXNOYW1lJykpLFxyXG4gICAgKSxcclxuICAgIHRhcCgoW3ZhbHVlLCB0ZW1wbGF0ZVN5c05hbWVdKSA9PiB7XHJcbiAgICAgIGlmICh0ZW1wbGF0ZVN5c05hbWUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKG9iamVjdEZvcm1BY3Rpb25zLmFjY2Vzc1VwZGF0ZVZhbHVlcygpKTtcclxuICAgIH0pXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBzYXZlVmFsdWVzRGVib3VuY2VkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuQWNjZXNzVXBkYXRlVmFsdWVzKSxcclxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICBkZWJvdW5jZVRpbWUoMTUwMCksXHJcbiAgICB0YXAoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9hdXRvU2F2ZVN0b3JlLnN0YXJ0KClcclxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2gob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZVZhbHVlc1BlbmRpbmcoKSk7XHJcbiAgICB9KVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgdXBkYXRlQXBwbGljYXRpb25WYWx1ZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuX2FjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUFwcGxpY2F0aW9uQWN0aW9ucy5TYXZlVmFsdWVzUGVuZGluZyksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdvYmplY3RJZCcpKSxcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KG9iamVjdEZvcm1TZWxlY3RvcnMuc2VsZWN0U2VjdGlvblZhbHVlcyksXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChbXywgYXBwbGljYXRpb25JZCwgc2VjdGlvblZhbHVlc10pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS51cGRhdGVBcHBsaWNhdGlvblZhbHVlcyhhcHBsaWNhdGlvbklkLCBzZWN0aW9uVmFsdWVzKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9hdXRvU2F2ZVN0b3JlLnN1Y2Nlc3MoKVxyXG4gICAgICAgICAgcmV0dXJuIG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNTdWNjZXNzKHtyZXN1bHQsIGFwcGxpY2F0aW9uSWR9KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5lcnJvcigpXHJcbiAgICAgICAgICByZXR1cm4gb2Yob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZVZhbHVlc0Vycm9yKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBzYXZlQXBwbGljYXRpb25QZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZUFwcGxpY2F0aW9uUGVuZGluZyksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdvYmplY3RJZCcpKVxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoW18sIGFwcGxpY2F0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9hcHBsaWNhdGlvblNlcnZpY2Uuc2F2ZUFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3RvYXN0ZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgICAgICB0aXRsZTogJ9Ch0L7RhdGA0LDQvdC10L3QviDRg9GB0L/QtdGI0L3QvicsXHJcbiAgICAgICAgICAgIHR5cGU6IFRvYXN0ZXJUeXBlLlBvc2l0aXZlXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZUFwcGxpY2F0aW9uU3VjY2VzcygpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0JLQvtC30L3QuNC60LvQuCDQvtGI0LjQsdC60Lgg0L/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4LCDQv9C+0LLRgtC+0YDQuNGC0LUnLFxyXG4gICAgICAgICAgICB0eXBlOiBUb2FzdGVyVHlwZS5OZWdhdGl2ZVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVBcHBsaWNhdGlvbkVycm9yKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBjb3B5QXBwbGljYXRpb25QZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuQ29weUFwcGxpY2F0aW9uUGVuZGluZyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyBzb3VyY2VJZDogc3RyaW5nLCB0YXJnZXRUZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9KSA9PiBhY3Rpb24pLFxyXG4gICAgc3dpdGNoTWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS5jb3B5QXBwbGljYXRpb24oYWN0aW9uKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl90b2FzdGVyU2VydmljZS5zaG93KHtcclxuICAgICAgICAgICAgdGl0bGU6ICfQmtC+0L/QuNGA0L7QstC90LDQuNC1INC/0YDQvtGI0LvQviDRg9GB0L/QtdGI0L3QvicsXHJcbiAgICAgICAgICAgIHR5cGU6IFRvYXN0ZXJUeXBlLlBvc2l0aXZlXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB3aW5kb3cub3BlbignL2Zvcm0vYXBwbGljYXRpb24vJyArIHJlc3VsdC5pZCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgcmV0dXJuIG9iamVjdEZvcm1BY3Rpb25zLmNvcHlBcHBsaWNhdGlvblN1Y2Nlc3MoKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3RvYXN0ZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgICAgICB0aXRsZTogJ9CS0L7Qt9C90LjQutC70Lgg0L7RiNC40LHQutC4INC/0YDQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC4INC30LDRj9Cy0LrQuCwg0L/QvtCy0YLQvtGA0LjRgtC1JyxcclxuICAgICAgICAgICAgdHlwZTogVG9hc3RlclR5cGUuTmVnYXRpdmVcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHJldHVybiBvZihvYmplY3RGb3JtQWN0aW9ucy5jb3B5QXBwbGljYXRpb25FcnJvcigpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGxvYWRTZWN0aW9uRmlsZXNQZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFNlY3Rpb25GaWxlc1BlbmRpbmcpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnb2JqZWN0SWQnKSksXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnc2VjdGlvblN5c05hbWUnKSksXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChbXywgYXBwbGljYXRpb25JZCwgc2VjdGlvblN5c05hbWVdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9hcHBsaWNhdGlvblNlcnZpY2UuZ2V0U2VjdGlvbkZpbGVzKGFwcGxpY2F0aW9uSWQsIHNlY3Rpb25TeXNOYW1lKS5waXBlKFxyXG4gICAgICAgIG1hcCgoc2VjdGlvbkZpbGVzOiBGaWxlTW9kZWxbXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRTZWN0aW9uRmlsZXNTdWNjZXNzKHtzZWN0aW9uRmlsZXM6IHNlY3Rpb25GaWxlc30pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRTZWN0aW9uRmlsZXNFcnJvcigpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpXHJcbiAgKTtcclxufVxyXG4iXX0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1mb3JtL3NyYy9saWIvbW9kdWxlcy9vYmplY3QtZm9ybS9zdG9yZS9vYmplY3QtZm9ybS5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsRUFDSCxjQUFjLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkYsT0FBTyxFQUFFLGFBQWEsRUFBa0IsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBRzFELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFDVSxTQUFrQixFQUNsQixNQUFhLEVBQ2IsT0FBZSxFQUNmLG1CQUFzQyxFQUN0QyxlQUErQjtRQUovQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFtQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFQakMsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFXOUMseUJBQW9C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N0UsRUFDRCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxZQUF5QixFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8saUJBQWlCLENBQUMsdUJBQXVCLENBQUMsRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztZQUNqRixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUFDO0lBdk5GLENBQUM7K0dBVlUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBtYXAsXHJcbiAgc3dpdGNoTWFwLFxyXG4gIHRhcCxcclxuICB3aXRoTGF0ZXN0RnJvbVxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBPYmplY3RGb3JtU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29iamVjdC1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBvYmplY3RGb3JtQWN0aW9ucywgb2JqZWN0Rm9ybVNlbGVjdG9ycywgRUFwcGxpY2F0aW9uQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE9iamVjdFZhbHVlc0R0bywgVmFsdWVNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEF1dG9TYXZlU3RvcmUsIFRvYXN0ZXJTZXJ2aWNlLCBUb2FzdGVyVHlwZSB9IGZyb20gJ0BteXJ0ZXgtb3JnL3VpJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TW9kZWxCYXNlLCBGaWxlTW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBzaGFyZWRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9zdG9yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RGb3JtRWZmZWN0cyB7XHJcbiAgcHJpdmF0ZSBfYXV0b1NhdmVTdG9yZSA9IGluamVjdChBdXRvU2F2ZVN0b3JlKVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2FjdGlvbnMkOiBBY3Rpb25zLFxyXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9hcHBsaWNhdGlvblNlcnZpY2U6IE9iamVjdEZvcm1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBsb2FkVGVtcGxhdGVQZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFRlbXBsYXRlUGVuZGluZyksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdhcGlQcmVmaXgnKSksXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnb2JqZWN0SWQnKSksXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgndGVtcGxhdGVTeXNOYW1lJykpLFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoW18sIGFwaVByZWZpeCwgb2JqZWN0SWQsIHRlbXBsYXRlU3lzTmFtZV0pID0+IHtcclxuXHJcbiAgICAgIGlmIChvYmplY3RJZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBsaWNhdGlvblNlcnZpY2UuZ2V0VGVtcGxhdGUoYXBpUHJlZml4LCBvYmplY3RJZCkucGlwZShcclxuICAgICAgICAgIHN3aXRjaE1hcCgoe3RlbXBsYXRlU3lzTmFtZX0pID0+IChbXHJcbiAgICAgICAgICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRUZW1wbGF0ZVN1Y2Nlc3Moe3RlbXBsYXRlU3lzTmFtZX0pLFxyXG4gICAgICAgICAgICBvYmplY3RGb3JtQWN0aW9ucy5sb2FkT2JqZWN0UGVuZGluZyh7dGVtcGxhdGVTeXNOYW1lfSlcclxuICAgICAgICAgIF0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gb2Yob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFRlbXBsYXRlRXJyb3IoKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVQZW5kaW5nKHt0ZW1wbGF0ZVN5c05hbWV9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pKVxyXG4gICk7XHJcblxyXG4gIGxvYWRQcmV2aWV3VGVtcGxhdGVQZW5kaW5nID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuX2FjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUFwcGxpY2F0aW9uQWN0aW9ucy5Mb2FkUHJldmlld1RlbXBsYXRlUGVuZGluZyksXHJcbiAgICBtYXAoKHByb3BzOiB7IHRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0pID0+IHByb3BzLnRlbXBsYXRlU3lzTmFtZSksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdhcGlQcmVmaXgnKSksXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnc2VjdGlvblN5c05hbWUnKSksXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChbdGVtcGxhdGVTeXNOYW1lLCBhcGlQcmVmaXgsIHNlY3Rpb25TeXNOYW1lXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25TZXJ2aWNlLmdldFRlbXBsYXRlU2V0dGluZ3ModGVtcGxhdGVTeXNOYW1lKS5waXBlKFxyXG4gICAgICAgIG1hcCgodGVtcGxhdGVTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYWN0aXZlU2VjdGlvbiA9IHRlbXBsYXRlU2V0dGluZ3Muc2VjdGlvbnMuZmluZChcclxuICAgICAgICAgICAgKHM6IENvbXBvbmVudE1vZGVsQmFzZSkgPT4gcy5zeXNOYW1lID09PSBzZWN0aW9uU3lzTmFtZVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBpZiAoIWFjdGl2ZVNlY3Rpb24gJiYgdGVtcGxhdGVTZXR0aW5ncy5zZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtgL2Zvcm0vJHthcGlQcmVmaXh9L3ByZXZpZXcvJHt0ZW1wbGF0ZVN5c05hbWV9LyR7dGVtcGxhdGVTZXR0aW5ncy5zZWN0aW9uc1swXS5zeXNOYW1lfWBdKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZVN1Y2Nlc3Moe3RlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZX0pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gb2Yob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZUVycm9yKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBsb2FkQXBwbGljYXRpb25QZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZE9iamVjdFBlbmRpbmcpLFxyXG4gICAgbWFwKChwcm9wczogeyB0ZW1wbGF0ZVN5c05hbWU6IHN0cmluZyB9KSA9PiBwcm9wcy50ZW1wbGF0ZVN5c05hbWUpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnYXBpUHJlZml4JykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ29iamVjdElkJykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ3NlY3Rpb25TeXNOYW1lJykpLFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoW3RlbXBsYXRlU3lzTmFtZSwgYXBpUHJlZml4LCBvYmplY3RJZCwgc2VjdGlvblN5c05hbWVdKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlcXVlc3RzOiBbT2JzZXJ2YWJsZTxUZW1wbGF0ZU1vZGVsPiwgT2JzZXJ2YWJsZTxPYmplY3RWYWx1ZXNEdG8+XSA9IFtcclxuICAgICAgICB0aGlzLl9hcHBsaWNhdGlvblNlcnZpY2UuZ2V0VGVtcGxhdGVTZXR0aW5ncyh0ZW1wbGF0ZVN5c05hbWUpLFxyXG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS5nZXRTZWN0aW9uVmFsdWVzKGFwaVByZWZpeCwgb2JqZWN0SWQpXHJcbiAgICAgIF07XHJcblxyXG4gICAgICByZXR1cm4gZm9ya0pvaW4ocmVxdWVzdHMpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChbdGVtcGxhdGVTZXR0aW5ncywgdmFsdWVEdG9dKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBhY3RpdmVTZWN0aW9uID0gdGVtcGxhdGVTZXR0aW5ncy5zZWN0aW9ucy5maW5kKFxyXG4gICAgICAgICAgICAoczogQ29tcG9uZW50TW9kZWxCYXNlKSA9PiBzLnN5c05hbWUgPT09IHNlY3Rpb25TeXNOYW1lXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGlmICghYWN0aXZlU2VjdGlvbiAmJiB0ZW1wbGF0ZVNldHRpbmdzLnNlY3Rpb25zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW2AvZm9ybS8ke2FwaVByZWZpeH0vJHtvYmplY3RJZH0vJHt0ZW1wbGF0ZVNldHRpbmdzLnNlY3Rpb25zWzBdLnN5c05hbWV9YF0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRPYmplY3RTdWNjZXNzKHtcclxuICAgICAgICAgICAgICB0ZW1wbGF0ZVNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzLFxyXG4gICAgICAgICAgICAgIHNlY3Rpb25WYWx1ZXM6IHZhbHVlRHRvLnZhbHVlLnNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgICAgICAgICAgYXBwbGljYXRpb25JZDogb2JqZWN0SWQsXHJcbiAgICAgICAgICAgICAgaXNEcmFmdDogdmFsdWVEdG8uaXNEcmFmdFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgb2JqZWN0Rm9ybUFjdGlvbnMuY2hlY2tBbGxEZXBlbmRlbmN5UnVsZXMoKVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihvYmplY3RGb3JtQWN0aW9ucy5sb2FkT2JqZWN0RXJyb3IoKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKVxyXG4gICk7XHJcblxyXG4gIGNoZWNrQ2FuVXBkYXRlVmFsdWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuVXBkYXRlVmFsdWVzKSxcclxuICAgIG1hcCgocHJvcHM6IHsgdmFsdWU6IFZhbHVlTW9kZWwgfCBWYWx1ZU1vZGVsW10gfSkgPT4gcHJvcHMudmFsdWUpLFxyXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ3RlbXBsYXRlU3lzTmFtZScpKSxcclxuICAgICksXHJcbiAgICB0YXAoKFt2YWx1ZSwgdGVtcGxhdGVTeXNOYW1lXSkgPT4ge1xyXG4gICAgICBpZiAodGVtcGxhdGVTeXNOYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChvYmplY3RGb3JtQWN0aW9ucy5hY2Nlc3NVcGRhdGVWYWx1ZXMoKSk7XHJcbiAgICB9KVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgc2F2ZVZhbHVlc0RlYm91bmNlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5fYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQXBwbGljYXRpb25BY3Rpb25zLkFjY2Vzc1VwZGF0ZVZhbHVlcyksXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgZGVib3VuY2VUaW1lKDE1MDApLFxyXG4gICAgdGFwKCgpID0+IHtcclxuICAgICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5zdGFydCgpXHJcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNQZW5kaW5nKCkpO1xyXG4gICAgfSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIHVwZGF0ZUFwcGxpY2F0aW9uVmFsdWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZVZhbHVlc1BlbmRpbmcpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnYXBpUHJlZml4JykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ29iamVjdElkJykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qob2JqZWN0Rm9ybVNlbGVjdG9ycy5zZWxlY3RTZWN0aW9uVmFsdWVzKSxcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKFtfLCBhcGlQcmVmaXgsIG9iamVjdElkLCBzZWN0aW9uVmFsdWVzXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25TZXJ2aWNlLnVwZGF0ZUFwcGxpY2F0aW9uVmFsdWVzKGFwaVByZWZpeCwgb2JqZWN0SWQsIHNlY3Rpb25WYWx1ZXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2F1dG9TYXZlU3RvcmUuc3VjY2VzcygpXHJcbiAgICAgICAgICByZXR1cm4gb2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZVZhbHVlc1N1Y2Nlc3Moe3Jlc3VsdCwgb2JqZWN0SWR9KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5lcnJvcigpXHJcbiAgICAgICAgICByZXR1cm4gb2Yob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZVZhbHVlc0Vycm9yKCkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSlcclxuICApO1xyXG5cclxuICBzYXZlQXBwbGljYXRpb25QZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuU2F2ZU9iamVjdFBlbmRpbmcpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnYXBpUHJlZml4JykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ29iamVjdElkJykpXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChbXywgYXBpUHJlZml4LCBvYmplY3RJZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpY2F0aW9uU2VydmljZS5zYXZlQXBwbGljYXRpb24oYXBpUHJlZml4LCBvYmplY3RJZCkucGlwZShcclxuICAgICAgICBtYXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0KHQvtGF0YDQsNC90LXQvdC+INGD0YHQv9C10YjQvdC+JyxcclxuICAgICAgICAgICAgdHlwZTogVG9hc3RlclR5cGUuUG9zaXRpdmVcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHJldHVybiBvYmplY3RGb3JtQWN0aW9ucy5zYXZlT2JqZWN0U3VjY2VzcygpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0JLQvtC30L3QuNC60LvQuCDQvtGI0LjQsdC60Lgg0L/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4LCDQv9C+0LLRgtC+0YDQuNGC0LUnLFxyXG4gICAgICAgICAgICB0eXBlOiBUb2FzdGVyVHlwZS5OZWdhdGl2ZVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVPYmplY3RFcnJvcigpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpXHJcbiAgKTtcclxuXHJcbiAgY29weUFwcGxpY2F0aW9uUGVuZGluZyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5fYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQXBwbGljYXRpb25BY3Rpb25zLkNvcHlPYmplY3RQZW5kaW5nKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHNvdXJjZUlkOiBzdHJpbmcsIHRhcmdldFRlbXBsYXRlU3lzTmFtZTogc3RyaW5nIH0pID0+IGFjdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbShcclxuICAgICAgdGhpcy5fc3RvcmUuc2VsZWN0KHNoYXJlZFNlbGVjdG9ycy5zZWxlY3RSb3V0ZU5lc3RlZFBhcmFtKCdhcGlQcmVmaXgnKSlcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKFthY3Rpb24sIGFwaVByZWZpeCwgXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25TZXJ2aWNlLmNvcHlBcHBsaWNhdGlvbihhcGlQcmVmaXgsIGFjdGlvbikucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0JrQvtC/0LjRgNC+0LLQvdCw0LjQtSDQv9GA0L7RiNC70L4g0YPRgdC/0LXRiNC90L4nLFxyXG4gICAgICAgICAgICB0eXBlOiBUb2FzdGVyVHlwZS5Qb3NpdGl2ZVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgd2luZG93Lm9wZW4oJy9mb3JtL2FwcGxpY2F0aW9uLycgKyByZXN1bHQuaWQsICdfYmxhbmsnKTtcclxuICAgICAgICAgIHJldHVybiBvYmplY3RGb3JtQWN0aW9ucy5jb3B5T2JqZWN0U3VjY2VzcygpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0JLQvtC30L3QuNC60LvQuCDQvtGI0LjQsdC60Lgg0L/RgNC4INC60L7Qv9C40YDQvtCy0LDQvdC40Lgg0LfQsNGP0LLQutC4LCDQv9C+0LLRgtC+0YDQuNGC0LUnLFxyXG4gICAgICAgICAgICB0eXBlOiBUb2FzdGVyVHlwZS5OZWdhdGl2ZVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG9mKG9iamVjdEZvcm1BY3Rpb25zLmNvcHlPYmplY3RFcnJvcigpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGxvYWRTZWN0aW9uRmlsZXNQZW5kaW5nJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLl9hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVBcHBsaWNhdGlvbkFjdGlvbnMuTG9hZFNlY3Rpb25GaWxlc1BlbmRpbmcpLFxyXG4gICAgd2l0aExhdGVzdEZyb20oXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChzaGFyZWRTZWxlY3RvcnMuc2VsZWN0Um91dGVOZXN0ZWRQYXJhbSgnYXBpUHJlZml4JykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ29iamVjdElkJykpLFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qoc2hhcmVkU2VsZWN0b3JzLnNlbGVjdFJvdXRlTmVzdGVkUGFyYW0oJ3NlY3Rpb25TeXNOYW1lJykpLFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoW18sIGFwaVByZWZpeCwgb2JqZWN0SWQsIHNlY3Rpb25TeXNOYW1lXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYXBwbGljYXRpb25TZXJ2aWNlLmdldFNlY3Rpb25GaWxlcyhhcGlQcmVmaXgsIG9iamVjdElkLCBzZWN0aW9uU3lzTmFtZSkucGlwZShcclxuICAgICAgICBtYXAoKHNlY3Rpb25GaWxlczogRmlsZU1vZGVsW10pID0+IHtcclxuICAgICAgICAgIHJldHVybiBvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzU3VjY2Vzcyh7c2VjdGlvbkZpbGVzOiBzZWN0aW9uRmlsZXN9KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzRXJyb3IoKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKVxyXG4gICk7XHJcbn1cclxuIl19
@@ -2,9 +2,9 @@ import { createReducer, on } from '@ngrx/store';
2
2
  import { objectFormActions } from '../store';
3
3
  import { initialObjectFormState } from './object-form.state';
4
4
  import * as fromHelpers from '../helpers';
5
- const objectReducerCreator = createReducer(initialObjectFormState, on(objectFormActions.loadApplicationPending, (state) => {
5
+ const objectReducerCreator = createReducer(initialObjectFormState, on(objectFormActions.loadObjectPending, (state) => {
6
6
  return { ...state, isLoading: true };
7
- }), on(objectFormActions.loadApplicationSuccess, (state, { templateSettings, sectionValues, applicationId, isDraft }) => {
7
+ }), on(objectFormActions.loadObjectSuccess, (state, { templateSettings, sectionValues, applicationId, isDraft }) => {
8
8
  return {
9
9
  ...state,
10
10
  isLoading: false,
@@ -13,7 +13,7 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
13
13
  isEdited: isDraft,
14
14
  menuModel: fromHelpers.getMenuModel(templateSettings, sectionValues, applicationId)
15
15
  };
16
- }), on(objectFormActions.loadApplicationError, (state) => {
16
+ }), on(objectFormActions.loadObjectError, (state) => {
17
17
  return { ...state, isLoading: false };
18
18
  }), on(objectFormActions.updateValues, (state, { value }) => {
19
19
  const dependenceRulesResults = fromHelpers.getDependenceRulesResults(state.dependencyRuleCheckResults, state.sectionValues, value, state.settings?.dependenceRules.rules);
@@ -28,7 +28,7 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
28
28
  isEdited: true,
29
29
  dependencyRuleCheckResults: dependenceRulesResults
30
30
  };
31
- }), on(objectFormActions.saveValuesSuccess, (state, { result, applicationId }) => {
31
+ }), on(objectFormActions.saveValuesSuccess, (state, { result, objectId }) => {
32
32
  const updatedSectionValues = state.sectionValues.map((sectionValue) => {
33
33
  const section = {
34
34
  ...sectionValue,
@@ -40,15 +40,15 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
40
40
  ...state,
41
41
  sectionValues: updatedSectionValues,
42
42
  isEdited: true,
43
- menuModel: fromHelpers.getMenuModel(state.settings, updatedSectionValues, applicationId)
43
+ menuModel: fromHelpers.getMenuModel(state.settings, updatedSectionValues, objectId)
44
44
  };
45
45
  }), on(objectFormActions.saveValuesError, (state) => {
46
46
  return { ...state };
47
- }), on(objectFormActions.saveApplicationPending, (state) => {
47
+ }), on(objectFormActions.saveObjectPending, (state) => {
48
48
  return { ...state, isApplicationSaveLoading: true };
49
- }), on(objectFormActions.saveApplicationSuccess, (state) => {
49
+ }), on(objectFormActions.saveObjectSuccess, (state) => {
50
50
  return { ...state, isApplicationSaveLoading: false, isEdited: false };
51
- }), on(objectFormActions.saveApplicationError, (state) => {
51
+ }), on(objectFormActions.saveObjectError, (state) => {
52
52
  return { ...state, isApplicationSaveLoading: false };
53
53
  }), on(objectFormActions.updateSelectedSectionSysName, (state, { sectionSysName }) => {
54
54
  return { ...state, selectedSectionSysName: sectionSysName };
@@ -80,4 +80,4 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
80
80
  export function objectReducer(state, action) {
81
81
  return objectReducerCreator(state, action);
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0ucmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vc3RvcmUvb2JqZWN0LWZvcm0ucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEtBQUssV0FBVyxNQUFNLFlBQVksQ0FBQztBQUcxQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FDeEMsc0JBQXNCLEVBQ3RCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JELE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUNBLGlCQUFpQixDQUFDLHNCQUFzQixFQUN4QyxDQUFDLEtBQUssRUFBRSxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBRTtJQUNuRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixhQUFhLEVBQUUsYUFBYTtRQUM1QixRQUFRLEVBQUUsT0FBTztRQUNqQixTQUFTLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO0tBQ3BGLENBQUM7QUFDSixDQUFDLENBQ0YsRUFDRCxFQUFFLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVB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bmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IE9iamVjdEZvcm1TdGF0ZSwgb2JqZWN0Rm9ybUFjdGlvbnMgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IGluaXRpYWxPYmplY3RGb3JtU3RhdGUgfSBmcm9tICcuL29iamVjdC1mb3JtLnN0YXRlJ1xyXG5pbXBvcnQgKiBhcyBmcm9tSGVscGVycyBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgRmllbGREZXBlbmRlbmNlTW9kZWwsIFNlY3Rpb25WYWx1ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmNvbnN0IG9iamVjdFJlZHVjZXJDcmVhdG9yID0gY3JlYXRlUmVkdWNlcihcclxuICBpbml0aWFsT2JqZWN0Rm9ybVN0YXRlLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRBcHBsaWNhdGlvblBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihcclxuICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRBcHBsaWNhdGlvblN1Y2Nlc3MsXHJcbiAgICAoc3RhdGUsIHt0ZW1wbGF0ZVNldHRpbmdzLCBzZWN0aW9uVmFsdWVzLCBhcHBsaWNhdGlvbklkLCBpc0RyYWZ0fSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IHRlbXBsYXRlU2V0dGluZ3MsXHJcbiAgICAgICAgc2VjdGlvblZhbHVlczogc2VjdGlvblZhbHVlcyxcclxuICAgICAgICBpc0VkaXRlZDogaXNEcmFmdCxcclxuICAgICAgICBtZW51TW9kZWw6IGZyb21IZWxwZXJzLmdldE1lbnVNb2RlbCh0ZW1wbGF0ZVNldHRpbmdzLCBzZWN0aW9uVmFsdWVzLCBhcHBsaWNhdGlvbklkKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZEFwcGxpY2F0aW9uRXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiBmYWxzZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlVmFsdWVzLCAoc3RhdGUsIHt2YWx1ZX0pID0+IHtcclxuXHJcbiAgICBjb25zdCBkZXBlbmRlbmNlUnVsZXNSZXN1bHRzID0gZnJvbUhlbHBlcnMuZ2V0RGVwZW5kZW5jZVJ1bGVzUmVzdWx0cyhcclxuICAgICAgc3RhdGUuZGVwZW5kZW5jeVJ1bGVDaGVja1Jlc3VsdHMsXHJcbiAgICAgIHN0YXRlLnNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIHZhbHVlLFxyXG4gICAgICBzdGF0ZS5zZXR0aW5ncz8uZGVwZW5kZW5jZVJ1bGVzLnJ1bGVzXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkU2VjdGlvblZhbHVlcyA9IHN0YXRlLnNlY3Rpb25WYWx1ZXMubWFwKChzZWN0aW9uVmFsdWU6IFNlY3Rpb25WYWx1ZU1vZGVsKSA9PiB7XHJcbiAgICAgIC8vINC/0YDQuNGI0LvQvtGB0Ywg0L7RgtC60LDQt9Cw0YLRjNGB0Y8g0L7RgiDRg9GB0LvQvtCy0LjRjyDQv9GA0L7QstC10YDQutC4INCy0YvQsdGA0LDQvdC90L7QuSDRgdC10LrRhtC40LgsXHJcbiAgICAgIC8vINGCLtC6LiDQt9Cw0LLQuNGB0LjQvNGL0LUg0L/QvtC70Y8g0LzQvtCz0YPRgiDQvdCw0YXQvtC00LjRgtGM0YHRjyDQsiDQtNGA0YPQs9C40YUg0YHQtdC60YbQuNGP0YUsINCwINC40YUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7QsdC90YPQu9GP0YLRjC5cclxuICAgICAgcmV0dXJuIGZyb21IZWxwZXJzLmdldFVwZGF0ZWRWYWx1ZXMoXHJcbiAgICAgICAgc2VjdGlvblZhbHVlLFxyXG4gICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdLFxyXG4gICAgICAgIGZyb21IZWxwZXJzLmdldFZhbHVlc1RvQ2xlYW4oZGVwZW5kZW5jZVJ1bGVzUmVzdWx0cylcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBzZWN0aW9uVmFsdWVzOiBzZWxlY3RlZFNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIGlzRWRpdGVkOiB0cnVlLFxyXG4gICAgICBkZXBlbmRlbmN5UnVsZUNoZWNrUmVzdWx0czogZGVwZW5kZW5jZVJ1bGVzUmVzdWx0c1xyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlVmFsdWVzU3VjY2VzcywgKHN0YXRlLCB7cmVzdWx0LCBhcHBsaWNhdGlvbklkfSkgPT4ge1xyXG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb25WYWx1ZXMgPSBzdGF0ZS5zZWN0aW9uVmFsdWVzLm1hcCgoc2VjdGlvblZhbHVlOiBTZWN0aW9uVmFsdWVNb2RlbCkgPT4ge1xyXG4gICAgICBjb25zdCBzZWN0aW9uID0ge1xyXG4gICAgICAgIC4uLnNlY3Rpb25WYWx1ZSxcclxuICAgICAgICBwZXJjZW50OiByZXN1bHQuZmlsbG5lc3MuZmluZCh4ID0+IHgubmFtZSA9PT0gc2VjdGlvblZhbHVlLnN5c05hbWUpPy5wZXJjZW50IHx8IDBcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGZyb21IZWxwZXJzLmdldFVwZGF0ZWRWYWx1ZXMoc2VjdGlvbiwgcmVzdWx0LnZhbHVlcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgc2VjdGlvblZhbHVlczogdXBkYXRlZFNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIGlzRWRpdGVkOiB0cnVlLFxyXG4gICAgICBtZW51TW9kZWw6IGZyb21IZWxwZXJzLmdldE1lbnVNb2RlbChzdGF0ZS5zZXR0aW5ncywgdXBkYXRlZFNlY3Rpb25WYWx1ZXMsIGFwcGxpY2F0aW9uSWQpXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlfTtcclxuICB9KSxcclxuXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZUFwcGxpY2F0aW9uUGVuZGluZywgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0FwcGxpY2F0aW9uU2F2ZUxvYWRpbmc6IHRydWV9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVBcHBsaWNhdGlvblN1Y2Nlc3MsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiBmYWxzZSwgaXNFZGl0ZWQ6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlQXBwbGljYXRpb25FcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0FwcGxpY2F0aW9uU2F2ZUxvYWRpbmc6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVTZWxlY3RlZFNlY3Rpb25TeXNOYW1lLCAoc3RhdGUsIHtzZWN0aW9uU3lzTmFtZX0pID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIHNlbGVjdGVkU2VjdGlvblN5c05hbWU6IHNlY3Rpb25TeXNOYW1lfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzUGVuZGluZywgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBzZWN0aW9uRmlsZXM6IFtdfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzU3VjY2VzcywgKHN0YXRlLCB7c2VjdGlvbkZpbGVzfSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2VjdGlvbkZpbGVzOiBzZWN0aW9uRmlsZXN9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnRvZ2dsZUNoZWNrUmVxdWlyZWQsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNDaGVja1JlcXVpcmVkOiAhc3RhdGUuaXNDaGVja1JlcXVpcmVkfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVDaGVja1JlcXVpcmVkLCAoc3RhdGUsIHtpc0NoZWNrUmVxdWlyZWR9KSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0NoZWNrUmVxdWlyZWQ6IGlzQ2hlY2tSZXF1aXJlZH07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihcclxuICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVTdWNjZXNzLFxyXG4gICAgKHN0YXRlLCB7dGVtcGxhdGVTZXR0aW5ncywgdGVtcGxhdGVTeXNOYW1lfSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IHRlbXBsYXRlU2V0dGluZ3MsXHJcbiAgICAgICAgbWVudU1vZGVsOiBmcm9tSGVscGVycy5nZXRQcmV2aWV3TWVudU1vZGVsKHRlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZSlcclxuICAgICAgfTtcclxuICAgIH1cclxuICApLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0xvYWRpbmc6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5jaGVja0FsbERlcGVuZGVuY3lSdWxlcywgKHN0YXRlKSA9PiB7XHJcblxyXG4gICAgY29uc3QgZGVwZW5kZW5jZVJlc3VsdHMgPSBzdGF0ZS5zZXR0aW5ncz8uZGVwZW5kZW5jZVJ1bGVzLnJ1bGVzXHJcbiAgICAgIC5tYXAoKHJ1bGU6IEZpZWxkRGVwZW5kZW5jZU1vZGVsKSA9PiAoZnJvbUhlbHBlcnMuY2hlY2tEZXBlbmRlbmNlUnVsZShydWxlLCBzdGF0ZS5zZWN0aW9uVmFsdWVzKSkpXHJcbiAgICAgIC5mbGF0KCkgfHwgW107XHJcblxyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgZGVwZW5kZW5jeVJ1bGVDaGVja1Jlc3VsdHM6IGRlcGVuZGVuY2VSZXN1bHRzfTtcclxuICB9KVxyXG4pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFJlZHVjZXIoc3RhdGU6IE9iamVjdEZvcm1TdGF0ZSB8IHVuZGVmaW5lZCwgYWN0aW9uOiBBY3Rpb24pIHtcclxuICByZXR1cm4gb2JqZWN0UmVkdWNlckNyZWF0b3Ioc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0ucmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vc3RvcmUvb2JqZWN0LWZvcm0ucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEtBQUssV0FBVyxNQUFNLFlBQVksQ0FBQztBQUcxQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FDeEMsc0JBQXNCLEVBQ3RCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hELE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUNBLGlCQUFpQixDQUFDLGlCQUFpQixFQUNuQyxDQUFDLEtBQUssRUFBRSxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBRTtJQUNuRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixhQUFhLEVBQUUsYUFBYTtRQUM1QixRQUFRLEVBQUUsT0FBTztRQUNqQixTQUFTLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO0tBQ3BGLENBQUM7QUFDSixDQUFDLENBQ0YsRUFDRCxFQUFFLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFF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L3N0b3JlJztcclxuaW1wb3J0IHsgT2JqZWN0Rm9ybVN0YXRlLCBvYmplY3RGb3JtQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgaW5pdGlhbE9iamVjdEZvcm1TdGF0ZSB9IGZyb20gJy4vb2JqZWN0LWZvcm0uc3RhdGUnXHJcbmltcG9ydCAqIGFzIGZyb21IZWxwZXJzIGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBGaWVsZERlcGVuZGVuY2VNb2RlbCwgU2VjdGlvblZhbHVlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuY29uc3Qgb2JqZWN0UmVkdWNlckNyZWF0b3IgPSBjcmVhdGVSZWR1Y2VyKFxyXG4gIGluaXRpYWxPYmplY3RGb3JtU3RhdGUsXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZE9iamVjdFBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihcclxuICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRPYmplY3RTdWNjZXNzLFxyXG4gICAgKHN0YXRlLCB7dGVtcGxhdGVTZXR0aW5ncywgc2VjdGlvblZhbHVlcywgYXBwbGljYXRpb25JZCwgaXNEcmFmdH0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzLFxyXG4gICAgICAgIHNlY3Rpb25WYWx1ZXM6IHNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgICAgaXNFZGl0ZWQ6IGlzRHJhZnQsXHJcbiAgICAgICAgbWVudU1vZGVsOiBmcm9tSGVscGVycy5nZXRNZW51TW9kZWwodGVtcGxhdGVTZXR0aW5ncywgc2VjdGlvblZhbHVlcywgYXBwbGljYXRpb25JZClcclxuICAgICAgfTtcclxuICAgIH1cclxuICApLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRPYmplY3RFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0xvYWRpbmc6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVWYWx1ZXMsIChzdGF0ZSwge3ZhbHVlfSkgPT4ge1xyXG5cclxuICAgIGNvbnN0IGRlcGVuZGVuY2VSdWxlc1Jlc3VsdHMgPSBmcm9tSGVscGVycy5nZXREZXBlbmRlbmNlUnVsZXNSZXN1bHRzKFxyXG4gICAgICBzdGF0ZS5kZXBlbmRlbmN5UnVsZUNoZWNrUmVzdWx0cyxcclxuICAgICAgc3RhdGUuc2VjdGlvblZhbHVlcyxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHN0YXRlLnNldHRpbmdzPy5kZXBlbmRlbmNlUnVsZXMucnVsZXNcclxuICAgICk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRTZWN0aW9uVmFsdWVzID0gc3RhdGUuc2VjdGlvblZhbHVlcy5tYXAoKHNlY3Rpb25WYWx1ZTogU2VjdGlvblZhbHVlTW9kZWwpID0+IHtcclxuICAgICAgLy8g0L/RgNC40YjQu9C+0YHRjCDQvtGC0LrQsNC30LDRgtGM0YHRjyDQvtGCINGD0YHQu9C+0LLQuNGPINC/0YDQvtCy0LXRgNC60Lgg0LLRi9Cx0YDQsNC90L3QvtC5INGB0LXQutGG0LjQuCxcclxuICAgICAgLy8g0YIu0LouINC30LDQstC40YHQuNC80YvQtSDQv9C+0LvRjyDQvNC+0LPRg9GCINC90LDRhdC+0LTQuNGC0YzRgdGPINCyINC00YDRg9Cz0LjRhSDRgdC10LrRhtC40Y/RhSwg0LAg0LjRhSDQvdC10L7QsdGF0L7QtNC40LzQviDQvtCx0L3Rg9C70Y/RgtGMLlxyXG4gICAgICByZXR1cm4gZnJvbUhlbHBlcnMuZ2V0VXBkYXRlZFZhbHVlcyhcclxuICAgICAgICBzZWN0aW9uVmFsdWUsXHJcbiAgICAgICAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV0sXHJcbiAgICAgICAgZnJvbUhlbHBlcnMuZ2V0VmFsdWVzVG9DbGVhbihkZXBlbmRlbmNlUnVsZXNSZXN1bHRzKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHNlY3Rpb25WYWx1ZXM6IHNlbGVjdGVkU2VjdGlvblZhbHVlcyxcclxuICAgICAgaXNFZGl0ZWQ6IHRydWUsXHJcbiAgICAgIGRlcGVuZGVuY3lSdWxlQ2hlY2tSZXN1bHRzOiBkZXBlbmRlbmNlUnVsZXNSZXN1bHRzXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNTdWNjZXNzLCAoc3RhdGUsIHtyZXN1bHQsIG9iamVjdElkfSkgPT4ge1xyXG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb25WYWx1ZXMgPSBzdGF0ZS5zZWN0aW9uVmFsdWVzLm1hcCgoc2VjdGlvblZhbHVlOiBTZWN0aW9uVmFsdWVNb2RlbCkgPT4ge1xyXG4gICAgICBjb25zdCBzZWN0aW9uID0ge1xyXG4gICAgICAgIC4uLnNlY3Rpb25WYWx1ZSxcclxuICAgICAgICBwZXJjZW50OiByZXN1bHQuZmlsbG5lc3MuZmluZCh4ID0+IHgubmFtZSA9PT0gc2VjdGlvblZhbHVlLnN5c05hbWUpPy5wZXJjZW50IHx8IDBcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGZyb21IZWxwZXJzLmdldFVwZGF0ZWRWYWx1ZXMoc2VjdGlvbiwgcmVzdWx0LnZhbHVlcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgc2VjdGlvblZhbHVlczogdXBkYXRlZFNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIGlzRWRpdGVkOiB0cnVlLFxyXG4gICAgICBtZW51TW9kZWw6IGZyb21IZWxwZXJzLmdldE1lbnVNb2RlbChzdGF0ZS5zZXR0aW5ncywgdXBkYXRlZFNlY3Rpb25WYWx1ZXMsIG9iamVjdElkKVxyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlVmFsdWVzRXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZX07XHJcbiAgfSksXHJcblxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVPYmplY3RQZW5kaW5nLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzQXBwbGljYXRpb25TYXZlTG9hZGluZzogdHJ1ZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZU9iamVjdFN1Y2Nlc3MsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiBmYWxzZSwgaXNFZGl0ZWQ6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlT2JqZWN0RXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiBmYWxzZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSwgKHN0YXRlLCB7c2VjdGlvblN5c05hbWV9KSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBzZWxlY3RlZFNlY3Rpb25TeXNOYW1lOiBzZWN0aW9uU3lzTmFtZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFNlY3Rpb25GaWxlc1BlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2VjdGlvbkZpbGVzOiBbXX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFNlY3Rpb25GaWxlc1N1Y2Nlc3MsIChzdGF0ZSwge3NlY3Rpb25GaWxlc30pID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIHNlY3Rpb25GaWxlczogc2VjdGlvbkZpbGVzfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy50b2dnbGVDaGVja1JlcXVpcmVkLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzQ2hlY2tSZXF1aXJlZDogIXN0YXRlLmlzQ2hlY2tSZXF1aXJlZH07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlQ2hlY2tSZXF1aXJlZCwgKHN0YXRlLCB7aXNDaGVja1JlcXVpcmVkfSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNDaGVja1JlcXVpcmVkOiBpc0NoZWNrUmVxdWlyZWR9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVQZW5kaW5nLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzTG9hZGluZzogdHJ1ZX07XHJcbiAgfSksXHJcbiAgb24oXHJcbiAgICBvYmplY3RGb3JtQWN0aW9ucy5sb2FkUHJldmlld1RlbXBsYXRlU3VjY2VzcyxcclxuICAgIChzdGF0ZSwge3RlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZX0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzLFxyXG4gICAgICAgIG1lbnVNb2RlbDogZnJvbUhlbHBlcnMuZ2V0UHJldmlld01lbnVNb2RlbCh0ZW1wbGF0ZVNldHRpbmdzLCB0ZW1wbGF0ZVN5c05hbWUpXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgKSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkUHJldmlld1RlbXBsYXRlRXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiBmYWxzZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMuY2hlY2tBbGxEZXBlbmRlbmN5UnVsZXMsIChzdGF0ZSkgPT4ge1xyXG5cclxuICAgIGNvbnN0IGRlcGVuZGVuY2VSZXN1bHRzID0gc3RhdGUuc2V0dGluZ3M/LmRlcGVuZGVuY2VSdWxlcy5ydWxlc1xyXG4gICAgICAubWFwKChydWxlOiBGaWVsZERlcGVuZGVuY2VNb2RlbCkgPT4gKGZyb21IZWxwZXJzLmNoZWNrRGVwZW5kZW5jZVJ1bGUocnVsZSwgc3RhdGUuc2VjdGlvblZhbHVlcykpKVxyXG4gICAgICAuZmxhdCgpIHx8IFtdO1xyXG5cclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGRlcGVuZGVuY3lSdWxlQ2hlY2tSZXN1bHRzOiBkZXBlbmRlbmNlUmVzdWx0c307XHJcbiAgfSlcclxuKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RSZWR1Y2VyKHN0YXRlOiBPYmplY3RGb3JtU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XHJcbiAgcmV0dXJuIG9iamVjdFJlZHVjZXJDcmVhdG9yKHN0YXRlLCBhY3Rpb24pO1xyXG59XHJcbiJdfQ==