@seniorsistemas/angular-components 17.26.11 → 17.26.12-bugfix-sds-312-2e0a9036
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +52 -25
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.d.ts +2 -0
- package/components/code-editor/models/enums/languages.d.ts +2 -1
- package/components/dynamic-form/configurations/form-field.d.ts +3 -1
- package/components/tooltip/tooltip.directive.d.ts +0 -3
- package/esm2015/components/code-editor/code-editor.component.js +1 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +4 -2
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +67 -0
- package/esm2015/components/code-editor/models/enums/languages.js +2 -1
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +2 -2
- package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm2015/components/tooltip/tooltip.directive.js +28 -25
- package/esm5/components/code-editor/code-editor.component.js +1 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +4 -2
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +25 -0
- package/esm5/components/code-editor/models/enums/languages.js +2 -1
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +2 -2
- package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm5/components/tooltip/tooltip.directive.js +28 -25
- package/fesm2015/seniorsistemas-angular-components.js +94 -25
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +52 -25
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -89,4 +89,4 @@ export class Option {
|
|
|
89
89
|
this.value = value;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFRQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFF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QUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLGNBQWM7Z0JBQ3pCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsTUFBTSxFQUFFLGdCQUFnQixLQUFzQixNQUFNLEVBQTFCLG1EQUEwQixDQUFDO2dCQUNyRCxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLFlBQVksS0FBYSxFQUFFLEtBQVU7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBBbGlnbm1lbnRPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgRmlsZUR0byB9IGZyb20gXCIuLi8uLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJMb2NhbGVPcHRpb25zLCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2xvY2FsZS9pbmRleFwiO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uL251bWJlci1pbnB1dFwiO1xuaW1wb3J0IHsgQWRkb25Db25maWcgfSBmcm9tIFwiLi9hZGRvbi1jb25maWdcIjtcbmltcG9ydCB7IEZpZWxkU2l6ZSB9IGZyb20gXCIuL2ZpZWxkLXNpemVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IENoZWNrYm94RmllbGQsIENvdW50cnlQaG9uZVBpY2tlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBFZGl0b3JGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9lZGl0b3ItZmllbGRcIjtcbmltcG9ydCB7IExvb2t1cEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2xvb2t1cC1maWVsZFwiO1xuaW1wb3J0IHsgTnVtYmVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5pbXBvcnQgeyBQcm9maWxlUGljdHVyZUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Byb2ZpbGUtcGljdHVyZVwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgU2xpZGVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvc2xpZGVyLWZpZWxkXCI7XG5pbXBvcnQgeyBUZXh0QXJlYUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtYXJlYS1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFJQUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtYXJlYS1pYS1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtZmllbGRcIjtcbmltcG9ydCB7IEJ1dHRvbkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2J1dHRvbi1maWVsZFwiO1xuXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkIHtcbiAgICBpZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUZWxscyB3aGV0aGVyIHRoZSBmaWVsZCBpcyByZXF1aXJlZCBvciBub3RcbiAgICAgKi9cbiAgICByZXF1aXJlZD86ICgpID0+IGJvb2xlYW47XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBzb3J0YWJsZUNvbHVtbk5hbWU/OiBzdHJpbmc7XG4gICAgdHlwZT86IEZpZWxkVHlwZTtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMYWJlbHMgb2YgYSBSYWRpbyBCdXR0b24sIG9ubHkgdXNlZCB0byBGaWVsZFR5cGUgQm9vbGVhblxuICAgICAqL1xuICAgIG9wdGlvbnNMYWJlbD86IEJvb2xlYW5PcHRpb25zTGFiZWw7XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBNYXNrIHBhdHRlcm4uXG4gICAgICovXG4gICAgbWFzaz86ICgpID0+IHN0cmluZyB8IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGVyZSBhcmUgbm8gcmVzdWx0cyBmb3IgYSBxdWVyeS5cbiAgICAgKi9cbiAgICBlbXB0eU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgY29scz86IG51bWJlcjtcbiAgICByb3dzPzogbnVtYmVyO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBhbnk7XG4gICAgY2FsZW5kYXJMb2NhbGVPcHRpb25zPzogQ2FsZW5kYXJMb2NhbGVPcHRpb25zO1xuICAgIG51bWJlckxvY2FsZU9wdGlvbnM/OiBOdW1iZXJMb2NhbGVPcHRpb25zO1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBhcHBlbmRUbz86IHN0cmluZztcbiAgICBicm93c2VyQXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcbiAgICBzaG93Q2xlYXI/OiBib29sZWFuO1xuICAgIHNob3dPbkZvY3VzPzogYm9vbGVhbjtcbiAgICBzdHlsZT86IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiAgICByZXByZXNlbnRlZEJ5PzogXCJyYWRpb1wiIHwgXCJzd2l0Y2hcIjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBgUmFkaW9CdXR0b25gIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gdGhlIHZlcnRpY2FsIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgdmVydGljYWxBbGlnbm1lbnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEZpZWxkIG1heCBsZW5ndGhcbiAgICAgKi9cbiAgICBwcmVjaXNpb24/OiBGdW5jdGlvbiB8IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgZGVjaW1hbCBwbGFjZXNcbiAgICAgKi9cbiAgICBzY2FsZT86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzaW5nIEZpZWxkVHlwZS5OdW1iZXIgdGhpcyBhdHRyaWJ1dGUgaXMgdW5uZWNlc3NhcnlcbiAgICAgKi9cbiAgICBhbGlnblRvPzogTnVtYmVyQWxpZ25tZW50T3B0aW9uIHwgQWxpZ25tZW50T3B0aW9ucztcbiAgICBncmlkQ2xhc3M/OlxuICAgICAgICB8IHN0cmluZ1xuICAgICAgICB8IHN0cmluZ1tdXG4gICAgICAgIHwgU2V0PHN0cmluZz5cbiAgICAgICAgfCB7XG4gICAgICAgICAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIGF1dG9jb21wbGV0ZUZvcmNlU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWluRGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLlxuICAgICAqL1xuICAgIG1heERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGF0ZSB0byBoaWdobGlnaHQgb24gZmlyc3Qgb3BlbmluZyBpZiB0aGUgZmllbGQgaXMgYmxhbmsuXG4gICAgICovXG4gICAgZGVmYXVsdERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHRoZSBsZWZ0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIGxlZnRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHJpZ2h0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIHJpZ2h0QWRkb24/OiBBZGRvbkNvbmZpZztcbiAgICAvKipcbiAgICAgKiBJbmZvU2lnbiBwYXJhIGEgbGFiZWwgZG8gaW5wdXQuXG4gICAgICovXG4gICAgaW5mb1NpZ24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRXhwcmVzc2lvbiB0byByZXN0cmljdHMgdXNlciBpbnB1dFxuICAgICAqL1xuICAgIGtleUZpbHRlcj86IFJlZ0V4cDtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgRm9ybUZpZWxkIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBlcnJvck1lc3NhZ2VzPzogKCkgPT4gKHt9KSB8IHt9O1xuICAgIHZpc2libGU/OiAoKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgZmllbGQgcmVjZWl2ZXMgZm9jdXNcbiAgICAgKi9cbiAgICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbklucHV0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gY29tcG9uZW50IGNsaWNrLlxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsb3NlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Ub2RheUNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhckNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Nb250aENoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uWWVhckNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgYWRkZWQuXG4gICAgICovXG4gICAgb25BZGQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIHZhbHVlIGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgb25SZW1vdmU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBvbkNoaXBDbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYSBzbGlkZXIgaXMgcmVsZWFzZWRcbiAgICAgKi9cbiAgICBvblNsaWRlRW5kPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBDdXN0b21GaWVsZENsYXNzPzogYW55O1xuICAgIEN1c3RvbUZpZWxkQ29tcG9uZW50Q2xhc3M/OiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBZb3Ugc2hvdWxkIHVzZSBmb290ZXIgYXR0cmlidXRlIGluc3RlYWQuXG4gICAgICovXG4gICAgYm90dG9tVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICAgIGF1dG9DbGVhcj86IGJvb2xlYW47XG4gICAgZGlzcGxheVRpbWVJbmZvU2lnbj86IG51bWJlcjtcblxuICAgIGZvb3Rlcj86IHtcbiAgICAgICAgaGVscD86IHtcbiAgICAgICAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgICAgICAgIHZpc2libGU/OiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgbGluaz86IHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICBvbkNsaWNrOiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gdm9pZDtcbiAgICAgICAgICAgIHZpc2libGU/OiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSW4gc29tZSBjYXNlcyBEeW5hbWljRm9ybUZpZWxkIHVzZSBhIGN1c3RvbSBmaWVsZCB0aGF0IGFscmVkeSBleGlzdHMsIHRoaXMgaGFwcGVuIGluIEN1c3RvbUZpZWxkcyB3aGVuIGNvbnZlcnQgJ0ludGVnZXIsIERvdWJsZSAmIE1vbmV5JyB0eXBlcyB0byAnQ3VzdG9tJyB0aGlzIGNyZWF0ZSB0d28gbGFiZWxzLiBhY3RpdmF0ZSB0aGlzIHByb3BlcnR5IGhpZGUgdGhlIHBhcmVudCBsYWJlbC5cbiAgICAgKi9cbiAgICBpZ25vcmVMYWJlbD8gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogYW55KSB7XG4gICAgICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWxlY3RGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQXV0b2NvbXBsZXRlRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLk1vbmV5OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3VycmVuY3lGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuSW50ZWdlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlckZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Eb3VibGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEZWNpbWFsRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJpZ251bWJlckZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CaW5hcnk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUZXh0RmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlBhc3N3b3JkOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUGFzc3dvcmRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGV4dDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRBcmVhRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRleHRJQTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRBcmVhSUFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIgPyBuZXcgQm9vbGVhblN3aXRjaEZpZWxkKGNvbmZpZykgOiBuZXcgQm9vbGVhbkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Mb2NhbERhdGVUaW1lOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENhbGVuZGFyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvb2t1cDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IExvb2t1cEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5SYWRpbzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJhZGlvQnV0dG9uRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkNoZWNrYm94OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2hlY2tib3hGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Db3VudHJ5UGhvbmVQaWNrZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmxvYjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJsb2JGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuU2xpZGVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2xpZGVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlByb2ZpbGVQaWN0dXJlOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvZmlsZVBpY3R1cmVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRWRpdG9yOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRWRpdG9yRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJ1dHRvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJ1dHRvbkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFRQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFF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QUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLGNBQWM7Z0JBQ3pCLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsTUFBTSxFQUFFLGdCQUFnQixLQUFzQixNQUFNLEVBQTFCLG1EQUEwQixDQUFDO2dCQUNyRCxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLFlBQVksS0FBYSxFQUFFLEtBQVU7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBBbGlnbm1lbnRPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgRmlsZUR0byB9IGZyb20gXCIuLi8uLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJMb2NhbGVPcHRpb25zLCBOdW1iZXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2xvY2FsZS9pbmRleFwiO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uIH0gZnJvbSBcIi4uLy4uL251bWJlci1pbnB1dFwiO1xuaW1wb3J0IHsgQWRkb25Db25maWcgfSBmcm9tIFwiLi9hZGRvbi1jb25maWdcIjtcbmltcG9ydCB7IEZpZWxkU2l6ZSB9IGZyb20gXCIuL2ZpZWxkLXNpemVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IENoZWNrYm94RmllbGQsIENvdW50cnlQaG9uZVBpY2tlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBFZGl0b3JGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9lZGl0b3ItZmllbGRcIjtcbmltcG9ydCB7IExvb2t1cEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2xvb2t1cC1maWVsZFwiO1xuaW1wb3J0IHsgTnVtYmVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5pbXBvcnQgeyBQcm9maWxlUGljdHVyZUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Byb2ZpbGUtcGljdHVyZVwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgU2xpZGVyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvc2xpZGVyLWZpZWxkXCI7XG5pbXBvcnQgeyBUZXh0QXJlYUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtYXJlYS1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFJQUZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtYXJlYS1pYS1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3RleHQtZmllbGRcIjtcbmltcG9ydCB7IEJ1dHRvbkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2J1dHRvbi1maWVsZFwiO1xuXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkIHtcbiAgICBpZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUZWxscyB3aGV0aGVyIHRoZSBmaWVsZCBpcyByZXF1aXJlZCBvciBub3RcbiAgICAgKi9cbiAgICByZXF1aXJlZD86ICgpID0+IGJvb2xlYW47XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBzb3J0YWJsZUNvbHVtbk5hbWU/OiBzdHJpbmc7XG4gICAgdHlwZT86IEZpZWxkVHlwZTtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMYWJlbHMgb2YgYSBSYWRpbyBCdXR0b24sIG9ubHkgdXNlZCB0byBGaWVsZFR5cGUgQm9vbGVhblxuICAgICAqL1xuICAgIG9wdGlvbnNMYWJlbD86IEJvb2xlYW5PcHRpb25zTGFiZWw7XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBNYXNrIHBhdHRlcm4uXG4gICAgICovXG4gICAgbWFzaz86ICgob3B0aW9ucz86IHsgdmFsdWU6IHVua25vd24gfSkgPT4gc3RyaW5nKSB8IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0aGVyZSBhcmUgbm8gcmVzdWx0cyBmb3IgYSBxdWVyeS5cbiAgICAgKi9cbiAgICBlbXB0eU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgY29scz86IG51bWJlcjtcbiAgICByb3dzPzogbnVtYmVyO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBhbnk7XG4gICAgY2FsZW5kYXJMb2NhbGVPcHRpb25zPzogQ2FsZW5kYXJMb2NhbGVPcHRpb25zO1xuICAgIG51bWJlckxvY2FsZU9wdGlvbnM/OiBOdW1iZXJMb2NhbGVPcHRpb25zO1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICBhcHBlbmRUbz86IHN0cmluZztcbiAgICBicm93c2VyQXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcbiAgICBzaG93Q2xlYXI/OiBib29sZWFuO1xuICAgIHNob3dPbkZvY3VzPzogYm9vbGVhbjtcbiAgICBzdHlsZT86IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiAgICByZXByZXNlbnRlZEJ5PzogXCJyYWRpb1wiIHwgXCJzd2l0Y2hcIjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBgUmFkaW9CdXR0b25gIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gdGhlIHZlcnRpY2FsIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgdmVydGljYWxBbGlnbm1lbnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEZpZWxkIG1heCBsZW5ndGhcbiAgICAgKi9cbiAgICBwcmVjaXNpb24/OiBGdW5jdGlvbiB8IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgZGVjaW1hbCBwbGFjZXNcbiAgICAgKi9cbiAgICBzY2FsZT86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzaW5nIEZpZWxkVHlwZS5OdW1iZXIgdGhpcyBhdHRyaWJ1dGUgaXMgdW5uZWNlc3NhcnlcbiAgICAgKi9cbiAgICBhbGlnblRvPzogTnVtYmVyQWxpZ25tZW50T3B0aW9uIHwgQWxpZ25tZW50T3B0aW9ucztcbiAgICBncmlkQ2xhc3M/OlxuICAgICAgICB8IHN0cmluZ1xuICAgICAgICB8IHN0cmluZ1tdXG4gICAgICAgIHwgU2V0PHN0cmluZz5cbiAgICAgICAgfCB7XG4gICAgICAgICAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIGF1dG9jb21wbGV0ZUZvcmNlU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWluRGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLlxuICAgICAqL1xuICAgIG1heERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGF0ZSB0byBoaWdobGlnaHQgb24gZmlyc3Qgb3BlbmluZyBpZiB0aGUgZmllbGQgaXMgYmxhbmsuXG4gICAgICovXG4gICAgZGVmYXVsdERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHRoZSBsZWZ0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIGxlZnRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHJpZ2h0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIHJpZ2h0QWRkb24/OiBBZGRvbkNvbmZpZztcbiAgICAvKipcbiAgICAgKiBJbmZvU2lnbiBwYXJhIGEgbGFiZWwgZG8gaW5wdXQuXG4gICAgICovXG4gICAgaW5mb1NpZ24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRXhwcmVzc2lvbiB0byByZXN0cmljdHMgdXNlciBpbnB1dFxuICAgICAqL1xuICAgIGtleUZpbHRlcj86IFJlZ0V4cDtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgRm9ybUZpZWxkIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBlcnJvck1lc3NhZ2VzPzogKCkgPT4gKHt9KSB8IHt9O1xuICAgIHZpc2libGU/OiAoKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgZmllbGQgcmVjZWl2ZXMgZm9jdXNcbiAgICAgKi9cbiAgICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbklucHV0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gY29tcG9uZW50IGNsaWNrLlxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsb3NlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Ub2RheUNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhckNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Nb250aENoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uWWVhckNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgYWRkZWQuXG4gICAgICovXG4gICAgb25BZGQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIHZhbHVlIGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgb25SZW1vdmU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBvbkNoaXBDbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYSBzbGlkZXIgaXMgcmVsZWFzZWRcbiAgICAgKi9cbiAgICBvblNsaWRlRW5kPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBDdXN0b21GaWVsZENsYXNzPzogYW55O1xuICAgIEN1c3RvbUZpZWxkQ29tcG9uZW50Q2xhc3M/OiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBZb3Ugc2hvdWxkIHVzZSBmb290ZXIgYXR0cmlidXRlIGluc3RlYWQuXG4gICAgICovXG4gICAgYm90dG9tVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICAgIGF1dG9DbGVhcj86IGJvb2xlYW47XG4gICAgZGlzcGxheVRpbWVJbmZvU2lnbj86IG51bWJlcjtcblxuICAgIGZvb3Rlcj86IHtcbiAgICAgICAgaGVscD86IHtcbiAgICAgICAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgICAgICAgIHZpc2libGU/OiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgbGluaz86IHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICBvbkNsaWNrOiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gdm9pZDtcbiAgICAgICAgICAgIHZpc2libGU/OiAob3B0aW9uczogeyBhYnN0cmFjdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZpZWxkOiBGb3JtRmllbGQgfSkgPT4gYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSW4gc29tZSBjYXNlcyBEeW5hbWljRm9ybUZpZWxkIHVzZSBhIGN1c3RvbSBmaWVsZCB0aGF0IGFscmVkeSBleGlzdHMsIHRoaXMgaGFwcGVuIGluIEN1c3RvbUZpZWxkcyB3aGVuIGNvbnZlcnQgJ0ludGVnZXIsIERvdWJsZSAmIE1vbmV5JyB0eXBlcyB0byAnQ3VzdG9tJyB0aGlzIGNyZWF0ZSB0d28gbGFiZWxzLiBhY3RpdmF0ZSB0aGlzIHByb3BlcnR5IGhpZGUgdGhlIHBhcmVudCBsYWJlbC5cbiAgICAgKi9cbiAgICBpZ25vcmVMYWJlbD8gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogYW55KSB7XG4gICAgICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWxlY3RGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQXV0b2NvbXBsZXRlRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLk1vbmV5OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3VycmVuY3lGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuSW50ZWdlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlckZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Eb3VibGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEZWNpbWFsRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJpZ251bWJlckZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5TdHJpbmc6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CaW5hcnk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUZXh0RmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlBhc3N3b3JkOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUGFzc3dvcmRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGV4dDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRBcmVhRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRleHRJQTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRBcmVhSUFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIgPyBuZXcgQm9vbGVhblN3aXRjaEZpZWxkKGNvbmZpZykgOiBuZXcgQm9vbGVhbkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Mb2NhbERhdGVUaW1lOlxuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENhbGVuZGFyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvb2t1cDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IExvb2t1cEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5SYWRpbzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJhZGlvQnV0dG9uRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkNoZWNrYm94OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2hlY2tib3hGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5Db3VudHJ5UGhvbmVQaWNrZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQmxvYjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJsb2JGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuU2xpZGVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2xpZGVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlByb2ZpbGVQaWN0dXJlOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvZmlsZVBpY3R1cmVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRWRpdG9yOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRWRpdG9yRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJ1dHRvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJ1dHRvbkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EmbeddedViewRef, HostListener, Injector, Input, OnDestroy, OnInit, Renderer2, } from "@angular/core";
|
|
3
3
|
import { DebounceUtils } from "../utils/debouce";
|
|
4
|
-
import { getElementLeftoverContentAvailable, getElementPositionInfo,
|
|
4
|
+
import { getElementLeftoverContentAvailable, getElementPositionInfo, isNullOrUndefined } from './../utils/utils';
|
|
5
5
|
import { MobileBehavior, TooltipEvent, TooltipPosition } from "./models";
|
|
6
6
|
import { TooltipComponent } from "./tooltip.component";
|
|
7
7
|
let TooltipDirective = class TooltipDirective {
|
|
8
|
+
// private inputRefHasFocus = false;
|
|
8
9
|
constructor(elementRef, appRef, componentFactoryResolver, injector, debounceUtils, renderer) {
|
|
9
10
|
this.elementRef = elementRef;
|
|
10
11
|
this.appRef = appRef;
|
|
@@ -19,8 +20,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
19
20
|
this.visible = true;
|
|
20
21
|
this.mobileBehavior = MobileBehavior.Pressing;
|
|
21
22
|
this.componentRef = null;
|
|
22
|
-
this.
|
|
23
|
-
this.boundOnWindowMouseMoveFunction = this.onWindowMouseMove.bind(this);
|
|
23
|
+
// this.boundOnWindowMouseMoveFunction = this.onWindowMouseMove.bind(this);
|
|
24
24
|
this.debounceCreateTooltipFunction = this.debounceUtils.debounceLeading(() => this._createTooltip(true, true));
|
|
25
25
|
}
|
|
26
26
|
ngOnInit() {
|
|
@@ -30,22 +30,24 @@ let TooltipDirective = class TooltipDirective {
|
|
|
30
30
|
ngOnDestroy() {
|
|
31
31
|
this.destroy();
|
|
32
32
|
}
|
|
33
|
-
onWindowMouseMove(event) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
// private onWindowMouseMove(event: MouseEvent) {
|
|
34
|
+
// if (!this.componentRef) {
|
|
35
|
+
// return;
|
|
36
|
+
// }
|
|
37
|
+
// const elementRect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
38
|
+
// const toolTipRect = this.tooltipDivElement.getBoundingClientRect();
|
|
39
|
+
// const totalElementArea = {
|
|
40
|
+
// top: Math.min(elementRect.top, toolTipRect.top),
|
|
41
|
+
// right: Math.max(elementRect.right, toolTipRect.right),
|
|
42
|
+
// left: Math.min(elementRect.left, toolTipRect.left),
|
|
43
|
+
// bottom: Math.max(elementRect.bottom, toolTipRect.bottom),
|
|
44
|
+
// };
|
|
45
|
+
// const isMouseOutsidePosition = isMousePositionOutsideOfElement(event, totalElementArea);
|
|
46
|
+
// const isHoverEvent = this.tooltipEvent === TooltipEvent.Hover;
|
|
47
|
+
// if (isMouseOutsidePosition && !this.inputRefHasFocus && isHoverEvent) {
|
|
48
|
+
// this.destroy();
|
|
49
|
+
// }
|
|
50
|
+
// }
|
|
49
51
|
/**
|
|
50
52
|
* Manipula a visibilidade do tooltip quando houver uma referência de input.
|
|
51
53
|
*/
|
|
@@ -55,7 +57,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
55
57
|
const icon = this.getIconFromFocusedInput();
|
|
56
58
|
this.renderer.listen(inputFocus, "focus", () => {
|
|
57
59
|
if (icon) {
|
|
58
|
-
this.
|
|
60
|
+
// this.inputRefHasFocus = true;
|
|
59
61
|
this._createTooltip(false, false);
|
|
60
62
|
}
|
|
61
63
|
});
|
|
@@ -63,7 +65,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
63
65
|
if (icon) {
|
|
64
66
|
this.removeTooltip(icon);
|
|
65
67
|
this.destroy();
|
|
66
|
-
this.
|
|
68
|
+
// this.inputRefHasFocus = false;
|
|
67
69
|
}
|
|
68
70
|
});
|
|
69
71
|
}
|
|
@@ -108,7 +110,8 @@ let TooltipDirective = class TooltipDirective {
|
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
onMouseLeave() {
|
|
111
|
-
|
|
113
|
+
// && !this.inputRefHasFocus
|
|
114
|
+
if (this.tooltipEvent === TooltipEvent.Hover) {
|
|
112
115
|
this.destroy();
|
|
113
116
|
}
|
|
114
117
|
}
|
|
@@ -170,7 +173,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
170
173
|
if (this.componentRef !== null) {
|
|
171
174
|
this.componentRef.instance.visible = this.visible;
|
|
172
175
|
this.setTooltipPositionProperty();
|
|
173
|
-
window.addEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
|
|
176
|
+
// window.addEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
setTooltipPositionProperty() {
|
|
@@ -280,7 +283,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
280
283
|
this.componentRef = null;
|
|
281
284
|
this.tooltipDivElement = null;
|
|
282
285
|
}
|
|
283
|
-
window.removeEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
|
|
286
|
+
// window.removeEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
|
|
284
287
|
}
|
|
285
288
|
};
|
|
286
289
|
TooltipDirective.ctorParameters = () => [
|
|
@@ -347,4 +350,4 @@ TooltipDirective = __decorate([
|
|
|
347
350
|
})
|
|
348
351
|
], TooltipDirective);
|
|
349
352
|
export { TooltipDirective };
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixlQUFlLEVBQ2YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xKLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQW9DekIsWUFDcUIsVUFBc0IsRUFDdEIsTUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLFFBQW1CO1FBTG5CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFyQ2pDLGFBQVEsR0FBb0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUdoRCxjQUFTLEdBQUcsR0FBRyxD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Q0FBQztJQUNyQixZQUFZLENBQUMsU0FBUyxDQUFDOytDQUt2QjtBQUdEO0lBREMsWUFBWSxDQUFDLE9BQU8sQ0FBQzsrQ0FLckI7QUFHRDtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7OENBS3BCO0FBR0Q7SUFEQyxZQUFZLENBQUMsWUFBWSxDQUFDO29EQUsxQjtBQUlEO0lBRkMsWUFBWSxDQUFDLFlBQVksQ0FBQztJQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDO29EQUtyQjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztvREFTMUI7QUFHRDtJQURDLFlBQVksQ0FBQyxVQUFVLENBQUM7a0RBUXhCO0FBaExRLGdCQUFnQjtJQUg1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsWUFBWTtLQUN6QixDQUFDO0dBQ1csZ0JBQWdCLENBeVc1QjtTQXpXWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERlYm91bmNlVXRpbHMgfSBmcm9tIFwiLi4vdXRpbHMvZGVib3VjZVwiO1xuaW1wb3J0IHsgZ2V0RWxlbWVudExlZnRvdmVyQ29udGVudEF2YWlsYWJsZSwgZ2V0RWxlbWVudFBvc2l0aW9uSW5mbywgaXNNb3VzZVBvc2l0aW9uT3V0c2lkZU9mRWxlbWVudCwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICcuLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vYmlsZUJlaGF2aW9yLCBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVG9vbHRpcF1cIixcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoXCJzVG9vbHRpcFwiKVxuICAgIHB1YmxpYyB0b29sdGlwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoXCJ0b29sdGlwUG9zaXRpb25cIilcbiAgICBwdWJsaWMgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5Ub3A7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93RGVsYXkgPSA1MDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNwbGF5VGltZTogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG9vbHRpcEV2ZW50ID0gVG9vbHRpcEV2ZW50LkhvdmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXNjYXBlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1vYmlsZUJlaGF2aW9yID0gTW9iaWxlQmVoYXZpb3IuUHJlc3Npbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb2N1c2VkSW5wdXRSZWY6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+ID0gbnVsbDtcbiAgICBwcml2YXRlIHNob3dUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgdG91Y2hUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgdG9vbHRpcERpdkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VDcmVhdGVUb29sdGlwRnVuY3Rpb246ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBleGlzdEZvY3VzZWRJbnB1dFJlZlRvb2x0aXAgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VVdGlsczogRGVib3VuY2VVdGlscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYm91bmRPbldpbmRvd01vdXNlTW92ZUZ1bmN0aW9uID0gdGhpcy5vbldpbmRvd01vdXNlTW92ZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmRlYm91bmNlQ3JlYXRlVG9vbHRpcEZ1bmN0aW9uID0gdGhpcy5kZWJvdW5jZVV0aWxzLmRlYm91bmNlTGVhZGluZygoKSA9PiB0aGlzLl9jcmVhdGVUb29sdGlwKHRydWUsIHRydWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRvb2x0aXBWaXNpYmlsaXR5V2hlbkZvY3VzT25JbnB1dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbldpbmRvd01vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdG9vbFRpcFJlY3QgPSB0aGlzLnRvb2x0aXBEaXZFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IHRvdGFsRWxlbWVudEFyZWEgPSB7XG4gICAgICAgICAgICB0b3A6IE1hdGgubWluKGVsZW1lbnRSZWN0LnRvcCwgdG9vbFRpcFJlY3QudG9wKSxcbiAgICAgICAgICAgIHJpZ2h0OiBNYXRoLm1heChlbGVtZW50UmVjdC5yaWdodCwgdG9vbFRpcFJlY3QucmlnaHQpLFxuICAgICAgICAgICAgbGVmdDogTWF0aC5taW4oZWxlbWVudFJlY3QubGVmdCwgdG9vbFRpcFJlY3QubGVmdCksXG4gICAgICAgICAgICBib3R0b206IE1hdGgubWF4KGVsZW1lbnRSZWN0LmJvdHRvbSwgdG9vbFRpcFJlY3QuYm90dG9tKSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNNb3VzZVBvc2l0aW9uT3V0c2lkZU9mRWxlbWVudChldmVudCwgdG90YWxFbGVtZW50QXJlYSkgJiYgIXRoaXMuZXhpc3RGb2N1c2VkSW5wdXRSZWZUb29sdGlwKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIGEgdmlzaWJpbGlkYWRlIGRvIHRvb2x0aXAgcXVhbmRvIGhvdXZlciB1bWEgcmVmZXLDqm5jaWEgZGUgaW5wdXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwVmlzaWJpbGl0eVdoZW5Gb2N1c09uSW5wdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRJbnB1dFJlZikge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb2N1cyA9IHRoaXMuZm9jdXNlZElucHV0UmVmO1xuICAgICAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuZ2V0SWNvbkZyb21Gb2N1c2VkSW5wdXQoKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKGlucHV0Rm9jdXMsIFwiZm9jdXNcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhpc3RGb2N1c2VkSW5wdXRSZWZUb29sdGlwID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlVG9vbHRpcChmYWxzZSwgZmFsc2UpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihpbnB1dEZvY3VzLCBcImJsdXJcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVG9vbHRpcChpY29uKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhpc3RGb2N1c2VkSW5wdXRSZWZUb29sdGlwID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPYnTDqW0gbyBlbGVtZW50byBkbyDDrWNvbmUgYXNzb2NpYWRvIGFvIGxhYmVsIGRvIGlucHV0IGVtIGZvY3VzLlxuICAgICAqIEByZXR1cm5zIE8gw61jb25lIGRvIGlucHV0IGVtIGZvY3VzLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0SWNvbkZyb21Gb2N1c2VkSW5wdXQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIG8gdG9vbHRpcCBhc3NvY2lhZG8gYW8gw61jb25lIGRvIGlucHV0IGVtIGZvY3VzLlxuICAgICAqIEBwYXJhbSBpY29uIE8gw61jb25lIGRvIGlucHV0IGVtIGZvY3VzLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVtb3ZlVG9vbHRpcChpY29uOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b29sdGlwID0gaWNvbi5xdWVyeVNlbGVjdG9yKFwiLnRvb2x0aXBcIikgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICh0b29sdGlwKSB7XG4gICAgICAgICAgICB0b29sdGlwLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0b29sdGlwIGlzIGNsaWNrZWQgSSBkZXN0cm95IHRoZSB0b29sdGlwLlxuICAgIC8vIHdoZW5ldmVyIGEga2V5IGlzIHByZXNzZWQgb24gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0b29sdGlwIEkgZGVzdHJveSB0aGUgdG9vbHRpcC5cbiAgICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiKVxuICAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3ZlciAmJiAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZC9pKSAmJiAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJmb2N1c1wiKVxuICAgIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlVG9vbHRpcCh0cnVlLCB0cnVlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImJsdXJcIilcbiAgICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwibW91c2VlbnRlclwiKVxuICAgIHB1YmxpYyBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRlYm91bmNlQ3JlYXRlVG9vbHRpcEZ1bmN0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aGVlbFwiKVxuICAgIHB1YmxpYyBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyICYmICF0aGlzLmV4aXN0Rm9jdXNlZElucHV0UmVmVG9vbHRpcCkge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwidG91Y2hzdGFydFwiKVxuICAgIHB1YmxpYyBvblRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KTtcbiAgICAgICAgICAgIGNvbnN0IF9kZWxheSA9IHRoaXMubW9iaWxlQmVoYXZpb3IgPT09IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nID8gdGhpcy5zaG93RGVsYXkgOiAwXG4gICAgICAgICAgICB0aGlzLnRvdWNoVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwKHRydWUsIHRydWUpO1xuICAgICAgICAgICAgfSwgX2RlbGF5KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcInRvdWNoZW5kXCIpXG4gICAgcHVibGljIG9uVG91Y2hFbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tb2JpbGVCZWhhdmlvciA9PT0gTW9iaWxlQmVoYXZpb3IuUHJlc3NpbmcpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29udGFpbnNQb3NpdGlvbiA9IFtUb29sdGlwUG9zaXRpb24uVG9wLCBUb29sdGlwUG9zaXRpb24uUmlnaHQsIFRvb2x0aXBQb3NpdGlvbi5Cb3R0b20sIFRvb2x0aXBQb3NpdGlvbi5MZWZ0XS5pbmNsdWRlcyhcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWNvbnRhaW5zUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUb29sdGlwICR7dGhpcy5wb3NpdGlvbn0gcG9zaXRpb24gaXMgdW5leHBlY3RlZGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREb21FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRvb2x0aXBDb21wb25lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVRvb2x0aXAodXNlU2hvd0RlbGF5ID0gZmFsc2UsIGF1dG9EZXN0cm95ID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBoYXNUZXh0ID0gdGhpcy50b29sdGlwPy5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBoYXNDb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbDtcbiAgICAgICAgaWYgKCFoYXNUZXh0IHx8IGhhc0NvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERvbUVsZW1lbnQoKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtZW50KTtcbiAgICAgICAgdGhpcy50b29sdGlwRGl2RWxlbWVudCA9IGRvbUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi50b29sdGlwXCIpO1xuICAgICAgICB0aGlzLnNldFRvb2x0aXBDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGNvbnN0IF9zaG93RGVsYXkgPSB1c2VTaG93RGVsYXkgPyB0aGlzLnNob3dEZWxheSA6IDA7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpXG4gICAgICAgIH0sIF9zaG93RGVsYXkpXG5cblxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHdpbmRvdywgXCJzY3JvbGxcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRUb29sdGlwUG9zaXRpb25Qcm9wZXJ0eSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYXV0b0Rlc3Ryb3kgJiYgdGhpcy5kaXNwbGF5VGltZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9LCB0aGlzLmRpc3BsYXlUaW1lKVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb29sdGlwKCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZpc2libGUgPSB0aGlzLnZpc2libGU7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0VG9vbHRpcFBvc2l0aW9uUHJvcGVydHkoKTtcblxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5ib3VuZE9uV2luZG93TW91c2VNb3ZlRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUb29sdGlwUG9zaXRpb25Qcm9wZXJ0eSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yU2l6ZSA9IDU7XG4gICAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50UG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb25JbmZvKHRoaXMudG9vbHRpcERpdkVsZW1lbnQpO1xuICAgICAgICBjb25zdCBlbGVtZW50TGVmdG92ZXIgPSBnZXRFbGVtZW50TGVmdG92ZXJDb250ZW50QXZhaWxhYmxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgZWxlbWVudFRyaWdnZXJQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbkluZm8odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBjb25zdCBpc1Bvc2l0aW9uSG9yaXpvbnRhbCA9IFtUb29sdGlwUG9zaXRpb24uTGVmdCwgVG9vbHRpcFBvc2l0aW9uLlJpZ2h0XS5pbmNsdWRlcyh0aGlzLnBvc2l0aW9uKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VUb0JvcmRlcnMgPSBpc1Bvc2l0aW9uSG9yaXpvbnRhbCA/IHRvb2x0aXBFbGVtZW50UG9zaXRpb24uZWxlbWVudFdpZHRoIDogdG9vbHRpcEVsZW1lbnRQb3NpdGlvbi5lbGVtZW50SG9yaXpvbnRhbENlbnRlcjtcbiAgICAgICAgY29uc3QgY2FuU2V0QXRUb3AgPSBlbGVtZW50TGVmdG92ZXIuZnJlZURpc3RhbmNlVG9Ub3AgPiB0b29sdGlwRWxlbWVudFBvc2l0aW9uLmVsZW1lbnRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGNhblNldEF0TGVmdCA9IGVsZW1lbnRMZWZ0b3Zlci5mcmVlRGlzdGFuY2VUb0xlZnQgPiBkaXN0YW5jZVRvQm9yZGVycztcbiAgICAgICAgY29uc3QgY2FuU2V0QXRSaWdodCA9IGVsZW1lbnRMZWZ0b3Zlci5mcmVlRGlzdGFuY2VUb1JpZ2h0ID4gZGlzdGFuY2VUb0JvcmRlcnM7XG4gICAgICAgIGNvbnN0IGNhblNldEF0Qm90dG9tID0gZWxlbWVudExlZnRvdmVyLmZyZWVEaXN0YW5jZVRvQm90dG9tID4gdG9vbHRpcEVsZW1lbnRQb3NpdGlvbi5lbGVtZW50SGVpZ2h0O1xuICAgICAgICBjb25zdCB0b3BWZXJ0aWNhbCA9IGVsZW1lbnRUcmlnZ2VyUG9zaXRpb24udG9wICsgZWxlbWVudFRyaWdnZXJQb3NpdGlvbi5lbGVtZW50VmVydGljYWxDZW50ZXI7XG4gICAgICAgIGNvbnN0IGNoZWNrVG9wUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY2FuU2V0QXRUb3AgJiYgY2FuU2V0QXRMZWZ0ICYmIGNhblNldEF0UmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hlY2tCb3R0b21Qb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjYW5TZXRBdEJvdHRvbSAmJiBjYW5TZXRBdExlZnQgJiYgY2FuU2V0QXRSaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGVja0xlZnRQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjYW5TZXRBdExlZnQgJiYgY2FuU2V0QXRUb3AgJiYgY2FuU2V0QXRCb3R0b207XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGVja1JpZ2h0UG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY2FuU2V0QXRSaWdodCAmJiBjYW5TZXRBdFRvcCAmJiBjYW5TZXRBdEJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNldFRvcFBvc2l0aW9uID0gKCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGVmdDogbGVmdCArIChyaWdodCAtIGxlZnQpIC8gMixcbiAgICAgICAgICAgICAgICB0b3A6IGVsZW1lbnRUcmlnZ2VyUG9zaXRpb24udG9wIC0gYW5jaG9yU2l6ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2V0Qm90dG9tUG9zaXRpb24gPSAoKTogeyBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyIH0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0ICsgKHJpZ2h0IC0gbGVmdCkgLyAyLFxuICAgICAgICAgICAgICAgIHRvcDogZWxlbWVudFRyaWdnZXJQb3NpdGlvbi50b3AgKyBlbGVtZW50VHJpZ2dlclBvc2l0aW9uLmVsZW1lbnRIZWlnaHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXRMZWZ0UG9zaXRpb24gPSAoKTogeyBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyIH0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgIHRvcDogdG9wVmVydGljYWxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXRSaWdodFBvc2l0aW9uID0gKCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmlnaHQsXG4gICAgICAgICAgICAgICAgdG9wOiB0b3BWZXJ0aWNhbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHR5cGUgUG9zaXRpb24gPSB7XG4gICAgICAgICAgICBwb3M6IFRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIGNoZWNrOiAoKSA9PiBib29sZWFuLFxuICAgICAgICAgICAgc2V0OiAoKSA9PiB7IGxlZnQ6IG51bWJlciwgdG9wOiBudW1iZXIgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25zOiBQb3NpdGlvbltdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLlRvcCxcbiAgICAgICAgICAgICAgICBjaGVjazogY2hlY2tUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICAgICBzZXQ6IHNldFRvcFBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLkJvdHRvbSxcbiAgICAgICAgICAgICAgICBjaGVjazogY2hlY2tCb3R0b21Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICBzZXQ6IHNldEJvdHRvbVBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLkxlZnQsXG4gICAgICAgICAgICAgICAgY2hlY2s6IGNoZWNrTGVmdFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIHNldDogc2V0TGVmdFBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLlJpZ2h0LFxuICAgICAgICAgICAgICAgIGNoZWNrOiBjaGVja1JpZ2h0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgc2V0OiBzZXRSaWdodFBvc2l0aW9uXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvbkRlZmluZWQgPSBwb3NpdGlvbnMuZmluZCgocG9zaXRpb24pID0+IHBvc2l0aW9uLnBvcyA9PT0gdGhpcy5wb3NpdGlvbik7XG4gICAgICAgIGxldCB2YWxpZFBvc2l0aW9uOiBQb3NpdGlvbiA9IHBvc2l0aW9uRGVmaW5lZDtcbiAgICAgICAgY29uc3QgY2FuVXNlRGVmaW5lZFBvc2l0aW9uID0gcG9zaXRpb25EZWZpbmVkLmNoZWNrKCk7XG4gICAgICAgIGlmIChjYW5Vc2VEZWZpbmVkUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHZhbGlkUG9zaXRpb24gPSBwb3NpdGlvbkRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAoIWNhblVzZURlZmluZWRQb3NpdGlvbikge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRBbHRlcm5hdGl2ZVBvc2l0aW9uID0gcG9zaXRpb25zLmZpbmQoKHBvc2l0aW9uKSA9PiBwb3NpdGlvbi5jaGVjaygpKTtcbiAgICAgICAgICAgIGlmICh2YWxpZEFsdGVybmF0aXZlUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB2YWxpZFBvc2l0aW9uID0gdmFsaWRBbHRlcm5hdGl2ZVBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9wb3NpdGlvbiA9IHZhbGlkUG9zaXRpb24uc2V0KCk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uTGVmdCA9IF9wb3NpdGlvbi5sZWZ0O1xuICAgICAgICBjb25zdCBwb3NpdGlvblRvcCA9IF9wb3NpdGlvbi50b3A7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKHBvc2l0aW9uTGVmdCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQocG9zaXRpb25Ub3ApO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHZhbGlkUG9zaXRpb24ucG9zO1xuXG4gICAgfVxuICAgIHByaXZhdGUgc2V0VG9vbHRpcENvbXBvbmVudFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9vbHRpcCA9IHRoaXMudG9vbHRpcDtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmVzY2FwZSA9IHRoaXMuZXNjYXBlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuY29tcG9uZW50UmVmKSkge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbik7XG4gICAgfVxufVxuIl19
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixlQUFlLEVBQ2YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxzQkFBc0IsRUFBbUMsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsSixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdkQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFrQ3pCLG9DQUFvQztJQUVwQyxZQUNxQixVQUFzQixFQUN0QixNQUFzQixFQUN0Qix3QkFBa0QsRUFDbEQsUUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsUUFBbUI7UUFMbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXJDakMsYUFBUSxHQUFvQixlQUFlLENBQUMsR0FBRyxDQUFDO1FBR2hELGNBQVMsR0FBRyxHQUFHLENBQUM7UUFNaEIsaUJBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBR2xDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFHZixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2YsbUJBQWMsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBS3hDLGlCQUFZLEdBQW1DLElBQUksQ0FBQztRQWdCeEQsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxnQ0FBZ0M7SUFDaEMsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixpRkFBaUY7SUFDakYsMEVBQTBFO0lBRTFFLGlDQUFpQztJQUNqQywyREFBMkQ7SUFDM0QsaUVBQWlFO0lBQ2pFLDhEQUE4RDtJQUM5RCxvRUFBb0U7SUFDcEUsU0FBUztJQUVULCtGQUErRjtJQUMvRixxRUFBcUU7SUFFckUsOEVBQThFO0lBQzlFLDBCQUEwQjtJQUMxQixRQUFRO0lBQ1IsSUFBSTtJQUVKOztPQUVHO0lBQ0ssdUNBQXVDO1FBQzNDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUMzQyxJQUFJLElBQUksRUFBRTtvQkFDTixnQ0FBZ0M7b0JBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO2lCQUNwQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQzFDLElBQUksSUFBSSxFQUFFO29CQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDZixpQ0FBaUM7aUJBQ3BDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyx1QkFBdUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLElBQWlCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFnQixDQUFDO1FBQzlELElBQUksT0FBTyxFQUFFO1lBQ1QsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxxRkFBcUY7SUFHOUUsT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3SCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBR00sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1NBQ2xDO0lBQ0wsQ0FBQztJQUdNLE1BQU07UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBR00sWUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQzFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUlNLFlBQVk7UUFDZiw0QkFBNEI7UUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2xCO0lBQ0wsQ0FBQztJQUdNLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMxQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDYjtJQUNMLENBQUM7SUFHTSxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDMUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbEI7U0FDSjtJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQ3hILElBQUksQ0FBQyxRQUFRLENBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsUUFBUSx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxPQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO0lBQzVGLENBQUM7SUFFTyxjQUFjLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxXQUFXLEdBQUcsSUFBSTs7UUFDM0QsTUFBTSxPQUFPLEdBQUcsT0FBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLElBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLElBQUksZUFBZSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3RCLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUlkLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQ3ZCO0lBRUwsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRWxELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBRWxDLDZFQUE2RTtTQUNoRjtJQUNMLENBQUM7SUFFTywwQkFBMEI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsT0FBTTtTQUNUO1FBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU5RSxNQUFNLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUYsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25HLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUM7UUFDdEksTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztRQUM3RixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUM7UUFDNUUsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDO1FBQzlFLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7UUFDbkcsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDO1FBQzlGLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sV0FBVyxJQUFJLFlBQVksSUFBSSxhQUFhLENBQUM7UUFDeEQsQ0FBQyxDQUFBO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7WUFDN0IsT0FBTyxjQUFjLElBQUksWUFBWSxJQUFJLGFBQWEsQ0FBQztRQUMzRCxDQUFDLENBQUE7UUFDRCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtZQUMzQixPQUFPLFlBQVksSUFBSSxXQUFXLElBQUksY0FBYyxDQUFDO1FBQ3pELENBQUMsQ0FBQTtRQUVELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQzVCLE9BQU8sYUFBYSxJQUFJLFdBQVcsSUFBSSxjQUFjLENBQUM7UUFDMUQsQ0FBQyxDQUFBO1FBRUQsTUFBTSxjQUFjLEdBQUcsR0FBa0MsRUFBRTtZQUN2RCxPQUFPO2dCQUNILElBQUksRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDL0IsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEdBQUcsR0FBRyxVQUFVO2FBQy9DLENBQUE7UUFDTCxDQUFDLENBQUE7UUFFRCxNQUFNLGlCQUFpQixHQUFHLEdBQWtDLEVBQUU7WUFDMUQsT0FBTztnQkFDSCxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQy9CLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsYUFBYTthQUN6RSxDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQUcsR0FBa0MsRUFBRTtZQUN4RCxPQUFPO2dCQUNILElBQUksRUFBRSxJQUFJO2dCQUNWLEdBQUcsRUFBRSxXQUFXO2FBQ25CLENBQUM7UUFDTixDQUFDLENBQUE7UUFFRCxNQUFNLGdCQUFnQixHQUFHLEdBQWtDLEVBQUU7WUFDekQsT0FBTztnQkFDSCxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsV0FBVzthQUNuQixDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBUUQsTUFBTSxTQUFTLEdBQWU7WUFDMUI7Z0JBQ0ksR0FBRyxFQUFFLGVBQWUsQ0FBQyxHQUFHO2dCQUN4QixLQUFLLEVBQUUsZ0JBQWdCO2dCQUN2QixHQUFHLEVBQUUsY0FBYzthQUN0QjtZQUNEO2dCQUNJLEdBQUcsRUFBRSxlQUFlLENBQUMsTUFBTTtnQkFDM0IsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsR0FBRyxFQUFFLGlCQUFpQjthQUN6QjtZQUNEO2dCQUNJLEdBQUcsRUFBRSxlQUFlLENBQUMsSUFBSTtnQkFDekIsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsR0FBRyxFQUFFLGVBQWU7YUFDdkI7WUFDRDtnQkFDSSxHQUFHLEVBQUUsZUFBZSxDQUFDLEtBQUs7Z0JBQzFCLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCLEdBQUcsRUFBRSxnQkFBZ0I7YUFFeEI7U0FDSixDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckYsSUFBSSxhQUFhLEdBQWEsZUFBZSxDQUFDO1FBQzlDLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RELElBQUkscUJBQXFCLEVBQUU7WUFDdkIsYUFBYSxHQUFHLGVBQWUsQ0FBQztTQUNuQzthQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMvQixNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLElBQUksd0JBQXdCLEVBQUU7Z0JBQzFCLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQzthQUM1QztTQUNKO1FBQ0QsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUU1RCxDQUFDO0lBQ08sNkJBQTZCO1FBQ2pDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRU8sT0FBTztRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDdkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7U0FDakM7UUFFRCxnRkFBZ0Y7SUFDcEYsQ0FBQztDQUNKLENBQUE7O1lBeFVvQyxVQUFVO1lBQ2QsY0FBYztZQUNJLHdCQUF3QjtZQUN4QyxRQUFRO1lBQ0gsYUFBYTtZQUNsQixTQUFTOztBQXhDeEM7SUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDO2lEQUNLO0FBR3ZCO0lBREMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2tEQUM4QjtBQUd2RDtJQURDLEtBQUssRUFBRTttREFDZTtBQUd2QjtJQURDLEtBQUssRUFBRTtxREFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7c0RBQ2lDO0FBR3pDO0lBREMsS0FBSyxFQUFFO2dEQUNjO0FBR3RCO0lBREMsS0FBSyxFQUFFO2lEQUNjO0FBR3RCO0lBREMsS0FBSyxFQUFFO3dEQUN3QztBQUdoRDtJQURDLEtBQUssRUFBRTt5REFDaUM7QUFtR3pDO0lBRkMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNyQixZQUFZLENBQUMsU0FBUyxDQUFDOytDQUt2QjtBQUdEO0lBREMsWUFBWSxDQUFDLE9BQU8sQ0FBQzsrQ0FLckI7QUFHRDtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7OENBS3BCO0FBR0Q7SUFEQyxZQUFZLENBQUMsWUFBWSxDQUFDO29EQUsxQjtBQUlEO0lBRkMsWUFBWSxDQUFDLFlBQVksQ0FBQztJQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDO29EQU1yQjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztvREFTMUI7QUFHRDtJQURDLFlBQVksQ0FBQyxVQUFVLENBQUM7a0RBUXhCO0FBcExRLGdCQUFnQjtJQUg1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsWUFBWTtLQUN6QixDQUFDO0dBQ1csZ0JBQWdCLENBNlc1QjtTQTdXWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERlYm91bmNlVXRpbHMgfSBmcm9tIFwiLi4vdXRpbHMvZGVib3VjZVwiO1xuaW1wb3J0IHsgZ2V0RWxlbWVudExlZnRvdmVyQ29udGVudEF2YWlsYWJsZSwgZ2V0RWxlbWVudFBvc2l0aW9uSW5mbywgaXNNb3VzZVBvc2l0aW9uT3V0c2lkZU9mRWxlbWVudCwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICcuLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vYmlsZUJlaGF2aW9yLCBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltzVG9vbHRpcF1cIixcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoXCJzVG9vbHRpcFwiKVxuICAgIHB1YmxpYyB0b29sdGlwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoXCJ0b29sdGlwUG9zaXRpb25cIilcbiAgICBwdWJsaWMgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5Ub3A7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93RGVsYXkgPSA1MDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNwbGF5VGltZTogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG9vbHRpcEV2ZW50ID0gVG9vbHRpcEV2ZW50LkhvdmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXNjYXBlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1vYmlsZUJlaGF2aW9yID0gTW9iaWxlQmVoYXZpb3IuUHJlc3Npbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb2N1c2VkSW5wdXRSZWY6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+ID0gbnVsbDtcbiAgICBwcml2YXRlIHNob3dUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgdG91Y2hUaW1lb3V0PzogbnVtYmVyO1xuICAgIHByaXZhdGUgdG9vbHRpcERpdkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICAvLyBwcml2YXRlIHJlYWRvbmx5IGJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VDcmVhdGVUb29sdGlwRnVuY3Rpb246ICgpID0+IHZvaWQ7XG4gICAgLy8gcHJpdmF0ZSBpbnB1dFJlZkhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlYm91bmNlVXRpbHM6IERlYm91bmNlVXRpbHMsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge1xuICAgICAgICAvLyB0aGlzLmJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbiA9IHRoaXMub25XaW5kb3dNb3VzZU1vdmUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5kZWJvdW5jZUNyZWF0ZVRvb2x0aXBGdW5jdGlvbiA9IHRoaXMuZGVib3VuY2VVdGlscy5kZWJvdW5jZUxlYWRpbmcoKCkgPT4gdGhpcy5fY3JlYXRlVG9vbHRpcCh0cnVlLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVUb29sdGlwVmlzaWJpbGl0eVdoZW5Gb2N1c09uSW5wdXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8vIHByaXZhdGUgb25XaW5kb3dNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAvLyAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgIC8vICAgICAgICAgcmV0dXJuO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gICAgIGNvbnN0IHRvb2xUaXBSZWN0ID0gdGhpcy50b29sdGlwRGl2RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vICAgICBjb25zdCB0b3RhbEVsZW1lbnRBcmVhID0ge1xuICAgIC8vICAgICAgICAgdG9wOiBNYXRoLm1pbihlbGVtZW50UmVjdC50b3AsIHRvb2xUaXBSZWN0LnRvcCksXG4gICAgLy8gICAgICAgICByaWdodDogTWF0aC5tYXgoZWxlbWVudFJlY3QucmlnaHQsIHRvb2xUaXBSZWN0LnJpZ2h0KSxcbiAgICAvLyAgICAgICAgIGxlZnQ6IE1hdGgubWluKGVsZW1lbnRSZWN0LmxlZnQsIHRvb2xUaXBSZWN0LmxlZnQpLFxuICAgIC8vICAgICAgICAgYm90dG9tOiBNYXRoLm1heChlbGVtZW50UmVjdC5ib3R0b20sIHRvb2xUaXBSZWN0LmJvdHRvbSksXG4gICAgLy8gICAgIH07XG5cbiAgICAvLyAgICAgY29uc3QgaXNNb3VzZU91dHNpZGVQb3NpdGlvbiA9IGlzTW91c2VQb3NpdGlvbk91dHNpZGVPZkVsZW1lbnQoZXZlbnQsIHRvdGFsRWxlbWVudEFyZWEpO1xuICAgIC8vICAgICBjb25zdCBpc0hvdmVyRXZlbnQgPSB0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyO1xuXG4gICAgLy8gICAgIGlmIChpc01vdXNlT3V0c2lkZVBvc2l0aW9uICYmICF0aGlzLmlucHV0UmVmSGFzRm9jdXMgJiYgaXNIb3ZlckV2ZW50KSB7XG4gICAgLy8gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIC8qKlxuICAgICAqIE1hbmlwdWxhIGEgdmlzaWJpbGlkYWRlIGRvIHRvb2x0aXAgcXVhbmRvIGhvdXZlciB1bWEgcmVmZXLDqm5jaWEgZGUgaW5wdXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwVmlzaWJpbGl0eVdoZW5Gb2N1c09uSW5wdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRJbnB1dFJlZikge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb2N1cyA9IHRoaXMuZm9jdXNlZElucHV0UmVmO1xuICAgICAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuZ2V0SWNvbkZyb21Gb2N1c2VkSW5wdXQoKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKGlucHV0Rm9jdXMsIFwiZm9jdXNcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuaW5wdXRSZWZIYXNGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZVRvb2x0aXAoZmFsc2UsIGZhbHNlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oaW5wdXRGb2N1cywgXCJibHVyXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVRvb2x0aXAoaWNvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0UmVmSGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9idMOpbSBvIGVsZW1lbnRvIGRvIMOtY29uZSBhc3NvY2lhZG8gYW8gbGFiZWwgZG8gaW5wdXQgZW0gZm9jdXMuXG4gICAgICogQHJldHVybnMgTyDDrWNvbmUgZG8gaW5wdXQgZW0gZm9jdXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRJY29uRnJvbUZvY3VzZWRJbnB1dCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgbyB0b29sdGlwIGFzc29jaWFkbyBhbyDDrWNvbmUgZG8gaW5wdXQgZW0gZm9jdXMuXG4gICAgICogQHBhcmFtIGljb24gTyDDrWNvbmUgZG8gaW5wdXQgZW0gZm9jdXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZW1vdmVUb29sdGlwKGljb246IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSBpY29uLnF1ZXJ5U2VsZWN0b3IoXCIudG9vbHRpcFwiKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKHRvb2x0aXApIHtcbiAgICAgICAgICAgIHRvb2x0aXAucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3aGVuZXZlciB0aGUgY29tcG9uZW50IHdpdGggdGhlIHRvb2x0aXAgaXMgY2xpY2tlZCBJIGRlc3Ryb3kgdGhlIHRvb2x0aXAuXG4gICAgLy8gd2hlbmV2ZXIgYSBrZXkgaXMgcHJlc3NlZCBvbiB0aGUgY29tcG9uZW50IHdpdGggdGhlIHRvb2x0aXAgSSBkZXN0cm95IHRoZSB0b29sdGlwLlxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIpXG4gICAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyICYmICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BbmRyb2lkL2kpICYmICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmUvaSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImZvY3VzXCIpXG4gICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwKHRydWUsIHRydWUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiYmx1clwiKVxuICAgIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG4gICAgcHVibGljIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcEV2ZW50ID09PSBUb29sdGlwRXZlbnQuSG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVib3VuY2VDcmVhdGVUb29sdGlwRnVuY3Rpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG4gICAgQEhvc3RMaXN0ZW5lcihcIndoZWVsXCIpXG4gICAgcHVibGljIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gJiYgIXRoaXMuaW5wdXRSZWZIYXNGb2N1c1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwidG91Y2hzdGFydFwiKVxuICAgIHB1YmxpYyBvblRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KTtcbiAgICAgICAgICAgIGNvbnN0IF9kZWxheSA9IHRoaXMubW9iaWxlQmVoYXZpb3IgPT09IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nID8gdGhpcy5zaG93RGVsYXkgOiAwXG4gICAgICAgICAgICB0aGlzLnRvdWNoVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwKHRydWUsIHRydWUpO1xuICAgICAgICAgICAgfSwgX2RlbGF5KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcInRvdWNoZW5kXCIpXG4gICAgcHVibGljIG9uVG91Y2hFbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tb2JpbGVCZWhhdmlvciA9PT0gTW9iaWxlQmVoYXZpb3IuUHJlc3NpbmcpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29udGFpbnNQb3NpdGlvbiA9IFtUb29sdGlwUG9zaXRpb24uVG9wLCBUb29sdGlwUG9zaXRpb24uUmlnaHQsIFRvb2x0aXBQb3NpdGlvbi5Cb3R0b20sIFRvb2x0aXBQb3NpdGlvbi5MZWZ0XS5pbmNsdWRlcyhcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWNvbnRhaW5zUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUb29sdGlwICR7dGhpcy5wb3NpdGlvbn0gcG9zaXRpb24gaXMgdW5leHBlY3RlZGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREb21FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRvb2x0aXBDb21wb25lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVRvb2x0aXAodXNlU2hvd0RlbGF5ID0gZmFsc2UsIGF1dG9EZXN0cm95ID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBoYXNUZXh0ID0gdGhpcy50b29sdGlwPy5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBoYXNDb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbDtcbiAgICAgICAgaWYgKCFoYXNUZXh0IHx8IGhhc0NvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERvbUVsZW1lbnQoKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtZW50KTtcbiAgICAgICAgdGhpcy50b29sdGlwRGl2RWxlbWVudCA9IGRvbUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi50b29sdGlwXCIpO1xuICAgICAgICB0aGlzLnNldFRvb2x0aXBDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGNvbnN0IF9zaG93RGVsYXkgPSB1c2VTaG93RGVsYXkgPyB0aGlzLnNob3dEZWxheSA6IDA7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpXG4gICAgICAgIH0sIF9zaG93RGVsYXkpXG5cblxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHdpbmRvdywgXCJzY3JvbGxcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRUb29sdGlwUG9zaXRpb25Qcm9wZXJ0eSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYXV0b0Rlc3Ryb3kgJiYgdGhpcy5kaXNwbGF5VGltZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9LCB0aGlzLmRpc3BsYXlUaW1lKVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb29sdGlwKCkge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZpc2libGUgPSB0aGlzLnZpc2libGU7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0VG9vbHRpcFBvc2l0aW9uUHJvcGVydHkoKTtcblxuICAgICAgICAgICAgLy8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5ib3VuZE9uV2luZG93TW91c2VNb3ZlRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUb29sdGlwUG9zaXRpb25Qcm9wZXJ0eSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yU2l6ZSA9IDU7XG4gICAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50UG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb25JbmZvKHRoaXMudG9vbHRpcERpdkVsZW1lbnQpO1xuICAgICAgICBjb25zdCBlbGVtZW50TGVmdG92ZXIgPSBnZXRFbGVtZW50TGVmdG92ZXJDb250ZW50QXZhaWxhYmxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgZWxlbWVudFRyaWdnZXJQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbkluZm8odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBjb25zdCBpc1Bvc2l0aW9uSG9yaXpvbnRhbCA9IFtUb29sdGlwUG9zaXRpb24uTGVmdCwgVG9vbHRpcFBvc2l0aW9uLlJpZ2h0XS5pbmNsdWRlcyh0aGlzLnBvc2l0aW9uKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VUb0JvcmRlcnMgPSBpc1Bvc2l0aW9uSG9yaXpvbnRhbCA/IHRvb2x0aXBFbGVtZW50UG9zaXRpb24uZWxlbWVudFdpZHRoIDogdG9vbHRpcEVsZW1lbnRQb3NpdGlvbi5lbGVtZW50SG9yaXpvbnRhbENlbnRlcjtcbiAgICAgICAgY29uc3QgY2FuU2V0QXRUb3AgPSBlbGVtZW50TGVmdG92ZXIuZnJlZURpc3RhbmNlVG9Ub3AgPiB0b29sdGlwRWxlbWVudFBvc2l0aW9uLmVsZW1lbnRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGNhblNldEF0TGVmdCA9IGVsZW1lbnRMZWZ0b3Zlci5mcmVlRGlzdGFuY2VUb0xlZnQgPiBkaXN0YW5jZVRvQm9yZGVycztcbiAgICAgICAgY29uc3QgY2FuU2V0QXRSaWdodCA9IGVsZW1lbnRMZWZ0b3Zlci5mcmVlRGlzdGFuY2VUb1JpZ2h0ID4gZGlzdGFuY2VUb0JvcmRlcnM7XG4gICAgICAgIGNvbnN0IGNhblNldEF0Qm90dG9tID0gZWxlbWVudExlZnRvdmVyLmZyZWVEaXN0YW5jZVRvQm90dG9tID4gdG9vbHRpcEVsZW1lbnRQb3NpdGlvbi5lbGVtZW50SGVpZ2h0O1xuICAgICAgICBjb25zdCB0b3BWZXJ0aWNhbCA9IGVsZW1lbnRUcmlnZ2VyUG9zaXRpb24udG9wICsgZWxlbWVudFRyaWdnZXJQb3NpdGlvbi5lbGVtZW50VmVydGljYWxDZW50ZXI7XG4gICAgICAgIGNvbnN0IGNoZWNrVG9wUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY2FuU2V0QXRUb3AgJiYgY2FuU2V0QXRMZWZ0ICYmIGNhblNldEF0UmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hlY2tCb3R0b21Qb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjYW5TZXRBdEJvdHRvbSAmJiBjYW5TZXRBdExlZnQgJiYgY2FuU2V0QXRSaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGVja0xlZnRQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjYW5TZXRBdExlZnQgJiYgY2FuU2V0QXRUb3AgJiYgY2FuU2V0QXRCb3R0b207XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGVja1JpZ2h0UG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY2FuU2V0QXRSaWdodCAmJiBjYW5TZXRBdFRvcCAmJiBjYW5TZXRBdEJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNldFRvcFBvc2l0aW9uID0gKCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGVmdDogbGVmdCArIChyaWdodCAtIGxlZnQpIC8gMixcbiAgICAgICAgICAgICAgICB0b3A6IGVsZW1lbnRUcmlnZ2VyUG9zaXRpb24udG9wIC0gYW5jaG9yU2l6ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2V0Qm90dG9tUG9zaXRpb24gPSAoKTogeyBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyIH0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0ICsgKHJpZ2h0IC0gbGVmdCkgLyAyLFxuICAgICAgICAgICAgICAgIHRvcDogZWxlbWVudFRyaWdnZXJQb3NpdGlvbi50b3AgKyBlbGVtZW50VHJpZ2dlclBvc2l0aW9uLmVsZW1lbnRIZWlnaHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXRMZWZ0UG9zaXRpb24gPSAoKTogeyBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyIH0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgIHRvcDogdG9wVmVydGljYWxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXRSaWdodFBvc2l0aW9uID0gKCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmlnaHQsXG4gICAgICAgICAgICAgICAgdG9wOiB0b3BWZXJ0aWNhbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHR5cGUgUG9zaXRpb24gPSB7XG4gICAgICAgICAgICBwb3M6IFRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIGNoZWNrOiAoKSA9PiBib29sZWFuLFxuICAgICAgICAgICAgc2V0OiAoKSA9PiB7IGxlZnQ6IG51bWJlciwgdG9wOiBudW1iZXIgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25zOiBQb3NpdGlvbltdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLlRvcCxcbiAgICAgICAgICAgICAgICBjaGVjazogY2hlY2tUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICAgICBzZXQ6IHNldFRvcFBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLkJvdHRvbSxcbiAgICAgICAgICAgICAgICBjaGVjazogY2hlY2tCb3R0b21Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICBzZXQ6IHNldEJvdHRvbVBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLkxlZnQsXG4gICAgICAgICAgICAgICAgY2hlY2s6IGNoZWNrTGVmdFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIHNldDogc2V0TGVmdFBvc2l0aW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvczogVG9vbHRpcFBvc2l0aW9uLlJpZ2h0LFxuICAgICAgICAgICAgICAgIGNoZWNrOiBjaGVja1JpZ2h0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgc2V0OiBzZXRSaWdodFBvc2l0aW9uXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvbkRlZmluZWQgPSBwb3NpdGlvbnMuZmluZCgocG9zaXRpb24pID0+IHBvc2l0aW9uLnBvcyA9PT0gdGhpcy5wb3NpdGlvbik7XG4gICAgICAgIGxldCB2YWxpZFBvc2l0aW9uOiBQb3NpdGlvbiA9IHBvc2l0aW9uRGVmaW5lZDtcbiAgICAgICAgY29uc3QgY2FuVXNlRGVmaW5lZFBvc2l0aW9uID0gcG9zaXRpb25EZWZpbmVkLmNoZWNrKCk7XG4gICAgICAgIGlmIChjYW5Vc2VEZWZpbmVkUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHZhbGlkUG9zaXRpb24gPSBwb3NpdGlvbkRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAoIWNhblVzZURlZmluZWRQb3NpdGlvbikge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRBbHRlcm5hdGl2ZVBvc2l0aW9uID0gcG9zaXRpb25zLmZpbmQoKHBvc2l0aW9uKSA9PiBwb3NpdGlvbi5jaGVjaygpKTtcbiAgICAgICAgICAgIGlmICh2YWxpZEFsdGVybmF0aXZlUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB2YWxpZFBvc2l0aW9uID0gdmFsaWRBbHRlcm5hdGl2ZVBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9wb3NpdGlvbiA9IHZhbGlkUG9zaXRpb24uc2V0KCk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uTGVmdCA9IF9wb3NpdGlvbi5sZWZ0O1xuICAgICAgICBjb25zdCBwb3NpdGlvblRvcCA9IF9wb3NpdGlvbi50b3A7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKHBvc2l0aW9uTGVmdCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQocG9zaXRpb25Ub3ApO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHZhbGlkUG9zaXRpb24ucG9zO1xuXG4gICAgfVxuICAgIHByaXZhdGUgc2V0VG9vbHRpcENvbXBvbmVudFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9vbHRpcCA9IHRoaXMudG9vbHRpcDtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmVzY2FwZSA9IHRoaXMuZXNjYXBlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuY29tcG9uZW50UmVmKSkge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbik7XG4gICAgfVxufVxuIl19
|
|
@@ -118,4 +118,4 @@ var CodeEditorComponent = /** @class */ (function () {
|
|
|
118
118
|
return CodeEditorComponent;
|
|
119
119
|
}());
|
|
120
120
|
export { CodeEditorComponent };
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZXhEO0lBK0JJLDZCQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkI1QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2hELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS2hELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyxjQUFTLEdBQTRCLGNBQVEsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBZSxjQUFRLENBQUMsQ0FBQztJQUVZLENBQUM7NEJBL0IvQyxtQkFBbUI7SUFFNUIsc0JBQVcsOENBQWE7YUFBeEIsVUFBeUIsT0FBc0I7WUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDOzs7T0FBQTtJQUdE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cUJBQW1CLEVBQW5CLENBQW1CLENBQUM7b0JBQ2xELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLG1CQUFtQixDQXVGL0I7SUFBRCwwQkFBQztDQUFBLEFBdkZELElBdUZDO1NBdkZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBDb3JlRmFjYWRlIH0gZnJvbSBcIi4vY29yZS9mYWNhZGVzL2NvcmUtZmFjYWRlXCI7XG5pbXBvcnQgeyBFZGl0b3JPcHRpb25zIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtY29kZS1lZGl0b3JcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGVkaXRvck9wdGlvbnMob3B0aW9uczogRWRpdG9yT3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuY2hhbmdlRWRpdG9yT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29kZShjb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLmNoYW5nZUNvZGUoY29kZSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc0NvZGVWYWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBvbmVudEZpbmlzaExvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKFwiY29yZVdyYXBwZXJcIilcbiAgICBwcml2YXRlIGNvcmVXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29yZUZhY2FkZTogQ29yZUZhY2FkZSkgeyB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29kZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLmluaXRDb3JlKCk7XG4gICAgICAgIHRoaXMuc2V0dXBDb3JlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDb3JlV3JhcHBlckVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29yZUZhY2FkZS5kZXN0cm95Q29yZSgpO1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29yZVdyYXBwZXJFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuc2V0Q29yZVdyYXBwZXJFbGVtZW50KHRoaXMuY29yZVdyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBDb3JlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGVcbiAgICAgICAgICAgIC5nZXRPbkNvcmVGaW5pc2hMb2FkT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ29tcG9uZW50RmluaXNoTG9hZC5lbWl0KCkpO1xuXG4gICAgICAgIHRoaXMuY29yZUZhY2FkZVxuICAgICAgICAgICAgLmdldE9uQ29kZUNoYW5nZU9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29kZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZUNoYW5nZS5lbWl0KGNvZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMub25Db2RlQ2hhbmdlLmVtaXQoY29kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UoY29kZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvcmVGYWNhZGVcbiAgICAgICAgICAgIC5nZXRPbkNvZGVWYWxpZGl0eUNoYW5nZU9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsaWRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZVZhbGlkQ2hhbmdlLmVtaXQodmFsaWRpdHkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Languages } from "../../../../models";
|
|
2
2
|
/* Languages */
|
|
3
3
|
import { TaxCalculation } from "./tax-calculation/tax-calculation.language";
|
|
4
|
+
import { Json } from "./json/json.language";
|
|
4
5
|
var EditorLanguages = /** @class */ (function () {
|
|
5
6
|
function EditorLanguages() {
|
|
6
7
|
}
|
|
@@ -11,9 +12,10 @@ var EditorLanguages = /** @class */ (function () {
|
|
|
11
12
|
return [];
|
|
12
13
|
};
|
|
13
14
|
EditorLanguages._LANGUAGES = new Map([
|
|
14
|
-
[Languages.TaxCalculation, TaxCalculation]
|
|
15
|
+
[Languages.TaxCalculation, TaxCalculation],
|
|
16
|
+
[Languages.Json, Json]
|
|
15
17
|
]);
|
|
16
18
|
return EditorLanguages;
|
|
17
19
|
}());
|
|
18
20
|
export { EditorLanguages };
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWxhbmd1YWdlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2NvcmVzL2NvZGVtaXJyb3ItNi9sYW5ndWFnZXMvZWRpdG9yLWxhbmd1YWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0MsZUFBZTtBQUNmLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJNUM7SUFBQTtJQVlBLENBQUM7SUFMaUIsMkJBQVcsR0FBekIsVUFBMEIsUUFBbUI7UUFDekMsSUFBTSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RSxJQUFJLHNCQUFzQjtZQUFFLE9BQU8sc0JBQXNCLEVBQUUsQ0FBQztRQUM1RCxPQUFPLEVBQWdDLENBQUM7SUFDNUMsQ0FBQztJQVRjLDBCQUFVLEdBQTJDLElBQUksR0FBRyxDQUFDO1FBQ3hFLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDMUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztLQUN6QixDQUFDLENBQUM7SUFPUCxzQkFBQztDQUFBLEFBWkQsSUFZQztTQVpZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZVN1cHBvcnQgfSBmcm9tIFwiQGNvZGVtaXJyb3IvbGFuZ3VhZ2VcIjtcblxuaW1wb3J0IHsgTGFuZ3VhZ2VzIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsc1wiO1xuXG4vKiBMYW5ndWFnZXMgKi9cbmltcG9ydCB7IFRheENhbGN1bGF0aW9uIH0gZnJvbSBcIi4vdGF4LWNhbGN1bGF0aW9uL3RheC1jYWxjdWxhdGlvbi5sYW5ndWFnZVwiO1xuaW1wb3J0IHsgSnNvbiB9IGZyb20gXCIuL2pzb24vanNvbi5sYW5ndWFnZVwiO1xuXG50eXBlIExhbmd1YWdlU3VwcG9ydEZhY3RvcnkgPSAoKSA9PiBMYW5ndWFnZVN1cHBvcnRcblxuZXhwb3J0IGNsYXNzIEVkaXRvckxhbmd1YWdlcyB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfTEFOR1VBR0VTOiBNYXA8TGFuZ3VhZ2VzLCBMYW5ndWFnZVN1cHBvcnRGYWN0b3J5PiA9IG5ldyBNYXAoW1xuICAgICAgICBbTGFuZ3VhZ2VzLlRheENhbGN1bGF0aW9uLCBUYXhDYWxjdWxhdGlvbl0sXG4gICAgICAgIFtMYW5ndWFnZXMuSnNvbiwgSnNvbl1cbiAgICBdKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlcyk6IExhbmd1YWdlU3VwcG9ydCB7XG4gICAgICAgIGNvbnN0IGxhbmd1YWdlU3VwcG9ydEZhY3RvcnkgPSBFZGl0b3JMYW5ndWFnZXMuX0xBTkdVQUdFUy5nZXQobGFuZ3VhZ2UpO1xuICAgICAgICBpZiAobGFuZ3VhZ2VTdXBwb3J0RmFjdG9yeSkgcmV0dXJuIGxhbmd1YWdlU3VwcG9ydEZhY3RvcnkoKTtcbiAgICAgICAgcmV0dXJuIFtdIGFzIHVua25vd24gYXMgTGFuZ3VhZ2VTdXBwb3J0O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LanguageSupport, LRLanguage } from "@codemirror/language";
|
|
2
|
+
import { buildParser } from "@lezer/generator";
|
|
3
|
+
import { styleTags, tags } from "@codemirror/highlight";
|
|
4
|
+
var jsonGrammar = "\n@top JsonDocument { JsonValue }\n\nJsonValue {\n JsonObject |\n JsonArray |\n JsonString |\n JsonNumber |\n JsonBoolean |\n JsonNull\n}\n\nJsonObject {\n \"{\" (JsonPair (\",\" JsonPair)*)? \"}\"\n}\n\nJsonPair {\n JsonString \":\" JsonValue\n}\n\nJsonArray {\n \"[\" (JsonValue (\",\" JsonValue)*)? \"]\"\n}\n\n@tokens {\n JsonString { '\"' (![\\n\"])* '\"'? }\n JsonNumber {\n '-'? std.digit+\n ('.' std.digit+)?\n ((\"e\" | \"E\") (\"+\" | \"-\")? std.digit+)?\n }\n JsonBoolean { \"true\" | \"false\" }\n JsonNull { \"null\" }\n space { $[ \t\n\r]+ }\n \"{\" \"}\"\n \"[\" \"]\"\n \":\" \",\"\n}\n\n@skip { space }\n\n@detectDelim\n";
|
|
5
|
+
var jsonLanguage = LRLanguage.define({
|
|
6
|
+
parser: buildParser(jsonGrammar).configure({
|
|
7
|
+
props: [
|
|
8
|
+
styleTags({
|
|
9
|
+
JsonString: tags.string,
|
|
10
|
+
JsonNumber: tags.number,
|
|
11
|
+
"JsonBoolean JsonNull": tags.keyword,
|
|
12
|
+
'"{"': tags.brace,
|
|
13
|
+
'"}"': tags.brace,
|
|
14
|
+
'"["': tags.brace,
|
|
15
|
+
'"]"': tags.brace,
|
|
16
|
+
'":"': tags.operator,
|
|
17
|
+
'","': tags.punctuation,
|
|
18
|
+
}),
|
|
19
|
+
],
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
export function Json() {
|
|
23
|
+
return new LanguageSupport(jsonLanguage);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5sYW5ndWFnZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2NvcmVzL2NvZGVtaXJyb3ItNi9sYW5ndWFnZXMvanNvbi9qc29uLmxhbmd1YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsSUFBTSxXQUFXLEdBQUcsMnNCQTBDbkIsQ0FBQztBQUVGLElBQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDbkMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdkMsS0FBSyxFQUFFO1lBQ0gsU0FBUyxDQUFDO2dCQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUN2QixzQkFBc0IsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDcEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVzthQUMxQixDQUFDO1NBQ0w7S0FDSixDQUFDO0NBQ0wsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLElBQUk7SUFDaEIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VTdXBwb3J0LCBMUkxhbmd1YWdlIH0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBidWlsZFBhcnNlciB9IGZyb20gXCJAbGV6ZXIvZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBzdHlsZVRhZ3MsIHRhZ3MgfSBmcm9tIFwiQGNvZGVtaXJyb3IvaGlnaGxpZ2h0XCI7XG5cbmNvbnN0IGpzb25HcmFtbWFyID0gYFxuQHRvcCBKc29uRG9jdW1lbnQgeyBKc29uVmFsdWUgfVxuXG5Kc29uVmFsdWUge1xuICAgIEpzb25PYmplY3QgfFxuICAgIEpzb25BcnJheSB8XG4gICAgSnNvblN0cmluZyB8XG4gICAgSnNvbk51bWJlciB8XG4gICAgSnNvbkJvb2xlYW4gfFxuICAgIEpzb25OdWxsXG59XG5cbkpzb25PYmplY3Qge1xuICAgIFwie1wiIChKc29uUGFpciAoXCIsXCIgSnNvblBhaXIpKik/IFwifVwiXG59XG5cbkpzb25QYWlyIHtcbiAgICBKc29uU3RyaW5nIFwiOlwiIEpzb25WYWx1ZVxufVxuXG5Kc29uQXJyYXkge1xuICAgIFwiW1wiIChKc29uVmFsdWUgKFwiLFwiIEpzb25WYWx1ZSkqKT8gXCJdXCJcbn1cblxuQHRva2VucyB7XG4gICAgSnNvblN0cmluZyB7ICdcIicgKCFbXFxcXG5cIl0pKiAnXCInPyB9XG4gICAgSnNvbk51bWJlciB7XG4gICAgICAgICctJz8gc3RkLmRpZ2l0K1xuICAgICAgICAoJy4nIHN0ZC5kaWdpdCspP1xuICAgICAgICAoKFwiZVwiIHwgXCJFXCIpIChcIitcIiB8IFwiLVwiKT8gc3RkLmRpZ2l0Kyk/XG4gICAgfVxuICAgIEpzb25Cb29sZWFuIHsgXCJ0cnVlXCIgfCBcImZhbHNlXCIgfVxuICAgIEpzb25OdWxsIHsgXCJudWxsXCIgfVxuICAgIHNwYWNlIHsgJFsgXFx0XFxuXFxyXSsgfVxuICAgIFwie1wiIFwifVwiXG4gICAgXCJbXCIgXCJdXCJcbiAgICBcIjpcIiBcIixcIlxufVxuXG5Ac2tpcCB7IHNwYWNlIH1cblxuQGRldGVjdERlbGltXG5gO1xuXG5jb25zdCBqc29uTGFuZ3VhZ2UgPSBMUkxhbmd1YWdlLmRlZmluZSh7XG4gICAgcGFyc2VyOiBidWlsZFBhcnNlcihqc29uR3JhbW1hcikuY29uZmlndXJlKHtcbiAgICAgICAgcHJvcHM6IFtcbiAgICAgICAgICAgIHN0eWxlVGFncyh7XG4gICAgICAgICAgICAgICAgSnNvblN0cmluZzogdGFncy5zdHJpbmcsXG4gICAgICAgICAgICAgICAgSnNvbk51bWJlcjogdGFncy5udW1iZXIsXG4gICAgICAgICAgICAgICAgXCJKc29uQm9vbGVhbiBKc29uTnVsbFwiOiB0YWdzLmtleXdvcmQsXG4gICAgICAgICAgICAgICAgJ1wie1wiJzogdGFncy5icmFjZSxcbiAgICAgICAgICAgICAgICAnXCJ9XCInOiB0YWdzLmJyYWNlLFxuICAgICAgICAgICAgICAgICdcIltcIic6IHRhZ3MuYnJhY2UsXG4gICAgICAgICAgICAgICAgJ1wiXVwiJzogdGFncy5icmFjZSxcbiAgICAgICAgICAgICAgICAnXCI6XCInOiB0YWdzLm9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICdcIixcIic6IHRhZ3MucHVuY3R1YXRpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICB9KSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gSnNvbigpOiBMYW5ndWFnZVN1cHBvcnQge1xuICAgIHJldHVybiBuZXcgTGFuZ3VhZ2VTdXBwb3J0KGpzb25MYW5ndWFnZSk7XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export var Languages;
|
|
2
2
|
(function (Languages) {
|
|
3
3
|
Languages["TaxCalculation"] = "TaxCalculation";
|
|
4
|
+
Languages["Json"] = "Json";
|
|
4
5
|
})(Languages || (Languages = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvbW9kZWxzL2VudW1zL2xhbmd1YWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ2pCLDhDQUFpQyxDQUFBO0lBQ2pDLDBCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTGFuZ3VhZ2VzIHtcbiAgICBUYXhDYWxjdWxhdGlvbiA9IFwiVGF4Q2FsY3VsYXRpb25cIixcbiAgICBKc29uID0gXCJKc29uXCJcbn1cbiJdfQ==
|