ets-fe-ng-sdk 17.0.290 → 17.0.291
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/Shared/components/form-generator/form-generator.base.component.mjs +2 -2
- package/esm2022/lib/Shared/components/form-generator/form-generator.component.mjs +5 -5
- package/fesm2022/ets-fe-ng-sdk.mjs +5 -5
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/utility.service.d.ts +1 -1
- package/lib/Shared/components/btn/btn.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -32,7 +32,7 @@ export class BaseFormGenerator {
|
|
|
32
32
|
this.formSchemaMap.update((formSchemaMap) => {
|
|
33
33
|
const newFormSchemaMap = {};
|
|
34
34
|
for (const key in formSchemaMap) {
|
|
35
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
35
|
+
if (Object.prototype.hasOwnProperty.call(formSchemaMap, key)) {
|
|
36
36
|
newFormSchemaMap[key] = map(formSchemaMap[key]);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -47,4 +47,4 @@ export class BaseFormGenerator {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbkUsTUFBTSxPQUFnQixpQkFBaUI7SUFRckM7UUFQQSxrQkFBYSxHQUFHLE1BQU0sQ0FBdUMsRUFBRSxDQUFDLENBQUM7UUFDakUsZUFBVSxHQUFHLFFBQVEsQ0FBb0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsU0FBSSxHQUEwQyxFQUFFLENBQUM7UUFFMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdyQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRVMsZUFBZSxDQUFDLE9BQTBCO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsTUFBZ0M7UUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMxQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsMkJBQTJCO1lBQzNCLE9BQU8sRUFBRSxHQUFHLGFBQWEsRUFBRSxDQUFDLEtBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzdGLDRIQUE0SDtRQUM5SCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDUyxvQkFBb0IsQ0FBQyxHQUFvRDtRQUNqRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzFDLE1BQU0sZ0JBQWdCLEdBQXlCLEVBQUUsQ0FBQztZQUNsRCxLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRTtnQkFDL0IsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUM1RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pEO2FBQ0Y7WUFDRCxPQUFPLGdCQUFnQixDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLGlCQUFpQixDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUMxQyxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2J0bi9idG4ubW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1HZW5lcmF0b3I8VEZvcm1Hcm91cCBleHRlbmRzIElPYmplY3RMaXRlcmFsLCBUQmFzZUZvcm1TY2hlbWEgZXh0ZW5kcyB7IGZpZWxkPzogYW55IH0gPSBhbnk+IHtcbiAgZm9ybVNjaGVtYU1hcCA9IHNpZ25hbDx7IFtmaWVsZDogc3RyaW5nXTogVEJhc2VGb3JtU2NoZW1hIH0+KHt9KTtcbiAgZm9ybVNjaGVtYSA9IGNvbXB1dGVkPFRCYXNlRm9ybVNjaGVtYVtdPigoKSA9PiBPYmplY3QudmFsdWVzKHRoaXMuZm9ybVNjaGVtYU1hcCgpKS5maWx0ZXIoKHgpID0+IHgpKTtcbiAgc3ViczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xuXG4gIHB1YmxpYyB1dGlsaXR5U2VydmljZSA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG4gIHB1YmxpYyBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSgpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc3VicykuZm9yRWFjaCgocykgPT4ge1xuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YnMgPSB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0Rm9ybVNjaGVtYXMoc2NoZW1hczogVEJhc2VGb3JtU2NoZW1hW10pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAuc2V0KChzY2hlbWFzIHx8IFtdKS50b01hcCgnZmllbGQnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUZvcm1TY2hlbWEoZmllbGQ6IHN0cmluZywgc2NoZW1lOiBQYXJ0aWFsPFRCYXNlRm9ybVNjaGVtYT4pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAudXBkYXRlKChmb3JtU2NoZW1hTWFwKSA9PiB7XG4gICAgICBjb25zdCBleGlzdGluZyA9IGZvcm1TY2hlbWFNYXBbZmllbGRdO1xuICAgICAgLy8gaWYgKCFleGlzdGluZykgZGVidWdnZXI7XG4gICAgICByZXR1cm4geyAuLi5mb3JtU2NoZW1hTWFwLCBbZmllbGQgYXMgYW55XTogIWV4aXN0aW5nID8gc2NoZW1lIDogeyAuLi5leGlzdGluZywgLi4uc2NoZW1lIH0gfTtcbiAgICAgIC8vIHJldHVybiAhc2NoID8geyAuLi5mb3JtU2NoZW1hTWFwLCBbZmllbGQgYXMgYW55XTogc2NoZW1lIH0gOiB7IC4uLmZvcm1TY2hlbWFNYXAsIFtmaWVsZCBhcyBhbnldOiB7IC4uLnNjaCwgLi4uc2NoZW1lIH0gfTtcbiAgICB9KTtcbiAgfVxuICBwcm90ZWN0ZWQgX3VwZGF0ZUFsbEZvcm1TY2hlbWEobWFwOiAoZm9ybUZpZWxkOiBUQmFzZUZvcm1TY2hlbWEpID0+IFRCYXNlRm9ybVNjaGVtYSkge1xuICAgIHRoaXMuZm9ybVNjaGVtYU1hcC51cGRhdGUoKGZvcm1TY2hlbWFNYXApID0+IHtcbiAgICAgIGNvbnN0IG5ld0Zvcm1TY2hlbWFNYXA6IHR5cGVvZiBmb3JtU2NoZW1hTWFwID0ge307XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtU2NoZW1hTWFwKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZm9ybVNjaGVtYU1hcCwga2V5KSkge1xuICAgICAgICAgIG5ld0Zvcm1TY2hlbWFNYXBba2V5XSA9IG1hcChmb3JtU2NoZW1hTWFwW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3Rm9ybVNjaGVtYU1hcDtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5mb3JtU2NoZW1hKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3JlbW92ZUZvcm1TY2hlbWEoZmllbGQ6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybVNjaGVtYU1hcC51cGRhdGUoKGZvcm1TY2hlbWFNYXApID0+IHtcbiAgICAgIGRlbGV0ZSBmb3JtU2NoZW1hTWFwW2ZpZWxkXTtcbiAgICAgIHJldHVybiBmb3JtU2NoZW1hTWFwO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VGb3JtU2NoZW1hPFxuICBULFxuICBDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUdlbmVyYXRvcjxUPixcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4ge1xuICBhc3luY1ZhbGlkYXRvcnM/OiBBc3luY1ZhbGlkYXRvckZuW107XG4gIGF1dG9QaWNrVmFsdWVGaWVsZD86IGJvb2xlYW47XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBjbGVhck9uRGlzYWJsZT86IGJvb2xlYW47XG4gIGNscz86IHN0cmluZztcbiAgY291bnRyeUNvZGUzPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IElCYXNlRm9ybVNjaGVtYTxULCBDb21wb25lbnQsIFRGb3JtR3JvdXA+W107XG4gIGRlY2ltYWxQb2ludHM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRJZj86IChyb3c6IGFueSwgY2VsbEZpZWxkPzogc3RyaW5nKSA9PiBib29sZWFuO1xuICAvLyBoaWRlSWZGdW5jPzogKHJvdykgPT4gYm9vbGVhbjtcbiAgZmllbGQ6IGtleW9mIFRGb3JtR3JvdXA7XG4gIGZvcm0/OiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIGdldENvdW50cnlDb2RlM0tleT86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgaGludD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xuICBpc1NlYXJjaEZpZWxkPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XG4gIGxhYmVsVHlwZT86IE9wdGlvbkxhYmVsVHlwZTtcbiAgb3B0aW9uTGFiZWxGb3JtYXR0ZXI/OiAocm93KSA9PiBzdHJpbmc7XG4gIG1heD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyO1xuICBub0Zvcm1hdD86IGJvb2xlYW47XG4gIG9wdGlvbkZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgb3B0aW9ucz86IGFueVtdO1xuICBvcHRpb25zQXN5bmM/OiBPYnNlcnZhYmxlPGFueVtdPiB8IFByb21pc2U8YW55W10+O1xuICBvcHRpb25zSW5pdEZ1bmM/OiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0luaXRGdW5jMj86ICgpID0+IE9ic2VydmFibGU8YW55W10+O1xuICBvcHRpb25zS2V5Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgc2VhcmNoRnVuYz86ICguLi5hcmdzKSA9PiBhbnk7XG4gIHNldEFzQ291bnRyeUNvZGUzPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb24/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbkljb24/OiBib29sZWFuO1xuICB0ZW1wbGF0ZVZhbHVlPzogYW55O1xuICB0eXBlPzogSW5wdXRUeXBlO1xuICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcbiAgdmFsdWU/OiBhbnk7XG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XG4gIG9wdGlvbnNGdW5jPzogKC4uLnZhbDogYW55KSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgdHJpZ2dlck9uQ2hhbmdlT25Jbml0PzogYm9vbGVhbjtcbiAgZm9ybWF0dGVyPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogYW55IH0sIGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCkgPT4gc3RyaW5nO1xuICBleHRyYT86IGFueTtcbiAgb25DaGFuZ2VGdW5jPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXT86IFRGb3JtR3JvdXBbS11bJ3ZhbHVlJ10gfSwgY2VsbFZhbHVlPzogYW55LCBjb21wb25lbnQ/OiBDb21wb25lbnQpID0+IE9ic2VydmFibGU8YW55W10+IHwgYW55O1xuICBvblJlbW92ZUZ1bmM/OiAocm93OiB7IFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBURm9ybUdyb3VwW0tdWyd2YWx1ZSddIH0sIGNlbGw/OiBhbnksIGNvbXBvbmVudD86IENvbXBvbmVudCkgPT4gYW55O1xuICBzZWxlY3RlZE9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbk1zZz86IGJvb2xlYW47XG4gIGRvbnRGb3JtYXRBc0lucHV0PzogYm9vbGVhbjtcbiAgc2hvd1JlcXVpcmVkVGFnPzogYm9vbGVhbjtcbiAgdGFibGVGb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IHN0cmluZyB8IHVuZGVmaW5lZCB8IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB8IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgaWNvbj86IEljb25UeXBlO1xufVxuIl19
|
|
@@ -115,10 +115,10 @@ export class FormGeneratorComponent extends BaseFormGenerator {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
handleOptionsFetched(scheme, options$) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
options$.subscribe((r) => {
|
|
119
|
+
// scheme.options = r;
|
|
120
|
+
this.updateFormSchema(scheme.field, { options: r });
|
|
121
|
+
});
|
|
122
122
|
}
|
|
123
123
|
detachFormScheme(fieldName) {
|
|
124
124
|
this.subs[fieldName]?.unsubscribe();
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
|
206
206
|
type: Input,
|
|
207
207
|
args: ['isShow']
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQThCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQVcsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBbUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFHckY7O0dBRUc7QUFzQkgsTUFBTSxPQUFPLHNCQUFrRyxTQUFRLGlCQUd0SDtJQXhCRDs7UUF5QlcsYUFBUSxHQUFzQixPQUFPLENBQUM7UUFDL0MsK0JBQTBCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUVsQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNkLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFNUUsa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsc0JBQWlCLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQzlDLHNCQUFpQixHQUFHLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hELGtCQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLGNBQVMsR0FBRyxLQUFLLEVBQW1CLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLEVBQW1CLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxLQUFLLEVBQW1CLENBQUM7UUFDdkMsaUJBQVksR0FBRyxLQUFLLEVBQW1CLENBQUM7UUFFeEMsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNoQyxjQUFTLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBVyxDQUFDO1FBRTNCLGFBQVEsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbEMsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFnQmpHLGVBQVUsR0FBRyxNQUFNLENBQWUsRUFBRSxDQUFDLENBQUM7UUFDdEMsc0RBQXNEO1FBRXRELHVCQUFrQixHQUFHLFFBQVEsQ0FBNEIsR0FBRyxFQUFFO1lBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQ3hDLDBCQUEwQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUM5RCxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUMxQixHQUFHLEdBQThCLEVBQUUsQ0FBQztZQUN0QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO29CQUNsQixJQUFJLFFBQVE7d0JBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7b0JBQ2hILEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBRSxRQUFRLENBQUM7WUFDeEMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUNILHlCQUF5QjtRQUNsQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBOENsRCxrQkFBYSxHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFO1lBQzlDLFlBQVk7WUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFtQixDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDO0tBMENIO0lBekhDLElBQW9ELFdBQVcsQ0FBQyxDQUE0QjtRQUMxRixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQXFCLE9BQU8sQ0FBQyxDQUFVO1FBQ3JDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7O1lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFFekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQztnQkFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDOztnQkFDM0MsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBcUJELElBQUksQ0FBQyxNQUFpQztRQUNwQyxZQUFZO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTTtZQUFFLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTTtnQkFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsSUFBSSxNQUFNO1lBQ1IsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNO2dCQUN6QixJQUFJLE1BQU0sQ0FBQyxxQkFBcUI7b0JBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlJLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUErQjtRQUM5QyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0MsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUk7WUFBRSxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNsRCxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1lBQUUsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUN0RSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLCtCQUErQjtZQUN6RCxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDeEgsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFZLENBQUM7WUFBRSxRQUFRLENBQUM7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFNUMsSUFBSSxNQUFNLENBQUMsZUFBZTtZQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RGLElBQUksTUFBTSxDQUFDLGdCQUFnQjtZQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDdkIsSUFBSSxNQUFNLENBQUMsS0FBSztnQkFBRSxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxNQUErQixFQUFFLFFBQTJCO1FBQ3pGLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IseURBQXlEO1FBQ3pELE1BQU07SUFDUixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBNEI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFtQixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVTLGNBQWM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFPRCxlQUFlLENBQUMsVUFBbUM7UUFDakQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQTJCLEVBQUUsTUFBd0M7UUFDcEYsT0FBTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsU0FBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsR0FBb0U7UUFDdEYsT0FBTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQTJCO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBbUIsQ0FBQyxFQUFFLFlBQVksQ0FBQztRQUN6RSxJQUFJLFFBQVE7WUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQW1CLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsY0FBYyxDQUFDLE1BQVcsRUFBRSxNQUErQjtRQUNuRSxNQUFNLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFBSTtnQkFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN4RDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNwQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7O1lBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBeEpVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZwRkMxQ25DLHFoTUF5SEEsMEREOUZJLGVBQWUsa0dBQ2YsV0FBVyx1ZEFDWCxZQUFZLHNNQUNaLG9CQUFvQiw0SUFFcEIscUJBQXFCLDhIQUdyQixtQkFBbUIsc1lBQ25CLHlCQUF5QixnRUFDekIsWUFBWSx3YkFDWixlQUFlLG1EQUNmLFNBQVM7OzJGQUdBLHNCQUFzQjtrQkFyQmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFNBQVM7cUJBQ1Y7OEJBTVEsUUFBUTtzQkFBaEIsS0FBSztnQkFJSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ3VCLG1CQUFtQjtzQkFBaEQsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBQ25CLFVBQVU7c0JBQWxCLEtBQUs7Z0JBbUJHLElBQUk7c0JBQVosS0FBSztnQkFFOEMsV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFHekIsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBsYXN0LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGdW5jdGlvbkNhbGxlcjIsIFRvQW55UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuLi9idG4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJhc2ljQ29tcG9uZW50LCBPcHRpb25MYWJlbFR5cGUgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaG9uZU51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdTd2l0Y2hEZWZhdWx0LCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0U3ViVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvclJGQ29tcG9uZW50IH0gZnJvbSAnLi4vcmljaC10ZXh0LWVkaXRvci1yZi9yaWNoLXRleHQtZWRpdG9yLXJmLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtR2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4vZm9ybS1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlRm9ybUdlbmVyYXRvciwgSUJhc2VGb3JtU2NoZW1hIH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci5iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogRm9ybSBzaG91bGQgYmUgc2V0IGJlZm9yZSB0aGUgdGhlIGZvcm1TY2hlbWFcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybS1nZW5lcmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQaG9uZU51bWJlckNvbXBvbmVudCxcbiAgICBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgTmdTd2l0Y2hEZWZhdWx0LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgSW5wdXRCYXNpY0NvbXBvbmVudCxcbiAgICBSaWNoVGV4dEVkaXRvclJGQ29tcG9uZW50LFxuICAgIEJ0bkNvbXBvbmVudCxcbiAgICBGdW5jdGlvbkNhbGxlcjIsXG4gICAgVG9BbnlQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50PFRGb3JtR3JvdXAgZXh0ZW5kcyB7IFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IH0+IGV4dGVuZHMgQmFzZUZvcm1HZW5lcmF0b3I8XG4gIFRGb3JtR3JvdXAsXG4gIElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+XG4+IHtcbiAgQElucHV0KCkga2V5RmllbGQ6ICdmaWVsZCcgfCAnbGFiZWwnID0gJ2ZpZWxkJztcbiAgcHJlc2V0VmFsdWVGb3JTaW5nbGVPcHRpb24gPSBpbnB1dChmYWxzZSk7XG4gIGlzQ3JlYXRlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KCkgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgnc3VibWlzc2lvblJlc3BvbnNlJykgX3N1Ym1pc3Npb25SZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBzdWJtaXRGdW5jOiAodmFsdWU6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuICBzdWJtaXRCdG5UZXh0ID0gaW5wdXQoJ1N1Ym1pdCcpO1xuICBzdWJtaXRCdG5UZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHN1Ym1pdFN1Y2Nlc3NUZXh0ID0gaW5wdXQoJ1NhdmVkIHN1Y2Nlc3NmdWxseScpO1xuICBzaG93U3VibWl0QnRuID0gaW5wdXQodHJ1ZSk7XG5cbiAgZ3JpZFN0eWxlID0gaW5wdXQ8bnVtYmVyIHwgJ2F1dG8nPigpO1xuICBncmlkTURTdHlsZSA9IGlucHV0PG51bWJlciB8ICdhdXRvJz4oKTtcbiAgZ3JpZExHU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG4gIGdyaWRYWExTdHlsZSA9IGlucHV0PG51bWJlciB8ICdhdXRvJz4oKTtcblxuICBmb3JtR3JpZENsYXNzID0gaW5wdXQ8c3RyaW5nPigpO1xuICB1c2VMb2FkZXIgPSBpbnB1dDxib29sZWFuPigpO1xuICBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICBfbG9hZGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29tcHV0ZWRMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudXNlTG9hZGVyKCkgPyB0aGlzLmxvYWRpbmcoKSB8fCB0aGlzLl9sb2FkaW5nKCkgOiBmYWxzZSkpO1xuXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgc3VibWlzc2lvblJlc3BvbnNlOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2Zvcm1TY2hlbWEnIH0pIHNldCBfZm9ybVNjaGVtYSh2OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgdGhpcy5pbml0KGNsb25lRGVlcCh2LmZpbHRlcigoeCkgPT4geCkpKTtcbiAgfVxuICBASW5wdXQoJ2lzU2hvdycpIHNldCBfaXNTaG93KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5mb3JtPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICBlbHNlIHRoaXMuZm9ybT8uZW5hYmxlKCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh2KSB0aGlzLmZvcm0/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgZWxzZSB0aGlzLmZvcm0/LmVuYWJsZSgpO1xuICAgIH0sIDUwMCk7XG4gIH1cbiAgb3B0aW9uc01hcCA9IHNpZ25hbDxJRm9ybU9wdGlvbnM+KHt9KTtcbiAgLy8gZm9ybVZhbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZm9ybT8uZ2V0UmF3VmFsdWUoKSk7XG5cbiAgY29tcHV0ZWRGb3JtU2NoZW1hID0gY29tcHV0ZWQ8SUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXT4oKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1TY2hlbWEgPSB0aGlzLmZvcm1TY2hlbWEoKSB8fCBbXSxcbiAgICAgIHByZXNldFZhbHVlRm9yU2luZ2xlT3B0aW9uID0gdGhpcy5wcmVzZXRWYWx1ZUZvclNpbmdsZU9wdGlvbigpLFxuICAgICAgaXNDcmVhdGUgPSB0aGlzLmlzQ3JlYXRlKCksXG4gICAgICByZXQ6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10gPSBbXTtcbiAgICBmb3JtU2NoZW1hLmZvckVhY2goKHNjaGVtZSkgPT4ge1xuICAgICAgaWYgKCFzY2hlbWUuaGlkZGVuKSB7XG4gICAgICAgIGlmIChpc0NyZWF0ZSkgc2NoZW1lLnByZXNldFZhbHVlID0gc2NoZW1lLnByZXNldFZhbHVlID09IG51bGwgPyBwcmVzZXRWYWx1ZUZvclNpbmdsZU9wdGlvbiA6IHNjaGVtZS5wcmVzZXRWYWx1ZTtcbiAgICAgICAgcmV0LnB1c2goc2NoZW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmV0LnNvbWUoKHgpID0+ICF4LmZpZWxkKSkgZGVidWdnZXI7XG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG4gIC8vIG1pc2NJbmRleDogVE1pc2NJbmRleDtcbiAgcHVibGljIGZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1HZW5lcmF0b3JTZXJ2aWNlKTtcblxuICBpbml0KHNjaGVtYTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gICAgdGhpcy5fc2V0Rm9ybVNjaGVtYXMoc2NoZW1hIHx8IFtdKTtcbiAgICBpZiAoc2NoZW1hKSBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShzY2hlbWUpO1xuICAgIGlmIChzY2hlbWEpXG4gICAgICBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpXG4gICAgICAgIGlmIChzY2hlbWUudHJpZ2dlck9uQ2hhbmdlT25Jbml0KSBzY2hlbWUub25DaGFuZ2VGdW5jKHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpLCB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKVtzY2hlbWUuZmllbGQ/LnRvU3RyaW5nKCldLCB0aGlzKTtcbiAgfVxuXG4gIGhhbmRsZUZvcm1TY2hlbWUoc2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHNjaGVtZS5pZCA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2VuZXJhdGVVVUlEKCk7XG4gICAgaWYgKHNjaGVtZS5zdGFja2VkID09IG51bGwpIHNjaGVtZS5zdGFja2VkID0gdHJ1ZTtcbiAgICBpZiAoc2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnID09IG51bGwpIHNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZyA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybVNlcnZpY2UuY29uZmlnLnNob3dWYWxpZGF0aW9uTWVzc2FnZXNCeURlZmF1bHQpXG4gICAgICBpZiAoc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9PSBudWxsICYmICghc2NoZW1lLnZhbHVlRmllbGQgfHwgIXNjaGVtZS5sYWJlbEZpZWxkKSkgc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9IHRydWU7XG4gICAgaWYgKCF0aGlzLmZvcm0uY29udHJvbHNbc2NoZW1lLmZpZWxkIGFzIGFueV0pIGRlYnVnZ2VyO1xuICAgIHRoaXMudXBkYXRlRm9ybVNjaGVtYShzY2hlbWUuZmllbGQsIHNjaGVtZSk7XG5cbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYykgdGhpcy5oYW5kbGVPcHRpb25zRmV0Y2hlZChzY2hlbWUsIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMpO1xuICAgIGlmIChzY2hlbWUub3B0aW9uc0luaXRGdW5jMikgdGhpcy5oYW5kbGVPcHRpb25zRmV0Y2hlZChzY2hlbWUsIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMyKCkpO1xuICAgIGlmIChzY2hlbWUub25DaGFuZ2VGdW5jKSB7XG4gICAgICBpZiAoc2NoZW1lLmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgIHRoaXMuc3Vic1tzY2hlbWUuZmllbGQ/LnRvU3RyaW5nKCldID0gdGhpcy5mb3JtPy5jb250cm9sc1tzY2hlbWUuZmllbGQ/LnRvU3RyaW5nKCldPy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMCkpLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICBzY2hlbWUub25DaGFuZ2VGdW5jKHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpLCByLCB0aGlzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcHRpb25zRmV0Y2hlZChzY2hlbWU6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+LCBvcHRpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT4pIHtcbiAgICAvLyBvcHRpb25zJC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAvLyAgIC8vIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAvLyAgIHRoaXMudXBkYXRlRm9ybVNjaGVtYShzY2hlbWUuZmllbGQsIHsgb3B0aW9uczogciB9KTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIGRldGFjaEZvcm1TY2hlbWUoZmllbGROYW1lPzoga2V5b2YgVEZvcm1Hcm91cCkge1xuICAgIHRoaXMuc3Vic1tmaWVsZE5hbWUgYXMgc3RyaW5nXT8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtY2hhbmdlRW1pdHRlcigpIHtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cblxuICBnZXRGb3JtU2NoZW1lID0gKGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCkgPT4ge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHJldHVybiB0aGlzLmZvcm1TY2hlbWFNYXAoKVtmaWVsZE5hbWUgYXMgc3RyaW5nXTtcbiAgfTtcblxuICBhZGRUb0Zvcm1TY2hlbWEoZm9ybVNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICB0aGlzLnJlbW92ZUZyb21Gb3JtU2NoZW1hKGZvcm1TY2hlbWUuZmllbGQpO1xuICAgIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShmb3JtU2NoZW1lKTtcbiAgfVxuXG4gIHVwZGF0ZUZvcm1TY2hlbWEoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwLCBzY2hlbWU6IFBhcnRpYWw8SUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4+KSB7XG4gICAgcmV0dXJuIHN1cGVyLl91cGRhdGVGb3JtU2NoZW1hKGZpZWxkTmFtZSBhcyBzdHJpbmcsIHNjaGVtZSk7XG4gIH1cbiAgdXBkYXRlQWxsRm9ybVNjaGVtYShtYXA6IChmb3JtRmllbGQ6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSA9PiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHJldHVybiBzdXBlci5fdXBkYXRlQWxsRm9ybVNjaGVtYShtYXApO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUZvcm1TY2hlbWEoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5kZXRhY2hGb3JtU2NoZW1lKGZpZWxkTmFtZSk7XG4gICAgY29uc3Qgb25SZW1vdmUgPSB0aGlzLmZvcm1TY2hlbWFNYXAoKVtmaWVsZE5hbWUgYXMgc3RyaW5nXT8ub25SZW1vdmVGdW5jO1xuICAgIGlmIChvblJlbW92ZSkgb25SZW1vdmUodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkgYXMgYW55LCB0aGlzLmZvcm0uY29udHJvbHNbZmllbGROYW1lIGFzIGFueV0sIHRoaXMpO1xuICAgIHRoaXMuX3JlbW92ZUZvcm1TY2hlbWEoZmllbGROYW1lIGFzIHN0cmluZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0T3B0aW9uTGFiZWwoJGV2ZW50OiBhbnksIHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICBzY2hlbWUuc2VsZWN0ZWRPcHRpb25MYWJlbCA9ICRldmVudDtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChidG4/OiBCdG5Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5zdWJtaXRGdW5jKSB7XG4gICAgICBidG4/LnNldExvYWRlcih0cnVlKTtcbiAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgY29uc3QgZm9ybVZhbCA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KGZvcm1WYWwpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zdWJtaXNzaW9uUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdEZ1bmMoZm9ybVZhbCk7XG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuaW5mbyh0aGlzLnN1Ym1pdFN1Y2Nlc3NUZXh0KCksIDEpO1xuICAgICAgICB0aGlzLl9zdWJtaXNzaW9uUmVzcG9uc2UuZW1pdCh0aGlzLnN1Ym1pc3Npb25SZXNwb25zZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmluZm8oZXJyb3IsIDApO1xuICAgICAgfVxuICAgICAgdGhpcy5fbG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgYnRuPy5zZXRMb2FkZXIoZmFsc2UpO1xuICAgIH0gZWxzZSB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1TY2hlbWE8XG4gIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0gPSBhbnksXG4+IGV4dGVuZHMgSUJhc2VGb3JtU2NoZW1hPFRGb3JtR3JvdXAsIEZvcm1HZW5lcmF0b3JDb21wb25lbnQ8VEZvcm1Hcm91cD4+IHtcbiAgY2hpbGRyZW4/OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdO1xuICBsYWJlbFR5cGU/OiBPcHRpb25MYWJlbFR5cGU7XG4gIGZpZWxkOiBrZXlvZiBURm9ybUdyb3VwO1xuICBzdWJUeXBlPzogSW5wdXRTdWJUeXBlO1xuICBwcmVzZXRWYWx1ZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIElGb3JtU2NoZW1hMjxUU3RydWN0ID0gYW55PlxuICBleHRlbmRzIElGb3JtU2NoZW1hPHtcbiAgICBbSyBpbiBrZXlvZiBUU3RydWN0XT86IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1PcHRpb25zIHtcbiAgW2ZpZWxkOiBzdHJpbmddOiBhbnk7XG59XG4iLCI8bG9hZGVyIFtsb2FkaW5nXT1cImNvbXB1dGVkTG9hZGluZygpXCI+XG4gIDxmb3JtPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicm93IHJvdy1jb2xzLXt7IGdyaWRTdHlsZSgpIH19IHJvdy1jb2xzLW1kLXt7IGdyaWRNRFN0eWxlKCkgfX0gcm93LWNvbHMtbGcte3sgZ3JpZExHU3R5bGUoKSB9fSByb3ctY29scy14eGwte3tcbiAgICAgICAgZ3JpZFhYTFN0eWxlKClcbiAgICAgIH19IGFsaWduLWl0ZW1zLWNlbnRlciB7eyBmb3JtR3JpZENsYXNzKCkgfX1cIj5cbiAgICAgIEBmb3IgKHNjaGVtZSBvZiBjb21wdXRlZEZvcm1TY2hlbWEoKTsgdHJhY2sgc2NoZW1lLmlkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wge3sgc2NoZW1lLmNscyB9fSBcIj5cbiAgICAgICAgICBAc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBAY2FzZSAoc2NoZW1lLnR5cGUgPT0gJ3RlbCcpIHtcbiAgICAgICAgICAgICAgPGFwcC1waG9uZS1udW1iZXJcbiAgICAgICAgICAgICAgICBbZm9ybV09XCJzY2hlbWUuZm9ybSB8fCBmb3JtXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2NoZW1lLmZpZWxkXCJcbiAgICAgICAgICAgICAgICBbbm9Gb3JtYXRdPVwic2NoZW1lLm5vRm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnXCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cInNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uSWNvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25JY29uXCJcbiAgICAgICAgICAgICAgICBbY291bnRyeUNvZGUzXT1cInNjaGVtZS5jb3VudHJ5Q29kZTNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzY2hlbWUuZGlzYWJsZWQgfHwgKHNjaGVtZS5kaXNhYmxlZElmIHwgZnVuY3Rpb25DYWxsZXIyOiBmb3JtLnZhbHVlIDogKHNjaGVtZS5maWVsZCB8IHRvQW55KSlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgIDxhcHAtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZVwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtwcmVzZXRWYWx1ZV09XCJzY2hlbWUucHJlc2V0VmFsdWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkXCJcbiAgICAgICAgICAgICAgICBbbm9Gb3JtYXRdPVwic2NoZW1lLm5vRm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2NoZW1lLmZpZWxkXCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25Gb3JtYXR0ZXJdPVwic2NoZW1lLm9wdGlvbkZvcm1hdHRlclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zRnVuY109XCJzY2hlbWUub3B0aW9uc0Z1bmNcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbk1zZ109XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2dcIlxuICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzY2hlbWUuZGlzYWJsZWQgfHwgKHNjaGVtZS5kaXNhYmxlZElmIHwgZnVuY3Rpb25DYWxsZXIyOiBmb3JtLnZhbHVlIDogKHNjaGVtZS5maWVsZCB8IHRvQW55KSlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdyaWNodGV4dCcpIHtcbiAgICAgICAgICAgICAgPHJpY2gtdGV4dC1lZGl0b3ItcmZcbiAgICAgICAgICAgICAgICBbZm9ybV09XCJzY2hlbWUuZm9ybSB8fCBmb3JtXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsIVwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZSFcIlxuICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxGaWVsZF09XCJzY2hlbWUubGFiZWxGaWVsZCFcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXQhXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2NoZW1lLmZpZWxkXCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzY2hlbWUuc2hvd1JlcXVpcmVkVGFnIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyIVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGQhXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc0Z1bmNdPVwic2NoZW1lLm9wdGlvbnNGdW5jIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnQhXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiEgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0udmFsdWUgOiAoc2NoZW1lLmZpZWxkIHwgdG9BbnkpKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgIDxhcHAtaW5wdXQtYmFzaWNcbiAgICAgICAgICAgICAgICBbbm9Gb3JtYXRdPVwic2NoZW1lLm5vRm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgIFtjbGVhck9uRGlzYWJsZV09XCJzY2hlbWUuY2xlYXJPbkRpc2FibGVcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cInNjaGVtZS50eXBlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJzY2hlbWUudmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbcHJlc2V0VmFsdWVdPVwic2NoZW1lLnByZXNldFZhbHVlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsVHlwZV09XCJzY2hlbWUubGFiZWxUeXBlIHwgdG9BbnlcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkU2lnbmFsXT1cInNjaGVtZS5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cIiEhc2NoZW1lLmFzeW5jVmFsaWRhdG9yc1wiXG4gICAgICAgICAgICAgICAgW2RlYnVnXT1cInNjaGVtZS5kZWJ1Z1wiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzY2hlbWUuc2hvd1JlcXVpcmVkVGFnXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxGaWVsZF09XCJzY2hlbWUubGFiZWxGaWVsZFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwKClbc2NoZW1lLmZpZWxkIHwgdG9BbnldXCJcbiAgICAgICAgICAgICAgICBbZGVjaW1hbFBvaW50c109XCJzY2hlbWUuZGVjaW1hbFBvaW50c1wiXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnRcIlxuICAgICAgICAgICAgICAgIFttYXhdPVwic2NoZW1lLm1heFwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJzY2hlbWUubWluXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2NoZW1lLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtYXV0byBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAoc2hvd1N1Ym1pdEJ0bigpKSB7XG4gICAgICAgICAgPGFwcC1idG4gW3RleHRdPVwic3VibWl0QnRuVGV4dCgpXCIgYWN0aW9uVHlwZT1cInN1Ym1pdFwiIGdyb3VwPVwic3VibWl0XCIgW2Zvcm1dPVwiZm9ybVwiIChtY2xpY2spPVwic3VibWl0KHN1Ym1pdEJ0bilcIiAjc3VibWl0QnRuIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzdWJtaXRCdG5UZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Ym1pdEJ0blRlbXBsYXRlKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbG9hZGVyPlxuIl19
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQThCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQVcsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBbUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFN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QkFBaEIsTUFBTTtnQkFDdUIsbUJBQW1CO3NCQUFoRCxNQUFNO3VCQUFDLG9CQUFvQjtnQkFDbkIsVUFBVTtzQkFBbEIsS0FBSztnQkFtQkcsSUFBSTtzQkFBWixLQUFLO2dCQUU4QyxXQUFXO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUd6QixPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGxhc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZ1bmN0aW9uQ2FsbGVyMiwgVG9BbnlQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQsIE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ1N3aXRjaERlZmF1bHQsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRTdWJUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yUkZDb21wb25lbnQgfSBmcm9tICcuLi9yaWNoLXRleHQtZWRpdG9yLXJmL3JpY2gtdGV4dC1lZGl0b3ItcmYuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VGb3JtR2VuZXJhdG9yLCBJQmFzZUZvcm1TY2hlbWEgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yLmJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBGb3JtIHNob3VsZCBiZSBzZXQgYmVmb3JlIHRoZSB0aGUgZm9ybVNjaGVtYVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWdlbmVyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBob25lTnVtYmVyQ29tcG9uZW50LFxuICAgIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBOZ1N3aXRjaERlZmF1bHQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBJbnB1dEJhc2ljQ29tcG9uZW50LFxuICAgIFJpY2hUZXh0RWRpdG9yUkZDb21wb25lbnQsXG4gICAgQnRuQ29tcG9uZW50LFxuICAgIEZ1bmN0aW9uQ2FsbGVyMixcbiAgICBUb0FueVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZW5lcmF0b3JDb21wb25lbnQ8VEZvcm1Hcm91cCBleHRlbmRzIHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfT4gZXh0ZW5kcyBCYXNlRm9ybUdlbmVyYXRvcjxcbiAgVEZvcm1Hcm91cCxcbiAgSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5cbj4ge1xuICBASW5wdXQoKSBrZXlGaWVsZDogJ2ZpZWxkJyB8ICdsYWJlbCcgPSAnZmllbGQnO1xuICBwcmVzZXRWYWx1ZUZvclNpbmdsZU9wdGlvbiA9IGlucHV0KGZhbHNlKTtcbiAgaXNDcmVhdGUgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKSBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCdzdWJtaXNzaW9uUmVzcG9uc2UnKSBfc3VibWlzc2lvblJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHN1Ym1pdEZ1bmM6ICh2YWx1ZTogYW55KSA9PiBQcm9taXNlPGFueT47XG4gIHN1Ym1pdEJ0blRleHQgPSBpbnB1dCgnU3VibWl0Jyk7XG4gIHN1Ym1pdEJ0blRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgc3VibWl0U3VjY2Vzc1RleHQgPSBpbnB1dCgnU2F2ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gIHNob3dTdWJtaXRCdG4gPSBpbnB1dCh0cnVlKTtcblxuICBncmlkU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG4gIGdyaWRNRFN0eWxlID0gaW5wdXQ8bnVtYmVyIHwgJ2F1dG8nPigpO1xuICBncmlkTEdTdHlsZSA9IGlucHV0PG51bWJlciB8ICdhdXRvJz4oKTtcbiAgZ3JpZFhYTFN0eWxlID0gaW5wdXQ8bnVtYmVyIHwgJ2F1dG8nPigpO1xuXG4gIGZvcm1HcmlkQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZUxvYWRlciA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGxvYWRpbmcgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIF9sb2FkaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb21wdXRlZExvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiAodGhpcy51c2VMb2FkZXIoKSA/IHRoaXMubG9hZGluZygpIHx8IHRoaXMuX2xvYWRpbmcoKSA6IGZhbHNlKSk7XG5cbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICBzdWJtaXNzaW9uUmVzcG9uc2U6IGFueTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnZm9ybVNjaGVtYScgfSkgc2V0IF9mb3JtU2NoZW1hKHY6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10pIHtcbiAgICB0aGlzLmluaXQoY2xvbmVEZWVwKHYuZmlsdGVyKCh4KSA9PiB4KSkpO1xuICB9XG4gIEBJbnB1dCgnaXNTaG93Jykgc2V0IF9pc1Nob3codjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLmZvcm0/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIGVsc2UgdGhpcy5mb3JtPy5lbmFibGUoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHYpIHRoaXMuZm9ybT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICBlbHNlIHRoaXMuZm9ybT8uZW5hYmxlKCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuICBvcHRpb25zTWFwID0gc2lnbmFsPElGb3JtT3B0aW9ucz4oe30pO1xuICAvLyBmb3JtVmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5mb3JtPy5nZXRSYXdWYWx1ZSgpKTtcblxuICBjb21wdXRlZEZvcm1TY2hlbWEgPSBjb21wdXRlZDxJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdPigoKSA9PiB7XG4gICAgY29uc3QgZm9ybVNjaGVtYSA9IHRoaXMuZm9ybVNjaGVtYSgpIHx8IFtdLFxuICAgICAgcHJlc2V0VmFsdWVGb3JTaW5nbGVPcHRpb24gPSB0aGlzLnByZXNldFZhbHVlRm9yU2luZ2xlT3B0aW9uKCksXG4gICAgICBpc0NyZWF0ZSA9IHRoaXMuaXNDcmVhdGUoKSxcbiAgICAgIHJldDogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSA9IFtdO1xuICAgIGZvcm1TY2hlbWEuZm9yRWFjaCgoc2NoZW1lKSA9PiB7XG4gICAgICBpZiAoIXNjaGVtZS5oaWRkZW4pIHtcbiAgICAgICAgaWYgKGlzQ3JlYXRlKSBzY2hlbWUucHJlc2V0VmFsdWUgPSBzY2hlbWUucHJlc2V0VmFsdWUgPT0gbnVsbCA/IHByZXNldFZhbHVlRm9yU2luZ2xlT3B0aW9uIDogc2NoZW1lLnByZXNldFZhbHVlO1xuICAgICAgICByZXQucHVzaChzY2hlbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChyZXQuc29tZSgoeCkgPT4gIXguZmllbGQpKSBkZWJ1Z2dlcjtcbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbiAgLy8gbWlzY0luZGV4OiBUTWlzY0luZGV4O1xuICBwdWJsaWMgZm9ybVNlcnZpY2UgPSBpbmplY3QoRm9ybUdlbmVyYXRvclNlcnZpY2UpO1xuXG4gIGluaXQoc2NoZW1hOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9zZXRGb3JtU2NoZW1hcyhzY2hlbWEgfHwgW10pO1xuICAgIGlmIChzY2hlbWEpIGZvciAoY29uc3Qgc2NoZW1lIG9mIHNjaGVtYSkgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKHNjaGVtZSk7XG4gICAgaWYgKHNjaGVtYSlcbiAgICAgIGZvciAoY29uc3Qgc2NoZW1lIG9mIHNjaGVtYSlcbiAgICAgICAgaWYgKHNjaGVtZS50cmlnZ2VyT25DaGFuZ2VPbkluaXQpIHNjaGVtZS5vbkNoYW5nZUZ1bmModGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKV0sIHRoaXMpO1xuICB9XG5cbiAgaGFuZGxlRm9ybVNjaGVtZShzY2hlbWU6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSB7XG4gICAgc2NoZW1lLmlkID0gdGhpcy51dGlsaXR5U2VydmljZS5nZW5lcmF0ZVVVSUQoKTtcbiAgICBpZiAoc2NoZW1lLnN0YWNrZWQgPT0gbnVsbCkgc2NoZW1lLnN0YWNrZWQgPSB0cnVlO1xuICAgIGlmIChzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2cgPT0gbnVsbCkgc2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5mb3JtU2VydmljZS5jb25maWcuc2hvd1ZhbGlkYXRpb25NZXNzYWdlc0J5RGVmYXVsdClcbiAgICAgIGlmIChzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkID09IG51bGwgJiYgKCFzY2hlbWUudmFsdWVGaWVsZCB8fCAhc2NoZW1lLmxhYmVsRmllbGQpKSBzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9sc1tzY2hlbWUuZmllbGQgYXMgYW55XSkgZGVidWdnZXI7XG4gICAgdGhpcy51cGRhdGVGb3JtU2NoZW1hKHNjaGVtZS5maWVsZCwgc2NoZW1lKTtcblxuICAgIGlmIChzY2hlbWUub3B0aW9uc0luaXRGdW5jKSB0aGlzLmhhbmRsZU9wdGlvbnNGZXRjaGVkKHNjaGVtZSwgc2NoZW1lLm9wdGlvbnNJbml0RnVuYyk7XG4gICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMyKSB0aGlzLmhhbmRsZU9wdGlvbnNGZXRjaGVkKHNjaGVtZSwgc2NoZW1lLm9wdGlvbnNJbml0RnVuYzIoKSk7XG4gICAgaWYgKHNjaGVtZS5vbkNoYW5nZUZ1bmMpIHtcbiAgICAgIGlmIChzY2hlbWUuZGVidWcpIGRlYnVnZ2VyO1xuICAgICAgdGhpcy5zdWJzW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKV0gPSB0aGlzLmZvcm0/LmNvbnRyb2xzW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKV0/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgwKSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vbkNoYW5nZUZ1bmModGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksIHIsIHRoaXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wdGlvbnNGZXRjaGVkKHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4sIG9wdGlvbnMkOiBPYnNlcnZhYmxlPGFueVtdPikge1xuICAgIG9wdGlvbnMkLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgLy8gc2NoZW1lLm9wdGlvbnMgPSByO1xuICAgICAgdGhpcy51cGRhdGVGb3JtU2NoZW1hKHNjaGVtZS5maWVsZCwgeyBvcHRpb25zOiByIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZGV0YWNoRm9ybVNjaGVtZShmaWVsZE5hbWU/OiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5zdWJzW2ZpZWxkTmFtZSBhcyBzdHJpbmddPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1jaGFuZ2VFbWl0dGVyKCkge1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgfVxuXG4gIGdldEZvcm1TY2hlbWUgPSAoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSA9PiB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVNjaGVtYU1hcCgpW2ZpZWxkTmFtZSBhcyBzdHJpbmddO1xuICB9O1xuXG4gIGFkZFRvRm9ybVNjaGVtYShmb3JtU2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHRoaXMucmVtb3ZlRnJvbUZvcm1TY2hlbWEoZm9ybVNjaGVtZS5maWVsZCk7XG4gICAgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKGZvcm1TY2hlbWUpO1xuICB9XG5cbiAgdXBkYXRlRm9ybVNjaGVtYShmaWVsZE5hbWU6IGtleW9mIFRGb3JtR3JvdXAsIHNjaGVtZTogUGFydGlhbDxJRm9ybVNjaGVtYTxURm9ybUdyb3VwPj4pIHtcbiAgICByZXR1cm4gc3VwZXIuX3VwZGF0ZUZvcm1TY2hlbWEoZmllbGROYW1lIGFzIHN0cmluZywgc2NoZW1lKTtcbiAgfVxuICB1cGRhdGVBbGxGb3JtU2NoZW1hKG1hcDogKGZvcm1GaWVsZDogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pID0+IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSB7XG4gICAgcmV0dXJuIHN1cGVyLl91cGRhdGVBbGxGb3JtU2NoZW1hKG1hcCk7XG4gIH1cblxuICByZW1vdmVGcm9tRm9ybVNjaGVtYShmaWVsZE5hbWU6IGtleW9mIFRGb3JtR3JvdXApIHtcbiAgICB0aGlzLmRldGFjaEZvcm1TY2hlbWUoZmllbGROYW1lKTtcbiAgICBjb25zdCBvblJlbW92ZSA9IHRoaXMuZm9ybVNjaGVtYU1hcCgpW2ZpZWxkTmFtZSBhcyBzdHJpbmddPy5vblJlbW92ZUZ1bmM7XG4gICAgaWYgKG9uUmVtb3ZlKSBvblJlbW92ZSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSBhcyBhbnksIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZE5hbWUgYXMgYW55XSwgdGhpcyk7XG4gICAgdGhpcy5fcmVtb3ZlRm9ybVNjaGVtYShmaWVsZE5hbWUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRPcHRpb25MYWJlbCgkZXZlbnQ6IGFueSwgc2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHNjaGVtZS5zZWxlY3RlZE9wdGlvbkxhYmVsID0gJGV2ZW50O1xuICB9XG5cbiAgYXN5bmMgc3VibWl0KGJ0bj86IEJ0bkNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLnN1Ym1pdEZ1bmMpIHtcbiAgICAgIGJ0bj8uc2V0TG9hZGVyKHRydWUpO1xuICAgICAgdGhpcy5fbG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICBjb25zdCBmb3JtVmFsID0gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQoZm9ybVZhbCk7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnN1Ym1pc3Npb25SZXNwb25zZSA9IGF3YWl0IHRoaXMuc3VibWl0RnVuYyhmb3JtVmFsKTtcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5pbmZvKHRoaXMuc3VibWl0U3VjY2Vzc1RleHQoKSwgMSk7XG4gICAgICAgIHRoaXMuX3N1Ym1pc3Npb25SZXNwb25zZS5lbWl0KHRoaXMuc3VibWlzc2lvblJlc3BvbnNlKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuaW5mbyhlcnJvciwgMCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICBidG4/LnNldExvYWRlcihmYWxzZSk7XG4gICAgfSBlbHNlIHRoaXMub25TdWJtaXQuZW1pdCh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVNjaGVtYTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4gZXh0ZW5kcyBJQmFzZUZvcm1TY2hlbWE8VEZvcm1Hcm91cCwgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwPj4ge1xuICBjaGlsZHJlbj86IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W107XG4gIGxhYmVsVHlwZT86IE9wdGlvbkxhYmVsVHlwZTtcbiAgZmllbGQ6IGtleW9mIFRGb3JtR3JvdXA7XG4gIHN1YlR5cGU/OiBJbnB1dFN1YlR5cGU7XG4gIHByZXNldFZhbHVlPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUZvcm1TY2hlbWEyPFRTdHJ1Y3QgPSBhbnk+XG4gIGV4dGVuZHMgSUZvcm1TY2hlbWE8e1xuICAgIFtLIGluIGtleW9mIFRTdHJ1Y3RdPzogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfT4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybU9wdGlvbnMge1xuICBbZmllbGQ6IHN0cmluZ106IGFueTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwiY29tcHV0ZWRMb2FkaW5nKClcIj5cbiAgPGZvcm0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3cgcm93LWNvbHMte3sgZ3JpZFN0eWxlKCkgfX0gcm93LWNvbHMtbWQte3sgZ3JpZE1EU3R5bGUoKSB9fSByb3ctY29scy1sZy17eyBncmlkTEdTdHlsZSgpIH19IHJvdy1jb2xzLXh4bC17e1xuICAgICAgICBncmlkWFhMU3R5bGUoKVxuICAgICAgfX0gYWxpZ24taXRlbXMtY2VudGVyIHt7IGZvcm1HcmlkQ2xhc3MoKSB9fVwiPlxuICAgICAgQGZvciAoc2NoZW1lIG9mIGNvbXB1dGVkRm9ybVNjaGVtYSgpOyB0cmFjayBzY2hlbWUuaWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB7eyBzY2hlbWUuY2xzIH19IFwiPlxuICAgICAgICAgIEBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAndGVsJykge1xuICAgICAgICAgICAgICA8YXBwLXBob25lLW51bWJlclxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzY2hlbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgIFtjbGVhck9uRGlzYWJsZV09XCJzY2hlbWUuY2xlYXJPbkRpc2FibGVcIlxuICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIChtY2hhbmdlKT1cIm1jaGFuZ2VFbWl0dGVyKClcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25cIlxuICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzY2hlbWUuc2hvd1JlcXVpcmVkVGFnXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbkljb25cIlxuICAgICAgICAgICAgICAgIFtjb3VudHJ5Q29kZTNdPVwic2NoZW1lLmNvdW50cnlDb2RlM1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0udmFsdWUgOiAoc2NoZW1lLmZpZWxkIHwgdG9BbnkpKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoc2NoZW1lLnR5cGUgPT0gJ2F1dG9jb21wbGV0ZScpIHtcbiAgICAgICAgICAgICAgPGFwcC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICBbZm9ybV09XCJzY2hlbWUuZm9ybSB8fCBmb3JtXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgW3ByZXNldFZhbHVlXT1cInNjaGVtZS5wcmVzZXRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJzY2hlbWUudmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cInNjaGVtZS5vcHRpb25zRnVuY1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwKClbc2NoZW1lLmZpZWxkIHwgdG9BbnldXCJcbiAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0udmFsdWUgOiAoc2NoZW1lLmZpZWxkIHwgdG9BbnkpKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoc2NoZW1lLnR5cGUgPT0gJ3JpY2h0ZXh0Jykge1xuICAgICAgICAgICAgICA8cmljaC10ZXh0LWVkaXRvci1yZlxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzY2hlbWUubGFiZWwhXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlIVwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkIVwiXG4gICAgICAgICAgICAgICAgW25vRm9ybWF0XT1cInNjaGVtZS5ub0Zvcm1hdCFcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWchXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWchXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uRm9ybWF0dGVyXT1cInNjaGVtZS5vcHRpb25Gb3JtYXR0ZXIhXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJzY2hlbWUudmFsdWVGaWVsZCFcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zRnVuY109XCJzY2hlbWUub3B0aW9uc0Z1bmMhXCJcbiAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cInNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQhXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwKClbc2NoZW1lLmZpZWxkIHwgdG9BbnldXCJcbiAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludCFcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzY2hlbWUuZGlzYWJsZWQgfHwgKHNjaGVtZS5kaXNhYmxlZElmISB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybVwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZVwiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwic2NoZW1lLnR5cGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZUZpZWxkXT1cInNjaGVtZS52YWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cInNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIFtwcmVzZXRWYWx1ZV09XCJzY2hlbWUucHJlc2V0VmFsdWVcIlxuICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRTaWduYWxdPVwic2NoZW1lLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCIhIXNjaGVtZS5hc3luY1ZhbGlkYXRvcnNcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnXCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uRm9ybWF0dGVyXT1cInNjaGVtZS5vcHRpb25Gb3JtYXR0ZXJcIlxuICAgICAgICAgICAgICAgIChtU2VsZWN0ZWRPcHRpb25MYWJlbCk9XCJzZXRPcHRpb25MYWJlbCgkZXZlbnQsIHNjaGVtZSlcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInNjaGVtZS5vcHRpb25zIHx8IG9wdGlvbnNNYXAoKVtzY2hlbWUuZmllbGQgfCB0b0FueV1cIlxuICAgICAgICAgICAgICAgIFtkZWNpbWFsUG9pbnRzXT1cInNjaGVtZS5kZWNpbWFsUG9pbnRzXCJcbiAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgW21heF09XCJzY2hlbWUubWF4XCJcbiAgICAgICAgICAgICAgICBbbWluXT1cInNjaGVtZS5taW5cIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzY2hlbWUucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzY2hlbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbk1zZ109XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2dcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzY2hlbWUuZGlzYWJsZWQgfHwgKHNjaGVtZS5kaXNhYmxlZElmIHwgZnVuY3Rpb25DYWxsZXIyOiBmb3JtLnZhbHVlIDogKHNjaGVtZS5maWVsZCB8IHRvQW55KSlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyByb3ctY29scy1hdXRvIGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgQGlmIChzaG93U3VibWl0QnRuKCkpIHtcbiAgICAgICAgICA8YXBwLWJ0biBbdGV4dF09XCJzdWJtaXRCdG5UZXh0KClcIiBhY3Rpb25UeXBlPVwic3VibWl0XCIgZ3JvdXA9XCJzdWJtaXRcIiBbZm9ybV09XCJmb3JtXCIgKG1jbGljayk9XCJzdWJtaXQoc3VibWl0QnRuKVwiICNzdWJtaXRCdG4gLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN1Ym1pdEJ0blRlbXBsYXRlKCkpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWl0QnRuVGVtcGxhdGUoKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9sb2FkZXI+XG4iXX0=
|
|
@@ -11891,7 +11891,7 @@ class BaseFormGenerator {
|
|
|
11891
11891
|
this.formSchemaMap.update((formSchemaMap) => {
|
|
11892
11892
|
const newFormSchemaMap = {};
|
|
11893
11893
|
for (const key in formSchemaMap) {
|
|
11894
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
11894
|
+
if (Object.prototype.hasOwnProperty.call(formSchemaMap, key)) {
|
|
11895
11895
|
newFormSchemaMap[key] = map(formSchemaMap[key]);
|
|
11896
11896
|
}
|
|
11897
11897
|
}
|
|
@@ -12006,10 +12006,10 @@ class FormGeneratorComponent extends BaseFormGenerator {
|
|
|
12006
12006
|
}
|
|
12007
12007
|
}
|
|
12008
12008
|
handleOptionsFetched(scheme, options$) {
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
12009
|
+
options$.subscribe((r) => {
|
|
12010
|
+
// scheme.options = r;
|
|
12011
|
+
this.updateFormSchema(scheme.field, { options: r });
|
|
12012
|
+
});
|
|
12013
12013
|
}
|
|
12014
12014
|
detachFormScheme(fieldName) {
|
|
12015
12015
|
this.subs[fieldName]?.unsubscribe();
|