taxtank-core 0.33.45 → 0.33.46

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,4 +21,4 @@ export class EmployeeInviteForm extends AbstractForm {
21
21
  }, invite);
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZmlybS9lbXBsb3llZS1pbnZpdGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE2RDtJQUNuRyxZQUFZLE1BQU0sR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHVCQUE2QyxJQUFJO1FBQ3RHLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUksU0FBUyxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRTtvQkFDdkQsaUNBQWlDO29CQUNqQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7b0JBQ25ELGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztvQkFDM0UsUUFBUSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSwgQ29udHJvbHNJbnRlcmZhY2UgfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBVbmlxdWVFbWFpbFZhbGlkYXRvciwgYWxwaGFTcGFjZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRW1wbG95ZWVJbnZpdGVSb2xlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFJ4d2ViVmFsaWRhdG9ycyB9IGZyb20gJ0ByeHdlYi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5pbnRlcmZhY2UgRW1wbG95ZWVJbnZpdGVDb250cm9sc0ludGVyZmFjZSBleHRlbmRzIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgcmVnaXN0cmF0aW9uSW52aXRlOiBGb3JtR3JvdXA8e1xuICAgIGZpcnN0TmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICBsYXN0TmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICBlbWFpbDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgfT47XG4gIHJvbGU6IEZvcm1Db250cm9sPEVtcGxveWVlSW52aXRlUm9sZUVudW0+O1xufVxuXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVJbnZpdGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEVtcGxveWVlSW52aXRlLCBFbXBsb3llZUludml0ZUNvbnRyb2xzSW50ZXJmYWNlPiB7XG4gIGNvbnN0cnVjdG9yKGludml0ZSA9IHBsYWluVG9DbGFzcyhFbXBsb3llZUludml0ZSwge30pLCB1bmlxdWVFbWFpbFZhbGlkYXRvcjogVW5pcXVlRW1haWxWYWxpZGF0b3IgPSBudWxsKSB7XG4gICAgc3VwZXIoe1xuICAgICAgcmVnaXN0cmF0aW9uSW52aXRlOiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZmlyc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8uZmlyc3ROYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgYWxwaGFTcGFjZVZhbGlkYXRvcigpXSksXG4gICAgICAgIGxhc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8ubGFzdE5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhbHBoYVNwYWNlVmFsaWRhdG9yKCldKSxcbiAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbChpbnZpdGUucmVnaXN0cmF0aW9uSW52aXRlPy5lbWFpbCwge1xuICAgICAgICAgIC8vIEBUT0RPIFJ4d2ViVmFsaWRhdG9ycy51bmlxdWUoKVxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSxcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcnM6IFt1bmlxdWVFbWFpbFZhbGlkYXRvci52YWxpZGF0ZS5iaW5kKHVuaXF1ZUVtYWlsVmFsaWRhdG9yKV0sXG4gICAgICAgICAgdXBkYXRlT246ICdibHVyJ1xuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcm9sZTogbmV3IEZvcm1Db250cm9sKEVtcGxveWVlSW52aXRlUm9sZUVudW0uRU1QTE9ZRUUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgfSwgaW52aXRlKTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtaW52aXRlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvZmlybS9lbXBsb3llZS1pbnZpdGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE2RDtJQUNuRyxZQUFZLE1BQU0sR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHVCQUE2QyxJQUFJO1FBQ3RHLEtBQUssQ0FBQztZQUNKLGtCQUFrQixFQUFFLElBQUksU0FBUyxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRTtvQkFDdkQsaUNBQWlDO29CQUNqQyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7b0JBQ25ELGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztvQkFDM0UsUUFBUSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSwgQ29udHJvbHNJbnRlcmZhY2UgfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEVtcGxveWVlSW52aXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5pbXBvcnQgeyBVbmlxdWVFbWFpbFZhbGlkYXRvciwgYWxwaGFTcGFjZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgRW1wbG95ZWVJbnZpdGVSb2xlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuaW50ZXJmYWNlIEVtcGxveWVlSW52aXRlQ29udHJvbHNJbnRlcmZhY2UgZXh0ZW5kcyBDb250cm9sc0ludGVyZmFjZSB7XG4gIHJlZ2lzdHJhdGlvbkludml0ZTogRm9ybUdyb3VwPHtcbiAgICBmaXJzdE5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgbGFzdE5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgZW1haWw6IEZvcm1Db250cm9sPHN0cmluZz47XG4gIH0+O1xuICByb2xlOiBGb3JtQ29udHJvbDxFbXBsb3llZUludml0ZVJvbGVFbnVtPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVtcGxveWVlSW52aXRlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxFbXBsb3llZUludml0ZSwgRW1wbG95ZWVJbnZpdGVDb250cm9sc0ludGVyZmFjZT4ge1xuICBjb25zdHJ1Y3RvcihpbnZpdGUgPSBwbGFpblRvQ2xhc3MoRW1wbG95ZWVJbnZpdGUsIHt9KSwgdW5pcXVlRW1haWxWYWxpZGF0b3I6IFVuaXF1ZUVtYWlsVmFsaWRhdG9yID0gbnVsbCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHJlZ2lzdHJhdGlvbkludml0ZTogbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGZpcnN0TmFtZTogbmV3IEZvcm1Db250cm9sKGludml0ZS5yZWdpc3RyYXRpb25JbnZpdGU/LmZpcnN0TmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGFscGhhU3BhY2VWYWxpZGF0b3IoKV0pLFxuICAgICAgICBsYXN0TmFtZTogbmV3IEZvcm1Db250cm9sKGludml0ZS5yZWdpc3RyYXRpb25JbnZpdGU/Lmxhc3ROYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgYWxwaGFTcGFjZVZhbGlkYXRvcigpXSksXG4gICAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woaW52aXRlLnJlZ2lzdHJhdGlvbkludml0ZT8uZW1haWwsIHtcbiAgICAgICAgICAvLyBAVE9ETyBSeHdlYlZhbGlkYXRvcnMudW5pcXVlKClcbiAgICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0sXG4gICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiBbdW5pcXVlRW1haWxWYWxpZGF0b3IudmFsaWRhdGUuYmluZCh1bmlxdWVFbWFpbFZhbGlkYXRvcildLFxuICAgICAgICAgIHVwZGF0ZU9uOiAnYmx1cidcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIHJvbGU6IG5ldyBGb3JtQ29udHJvbChFbXBsb3llZUludml0ZVJvbGVFbnVtLkVNUExPWUVFLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0sIGludml0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -101,7 +101,9 @@ export class AllocationRuleTransactionForm extends AbstractForm {
101
101
  listenTankTypeChanges() {
102
102
  this.get('tankType').valueChanges.subscribe(() => {
103
103
  this.get('chartAccounts').reset();
104
- this.childTransactionsArray.reset();
104
+ this.get('property').reset();
105
+ this.get('business').reset();
106
+ this.childTransactionsArray.clear();
105
107
  });
106
108
  }
107
109
  /**
@@ -141,4 +143,4 @@ export class AllocationRuleTransactionForm extends AbstractForm {
141
143
  claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
142
144
  }
143
145
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcs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IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLFxuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBDaGFydEFjY291bnRzLFxuICBDaGFydEFjY291bnRzTWV0YUZpZWxkLFxuICBJbmNvbWVTb3VyY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbmRpdGlvbmFsVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQuZm9ybSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGV4dGVuZCB0cmFuc2FjdGlvbiBmb3JtKHMpIHdoZW4gdHJhbnNhY3Rpb24gZm9ybXMgcmVmYWN0b3JlZFxuICovXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLFxuICAgIC8vIEZsYWcgdG8gZW5hYmxlIHRyYW5zYWN0aW9uIEdTVCBmaWVsZFxuICAgIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudCksXG4gICAgICBhbW91bnRQZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmFtb3VudFBlcmNlbnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdGF4OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnRheCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjbGFpbVBlcmNlbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiB0cmFuc2FjdGlvbi5pc0dTVCB8fCBmYWxzZSwgZGlzYWJsZWQ6ICFpc0dTVCB9KSxcbiAgICAgIGxvYW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ubG9hbiksXG4gICAgICBpbmNvbWVTb3VyY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaW5jb21lU291cmNlLCBjb25kaXRpb25hbFZhbGlkYXRvcigoKSA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5pc1dvcmtJbmNvbWUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpLFxuICAgICAgbWV0YUZpZWxkczogbmV3IFVudHlwZWRGb3JtQXJyYXkoKHRyYW5zYWN0aW9uLm1ldGFGaWVsZHMgfHwgW10pLm1hcCgobWV0YUZpZWxkOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkKSA9PiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0obWV0YUZpZWxkKSkpLFxuICAgICAgYnVzaW5lc3M6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uYnVzaW5lc3MsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ucHJvcGVydHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgLy8gU2hvdyBudWxsIGFzIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyB0cmFuc2FjdGlvbiB0byBhdm9pZCBwcmVzZWxlY3Rpbmcgb2Ygbm90IGFsbG93ZWQgdGFuayB0eXBlc1xuICAgICAgdGFua1R5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaWQgPyB0cmFuc2FjdGlvbi50YW5rVHlwZSA6IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2hpbGRUcmFuc2FjdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5jaGlsZFRyYW5zYWN0aW9ucyB8fCBbXSkubWFwKChjaGlsZFRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKSA9PiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY2hpbGRUcmFuc2FjdGlvbi5jaGFydEFjY291bnRzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uYW1vdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSkpKVxuICAgIH0sIHRyYW5zYWN0aW9uKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogbW92ZSB0byBhYnN0cmFjdCBmb3JtLCB1bml2ZXJzYWwgbWV0aG9kIGdldEFycmF5KGFycmF5TmFtZSlcbiAgICovXG4gIGdldCBtZXRhRmllbGRzQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdtZXRhRmllbGRzJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGlzU3BsaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdhbW91bnRQZXJjZW50JykuZW5hYmxlZDtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUEVSU09OQUw7XG4gIH1cblxuICBhZGRDaGlsZFRyYW5zYWN0aW9uRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkVHJhbnNhY3Rpb25zQXJyYXkucHVzaChcbiAgICAgIG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgY2hhcnRBY2NvdW50czogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG1ldGFGaWVsZHM6IHRoaXMubWV0YUZpZWxkc0FycmF5LmNvbnRyb2xzLm1hcCgobWV0YUZpZWxkRm9ybTogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0pID0+IG1ldGFGaWVsZEZvcm0uc3VibWl0KCkpXG4gICAgfTtcblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSwgdHJ1ZSk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLmdldCgnaW5jb21lU291cmNlJykucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgICAgaWYgKCFjaGFydEFjY291bnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcblxuICAgICAgLy8gVXNlciBoYXZlIHRvIHNlbGVjdCBpbmNvbWUgc291cmNlIGZvciB3b3JrIGluY29tZVxuICAgICAgaWYgKGNoYXJ0QWNjb3VudHMuaXNXb3JrSW5jb21lKCkpIHtcbiAgICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlYnVpbGQgbWV0YSBmaWVsZHNcbiAgICAgIHRoaXMubWV0YUZpZWxkc0FycmF5LmNsZWFyKCk7XG4gICAgICBjaGFydEFjY291bnRzLm1ldGFGaWVsZHMuZm9yRWFjaCgoY2hhcnRBY2NvdW50c01ldGFGaWVsZDogQ2hhcnRBY2NvdW50c01ldGFGaWVsZCkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5wdXNoKFxuICAgICAgICAgIG5ldyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybShcbiAgICAgICAgICAgIHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLCB7IGNoYXJ0QWNjb3VudHNNZXRhRmllbGQgfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgLy8gc29sZSB0cmFkZXIgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZSBmb3IgZ3N0XG4gICAgICBpZiAodGhpcy5pc0dTVCAmJiBjaGFydEFjY291bnRzLmlzR1NUKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5zZXRWYWx1ZSh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2hpbGQgdHJhbnNhY3Rpb24gYWxsb3dhbmNlIGRlcGVuZHMgb24gdGFuayB0eXBlLlxuICAgKiBBbHNvIGNoYXJ0IGFjY291bnRzIGFyZSBkaWZmZXJlbnQsIHNvIHdlIGp1c3QgcmVzZXQgY2hpbGQgdHJhbnNhY3Rpb25zIHdoZW4gdGFuayB0eXBlIGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnJlc2V0KCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcs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O1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgSW5jb21lU291cmNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb25kaXRpb25hbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkLmZvcm0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuLyoqXG4gKiBAVE9ETyBBbGV4OiBleHRlbmQgdHJhbnNhY3Rpb24gZm9ybShzKSB3aGVuIHRyYW5zYWN0aW9uIGZvcm1zIHJlZmFjdG9yZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBwcml2YXRlIGlzR1NUOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnQpLFxuICAgICAgYW1vdW50UGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnRQZXJjZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRheDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi50YXgsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgxMDApXSksXG4gICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgaXNHU1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdHJhbnNhY3Rpb24uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXNHU1QgfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBpc1NwbGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50UGVyY2VudCcpLmVuYWJsZWQ7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZSA9PT0gVGFua1R5cGVFbnVtLlBFUlNPTkFMO1xuICB9XG5cbiAgYWRkQ2hpbGRUcmFuc2FjdGlvbkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnB1c2goXG4gICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHNBcnJheS5jb250cm9scy5tYXAoKG1ldGFGaWVsZEZvcm06IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKSA9PiBtZXRhRmllbGRGb3JtLnN1Ym1pdCgpKVxuICAgIH07XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEsIHRydWUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuSW5jb21lU291cmNlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG5cbiAgICAgIC8vIFVzZXIgaGF2ZSB0byBzZWxlY3QgaW5jb21lIHNvdXJjZSBmb3Igd29yayBpbmNvbWVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzV29ya0luY29tZSgpKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWJ1aWxkIG1ldGEgZmllbGRzXG4gICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5jbGVhcigpO1xuICAgICAgY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzLmZvckVhY2goKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkucHVzaChcbiAgICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0oXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCwgeyBjaGFydEFjY291bnRzTWV0YUZpZWxkIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHNvbGUgdHJhZGVyIHJlZ2lzdGVyZWQgYW5kIGNoYXJ0QWNjb3VudHMgaXMgZWxpZ2libGUgZm9yIGdzdFxuICAgICAgaWYgKHRoaXMuaXNHU1QgJiYgY2hhcnRBY2NvdW50cy5pc0dTVCkge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENoaWxkIHRyYW5zYWN0aW9uIGFsbG93YW5jZSBkZXBlbmRzIG9uIHRhbmsgdHlwZS5cbiAgICogQWxzbyBjaGFydCBhY2NvdW50cyBhcmUgZGlmZmVyZW50LCBzbyB3ZSBqdXN0IHJlc2V0IGNoaWxkIHRyYW5zYWN0aW9ucyB3aGVuIHRhbmsgdHlwZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRhbmtUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYnVzaW5lc3MnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LmNsZWFyKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
@@ -1,31 +1,31 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { AllocationRuleTransaction, CHART_ACCOUNTS_CATEGORIES } from '../../models';
3
3
  import { plainToClass } from 'class-transformer';
4
- import { UntypedFormArray, UntypedFormControl, Validators } from '@angular/forms';
4
+ import { FormArray, FormControl, Validators } from '@angular/forms';
5
5
  import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
6
6
  import { AllocationRuleConditionForm } from './allocation-rule-condition.form';
7
7
  import { AllocationRuleTransactionForm } from './allocation-rule-transaction.form';
8
8
  import { AllocationRuleTypeEnum } from '../../db/Enums';
9
9
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
10
10
  import intersection from 'lodash/intersection';
11
+ import { RxwebValidators } from '@rxweb/reactive-form-validators';
11
12
  /**
12
13
  * @TODO move aux methods like isSplittable/isTaxFieldHidden/etc (used in view with ngIf) to properties to improve perf
13
14
  */
14
15
  export class AllocationRuleForm extends AbstractForm {
15
- constructor(
16
- // rule is required because we have to keep bank account relation
17
- rule,
18
- // Flag to enable transaction GST field
19
- isGST) {
16
+ constructor(rule, rules, isGST) {
20
17
  super({
21
- type: new UntypedFormControl(rule.type, Validators.required),
22
- name: new UntypedFormControl(rule.name, Validators.required),
23
- conditionOperator: new UntypedFormControl(rule.conditionOperator, Validators.required),
24
- conditions: new UntypedFormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
18
+ type: new FormControl(rule.type, Validators.required),
19
+ name: new FormControl(rule.name, [
20
+ Validators.required,
21
+ RxwebValidators.noneOf({ matchValues: rules.remove([rule]).mapBy('name') })
22
+ ]),
23
+ conditionOperator: new FormControl(rule.conditionOperator, Validators.required),
24
+ conditions: new FormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
25
25
  .map((condition) => new AllocationRuleConditionForm(condition))),
26
26
  transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
27
- transferBankAccount: new UntypedFormControl(rule.transferBankAccount, Validators.required),
28
- autoAllocate: new UntypedFormControl(rule.autoAllocate || false, Validators.required),
27
+ transferBankAccount: new FormControl(rule.transferBankAccount, Validators.required),
28
+ autoAllocate: new FormControl(rule.autoAllocate || false, Validators.required),
29
29
  }, rule);
30
30
  this.isGST = isGST;
31
31
  this.listenEvents();
@@ -185,4 +185,4 @@ export class AllocationRuleForm extends AbstractForm {
185
185
  return this.isIncome() && this.isSoleTank();
186
186
  }
187
187
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUE2QixNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRTtJQUNFLGlFQUFpRTtJQUNqRSxJQUFvQjtJQUNwQix1Q0FBdUM7SUFDL0IsS0FBYztRQUV0QixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDNUQsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENB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SUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDakYsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3RSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGUsIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMsIENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuXG4vKipcbiAqIEBUT0RPIG1vdmUgYXV4IG1ldGhvZHMgbGlrZSBpc1NwbGl0dGFibGUvaXNUYXhGaWVsZEhpZGRlbi9ldGMgKHVzZWQgaW4gdmlldyB3aXRoIG5nSWYpIHRvIHByb3BlcnRpZXMgdG8gaW1wcm92ZSBwZXJmXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjaGFydEFjY291bnRzQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIHJ1bGUgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGtlZXAgYmFuayBhY2NvdW50IHJlbGF0aW9uXG4gICAgcnVsZTogQWxsb2NhdGlvblJ1bGUsXG4gICAgLy8gRmxhZyB0byBlbmFibGUgdHJhbnNhY3Rpb24gR1NUIGZpZWxkXG4gICAgcHJpdmF0ZSBpc0dTVDogYm9vbGVhblxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25PcGVyYXRvcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLmNvbmRpdGlvbk9wZXJhdG9yLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbmRpdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUudHJhbnNmZXJCYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBhdXRvQWxsb2NhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS5hdXRvQWxsb2NhdGUgfHwgZmFsc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0sIHJ1bGUpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHJ1bGUudHlwZSk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VGFua1R5cGUocnVsZS50cmFuc2FjdGlvbj8udGFua1R5cGUpO1xuICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcblxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZT8uaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2xhaW1QZXJjZW50JykuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdHJhbnNhY3Rpb24gaGFzIG5vIGFtb3VudCAobm9uLXNwbGl0KVxuICAgIGlmICghcnVsZS50cmFuc2FjdGlvbj8uaXNTcGxpdCgpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldChbJ2Ftb3VudFBlcmNlbnQnXSkuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb25kaXRpb25zQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQTZCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRSxZQUFZLElBQW9CLEVBQUUsS0FBK0IsRUFBVSxLQUFjO1FBQ3ZGLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FB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LE9BQU8sQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZSwgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgUnh3ZWJWYWxpZGF0b3JzIH0gZnJvbSAnQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogQFRPRE8gbW92ZSBhdXggbWV0aG9kcyBsaWtlIGlzU3BsaXR0YWJsZS9pc1RheEZpZWxkSGlkZGVuL2V0YyAodXNlZCBpbiB2aWV3IHdpdGggbmdJZikgdG8gcHJvcGVydGllcyB0byBpbXByb3ZlIHBlcmZcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW107XG5cbiAgY29uc3RydWN0b3IocnVsZTogQWxsb2NhdGlvblJ1bGUsIHJ1bGVzOiBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24sIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgRm9ybUNvbnRyb2wocnVsZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChydWxlLm5hbWUsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgUnh3ZWJWYWxpZGF0b3JzLm5vbmVPZih7IG1hdGNoVmFsdWVzOiBydWxlcy5yZW1vdmUoW3J1bGVdKS5tYXBCeSgnbmFtZScpIH0pXG4gICAgICBdKSxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wocnVsZS5jb25kaXRpb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgRm9ybUNvbnRyb2wocnVsZS50cmFuc2ZlckJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGF1dG9BbGxvY2F0ZTogbmV3IEZvcm1Db250cm9sKHJ1bGUuYXV0b0FsbG9jYXRlIHx8IGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHRyYW5zYWN0aW9uIGhhcyBubyBhbW91bnQgKG5vbi1zcGxpdClcbiAgICBpZiAoIXJ1bGUudHJhbnNhY3Rpb24/LmlzU3BsaXQoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGNoaWxkVHJhbnNhY3Rpb25zQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
@@ -36,8 +36,8 @@ export class TransactionService extends RestService {
36
36
  this.listenPropertyForecastUpdate();
37
37
  this.listenNotifications();
38
38
  }
39
- fetch(path = this.apiUrl, cache = true) {
40
- return super.fetch(path, cache).pipe(map(transactions => {
39
+ get(path = this.apiUrl) {
40
+ return super.get(path).pipe(map(transactions => {
41
41
  transactions.forEach((transaction) => {
42
42
  transaction.transactions = transactions
43
43
  // get list of child transactions
@@ -259,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
259
259
  type: Inject,
260
260
  args: ['environment']
261
261
  }] }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFRLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLFlBQVksRUFFRSxhQUFhLEVBQzNCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRTdEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXlDO0lBTS9FLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVJu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Q0FBQyxvQkFBaUM7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQzNHLE1BQU0sTUFBTSxHQUFHO2dCQUNiLHFCQUFxQixDQUFDLHNCQUFzQjtnQkFDNUMscUJBQXFCLENBQUMsMkJBQTJCO2dCQUNqRCxxQkFBcUIsQ0FBQyxvQkFBb0I7YUFDM0MsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuRSw4Q0FBOEM7Z0JBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3U1Usa0JBQWtCLGtGQVNuQixhQUFhO21IQVRaLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UsIHNvcnQgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsXG4gIEFwcEV2ZW50VHlwZUVudW0sXG4gIERlcHJlY2lhdGlvbixcbiAgRmluYW5jaWFsWWVhcixcbiAgTm90aWZpY2F0aW9uLCBQcm9wZXJ0eVNoYXJlLFxuICBUcmFuc2FjdGlvbixcbiAgVmVoaWNsZUNsYWltXG59IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3IgVHJhbnNhY3Rpb24gQVBJXG4gIHVybCA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKFByb3BlcnR5U2hhcmUuZ2V0RXZlbnROYW1lKCdwdXQnKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaENhY2hlKCkpO1xuICAgIHRoaXMubGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5saXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eUZvcmVjYXN0VXBkYXRlKCk7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmV0Y2gocGF0aCA9IHRoaXMuYXBpVXJsLCBjYWNoZSA9IHRydWUpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZmV0Y2gocGF0aCwgY2FjaGUpLnBpcGUoXG4gICAgICBtYXAodHJhbnNhY3Rpb25zID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldEN1cnJlbnRZZWFyKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoKS5waXBlKFxuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKS5maWx0ZXJCeUZpbmFuY2lhbFllYXIoJ2RhdGUnKS50b0FycmF5KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2luZ2xlIG5ldyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gbW9kZWwgTmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZChtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uPiB7XG4gICAgLy8gd2UgZG9uJ3QgaGF2ZSBQT1NUIEFQSSBlbmRwb2ludCBmb3Igc2luZ2xlIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW21vZGVsXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld1RyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uID0+IHtcbiAgICAgICAgICAvLyBAVE9ETyBhbGV4XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0NSRUFURUQsIG5ld1RyYW5zYWN0aW9uc1swXSlcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIG5ld1RyYW5zYWN0aW9uc1swXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHRyYW5zYWN0aW9ucyByZWxhdGVkIHdpdGggcHJvcGVydHlcbiAgICovXG4gIGdldEJ5UHJvcGVydHlJZChwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50WWVhcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkID09PSBwcm9wZXJ0eUlkKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIHdpdGggdGFuayB0eXBlICdXb3JrJ1xuICAgKi9cbiAgZ2V0V29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50WWVhcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNXb3JrVGFuaygpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgcHJvcGVydHkgaG9sZGluZyBjb3N0cyAodHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdmFjYW50IGxhbmQgcHJvcGVydHkpXG4gICAqL1xuICBnZXRQcm9wZXJ0eUhvbGRpbmdDb3N0cyhwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0aWVzLyR7cHJvcGVydHlJZH0vaG9sZGluZy1jb3N0c2AsIGZhbHNlKTtcbiAgfVxuXG4gIGdldFdpdGhvdXRUYXhGcmVlUHJvcGVydHkoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goYCR7dGhpcy5hcGlVcmx9P2V4Y2x1ZGVUYXhGcmVlUHJvcGVydHlDYXRlZ29yaWVzYCwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRheGFibGUgdHJhbnNhY3Rpb25zIHdpdGggdGFuayB0eXBlICdXb3JrJ1xuICAgKi9cbiAgZ2V0VGF4YWJsZVdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0V29ya1RyYW5zYWN0aW9ucygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gISF0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0pKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgTGlzdCBvZiBuZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2VzIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZEJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHRyYW5zYWN0aW9ucyA9IF8uY2xvbmVEZWVwKHRyYW5zYWN0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKHRyYW5zYWN0aW9ucykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCBhZGRlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogVHJhbnNhY3Rpb25CYXNlKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoaXRlbSkpO1xuXG4gICAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgLy8gQFRPRE8gVmlrdG9yOiBpbXBsZW1lbnQgQVBJIGZvciBzYXZpbmcgb2YgbmVzdGVkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9ucyBpZiBleGlzdFxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZvckVhY2goKGNoaWxkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpbGRUcmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbiA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh7IGlkOiBhZGRlZFRyYW5zYWN0aW9uc1tpbmRleF0uaWQgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCB0cmFuc2ZlciB0cmFuc2FjdGlvbiB0byBjYWNoZVxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSKSB7XG4gICAgICAgICAgICAgIGFkZGVkVHJhbnNhY3Rpb25zLnB1c2goYWRkZWRUcmFuc2FjdGlvbnNbMF0udHJhbnNmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5hZGRlZFRyYW5zYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uW10+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05TX0NSRUFURUQsIGFkZGVkVHJhbnNhY3Rpb25zKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gYWRkZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGUodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7dHJhbnNhY3Rpb24uaWR9YCwgY2xhc3NUb1BsYWluKHRyYW5zYWN0aW9uKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGFkZCBwYXJlbnQgdHJhbnNhY3Rpb24gdG8gY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgY2hpbGRUcmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbiA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh7IGlkOiB1cGRhdGVkVHJhbnNhY3Rpb24uaWQgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIHNlcGFyYXRlIGNoaWxkIHRyYW5zYWN0aW9ucyBieSBpZCBleGlzdGluZyB0byBkZWZpbmUgYWRkIG9yIHVwZGF0ZSBhY3Rpb24uXG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+IHQuaWQpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb0FkZDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiAhdC5pZCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb0FkZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnJlcGxhY2VJbkNhY2hlKHVwZGF0ZWRUcmFuc2FjdGlvbik7XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGVCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbih0cmFuc2FjdGlvbnMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogVHJhbnNhY3Rpb25CYXNlKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoaXRlbSkpO1xuXG4gICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9ucy5mb3JFYWNoKCh1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRUcmFuc2FjdGlvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZUJhdGNoKG1vZGVscykucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCwgbW9kZWxzWzBdKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSB0cmFuc2FjdGlvbiBhbmQgcmVsYXRlZCB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqL1xuICBkZWxldGUobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbC5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gZGVsZXRlIHRyYW5zZmVyIHdlIGRlbGV0ZSBhY3R1YWxseSAyIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKG1vZGVsLmlzVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IFttb2RlbC5pZF07XG5cbiAgICAgICAgICAgICAgLy8gZ2V0IGlkIG9mIHJlbGF0ZWQgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgaWYgKG1vZGVsLnRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgLy8ganVzdCB0YWtlIGlkIGlmIHdlIGRlbGV0ZSBzb3VyY2UgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaChtb2RlbC50cmFuc2Zlci5pZCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZmluZCBzb3VyY2UgdHJhbnNhY3Rpb24gaWQgaWYgd2UgZGVsZXRlIGRlc3RpbmF0aW9uIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2godGhpcy5jYWNoZS5maW5kKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC50cmFuc2Zlci5pZCA9PT0gbW9kZWwuaWQpLmlkKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAhaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlkICE9PSBtb2RlbC5pZCAmJiB0cmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbj8uaWQgIT09IG1vZGVsLmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQsIG1vZGVsKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkRlbGV0ZWQuZW1pdChtb2RlbCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gRGVwcmVjaWF0aW9uIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyByZXNldCBjYWNoZSBvbmx5IHdoZW4gcmVxdWlyZWQgKGRlcHJlY2lhdGlvbiBoYXMgdHJhbnNhY3Rpb24pXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5EZXByZWNpYXRpb24uZ2V0RXZlbnROYW1lcygncG9zdCcsICdkZWxldGUnKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uMiguLi5WZWhpY2xlQ2xhaW0uZ2V0RXZlbnROYW1lcygncG9zdCcsICdwdXQnKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaENhY2hlKCkpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBwcm9wZXJ0eSBmb3JlY2FzdCBpbmNsdWRlcyBjbGFpbVBlcmNlbnQgd2hpY2ggYWZmZWN0cyBwcm9wZXJ0eSByZWxhdGVkIGV4cGVuc2VzXG4gICAqIEBUT0RPIEFsZXggbW92ZSB0byBmb3JlY2FzdCBhcGkgaW5zdGVhZCBvZiBwcm9wZXJ0eVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eUZvcmVjYXN0VXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9VUERBVEVEXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VJbkNhY2hlKHRyYW5zYWN0aW9uVG9SZXBsYWNlOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdHJhbnNhY3Rpb25Ub1JlcGxhY2UpO1xuICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IFtcbiAgICAgICAgVXNlckV2ZW50VHlwZVR5cGVFbnVtLklOVk9JQ0VfQVVUT19BTExPQ0FURUQsXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5JTlZPSUNFX0FVVE9fUEFSVF9BTExPQ0FURUQsXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5SVUxFU19BVVRPX0FMTE9DQVRFRFxuICAgICAgXTtcblxuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIGV2ZW50cy5pbmNsdWRlcyhub3RpZmljYXRpb24uZXZlbnRUeXBlKSkge1xuICAgICAgICAvLyBAVE9ETyBUVC0zODI2IG1vdmUgdG8gdW5pZmllZCBtZXJjdXJlIGV2ZW50XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgICAgIH0sIDMwMDApXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDRSxhQUFhLEVBQzNCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRTdEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQXlDO0lBTS9FLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpULFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVJu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QUksQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQzNHLE1BQU0sTUFBTSxHQUFHO2dCQUNiLHFCQUFxQixDQUFDLHNCQUFzQjtnQkFDNUMscUJBQXFCLENBQUMsMkJBQTJCO2dCQUNqRCxxQkFBcUIsQ0FBQyxvQkFBb0I7YUFDM0MsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuRSw4Q0FBOEM7Z0JBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3U1Usa0JBQWtCLGtGQVNuQixhQUFhO21IQVRaLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsXG4gIEFwcEV2ZW50VHlwZUVudW0sXG4gIERlcHJlY2lhdGlvbixcbiAgTm90aWZpY2F0aW9uLCBQcm9wZXJ0eVNoYXJlLFxuICBUcmFuc2FjdGlvbixcbiAgVmVoaWNsZUNsYWltXG59IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3IgVHJhbnNhY3Rpb24gQVBJXG4gIHVybCA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKFByb3BlcnR5U2hhcmUuZ2V0RXZlbnROYW1lKCdwdXQnKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaENhY2hlKCkpO1xuICAgIHRoaXMubGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5saXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eUZvcmVjYXN0VXBkYXRlKCk7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICBnZXQocGF0aCA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChwYXRoKS5waXBlKFxuICAgICAgbWFwKHRyYW5zYWN0aW9ucyA9PiB7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGdldCBsaXN0IG9mIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQucGFyZW50VHJhbnNhY3Rpb24gJiYgdC5wYXJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXRDdXJyZW50WWVhcigpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucykuZmlsdGVyQnlGaW5hbmNpYWxZZWFyKCdkYXRlJykudG9BcnJheSgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudFllYXIoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCA9PT0gcHJvcGVydHlJZCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudFllYXIoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzV29ya1RhbmsoKSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHByb3BlcnR5IGhvbGRpbmcgY29zdHMgKHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHZhY2FudCBsYW5kIHByb3BlcnR5KVxuICAgKi9cbiAgZ2V0UHJvcGVydHlIb2xkaW5nQ29zdHMocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2goYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5SWR9L2hvbGRpbmctY29zdHNgLCBmYWxzZSk7XG4gIH1cblxuICBnZXRXaXRob3V0VGF4RnJlZVByb3BlcnR5KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKGAke3RoaXMuYXBpVXJsfT9leGNsdWRlVGF4RnJlZVByb3BlcnR5Q2F0ZWdvcmllc2AsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0YXhhYmxlIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFRheGFibGVXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFdvcmtUcmFuc2FjdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICEhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy50YXhSZXR1cm5JdGVtKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIExpc3Qgb2YgbmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlcyBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGRCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICB0cmFuc2FjdGlvbnMgPSBfLmNsb25lRGVlcCh0cmFuc2FjdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbih0cmFuc2FjdGlvbnMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcblxuICAgICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnMgaWYgZXhpc3RcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoeyBpZDogYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmlkIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24gdG8gY2FjaGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUikge1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9ucy5wdXNoKGFkZGVkVHJhbnNhY3Rpb25zWzBdLnRyYW5zZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4uYWRkZWRUcmFuc2FjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbltdPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OU19DUkVBVEVELCBhZGRlZFRyYW5zYWN0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGFkZGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgZXhpc3RpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RyYW5zYWN0aW9uLmlkfWAsIGNsYXNzVG9QbGFpbih0cmFuc2FjdGlvbikpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShyZXNwb25zZSk7XG4gICAgICAgICAgLy8gQFRPRE8gVmlrdG9yOiBpbXBsZW1lbnQgQVBJIGZvciBzYXZpbmcgb2YgbmVzdGVkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBhZGQgcGFyZW50IHRyYW5zYWN0aW9uIHRvIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZvckVhY2goKGNoaWxkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoeyBpZDogdXBkYXRlZFRyYW5zYWN0aW9uLmlkIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBjaGlsZCB0cmFuc2FjdGlvbnMgYnkgaWQgZXhpc3RpbmcgdG8gZGVmaW5lIGFkZCBvciB1cGRhdGUgYWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZTogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiB0LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQ6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gIXQuaWQpO1xuXG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb0FkZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh1cGRhdGVkVHJhbnNhY3Rpb24pO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4odHJhbnNhY3Rpb25zKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcblxuICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbnMuZm9yRWFjaCgodXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUJhdGNoKG1vZGVsczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBzdXBlci5kZWxldGVCYXRjaChtb2RlbHMpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQsIG1vZGVsc1swXSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgdHJhbnNhY3Rpb24gYW5kIHJlbGF0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWwuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAvLyB3aGVuIGRlbGV0ZSB0cmFuc2ZlciB3ZSBkZWxldGUgYWN0dWFsbHkgMiB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RlbC5pc1RyYW5zZmVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBbbW9kZWwuaWRdO1xuXG4gICAgICAgICAgICAgIC8vIGdldCBpZCBvZiByZWxhdGVkIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgIGlmIChtb2RlbC50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBpZCBpZiB3ZSBkZWxldGUgc291cmNlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2gobW9kZWwudHJhbnNmZXIuaWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgc291cmNlIHRyYW5zYWN0aW9uIGlkIGlmIHdlIGRlbGV0ZSBkZXN0aW5hdGlvbiB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKHRoaXMuY2FjaGUuZmluZCgodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQudHJhbnNmZXIuaWQgPT09IG1vZGVsLmlkKS5pZCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pZCAhPT0gbW9kZWwuaWQgJiYgdHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24/LmlkICE9PSBtb2RlbC5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25EZWxldGVkLmVtaXQobW9kZWwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIERlcHJlY2lhdGlvbiBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gcmVzZXQgY2FjaGUgb25seSB3aGVuIHJlcXVpcmVkIChkZXByZWNpYXRpb24gaGFzIHRyYW5zYWN0aW9uKVxuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIoLi4uRGVwcmVjaWF0aW9uLmdldEV2ZW50TmFtZXMoJ3Bvc3QnLCAnZGVsZXRlJykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIoLi4uVmVoaWNsZUNsYWltLmdldEV2ZW50TmFtZXMoJ3Bvc3QnLCAncHV0JykpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogcHJvcGVydHkgZm9yZWNhc3QgaW5jbHVkZXMgY2xhaW1QZXJjZW50IHdoaWNoIGFmZmVjdHMgcHJvcGVydHkgcmVsYXRlZCBleHBlbnNlc1xuICAgKiBAVE9ETyBBbGV4IG1vdmUgdG8gZm9yZWNhc3QgYXBpIGluc3RlYWQgb2YgcHJvcGVydHlcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlGb3JlY2FzdFVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvUmVwbGFjZTogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICBjb25zdCBldmVudHMgPSBbXG4gICAgICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5JTlZPSUNFX0FVVE9fQUxMT0NBVEVELFxuICAgICAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uSU5WT0lDRV9BVVRPX1BBUlRfQUxMT0NBVEVELFxuICAgICAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uUlVMRVNfQVVUT19BTExPQ0FURURcbiAgICAgIF07XG5cbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBldmVudHMuaW5jbHVkZXMobm90aWZpY2F0aW9uLmV2ZW50VHlwZSkpIHtcbiAgICAgICAgLy8gQFRPRE8gVFQtMzgyNiBtb3ZlIHRvIHVuaWZpZWQgbWVyY3VyZSBldmVudFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgICB9LCAzMDAwKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -15262,8 +15262,8 @@ class TransactionService extends RestService {
15262
15262
  this.listenPropertyForecastUpdate();
15263
15263
  this.listenNotifications();
15264
15264
  }
15265
- fetch(path = this.apiUrl, cache = true) {
15266
- return super.fetch(path, cache).pipe(map(transactions => {
15265
+ get(path = this.apiUrl) {
15266
+ return super.get(path).pipe(map(transactions => {
15267
15267
  transactions.forEach((transaction) => {
15268
15268
  transaction.transactions = transactions
15269
15269
  // get list of child transactions
@@ -23386,7 +23386,9 @@ class AllocationRuleTransactionForm extends AbstractForm {
23386
23386
  listenTankTypeChanges() {
23387
23387
  this.get('tankType').valueChanges.subscribe(() => {
23388
23388
  this.get('chartAccounts').reset();
23389
- this.childTransactionsArray.reset();
23389
+ this.get('property').reset();
23390
+ this.get('business').reset();
23391
+ this.childTransactionsArray.clear();
23390
23392
  });
23391
23393
  }
23392
23394
  /**
@@ -23431,20 +23433,19 @@ class AllocationRuleTransactionForm extends AbstractForm {
23431
23433
  * @TODO move aux methods like isSplittable/isTaxFieldHidden/etc (used in view with ngIf) to properties to improve perf
23432
23434
  */
23433
23435
  class AllocationRuleForm extends AbstractForm {
23434
- constructor(
23435
- // rule is required because we have to keep bank account relation
23436
- rule,
23437
- // Flag to enable transaction GST field
23438
- isGST) {
23436
+ constructor(rule, rules, isGST) {
23439
23437
  super({
23440
- type: new UntypedFormControl(rule.type, Validators.required),
23441
- name: new UntypedFormControl(rule.name, Validators.required),
23442
- conditionOperator: new UntypedFormControl(rule.conditionOperator, Validators.required),
23443
- conditions: new UntypedFormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
23438
+ type: new FormControl(rule.type, Validators.required),
23439
+ name: new FormControl(rule.name, [
23440
+ Validators.required,
23441
+ RxwebValidators.noneOf({ matchValues: rules.remove([rule]).mapBy('name') })
23442
+ ]),
23443
+ conditionOperator: new FormControl(rule.conditionOperator, Validators.required),
23444
+ conditions: new FormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
23444
23445
  .map((condition) => new AllocationRuleConditionForm(condition))),
23445
23446
  transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
23446
- transferBankAccount: new UntypedFormControl(rule.transferBankAccount, Validators.required),
23447
- autoAllocate: new UntypedFormControl(rule.autoAllocate || false, Validators.required),
23447
+ transferBankAccount: new FormControl(rule.transferBankAccount, Validators.required),
23448
+ autoAllocate: new FormControl(rule.autoAllocate || false, Validators.required),
23448
23449
  }, rule);
23449
23450
  this.isGST = isGST;
23450
23451
  this.listenEvents();