@rededor/site-front-end-lib 1.3.50 → 1.3.51
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.
|
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
205
205
|
type: HostBinding,
|
|
206
206
|
args: ['style']
|
|
207
207
|
}] } });
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1nZW5lcmljL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItZ2VuZXJpYy9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUVYLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBMkI3RCxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBU21CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpDLGlCQUFZLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FB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WSxtU0FBRSxtQkFBbUI7OzRGQU1oQyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLGNBQ2hDLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDOzhCQWdEWCxZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgT25Jbml0LFxyXG4gIFBMQVRGT1JNX0lELFxyXG4gIGlucHV0LFxyXG4gIG1vZGVsLFxyXG4gIG91dHB1dCxcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXJhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTWVkaWFRdWVyaWVzIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycy9tZWRpYVF1ZXJpZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFdmVudCwgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJBY3Rpb24sIEZpbHRlckNvbnRyb2xWYWx1ZSwgRmlsdGVyU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWx0ZXJzL2ZpbHRlci1zZWN0aW9uLnR5cGUnO1xyXG5pbXBvcnQgeyBDdXJhQ2hlY2tib3hDdXN0b21FdmVudCwgQ3VyYUlucHV0VGV4dEN1c3RvbUV2ZW50LCBDdXJhUmFkaW9DdXN0b21FdmVudCwgQ3VyYVNlbGVjdEN1c3RvbUV2ZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdFNlbGVjdGVkRXZlbnQge1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveENoYW5nZUV2ZW50IHtcclxuICB2YWx1ZTogc3RyaW5nO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWRpb0NoYW5nZUV2ZW50IHtcclxuICB2YWx1ZTogc3RyaW5nO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRzaXRlLWZpbHRlci1nZW5lcmljJyxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJHZW5lcmljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGN1cmFBcGlTZXJ2aWNlID0gaW5qZWN0KEN1cmFTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcbiAgcmVhZG9ubHkgZmlsdGVyQ2hhbmdlID0gb3V0cHV0PEZpbHRlckV2ZW50PigpO1xyXG4gIHJlYWRvbmx5IGNsb3NlTW9kYWwgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuICByZWFkb25seSBvcGVuTW9iaWxlRmlsdGVyID0gb3V0cHV0PHZvaWQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IHdpdGhDb250YWluZXJTdHlsZSA9IGlucHV0KHRydWUpO1xyXG4gIHJlYWRvbmx5IHNob3dDbGVhckJ1dHRvbiA9IGlucHV0KHRydWUpO1xyXG4gIHJlYWRvbmx5IHNob3dBcHBseUJ1dHRvbiA9IGlucHV0KHRydWUpO1xyXG4gIHJlYWRvbmx5IHNob3dDbG9zZUJ1dHRvbiA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSBkaXNhYmxlQnV0dG9ucyA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSBzaG93QmFkZ2UgPSBpbnB1dCh0cnVlKTtcclxuICByZWFkb25seSBzaG93VG9nZ2xlSWNvbiA9IGlucHV0KHRydWUpO1xyXG4gIGlzRmlsdGVyT3BlbiA9IG1vZGVsKHRydWUpO1xyXG4gIHJlYWRvbmx5IG1vYmlsZUJlaGF2aW9yID0gaW5wdXQoZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGZvcmNlQ29sbGFwc2VkID0gaW5wdXQoZmFsc2UpO1xyXG4gIHJlYWRvbmx5IGVtaXRPblJlc2V0ID0gaW5wdXQoZmFsc2UpO1xyXG4gIHJlYWRvbmx5IHRleHRUaXRsZSA9IGlucHV0KCdGaWx0cmFyIHBvcicpO1xyXG4gIHJlYWRvbmx5IHNlY3Rpb25zID0gaW5wdXQ8RmlsdGVyU2VjdGlvbltdPihbXSk7XHJcblxyXG4gIHJlYWRvbmx5IHdpbmRvd1dpZHRoID0gc2lnbmFsKDApO1xyXG5cclxuICBzZWxlY3RlZEZpbHRlcnNDb3VudCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zKCkucmVkdWNlKChjb3VudCwgc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoKHNlY3Rpb24udHlwZSAhPT0gJ2N1c3RvbScgJiYgIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSB8fCAoc2VjdGlvbi50eXBlID09PSAnY3VzdG9tJyAmJiAhc2VjdGlvbi5jb25maWc/LmNvdW50KSkgcmV0dXJuIGNvdW50O1xyXG5cclxuICAgICAgY29uc3QgdmFsdWUgPSBzZWN0aW9uLmNvbmZpZy5jb250cm9sPy52YWx1ZSB8fCBudWxsO1xyXG5cclxuICAgICAgc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgICByZXR1cm4gY291bnQgKyAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0/LmNoZWNrZWQpLmxlbmd0aCA6IDApO1xyXG4gICAgICAgIGNhc2UgJ3JhZGlvLWdyb3VwJzpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArICh2YWx1ZT8udmFsdWUgPyAxIDogMCk7XHJcbiAgICAgICAgY2FzZSAnY3VzdG9tJzpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArIChzZWN0aW9uLmNvbmZpZy5jb3VudCB8fCAwKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKHZhbHVlID8gMSA6IDApO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9KTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlQmluZGluZyA9IHtcclxuICAgICctLWZvbnQtZmFtaWx5JzogdGhpcy5jdXJhQXBpU2VydmljZS5nZXRGb250RmFtaWx5KCcnKSxcclxuICAgICctLW5ldXRyYWwtb3BhY2l0eS1ibGFjayc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtYmxhY2snLCAwLjIpLFxyXG4gICAgJy0tbmV1dHJhbC1kYXJrJzogdGhpcy5jdXJhQXBpU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1kYXJrJyksXHJcbiAgICAnLS1uZXV0cmFsLWRhcmtlcic6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtZGFya2VyJyksXHJcbiAgICAnLS1uZXV0cmFsLW1lZGl1bSc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbWVkaXVtJyksXHJcbiAgICAnLS1uZXV0cmFsLWxpZ2h0JzogdGhpcy5jdXJhQXBpU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodCcpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodGVyJzogdGhpcy5jdXJhQXBpU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodGVyJyksXHJcbiAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtcHVyZXdoaXRlJyksXHJcbiAgICAnLS1wcmltYXJ5LWJhc2UnOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWJhc2UnKSxcclxuICAgICctLXByaW1hcnktbGlnaHRlcic6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnktbGlnaHRlcicpLFxyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy53aW5kb3dXaWR0aC5zZXQod2luZG93LmlubmVyV2lkdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZvcmNlQ29sbGFwc2VkKCkgJiYgdGhpcy5pc01vYmlsZSgpKSB7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJbnB1dENoYW5nZShldmVudDogQ3VyYUlucHV0VGV4dEN1c3RvbUV2ZW50PHN0cmluZyB8IG51bWJlcj4sIGNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWxlY3RDaGFuZ2UoZXZlbnQ6IEN1cmFTZWxlY3RDdXN0b21FdmVudDxhbnk+LCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29udHJvbC5zZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hlY2tib3hDaGFuZ2UoZXZlbnQ6IEN1cmFDaGVja2JveEN1c3RvbUV2ZW50PGFueT4sIG9wdGlvbnM6IGFueVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaGFuZ2VkT3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIGlmIChjaGFuZ2VkT3B0aW9uKSBjaGFuZ2VkT3B0aW9uLmNoZWNrZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94R3JvdXAob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSYWRpb0NoYW5nZShldmVudDogQ3VyYVJhZGlvQ3VzdG9tRXZlbnQ8YW55PiwgY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKGNvbnRyb2wudmFsdWU/LnZhbHVlID09PSBzZWxlY3RlZFZhbHVlID8gbnVsbCA6IHsgdmFsdWU6IHNlbGVjdGVkVmFsdWUgfSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2UoJ2ZpbHRlcicpO1xyXG4gICAgaWYgKHRoaXMubW9iaWxlQmVoYXZpb3IoKSB8fCB0aGlzLnNob3dDbG9zZUJ1dHRvbigpKSB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzZXRBbGxDb250cm9scygpO1xyXG5cclxuICAgIGlmICh0aGlzLmVtaXRPblJlc2V0KCkpIHtcclxuICAgICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlKCdyZXNldCcpO1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9iaWxlQmVoYXZpb3IoKSAmJiB0aGlzLmlzTW9iaWxlKCkpIHtcclxuICAgICAgdGhpcy5vcGVuTW9iaWxlRmlsdGVyLmVtaXQodW5kZWZpbmVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuLnNldCghdGhpcy5pc0ZpbHRlck9wZW4oKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBoYXNTZWxlY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbHRlcnNDb3VudCgpID4gMDtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGlzTW9iaWxlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMud2luZG93V2lkdGgoKSA8PSBNZWRpYVF1ZXJpZXMuc21hbGxCcmVha3BvaW50O1xyXG4gIH0pO1xyXG5cclxuICBnZXRSYWRpb0dyb3VwVmFsdWUoY29udHJvbD86IEZvcm1Db250cm9sPEZpbHRlckNvbnRyb2xWYWx1ZT4pOiBhbnkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcclxuICAgIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gdmFsdWUgPyB2YWx1ZS52YWx1ZSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBoYXNTY3JvbGwoc2VjdGlvbjogRmlsdGVyU2VjdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgY2FzZSAnY2hlY2tib3gtZ3JvdXAnOlxyXG4gICAgICAgIHJldHVybiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zICYmIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMubGVuZ3RoID4gNjtcclxuICAgICAgY2FzZSAncmFkaW8tZ3JvdXAnOlxyXG4gICAgICAgIHJldHVybiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zICYmIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMubGVuZ3RoID4gNjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWN0aW9uQ2xhc3Moc2VjdGlvbjogRmlsdGVyU2VjdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNTY3JvbGwoc2VjdGlvbikgPyAnc2Nyb2xsYWJsZScgOiAnJztcclxuICB9XHJcblxyXG4gIHNob3VsZEhhbmRsZU1vYmlsZUNsaWNrKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9iaWxlQmVoYXZpb3IoKSAmJiB0aGlzLmlzTW9iaWxlKCkgJiYgdGhpcy5mb3JjZUNvbGxhcHNlZCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlTW9iaWxlQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaG91bGRIYW5kbGVNb2JpbGVDbGljaygpKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vYmlsZUZpbHRlci5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRGaWx0ZXJDaGFuZ2UoYWN0aW9uOiBGaWx0ZXJBY3Rpb24pOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpbHRlckRhdGEgPSB0aGlzLmJ1aWxkRmlsdGVyRGF0YSgpO1xyXG4gICAgY29uc3QgaXNFbXB0eSA9IHRoaXMuaXNGaWx0ZXJEYXRhRW1wdHkoZmlsdGVyRGF0YSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XHJcbiAgICAgIGRhdGE6IHRoaXMuZW1pdE9uUmVzZXQoKSB8fCAhaXNFbXB0eSA/IGZpbHRlckRhdGEgOiBudWxsLFxyXG4gICAgICBhY3Rpb246IGFjdGlvbixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEFsbENvbnRyb2xzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWN0aW9ucygpLmZvckVhY2goKHNlY3Rpb24pID0+IHtcclxuICAgICAgaWYgKCFzZWN0aW9uLmNvbmZpZz8uY29udHJvbCkgcmV0dXJuO1xyXG5cclxuICAgICAgaWYgKHNlY3Rpb24udHlwZSA9PT0gJ2NoZWNrYm94LWdyb3VwJykge1xyXG4gICAgICAgIGNvbnN0IHJlc2V0T3B0aW9ucyA9IHNlY3Rpb24/LmNvbmZpZz8ub3B0aW9ucz8ubWFwKChvcHRpb246IGFueSkgPT4gKHsgLi4ub3B0aW9uLCBjaGVja2VkOiBmYWxzZSB9KSkgfHwgW107XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcub3B0aW9ucyA9IFsuLi5yZXNldE9wdGlvbnNdO1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wuc2V0VmFsdWUoWy4uLnJlc2V0T3B0aW9uc10pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wucmVzZXQoJycsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUNoZWNrYm94R3JvdXAob3B0aW9uczogYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VjdGlvbnMoKVxyXG4gICAgICAuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnR5cGUgPT09ICdjaGVja2JveC1ncm91cCcpXHJcbiAgICAgIC5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcub3B0aW9ucyA9IFsuLi5vcHRpb25zXTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnNldFZhbHVlKFsuLi5vcHRpb25zXSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZpbHRlckRhdGEoKTogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlIHwgYW55IHtcclxuICAgIGNvbnN0IGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSA9IHtcclxuICAgICAgdW5pZGFkZTogJycsXHJcbiAgICAgIGVzdGFkbzogJycsXHJcbiAgICAgIGNvYmVydHVyYTogW10sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VjdGlvbnMoKS5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgIGlmICghc2VjdGlvbi5jb25maWc/LmNvbnRyb2wpIHJldHVybjtcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gc2VjdGlvbi5jb25maWcuY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICAgIHN3aXRjaCAoc2VjdGlvbi50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnaW5wdXQnOlxyXG4gICAgICAgICAgZmlsdGVyRGF0YS51bmlkYWRlID0gdmFsdWUgfHwgJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgICAgZmlsdGVyRGF0YS5lc3RhZG8gPSB2YWx1ZSB8fCAnJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2NoZWNrYm94LWdyb3VwJzpcclxuICAgICAgICAgIGZpbHRlckRhdGEuY29iZXJ0dXJhID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCkgOiBbXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZmlsdGVyRGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNGaWx0ZXJEYXRhRW1wdHkoZmlsdGVyRGF0YTogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWx0ZXJEYXRhKS5ldmVyeSgodmFsKSA9PiB2YWwgPT09IG51bGwgfHwgdmFsID09PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2YWwpICYmIHZhbC5sZW5ndGggPT09IDApKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZmlsdGVyLWdlbmVyaWNcIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2NvbnRhaW5lci1zdHlsZSc6IHdpdGhDb250YWluZXJTdHlsZSgpLCAnY2xpY2thYmxlLW1vYmlsZSc6IHNob3VsZEhhbmRsZU1vYmlsZUNsaWNrKCkgfVwiXHJcbiAgYXJpYS1sYWJlbD1cIkZpbHRyb3NcIlxyXG4gIChjbGljayk9XCJoYW5kbGVNb2JpbGVDbGljaygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGVyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgJ25vLXBhZGRpbmcnOiAhaXNGaWx0ZXJPcGVuKCksIGhpZGRlbjogIWlzRmlsdGVyT3BlbigpIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICA8Y3VyYS1sYWJlbCBzaXplPVwibWVkaXVtXCIgbGV2ZWw9XCI0XCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgd2VpZ2h0PVwicmVndWxhclwiIG1hcmdpbi1ibG9jaz1cIjBcIiBsaW5lLWhlaWdodD1cIjE2cHhcIj5cclxuICAgICAgICB7eyB0ZXh0VGl0bGUoKSB9fVxyXG4gICAgICA8L2N1cmEtbGFiZWw+XHJcblxyXG4gICAgICBAaWYgKHNob3dCYWRnZSgpKSB7XHJcbiAgICAgICAgPGN1cmEtYmFkZ2UtY291bnRlclxyXG4gICAgICAgICAgW3R5cGVdPVwiJ3NvbGlkJ1wiXHJcbiAgICAgICAgICBbY29sb3JdPVwiaGFzU2VsZWN0aW9uKCkgPyAncHJpbWFyeScgOiAnbmV1dHJhbCdcIlxyXG4gICAgICAgICAgW251bWJlcl09XCJzZWxlY3RlZEZpbHRlcnNDb3VudCgpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWJhZGdlXCJcclxuICAgICAgICA+PC9jdXJhLWJhZGdlLWNvdW50ZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoc2hvd1RvZ2dsZUljb24oKSkge1xyXG4gICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnRcclxuICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIGZvbnQtY29sb3I9XCJkYXJrXCJcclxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgIHRleHQtYWxpZ249XCJjZW50ZXJcIlxyXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXIoKVwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0ZpbHRlck9wZW4oKVwiXHJcbiAgICAgICAgW2FyaWEtbGFiZWxdPVwiaXNGaWx0ZXJPcGVuKCkgPyAnRmVjaGFyIGZpbHRyb3MnIDogJ0FicmlyIGZpbHRyb3MnXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjdXJhLWljb24gW25hbWVdPVwiaXNGaWx0ZXJPcGVuKCkgPyAndXAnIDogJ2Rvd24nXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJmaWx0ZXItaWNvblwiIGNvbG9yPVwicHJpbWFyeS1kYXJrXCI+PC9jdXJhLWljb24+XHJcbiAgICAgIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItY29udGVudFwiIFtjbGFzcy5oaWRkZW5dPVwiIWlzRmlsdGVyT3BlbigpIHx8IChmb3JjZUNvbGxhcHNlZCgpICYmIGlzTW9iaWxlKCkpXCI+XHJcbiAgICBAZm9yIChzZWN0aW9uIG9mIHNlY3Rpb25zKCk7IHRyYWNrIHNlY3Rpb24udHlwZSkge1xyXG4gICAgICBAaWYgKHNlY3Rpb24udmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIEBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgICAgICBAY2FzZSAoJ2lucHV0Jykge1xyXG4gICAgICAgICAgICAgIDxjdXJhLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWN0aW9uLmNvbmZpZy5wbGFjZWhvbGRlciB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzZWN0aW9uLmNvbmZpZy5uYW1lIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFtpY29uLW5hbWVdPVwic2VjdGlvbi5jb25maWcuaWNvbk5hbWUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZUlucHV0Q2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcuY29udHJvbClcIlxyXG4gICAgICAgICAgICAgID48L2N1cmEtaW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ3NlbGVjdCcpIHtcclxuICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3RcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzZWN0aW9uLmNvbmZpZy5sYWJlbCB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VjdGlvbi5jb25maWcucGxhY2Vob2xkZXIgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLmluY2x1ZGVEZWZhdWx0T3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIicnXCI+e3sgc2VjdGlvbi5jb25maWcuZGVmYXVsdE9wdGlvblRleHQgfHwgJ0Zhw6dhIGEgc3VhIFNlbGXDp8OjbycgfX08L2N1cmEtc2VsZWN0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIj57eyBvcHRpb24/LmxhYmVsIH19PC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9jdXJhLXNlbGVjdD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ2NoZWNrYm94LWdyb3VwJykge1xyXG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcudGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWljb24gbmFtZT1cImZpbHRlclwiIHNpemU9XCIyMFwiIGNvbG9yPVwiaW5mby1kYXJrXCI+PC9jdXJhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWhlYWRpbmcgc2l6ZT1cInhzbWFsbFwiIFtsZXZlbF09XCI1XCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIiBsaW5lLWhlaWdodD1cIjE2cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmNvbmZpZy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2N1cmEtaGVhZGluZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5zdWJ0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJ4c21hbGxcIiB3ZWlnaHQ9XCJib2xkXCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uY29uZmlnLnN1YnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvY3VyYS1oZWFkaW5nPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXBhcmFncmFwaCBzaXplPVwieHNtYWxsXCIgY29sb3I9XCJuZXV0cmFsLWRhcmtcIiBtYXJnaW4tYmxvY2s9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5jb25maWcuZGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgPC9jdXJhLXBhcmFncmFwaD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jaGVja2JveGVzXCIgW2NsYXNzLnNjcm9sbGFibGVdPVwiaGFzU2Nyb2xsKHNlY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb24tY29sb3I9XCJsaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJvcHRpb24uY2hlY2tlZCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uY2hhbmdlKT1cImhhbmRsZUNoZWNrYm94Q2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcub3B0aW9ucylcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jdXJhLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgncmFkaW8tZ3JvdXAnKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1yYWRpb3NcIiBbY2xhc3Muc2Nyb2xsYWJsZV09XCJoYXNTY3JvbGwoc2VjdGlvbilcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXJhZGlvXHJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwic2VjdGlvbi5jb25maWcubmFtZSB8fCAncmFkaW8tZ3JvdXAnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJnZXRSYWRpb0dyb3VwVmFsdWUoc2VjdGlvbi5jb25maWcuY29udHJvbCkgPT09IG9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uY2hhbmdlKT1cImhhbmRsZVJhZGlvQ2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcuY29udHJvbClcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jdXJhLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgnY3VzdG9tJykge1xyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWN0aW9uLmNvbmZpZy50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1hY3Rpb25zXCIgW2NsYXNzLmhpZGRlbl09XCIhaXNGaWx0ZXJPcGVuKCkgfHwgKGZvcmNlQ29sbGFwc2VkKCkgJiYgaXNNb2JpbGUoKSlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWFjdGlvbnNcIj5cclxuICAgICAgQGlmIChzaG93Q2xlYXJCdXR0b24oKSkge1xyXG4gICAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudFxyXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgIGZvbnQtY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICB0ZXh0LWFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9ucygpIHx8ICFoYXNTZWxlY3Rpb24oKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwicmVzZXQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4+TGltcGFyIHRvZG9zIG9zIGZpbHRyb3M8L3NwYW4+XHJcbiAgICAgICAgPC9jdXJhLWJ1dHRvbi10cmFuc3BhcmVudD5cclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmIChzaG93QXBwbHlCdXR0b24oKSkge1xyXG4gICAgICAgIDxjdXJhLWJ1dHRvblxyXG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgICAgICBmb250LWNvbG9yPVwibGlnaHRcIlxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIHRleHQtYWxpZ249XCJjZW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZpbHRlcigpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9ucygpIHx8ICFoYXNTZWxlY3Rpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1idXR0b25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEZpbHRyYXJcclxuICAgICAgICA8L2N1cmEtYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3dDbG9zZUJ1dHRvbigpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyLXN0cm9uZ1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYWN0aW9uXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICAgIDxjdXJhLWljb24gbmFtZT1cImNsb3NlXCIgY29sb3I9XCJlcnJvci1kYXJrXCIgc2l6ZT1cInNtYWxsXCI+PC9jdXJhLWljb24+XHJcbiAgICAgICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnQgdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwiZXJyb3JcIiB0YXJnZXQ9XCJfc2VsZlwiPiBGZWNoYXIgPC9jdXJhLWJ1dHRvbi10cmFuc3BhcmVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1nZW5lcmljL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItZ2VuZXJpYy9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUVYLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBMkI3RCxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBU21CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpDLGlCQUFZLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FB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WSxtU0FBRSxtQkFBbUI7OzRGQU1oQyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLGNBQ2hDLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDOzhCQWdEWCxZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgT25Jbml0LFxyXG4gIFBMQVRGT1JNX0lELFxyXG4gIGlucHV0LFxyXG4gIG1vZGVsLFxyXG4gIG91dHB1dCxcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXJhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTWVkaWFRdWVyaWVzIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycy9tZWRpYVF1ZXJpZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFdmVudCwgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJBY3Rpb24sIEZpbHRlckNvbnRyb2xWYWx1ZSwgRmlsdGVyU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWx0ZXJzL2ZpbHRlci1zZWN0aW9uLnR5cGUnO1xyXG5pbXBvcnQgeyBDdXJhSW5wdXRUZXh0Q3VzdG9tRXZlbnQsIEN1cmFTZWxlY3RDdXN0b21FdmVudCwgQ3VyYUNoZWNrYm94Q3VzdG9tRXZlbnQsIEN1cmFSYWRpb0N1c3RvbUV2ZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS9kaXN0L3R5cGVzL2NvbXBvbmVudHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RTZWxlY3RlZEV2ZW50IHtcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tib3hDaGFuZ2VFdmVudCB7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmFkaW9DaGFuZ2VFdmVudCB7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBjaGVja2VkOiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1maWx0ZXItZ2VuZXJpYycsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyR2VuZXJpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjdXJhQXBpU2VydmljZSA9IGluamVjdChDdXJhU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XHJcblxyXG4gIHJlYWRvbmx5IGZpbHRlckNoYW5nZSA9IG91dHB1dDxGaWx0ZXJFdmVudD4oKTtcclxuICByZWFkb25seSBjbG9zZU1vZGFsID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcbiAgcmVhZG9ubHkgb3Blbk1vYmlsZUZpbHRlciA9IG91dHB1dDx2b2lkPigpO1xyXG5cclxuICByZWFkb25seSB3aXRoQ29udGFpbmVyU3R5bGUgPSBpbnB1dCh0cnVlKTtcclxuICByZWFkb25seSBzaG93Q2xlYXJCdXR0b24gPSBpbnB1dCh0cnVlKTtcclxuICByZWFkb25seSBzaG93QXBwbHlCdXR0b24gPSBpbnB1dCh0cnVlKTtcclxuICByZWFkb25seSBzaG93Q2xvc2VCdXR0b24gPSBpbnB1dChmYWxzZSk7XHJcbiAgcmVhZG9ubHkgZGlzYWJsZUJ1dHRvbnMgPSBpbnB1dChmYWxzZSk7XHJcbiAgcmVhZG9ubHkgc2hvd0JhZGdlID0gaW5wdXQodHJ1ZSk7XHJcbiAgcmVhZG9ubHkgc2hvd1RvZ2dsZUljb24gPSBpbnB1dCh0cnVlKTtcclxuICBpc0ZpbHRlck9wZW4gPSBtb2RlbCh0cnVlKTtcclxuICByZWFkb25seSBtb2JpbGVCZWhhdmlvciA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSBmb3JjZUNvbGxhcHNlZCA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSBlbWl0T25SZXNldCA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSB0ZXh0VGl0bGUgPSBpbnB1dCgnRmlsdHJhciBwb3InKTtcclxuICByZWFkb25seSBzZWN0aW9ucyA9IGlucHV0PEZpbHRlclNlY3Rpb25bXT4oW10pO1xyXG5cclxuICByZWFkb25seSB3aW5kb3dXaWR0aCA9IHNpZ25hbCgwKTtcclxuXHJcbiAgc2VsZWN0ZWRGaWx0ZXJzQ291bnQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucygpLnJlZHVjZSgoY291bnQsIHNlY3Rpb24pID0+IHtcclxuICAgICAgaWYgKChzZWN0aW9uLnR5cGUgIT09ICdjdXN0b20nICYmICFzZWN0aW9uLmNvbmZpZz8uY29udHJvbCkgfHwgKHNlY3Rpb24udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXNlY3Rpb24uY29uZmlnPy5jb3VudCkpIHJldHVybiBjb3VudDtcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gc2VjdGlvbi5jb25maWcuY29udHJvbD8udmFsdWUgfHwgbnVsbDtcclxuXHJcbiAgICAgIHN3aXRjaCAoc2VjdGlvbi50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnY2hlY2tib3gtZ3JvdXAnOlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtPy5jaGVja2VkKS5sZW5ndGggOiAwKTtcclxuICAgICAgICBjYXNlICdyYWRpby1ncm91cCc6XHJcbiAgICAgICAgICByZXR1cm4gY291bnQgKyAodmFsdWU/LnZhbHVlID8gMSA6IDApO1xyXG4gICAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgICByZXR1cm4gY291bnQgKyAoc2VjdGlvbi5jb25maWcuY291bnQgfHwgMCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArICh2YWx1ZSA/IDEgOiAwKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBzdHlsZUJpbmRpbmcgPSB7XHJcbiAgICAnLS1mb250LWZhbWlseSc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Rm9udEZhbWlseSgnJyksXHJcbiAgICAnLS1uZXV0cmFsLW9wYWNpdHktYmxhY2snOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWJsYWNrJywgMC4yKSxcclxuICAgICctLW5ldXRyYWwtZGFyayc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtZGFyaycpLFxyXG4gICAgJy0tbmV1dHJhbC1kYXJrZXInOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWRhcmtlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1tZWRpdW0nOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLW1lZGl1bScpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodCc6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHQnKSxcclxuICAgICctLW5ldXRyYWwtbGlnaHRlcic6IHRoaXMuY3VyYUFwaVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHRlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1wdXJld2hpdGUnOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gICAgJy0tcHJpbWFyeS1iYXNlJzogdGhpcy5jdXJhQXBpU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1iYXNlJyksXHJcbiAgICAnLS1wcmltYXJ5LWxpZ2h0ZXInOiB0aGlzLmN1cmFBcGlTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWxpZ2h0ZXInKSxcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIHRoaXMud2luZG93V2lkdGguc2V0KHdpbmRvdy5pbm5lcldpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb3JjZUNvbGxhcHNlZCgpICYmIHRoaXMuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLmlzRmlsdGVyT3Blbi5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQ6IEN1cmFJbnB1dFRleHRDdXN0b21FdmVudDxzdHJpbmcgfCBudW1iZXI+LCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgY29udHJvbC5zZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0Q2hhbmdlKGV2ZW50OiBDdXJhU2VsZWN0Q3VzdG9tRXZlbnQ8YW55PiwgY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNoZWNrYm94Q2hhbmdlKGV2ZW50OiBDdXJhQ2hlY2tib3hDdXN0b21FdmVudDxhbnk+LCBvcHRpb25zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2hhbmdlZE9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQudmFsdWUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICBpZiAoY2hhbmdlZE9wdGlvbikgY2hhbmdlZE9wdGlvbi5jaGVja2VkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XHJcblxyXG4gICAgdGhpcy51cGRhdGVDaGVja2JveEdyb3VwKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmFkaW9DaGFuZ2UoZXZlbnQ6IEN1cmFSYWRpb0N1c3RvbUV2ZW50PGFueT4sIGNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29udHJvbC5zZXRWYWx1ZShjb250cm9sLnZhbHVlPy52YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZSA/IG51bGwgOiB7IHZhbHVlOiBzZWxlY3RlZFZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlKCdmaWx0ZXInKTtcclxuICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yKCkgfHwgdGhpcy5zaG93Q2xvc2VCdXR0b24oKSkgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2V0QWxsQ29udHJvbHMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5lbWl0T25SZXNldCgpKSB7XHJcbiAgICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZSgncmVzZXQnKTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTW9kYWwuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yKCkgJiYgdGhpcy5pc01vYmlsZSgpKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vYmlsZUZpbHRlci5lbWl0KHVuZGVmaW5lZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmlsdGVyT3Blbi5zZXQoIXRoaXMuaXNGaWx0ZXJPcGVuKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzQ291bnQoKSA+IDA7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBpc01vYmlsZSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLndpbmRvd1dpZHRoKCkgPD0gTWVkaWFRdWVyaWVzLnNtYWxsQnJlYWtwb2ludDtcclxuICB9KTtcclxuXHJcbiAgZ2V0UmFkaW9Hcm91cFZhbHVlKGNvbnRyb2w/OiBGb3JtQ29udHJvbDxGaWx0ZXJDb250cm9sVmFsdWU+KTogYW55IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbD8udmFsdWU7XHJcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIHZhbHVlID8gdmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFzU2Nyb2xsKHNlY3Rpb246IEZpbHRlclNlY3Rpb24pOiBib29sZWFuIHtcclxuICAgIHN3aXRjaCAoc2VjdGlvbi50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NoZWNrYm94LWdyb3VwJzpcclxuICAgICAgICByZXR1cm4gc2VjdGlvbi5jb25maWcub3B0aW9ucyAmJiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zLmxlbmd0aCA+IDY7XHJcbiAgICAgIGNhc2UgJ3JhZGlvLWdyb3VwJzpcclxuICAgICAgICByZXR1cm4gc2VjdGlvbi5jb25maWcub3B0aW9ucyAmJiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zLmxlbmd0aCA+IDY7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2VjdGlvbkNsYXNzKHNlY3Rpb246IEZpbHRlclNlY3Rpb24pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzU2Nyb2xsKHNlY3Rpb24pID8gJ3Njcm9sbGFibGUnIDogJyc7XHJcbiAgfVxyXG5cclxuICBzaG91bGRIYW5kbGVNb2JpbGVDbGljaygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1vYmlsZUJlaGF2aW9yKCkgJiYgdGhpcy5pc01vYmlsZSgpICYmIHRoaXMuZm9yY2VDb2xsYXBzZWQoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU1vYmlsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlTW9iaWxlQ2xpY2soKSkge1xyXG4gICAgICB0aGlzLm9wZW5Nb2JpbGVGaWx0ZXIuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RmlsdGVyQ2hhbmdlKGFjdGlvbjogRmlsdGVyQWN0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5idWlsZEZpbHRlckRhdGEoKTtcclxuICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGEpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBkYXRhOiB0aGlzLmVtaXRPblJlc2V0KCkgfHwgIWlzRW1wdHkgPyBmaWx0ZXJEYXRhIDogbnVsbCxcclxuICAgICAgYWN0aW9uOiBhY3Rpb24sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRBbGxDb250cm9scygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VjdGlvbnMoKS5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgIGlmICghc2VjdGlvbi5jb25maWc/LmNvbnRyb2wpIHJldHVybjtcclxuXHJcbiAgICAgIGlmIChzZWN0aW9uLnR5cGUgPT09ICdjaGVja2JveC1ncm91cCcpIHtcclxuICAgICAgICBjb25zdCByZXNldE9wdGlvbnMgPSBzZWN0aW9uPy5jb25maWc/Lm9wdGlvbnM/Lm1hcCgob3B0aW9uOiBhbnkpID0+ICh7IC4uLm9wdGlvbiwgY2hlY2tlZDogZmFsc2UgfSkpIHx8IFtdO1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgPSBbLi4ucmVzZXRPcHRpb25zXTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnNldFZhbHVlKFsuLi5yZXNldE9wdGlvbnNdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnJlc2V0KCcnLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDaGVja2JveEdyb3VwKG9wdGlvbnM6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlY3Rpb25zKClcclxuICAgICAgLmZpbHRlcigoc2VjdGlvbikgPT4gc2VjdGlvbi50eXBlID09PSAnY2hlY2tib3gtZ3JvdXAnKVxyXG4gICAgICAuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgPSBbLi4ub3B0aW9uc107XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcuY29udHJvbC5zZXRWYWx1ZShbLi4ub3B0aW9uc10pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGaWx0ZXJEYXRhKCk6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSB8IGFueSB7XHJcbiAgICBjb25zdCBmaWx0ZXJEYXRhOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UgPSB7XHJcbiAgICAgIHVuaWRhZGU6ICcnLFxyXG4gICAgICBlc3RhZG86ICcnLFxyXG4gICAgICBjb2JlcnR1cmE6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25zKCkuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IHNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEudW5pZGFkZSA9IHZhbHVlIHx8ICcnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEuZXN0YWRvID0gdmFsdWUgfHwgJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgICBmaWx0ZXJEYXRhLmNvYmVydHVyYSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNoZWNrZWQpIDogW107XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlckRhdGE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmlsdGVyRGF0YSkuZXZlcnkoKHZhbCkgPT4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gJycgfHwgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWwubGVuZ3RoID09PSAwKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZpbHRlci1nZW5lcmljXCJcclxuICBbbmdDbGFzc109XCJ7ICdjb250YWluZXItc3R5bGUnOiB3aXRoQ29udGFpbmVyU3R5bGUoKSwgJ2NsaWNrYWJsZS1tb2JpbGUnOiBzaG91bGRIYW5kbGVNb2JpbGVDbGljaygpIH1cIlxyXG4gIGFyaWEtbGFiZWw9XCJGaWx0cm9zXCJcclxuICAoY2xpY2spPVwiaGFuZGxlTW9iaWxlQ2xpY2soKVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRlci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICduby1wYWRkaW5nJzogIWlzRmlsdGVyT3BlbigpLCBoaWRkZW46ICFpc0ZpbHRlck9wZW4oKSB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgPGN1cmEtbGFiZWwgc2l6ZT1cIm1lZGl1bVwiIGxldmVsPVwiNFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIHdlaWdodD1cInJlZ3VsYXJcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAge3sgdGV4dFRpdGxlKCkgfX1cclxuICAgICAgPC9jdXJhLWxhYmVsPlxyXG5cclxuICAgICAgQGlmIChzaG93QmFkZ2UoKSkge1xyXG4gICAgICAgIDxjdXJhLWJhZGdlLWNvdW50ZXJcclxuICAgICAgICAgIFt0eXBlXT1cIidzb2xpZCdcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImhhc1NlbGVjdGlvbigpID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnXCJcclxuICAgICAgICAgIFtudW1iZXJdPVwic2VsZWN0ZWRGaWx0ZXJzQ291bnQoKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1iYWRnZVwiXHJcbiAgICAgICAgPjwvY3VyYS1iYWRnZS1jb3VudGVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3dUb2dnbGVJY29uKCkpIHtcclxuICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50XHJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICBmb250LWNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICB0ZXh0LWFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKClcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNGaWx0ZXJPcGVuKClcIlxyXG4gICAgICAgIFthcmlhLWxhYmVsXT1cImlzRmlsdGVyT3BlbigpID8gJ0ZlY2hhciBmaWx0cm9zJyA6ICdBYnJpciBmaWx0cm9zJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8Y3VyYS1pY29uIFtuYW1lXT1cImlzRmlsdGVyT3BlbigpID8gJ3VwJyA6ICdkb3duJ1wiIHNpemU9XCIxNlwiIGNsYXNzPVwiZmlsdGVyLWljb25cIiBjb2xvcj1cInByaW1hcnktZGFya1wiPjwvY3VyYS1pY29uPlxyXG4gICAgICA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNvbnRlbnRcIiBbY2xhc3MuaGlkZGVuXT1cIiFpc0ZpbHRlck9wZW4oKSB8fCAoZm9yY2VDb2xsYXBzZWQoKSAmJiBpc01vYmlsZSgpKVwiPlxyXG4gICAgQGZvciAoc2VjdGlvbiBvZiBzZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgQGlmIChzZWN0aW9uLnZpc2libGUgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWN0aW9uXCI+XHJcbiAgICAgICAgICBAc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgICAgICAgQGNhc2UgKCdpbnB1dCcpIHtcclxuICAgICAgICAgICAgICA8Y3VyYS1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VjdGlvbi5jb25maWcucGxhY2Vob2xkZXIgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2VjdGlvbi5jb25maWcubmFtZSB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbaWNvbi1uYW1lXT1cInNlY3Rpb24uY29uZmlnLmljb25OYW1lIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVJbnB1dENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICA+PC9jdXJhLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdzZWxlY3QnKSB7XHJcbiAgICAgICAgICAgICAgPGN1cmEtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2VjdGlvbi5jb25maWcubGFiZWwgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlY3Rpb24uY29uZmlnLnBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJoYW5kbGVTZWxlY3RDaGFuZ2UoJGV2ZW50LCBzZWN0aW9uLmNvbmZpZy5jb250cm9sKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5pbmNsdWRlRGVmYXVsdE9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCInJ1wiPnt7IHNlY3Rpb24uY29uZmlnLmRlZmF1bHRPcHRpb25UZXh0IHx8ICdGYcOnYSBhIHN1YSBTZWxlw6fDo28nIH19PC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb24/LnZhbHVlXCI+e3sgb3B0aW9uPy5sYWJlbCB9fTwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvY3VyYS1zZWxlY3Q+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGNhc2UgKCdjaGVja2JveC1ncm91cCcpIHtcclxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1pY29uIG5hbWU9XCJmaWx0ZXJcIiBzaXplPVwiMjBcIiBjb2xvcj1cImluZm8tZGFya1wiPjwvY3VyYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJ4c21hbGxcIiBbbGV2ZWxdPVwiNVwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5jb25maWcudGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcuc3VidGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItc3VidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmNvbmZpZy5zdWJ0aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2N1cmEtaGVhZGluZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5kZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1wYXJhZ3JhcGggc2l6ZT1cInhzbWFsbFwiIGNvbG9yPVwibmV1dHJhbC1kYXJrXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uY29uZmlnLmRlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvY3VyYS1wYXJhZ3JhcGg+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2hlY2tib3hlc1wiIFtjbGFzcy5zY3JvbGxhYmxlXT1cImhhc1Njcm9sbChzZWN0aW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgfHwgW107IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uLWNvbG9yPVwibGlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLmNoZWNrZWQgfHwgZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbmNoYW5nZSk9XCJoYW5kbGVDaGVja2JveENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY3VyYS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ3JhZGlvLWdyb3VwJykge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcmFkaW9zXCIgW2NsYXNzLnNjcm9sbGFibGVdPVwiaGFzU2Nyb2xsKHNlY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1yYWRpb1xyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNlY3Rpb24uY29uZmlnLm5hbWUgfHwgJ3JhZGlvLWdyb3VwJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiZ2V0UmFkaW9Hcm91cFZhbHVlKHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpID09PSBvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbmNoYW5nZSk9XCJoYW5kbGVSYWRpb0NoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY3VyYS1yYWRpbz5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ2N1c3RvbScpIHtcclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VjdGlvbi5jb25maWcudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItYWN0aW9uc1wiIFtjbGFzcy5oaWRkZW5dPVwiIWlzRmlsdGVyT3BlbigpIHx8IChmb3JjZUNvbGxhcHNlZCgpICYmIGlzTW9iaWxlKCkpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1hY3Rpb25zXCI+XHJcbiAgICAgIEBpZiAoc2hvd0NsZWFyQnV0dG9uKCkpIHtcclxuICAgICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnRcclxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICBmb250LWNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgdGV4dC1hbGlnbj1cImNlbnRlclwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ1dHRvbnMoKSB8fCAhaGFzU2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuPkxpbXBhciB0b2RvcyBvcyBmaWx0cm9zPC9zcGFuPlxyXG4gICAgICAgIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAoc2hvd0FwcGx5QnV0dG9uKCkpIHtcclxuICAgICAgICA8Y3VyYS1idXR0b25cclxuICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICAgICAgZm9udC1jb2xvcj1cImxpZ2h0XCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICB0ZXh0LWFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIoKVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ1dHRvbnMoKSB8fCAhaGFzU2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXItYnV0dG9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBGaWx0cmFyXHJcbiAgICAgICAgPC9jdXJhLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChzaG93Q2xvc2VCdXR0b24oKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlci1zdHJvbmdcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWFjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWFjdGlvblwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICA8Y3VyYS1pY29uIG5hbWU9XCJjbG9zZVwiIGNvbG9yPVwiZXJyb3ItZGFya1wiIHNpemU9XCJzbWFsbFwiPjwvY3VyYS1pY29uPlxyXG4gICAgICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50IHR5cGU9XCJidXR0b25cIiBjb2xvcj1cImVycm9yXCIgdGFyZ2V0PVwiX3NlbGZcIj4gRmVjaGFyIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|