@seniorsistemas/angular-components 17.29.1 → 17.29.3

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.
Files changed (27) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +45 -1
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/code-editor/code-editor.component.d.ts +1 -0
  6. package/components/code-editor/core/facades/core-facade.d.ts +2 -0
  7. package/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +1 -0
  8. package/components/dynamic-form/components/lookup/lookup.component.d.ts +1 -0
  9. package/components/dynamic-form/configurations/fields/lookup-field.d.ts +2 -0
  10. package/esm2015/components/code-editor/code-editor.component.js +7 -1
  11. package/esm2015/components/code-editor/core/facades/core-facade.js +7 -1
  12. package/esm2015/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +24 -1
  13. package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  14. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +6 -1
  15. package/esm2015/components/dynamic-form/configurations/fields/lookup-field.js +1 -1
  16. package/esm5/components/code-editor/code-editor.component.js +11 -1
  17. package/esm5/components/code-editor/core/facades/core-facade.js +7 -1
  18. package/esm5/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +24 -1
  19. package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  20. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +6 -1
  21. package/esm5/components/dynamic-form/configurations/fields/lookup-field.js +1 -1
  22. package/fesm2015/seniorsistemas-angular-components.js +41 -1
  23. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  24. package/fesm5/seniorsistemas-angular-components.js +45 -1
  25. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  26. package/package.json +1 -1
  27. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -30,6 +30,13 @@ var CodeEditorComponent = /** @class */ (function () {
30
30
  enumerable: true,
31
31
  configurable: true
32
32
  });
33
+ Object.defineProperty(CodeEditorComponent.prototype, "payload", {
34
+ set: function (payload) {
35
+ this.coreFacade.setPayload(payload);
36
+ },
37
+ enumerable: true,
38
+ configurable: true
39
+ });
33
40
  CodeEditorComponent.prototype.writeValue = function (value) {
34
41
  this.code = value;
35
42
  };
@@ -86,6 +93,9 @@ var CodeEditorComponent = /** @class */ (function () {
86
93
  __decorate([
87
94
  Input()
88
95
  ], CodeEditorComponent.prototype, "code", null);
96
+ __decorate([
97
+ Input()
98
+ ], CodeEditorComponent.prototype, "payload", null);
89
99
  __decorate([
90
100
  Output()
91
101
  ], CodeEditorComponent.prototype, "codeChange", void 0);
@@ -118,4 +128,4 @@ var CodeEditorComponent = /** @class */ (function () {
118
128
  return CodeEditorComponent;
119
129
  }());
120
130
  export { CodeEditorComponent };
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZXhEO0lBK0JJLDZCQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkI1QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2hELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS2hELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyxjQUFTLEdBQTRCLGNBQVEsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBZSxjQUFRLENBQUMsQ0FBQztJQUVZLENBQUM7NEJBL0IvQyxtQkFBbUI7SUFFNUIsc0JBQVcsOENBQWE7YUFBeEIsVUFBeUIsT0FBc0I7WUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDOzs7T0FBQTtJQUdE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cUJBQW1CLEVBQW5CLENBQW1CLENBQUM7b0JBQ2xELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLG1CQUFtQixDQXVGL0I7SUFBRCwwQkFBQztDQUFBLEFBdkZELElBdUZDO1NBdkZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBDb3JlRmFjYWRlIH0gZnJvbSBcIi4vY29yZS9mYWNhZGVzL2NvcmUtZmFjYWRlXCI7XG5pbXBvcnQgeyBFZGl0b3JPcHRpb25zIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtY29kZS1lZGl0b3JcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGVkaXRvck9wdGlvbnMob3B0aW9uczogRWRpdG9yT3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuY2hhbmdlRWRpdG9yT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29kZShjb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLmNoYW5nZUNvZGUoY29kZSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc0NvZGVWYWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBvbmVudEZpbmlzaExvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKFwiY29yZVdyYXBwZXJcIilcbiAgICBwcml2YXRlIGNvcmVXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29yZUZhY2FkZTogQ29yZUZhY2FkZSkgeyB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29kZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLmluaXRDb3JlKCk7XG4gICAgICAgIHRoaXMuc2V0dXBDb3JlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDb3JlV3JhcHBlckVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29yZUZhY2FkZS5kZXN0cm95Q29yZSgpO1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29yZVdyYXBwZXJFbGVtZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuc2V0Q29yZVdyYXBwZXJFbGVtZW50KHRoaXMuY29yZVdyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBDb3JlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGVcbiAgICAgICAgICAgIC5nZXRPbkNvcmVGaW5pc2hMb2FkT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ29tcG9uZW50RmluaXNoTG9hZC5lbWl0KCkpO1xuXG4gICAgICAgIHRoaXMuY29yZUZhY2FkZVxuICAgICAgICAgICAgLmdldE9uQ29kZUNoYW5nZU9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29kZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZUNoYW5nZS5lbWl0KGNvZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMub25Db2RlQ2hhbmdlLmVtaXQoY29kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UoY29kZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvcmVGYWNhZGVcbiAgICAgICAgICAgIC5nZXRPbkNvZGVWYWxpZGl0eUNoYW5nZU9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsaWRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZVZhbGlkQ2hhbmdlLmVtaXQodmFsaWRpdHkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVJLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZXhEO0lBb0NJLDZCQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkI1QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd4QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2hELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS2hELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyxjQUFTLEdBQTRCLGNBQVEsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBZSxjQUFRLENBQUMsQ0FBQztJQUVZLENBQUM7NEJBcEMvQyxtQkFBbUI7SUFFNUIsc0JBQVcsOENBQWE7YUFBeEIsVUFBeUIsT0FBc0I7WUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDOzs7T0FBQTtJQUdE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Wi9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLDJEQUEyQztZQUUzQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEscUJBQW1CLEVBQW5CLENBQW1CLENBQUM7b0JBQ2xELEtBQUssRUFBRSxJQUFJO2lCQUNkO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLG1CQUFtQixDQTRGL0I7SUFBRCwwQkFBQztDQUFBLEFBNUZELElBNEZDO1NBNUZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBDb3JlRmFjYWRlIH0gZnJvbSBcIi4vY29yZS9mYWNhZGVzL2NvcmUtZmFjYWRlXCI7XG5pbXBvcnQgeyBFZGl0b3JPcHRpb25zIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtY29kZS1lZGl0b3JcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGVkaXRvck9wdGlvbnMob3B0aW9uczogRWRpdG9yT3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuY2hhbmdlRWRpdG9yT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29kZShjb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLmNoYW5nZUNvZGUoY29kZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHBheWxvYWQocGF5bG9hZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29yZUZhY2FkZS5zZXRQYXlsb2FkKHBheWxvYWQpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjb2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNDb2RlVmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wb25lbnRGaW5pc2hMb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQFZpZXdDaGlsZChcImNvcmVXcmFwcGVyXCIpXG4gICAgcHJpdmF0ZSBjb3JlV3JhcHBlckVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvcmVGYWNhZGU6IENvcmVGYWNhZGUpIHsgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvZGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29yZUZhY2FkZS5pbml0Q29yZSgpO1xuICAgICAgICB0aGlzLnNldHVwQ29yZUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q29yZVdyYXBwZXJFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcmVGYWNhZGUuZGVzdHJveUNvcmUoKTtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENvcmVXcmFwcGVyRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlLnNldENvcmVXcmFwcGVyRWxlbWVudCh0aGlzLmNvcmVXcmFwcGVyRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwQ29yZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlXG4gICAgICAgICAgICAuZ2V0T25Db3JlRmluaXNoTG9hZE9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNvbXBvbmVudEZpbmlzaExvYWQuZW1pdCgpKTtcblxuICAgICAgICB0aGlzLmNvcmVGYWNhZGVcbiAgICAgICAgICAgIC5nZXRPbkNvZGVDaGFuZ2VPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvZGVDaGFuZ2UuZW1pdChjb2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ29kZUNoYW5nZS5lbWl0KGNvZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKGNvZGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb3JlRmFjYWRlXG4gICAgICAgICAgICAuZ2V0T25Db2RlVmFsaWRpdHlDaGFuZ2VPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbGlkaXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVWYWxpZENoYW5nZS5lbWl0KHZhbGlkaXR5KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -26,6 +26,12 @@ var CoreFacade = /** @class */ (function () {
26
26
  this.setCode(safeCode);
27
27
  }
28
28
  };
29
+ CoreFacade.prototype.setPayload = function (payload) {
30
+ var safeCode = this.getSafeCode(payload);
31
+ // Força a atualização sem verificar _lastCodeEmitted,
32
+ // mas preserva o cursor verificando no nível do editor
33
+ this.setCodeWithCursorPreservation(safeCode);
34
+ };
29
35
  CoreFacade.prototype.getOnCoreFinishLoadObservable = function () {
30
36
  return this.$onCoreFinishLoad.asObservable();
31
37
  };
@@ -93,4 +99,4 @@ var CoreFacade = /** @class */ (function () {
93
99
  return CoreFacade;
94
100
  }());
95
101
  export { CoreFacade };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1mYWNhZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9jb3JlL2ZhY2FkZXMvY29yZS1mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCxhQUFhLEVBQ2IsT0FBTyxFQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUVILFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hEO0lBQUE7UUFFWSxzQkFBaUIsR0FBd0IsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQywwQkFBcUIsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0lBOEZsQyxDQUFDO0lBMUZVLHdDQUFtQixHQUExQixVQUEyQixPQUFzQjtRQUM3QyxJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksT0FBTyxPQUFPLEtBQUssUUFBUTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFFckcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRU0sK0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMx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QUF1QixLQUFLLHdCQUFvQixDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLGdDQUFXLEdBQW5CLFVBQW9CLElBQVk7UUFDNUIsT0FBTyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFDTCxpQkFBQztBQUFELENBQUMsQUFwR0QsSUFvR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9ic2VydmFibGUsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBTdWJqZWN0XG59IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7XG4gICAgRWRpdG9yT3B0aW9ucyxcbiAgICBMYW5ndWFnZXMsXG4gICAgVGhlbWVzXG59IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IE1hcmtlciB9IGZyb20gXCIuLi9tb2RlbHNcIjtcbmltcG9ydCB7IENvcmVMaW50ZXJzIH0gZnJvbSBcIi4uL3VzZS1jYXNlcy9jb3JlLWxpbnRlcnNcIjtcbmltcG9ydCB7IExpbnRlckZhY2FkZSB9IGZyb20gXCIuL2xpbnRlci1mYWNhZGVcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvcmVGYWNhZGUge1xuXG4gICAgcHJpdmF0ZSAkb25Db3JlRmluaXNoTG9hZDogUmVwbGF5U3ViamVjdDx2b2lkPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHByaXZhdGUgJG9uQ29kZUNoYW5nZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlICRvbkNvZGVWYWxpZGl0eUNoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBfY29tcGxldGlvbkl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHByaXZhdGUgX2xhc3RDb2RlRW1pdHRlZCA9IFwiXCI7XG4gICAgcHJpdmF0ZSBfbGFzdENvZGVWYWxpZGl0eUVtaXR0ZWQhOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2xpbnRlciE6IExpbnRlckZhY2FkZTtcblxuICAgIHB1YmxpYyBjaGFuZ2VFZGl0b3JPcHRpb25zKG9wdGlvbnM6IEVkaXRvck9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiRWRpdG9yJ3Mgb3B0aW9ucyBtdXN0IGJlIGFuIEVkaXRvck9wdGlvbnMgb2JqZWN0XCIpO1xuXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlTGFuZ3VhZ2Uob3B0aW9ucy5sYW5ndWFnZSk7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlVGhlbWUob3B0aW9ucy50aGVtZSk7XG4gICAgICAgICAgICB0aGlzLnNldExpbnRlcihvcHRpb25zLmxhbmd1YWdlKTtcblxuICAgICAgICAgICAgdGhpcy5zZXRDb3JlRWRpdG9yT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VDb2RlKGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzYWZlQ29kZSA9IHRoaXMuZ2V0U2FmZUNvZGUoY29kZSk7XG4gICAgICAgIGlmIChzYWZlQ29kZSAhPT0gdGhpcy5fbGFzdENvZGVFbWl0dGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldENvZGUoc2FmZUNvZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFic3RyYWN0IGluaXRDb3JlKCk6IHZvaWQ7XG4gICAgcHVibGljIGFic3RyYWN0IGRlc3Ryb3lDb3JlKCk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0Q29yZVdyYXBwZXJFbGVtZW50KGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50KTogdm9pZDtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0Q29kZShjb2RlOiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgcHVibGljIGdldE9uQ29yZUZpbmlzaExvYWRPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy4kb25Db3JlRmluaXNoTG9hZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T25Db2RlQ2hhbmdlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy4kb25Db2RlQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPbkNvZGVWYWxpZGl0eUNoYW5nZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLiRvbkNvZGVWYWxpZGl0eUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0Q29yZUVkaXRvck9wdGlvbnMob3B0aW9uczogRWRpdG9yT3B0aW9ucyk6IHZvaWQ7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGhpZ2hsaWdodENvZGUobWFya2VyczogTWFya2VyW10pOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG5vdGlmeUNvcmVGaW5pc2hMb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLiRvbkNvcmVGaW5pc2hMb2FkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbm90aWZ5Q29kZUNoYW5nZShjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2FmZUNvZGUgPSB0aGlzLmdldFNhZmVDb2RlKGNvZGUpO1xuICAgICAgICBpZiAoc2FmZUNvZGUgIT09IHRoaXMuX2xhc3RDb2RlRW1pdHRlZCkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdENvZGVFbWl0dGVkID0gc2FmZUNvZGU7XG4gICAgICAgICAgICB0aGlzLiRvbkNvZGVDaGFuZ2UubmV4dChzYWZlQ29kZSk7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlQ29kZShzYWZlQ29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQ29tcGxldGlvbkl0ZW1zKGl0ZW1zOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb21wbGV0aW9uSXRlbXMgPSBpdGVtcyB8fCBbXTtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvZGUodGhpcy5fbGFzdENvZGVFbWl0dGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExpbnRlcihsYW5ndWFnZTogTGFuZ3VhZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpbnRlciA9IENvcmVMaW50ZXJzLmdldExpbnRlcihsYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUNvZGUoY29kZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLl9saW50ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtlcnM6IE1hcmtlcltdID0gYXdhaXQgdGhpcy5fbGludGVyLmxpbnQoY29kZSwgdGhpcy5fY29tcGxldGlvbkl0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0Q29kZShtYXJrZXJzKTtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5Q29kZVZhbGlkaXR5Q2hhbmdlKCFtYXJrZXJzLmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeUNvZGVWYWxpZGl0eUNoYW5nZSh2YWxpZGl0eTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodmFsaWRpdHkgIT09IHRoaXMuX2xhc3RDb2RlVmFsaWRpdHlFbWl0dGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0Q29kZVZhbGlkaXR5RW1pdHRlZCA9IHZhbGlkaXR5O1xuICAgICAgICAgICAgdGhpcy4kb25Db2RlVmFsaWRpdHlDaGFuZ2UubmV4dCh2YWxpZGl0eSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlTGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBPYmplY3QudmFsdWVzKExhbmd1YWdlcyk7XG4gICAgICAgIGlmIChsYW5ndWFnZSAmJiAhbGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmd1YWdlKSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgaW5mb3JtZWQgbGFuZ3VhZ2UgXCIke2xhbmd1YWdlfVwiIGlzIG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlVGhlbWUodGhlbWU6IFRoZW1lcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB0aGVtZXMgPSBPYmplY3QudmFsdWVzKFRoZW1lcyk7XG4gICAgICAgIGlmICh0aGVtZSAmJiAhdGhlbWVzLmluY2x1ZGVzKHRoZW1lKSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgaW5mb3JtZWQgdGhlbWUgXCIke3RoZW1lfVwiIGlzIG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNhZmVDb2RlKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgY29kZSA9PT0gXCJzdHJpbmdcIiA/IGNvZGUgOiBcIlwiO1xuICAgIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1mYWNhZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9jb3JlL2ZhY2FkZXMvY29yZS1mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCxhQUFhLEVBQ2IsT0FBTyxFQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUVILFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hEO0lBQUE7UUFFWSxzQkFBaUIsR0FBd0IsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQywwQkFBcUIsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0lBdUdsQyxDQUFDO0lBbkdVLHdDQUFtQixHQUExQixVQUEyQixPQUFzQjtRQUM3QyxJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksT0FBTyxPQUFPLEtBQUssUUFBUTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFFckcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRU0sK0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMx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TyxrQ0FBYSxHQUFyQixVQUFzQixLQUFhO1FBQy9CLElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQXVCLEtBQUssd0JBQW9CLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRU8sZ0NBQVcsR0FBbkIsVUFBb0IsSUFBWTtRQUM1QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUNMLGlCQUFDO0FBQUQsQ0FBQyxBQTdHRCxJQTZHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT2JzZXJ2YWJsZSxcbiAgICBSZXBsYXlTdWJqZWN0LFxuICAgIFN1YmplY3Rcbn0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHtcbiAgICBFZGl0b3JPcHRpb25zLFxuICAgIExhbmd1YWdlcyxcbiAgICBUaGVtZXNcbn0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xuaW1wb3J0IHsgTWFya2VyIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ29yZUxpbnRlcnMgfSBmcm9tIFwiLi4vdXNlLWNhc2VzL2NvcmUtbGludGVyc1wiO1xuaW1wb3J0IHsgTGludGVyRmFjYWRlIH0gZnJvbSBcIi4vbGludGVyLWZhY2FkZVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29yZUZhY2FkZSB7XG5cbiAgICBwcml2YXRlICRvbkNvcmVGaW5pc2hMb2FkOiBSZXBsYXlTdWJqZWN0PHZvaWQ+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gICAgcHJpdmF0ZSAkb25Db2RlQ2hhbmdlOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgJG9uQ29kZVZhbGlkaXR5Q2hhbmdlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIF9jb21wbGV0aW9uSXRlbXM6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBfbGFzdENvZGVFbWl0dGVkID0gXCJcIjtcbiAgICBwcml2YXRlIF9sYXN0Q29kZVZhbGlkaXR5RW1pdHRlZCE6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbGludGVyITogTGludGVyRmFjYWRlO1xuXG4gICAgcHVibGljIGNoYW5nZUVkaXRvck9wdGlvbnMob3B0aW9uczogRWRpdG9yT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgRXJyb3IoXCJFZGl0b3IncyBvcHRpb25zIG11c3QgYmUgYW4gRWRpdG9yT3B0aW9ucyBvYmplY3RcIik7XG5cbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVMYW5ndWFnZShvcHRpb25zLmxhbmd1YWdlKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVUaGVtZShvcHRpb25zLnRoZW1lKTtcbiAgICAgICAgICAgIHRoaXMuc2V0TGludGVyKG9wdGlvbnMubGFuZ3VhZ2UpO1xuXG4gICAgICAgICAgICB0aGlzLnNldENvcmVFZGl0b3JPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZUNvZGUoY29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNhZmVDb2RlID0gdGhpcy5nZXRTYWZlQ29kZShjb2RlKTtcbiAgICAgICAgaWYgKHNhZmVDb2RlICE9PSB0aGlzLl9sYXN0Q29kZUVtaXR0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29kZShzYWZlQ29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGF5bG9hZChwYXlsb2FkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2FmZUNvZGUgPSB0aGlzLmdldFNhZmVDb2RlKHBheWxvYWQpO1xuICAgICAgICAvLyBGb3LDp2EgYSBhdHVhbGl6YcOnw6NvIHNlbSB2ZXJpZmljYXIgX2xhc3RDb2RlRW1pdHRlZCxcbiAgICAgICAgLy8gbWFzIHByZXNlcnZhIG8gY3Vyc29yIHZlcmlmaWNhbmRvIG5vIG7DrXZlbCBkbyBlZGl0b3JcbiAgICAgICAgdGhpcy5zZXRDb2RlV2l0aEN1cnNvclByZXNlcnZhdGlvbihzYWZlQ29kZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHNldENvZGVXaXRoQ3Vyc29yUHJlc2VydmF0aW9uKGNvZGU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgaW5pdENvcmUoKTogdm9pZDtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGVzdHJveUNvcmUoKTogdm9pZDtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRDb3JlV3JhcHBlckVsZW1lbnQoZWxlbWVudDogSFRNTERpdkVsZW1lbnQpOiB2b2lkO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRDb2RlKGNvZGU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgZ2V0T25Db3JlRmluaXNoTG9hZE9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLiRvbkNvcmVGaW5pc2hMb2FkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPbkNvZGVDaGFuZ2VPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLiRvbkNvZGVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9uQ29kZVZhbGlkaXR5Q2hhbmdlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJG9uQ29kZVZhbGlkaXR5Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRDb3JlRWRpdG9yT3B0aW9ucyhvcHRpb25zOiBFZGl0b3JPcHRpb25zKTogdm9pZDtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGlnaGxpZ2h0Q29kZShtYXJrZXJzOiBNYXJrZXJbXSk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgbm90aWZ5Q29yZUZpbmlzaExvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuJG9uQ29yZUZpbmlzaExvYWQubmV4dCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBub3RpZnlDb2RlQ2hhbmdlKGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzYWZlQ29kZSA9IHRoaXMuZ2V0U2FmZUNvZGUoY29kZSk7XG4gICAgICAgIGlmIChzYWZlQ29kZSAhPT0gdGhpcy5fbGFzdENvZGVFbWl0dGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0Q29kZUVtaXR0ZWQgPSBzYWZlQ29kZTtcbiAgICAgICAgICAgIHRoaXMuJG9uQ29kZUNoYW5nZS5uZXh0KHNhZmVDb2RlKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVDb2RlKHNhZmVDb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVDb21wbGV0aW9uSXRlbXMoaXRlbXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbXBsZXRpb25JdGVtcyA9IGl0ZW1zIHx8IFtdO1xuICAgICAgICB0aGlzLnZhbGlkYXRlQ29kZSh0aGlzLl9sYXN0Q29kZUVtaXR0ZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGludGVyKGxhbmd1YWdlOiBMYW5ndWFnZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGludGVyID0gQ29yZUxpbnRlcnMuZ2V0TGludGVyKGxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHZhbGlkYXRlQ29kZShjb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2xpbnRlcikge1xuICAgICAgICAgICAgY29uc3QgbWFya2VyczogTWFya2VyW10gPSBhd2FpdCB0aGlzLl9saW50ZXIubGludChjb2RlLCB0aGlzLl9jb21wbGV0aW9uSXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRDb2RlKG1hcmtlcnMpO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlDb2RlVmFsaWRpdHlDaGFuZ2UoIW1hcmtlcnMubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbm90aWZ5Q29kZVZhbGlkaXR5Q2hhbmdlKHZhbGlkaXR5OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWxpZGl0eSAhPT0gdGhpcy5fbGFzdENvZGVWYWxpZGl0eUVtaXR0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RDb2RlVmFsaWRpdHlFbWl0dGVkID0gdmFsaWRpdHk7XG4gICAgICAgICAgICB0aGlzLiRvbkNvZGVWYWxpZGl0eUNoYW5nZS5uZXh0KHZhbGlkaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IE9iamVjdC52YWx1ZXMoTGFuZ3VhZ2VzKTtcbiAgICAgICAgaWYgKGxhbmd1YWdlICYmICFsYW5ndWFnZXMuaW5jbHVkZXMobGFuZ3VhZ2UpKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBpbmZvcm1lZCBsYW5ndWFnZSBcIiR7bGFuZ3VhZ2V9XCIgaXMgbm90IHN1cHBvcnRlZGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVUaGVtZSh0aGVtZTogVGhlbWVzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRoZW1lcyA9IE9iamVjdC52YWx1ZXMoVGhlbWVzKTtcbiAgICAgICAgaWYgKHRoZW1lICYmICF0aGVtZXMuaW5jbHVkZXModGhlbWUpKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBpbmZvcm1lZCB0aGVtZSBcIiR7dGhlbWV9XCIgaXMgbm90IHN1cHBvcnRlZGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2FmZUNvZGUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBjb2RlID09PSBcInN0cmluZ1wiID8gY29kZSA6IFwiXCI7XG4gICAgfVxufVxuIl19
@@ -100,10 +100,33 @@ var CodeMirror6Core = /** @class */ (function (_super) {
100
100
  this._codeReceivedBeforeViewCreation = code;
101
101
  }
102
102
  };
103
+ CodeMirror6Core.prototype.setCodeWithCursorPreservation = function (code) {
104
+ if (CodeMirror6Core._editorView) {
105
+ var currentCode = CodeMirror6Core._editorView.state.doc.toString();
106
+ // Só atualiza se o conteúdo for realmente diferente
107
+ if (currentCode !== code) {
108
+ var currentSelection = CodeMirror6Core._editorView.state.selection.main;
109
+ CodeMirror6Core.updateEditorView({
110
+ changes: {
111
+ from: 0,
112
+ to: CodeMirror6Core._editorView.state.doc.length,
113
+ insert: code
114
+ },
115
+ selection: {
116
+ anchor: Math.min(currentSelection.anchor, code.length),
117
+ head: Math.min(currentSelection.head, code.length)
118
+ }
119
+ });
120
+ }
121
+ }
122
+ else {
123
+ this._codeReceivedBeforeViewCreation = code;
124
+ }
125
+ };
103
126
  CodeMirror6Core.$onCompletionItemsUpdate = new Subject();
104
127
  CodeMirror6Core._ngUnsubscribe = new Subject();
105
128
  CodeMirror6Core._editorView = null;
106
129
  return CodeMirror6Core;
107
130
  }(CoreFacade));
108
131
  export { CodeMirror6Core };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZW1pcnJvci02LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9jb3Jlcy9jb2RlbWlycm9yLTYvY29kZW1pcnJvci02LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFHZCxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEQ7SUFBcUMsbUNBQVU7SUFVM0M7UUFBQSxZQUNJLGlCQUFPLFNBQ1Y7UUFORCx5R0FBeUc7UUFDakcscUNBQStCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLDhDQUF3QyxHQUFjLEVBQUUsQ0FBQzs7SUFJakUsQ0FBQztJQUVhLDZCQUFhLEdBQTNCO1FBQ0ksT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFYSxnQ0FBZ0IsR0FBOUI7O1FBQStCLDBCQUFzQzthQUF0QyxVQUFzQyxFQUF0QyxxQkFBc0MsRUFBdEMsSUFBc0M7WUFBdEMscUNBQXNDOztRQUNqRSxDQUFBLEtBQUEsZUFBZSxDQUFDLFdBQVcsQ0FB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QUFDLENBQUM7SUFDM0gsQ0FBQztJQUVPLDZDQUFtQixHQUEzQixVQUE0QixJQUFZO1FBQ3BDLElBQUksZUFBZSxDQUFDLFdBQVcsRUFBRTtZQUM3QixlQUFlLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdCLE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsQ0FBQztvQkFDUCxFQUFFLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07b0JBQ2hELE1BQU0sRUFBRSxJQUFJO2lCQUNmO2FBQ0osQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBbEdhLHdDQUF3QixHQUFzQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzNELDhCQUFjLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFDOUMsMkJBQVcsR0FBZSxJQUFJLENBQUM7SUFrR2xELHNCQUFDO0NBQUEsQUF0R0QsQ0FBcUMsVUFBVSxHQXNHOUM7U0F0R1ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuaW1wb3J0IHtcbiAgICBFZGl0b3JTdGF0ZSxcbiAgICBTdGF0ZUVmZmVjdCxcbiAgICBFeHRlbnNpb24sXG4gICAgVHJhbnNhY3Rpb25TcGVjXG59IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsgc2V0RGlhZ25vc3RpY3MgfSBmcm9tIFwiQGNvZGVtaXJyb3IvbGludFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHsgQ29yZUZhY2FkZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ZhY2FkZXMvY29yZS1mYWNhZGVcIjtcbmltcG9ydCB7IE1hcmtlciB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL21vZGVsc1wiO1xuaW1wb3J0IHsgRWRpdG9yT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IEVkaXRvckxhbmd1YWdlcyB9IGZyb20gXCIuL2xhbmd1YWdlcy9lZGl0b3ItbGFuZ3VhZ2VzXCI7XG5pbXBvcnQgeyBFZGl0b3JUaGVtZXMgfSBmcm9tIFwiLi90aGVtZXMvZWRpdG9yLXRoZW1lc1wiO1xuaW1wb3J0IHsgY29udmVydE1hcmtlcnNUb0RpYWdub3N0aWNzIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIENvZGVNaXJyb3I2Q29yZSBleHRlbmRzIENvcmVGYWNhZGUge1xuXG4gICAgcHVibGljIHN0YXRpYyAkb25Db21wbGV0aW9uSXRlbXNVcGRhdGU6IFN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBfbmdVbnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2VkaXRvclZpZXc6IEVkaXRvclZpZXcgPSBudWxsO1xuXG4gICAgLyogVGhlc2UgYXJlIG5lY2Vzc2FyeSBmb3IgdGhlIHNldENvZGUgYW5kIHNldEVkaXRvck9wdGlvbnMgY2FuIGJlIGNhbGxlZCBiZWZvcmUgdmlldyBoYXMgYmVlbiBjcmVhdGVkICovXG4gICAgcHJpdmF0ZSBfY29kZVJlY2VpdmVkQmVmb3JlVmlld0NyZWF0aW9uID0gXCJcIjtcbiAgICBwcml2YXRlIF9lZGl0b3JPcHRpb25zUmVjZWl2ZWRCZWZvcmVWaWV3Q3JlYXRpb246IEV4dGVuc2lvbiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRFZGl0b3JWaWV3KCk6IEVkaXRvclZpZXcge1xuICAgICAgICByZXR1cm4gQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdXBkYXRlRWRpdG9yVmlldyguLi50cmFuc2FjdGlvblNwZWNzOiBUcmFuc2FjdGlvblNwZWNbXSk6IHZvaWQge1xuICAgICAgICBDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXcuZGlzcGF0Y2goLi4udHJhbnNhY3Rpb25TcGVjcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvcmVXcmFwcGVyRWxlbWVudChlbGVtZW50OiBIVE1MRGl2RWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUVkaXRvclZpZXcoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvZGUoY29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRWRpdG9yQ29udGVudChjb2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENvcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T2JzZXJ2YWJsZXNMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveUNvcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvZGVSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbiA9IFwiXCI7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldyA9IG51bGw7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRDb3JlRWRpdG9yT3B0aW9ucyhvcHRpb25zOiBFZGl0b3JPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhbmd1YWdlID0gRWRpdG9yTGFuZ3VhZ2VzLmdldExhbmd1YWdlKG9wdGlvbnMubGFuZ3VhZ2UpO1xuICAgICAgICBjb25zdCB0aGVtZSA9IEVkaXRvclRoZW1lcy5nZXRUaGVtZShvcHRpb25zLnRoZW1lKTtcblxuICAgICAgICBpZiAoQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3KSB7XG4gICAgICAgICAgICBDb2RlTWlycm9yNkNvcmUudXBkYXRlRWRpdG9yVmlldyh7XG4gICAgICAgICAgICAgICAgZWZmZWN0czogU3RhdGVFZmZlY3QucmVjb25maWd1cmUub2YoW1xuICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgdGhlbWUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29kZUNoYW5nZUxpc3RlbmVyRXh0ZW5zaW9uKClcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lZGl0b3JPcHRpb25zUmVjZWl2ZWRCZWZvcmVWaWV3Q3JlYXRpb24gPSBbbGFuZ3VhZ2UsIHRoZW1lXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoaWdobGlnaHRDb2RlKG1hcmtlcnM6IE1hcmtlcltdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gY29udmVydE1hcmtlcnNUb0RpYWdub3N0aWNzKG1hcmtlcnMsIENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldy5zdGF0ZS5kb2MubGVuZ3RoKTtcbiAgICAgICAgQ29kZU1pcnJvcjZDb3JlLnVwZGF0ZUVkaXRvclZpZXcoc2V0RGlhZ25vc3RpY3MoQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3LnN0YXRlLCBkaWFnbm9zdGljcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T2JzZXJ2YWJsZXNMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS4kb25Db21wbGV0aW9uSXRlbXNVcGRhdGVcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChDb2RlTWlycm9yNkNvcmUuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShpdGVtcyA9PiB0aGlzLnVwZGF0ZUNvbXBsZXRpb25JdGVtcyhpdGVtcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRWRpdG9yVmlldyhwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXcgPSBuZXcgRWRpdG9yVmlldyh7XG4gICAgICAgICAgICBwYXJlbnQ6IHBhcmVudEVsZW1lbnQsXG4gICAgICAgICAgICBzdGF0ZTogRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBkb2M6IHRoaXMuX2NvZGVSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbixcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VkaXRvck9wdGlvbnNSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDb2RlQ2hhbmdlTGlzdGVuZXJFeHRlbnNpb24oKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubm90aWZ5Q29yZUZpbmlzaExvYWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvZGVDaGFuZ2VMaXN0ZW5lckV4dGVuc2lvbigpOiBFeHRlbnNpb24ge1xuICAgICAgICByZXR1cm4gRWRpdG9yVmlldy51cGRhdGVMaXN0ZW5lci5vZih1cGRhdGUgPT4gdXBkYXRlLmRvY0NoYW5nZWQgJiYgdGhpcy5ub3RpZnlDb2RlQ2hhbmdlKHVwZGF0ZS5zdGF0ZS5kb2MudG9TdHJpbmcoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlRWRpdG9yQ29udGVudChjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldykge1xuICAgICAgICAgICAgQ29kZU1pcnJvcjZDb3JlLnVwZGF0ZUVkaXRvclZpZXcoe1xuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgICAgICAgICAgdG86IENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldy5zdGF0ZS5kb2MubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICBpbnNlcnQ6IGNvZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvZGVSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbiA9IGNvZGU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZW1pcnJvci02LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9jb3Jlcy9jb2RlbWlycm9yLTYvY29kZW1pcnJvci02LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFHZCxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEQ7SUFBcUMsbUNBQVU7SUFVM0M7UUFBQSxZQUNJLGlCQUFPLFNBQ1Y7UUFORCx5R0FBeUc7UUFDakcscUNBQStCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLDhDQUF3QyxHQUFjLEVBQUUsQ0FBQzs7SUFJakUsQ0FBQztJQUVhLDZCQUFhLEdBQTNCO1FBQ0ksT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFYSxnQ0FBZ0IsR0FBOUI7O1FBQStCLDBCQUFzQzthQUF0QyxVQUFzQyxFQUF0QyxxQkFBc0MsRUFBdEMsSUFBc0M7WUFBdEMscUNBQXNDOztRQUNqRSxDQUFBLEtBQUEsZUFBZSxDQUFDLFdBQVcsQ0FB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ckQ7aUJBQ0osQ0FBQyxDQUFDO2FBQ047U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQztTQUMvQztJQUNMLENBQUM7SUEzSGEsd0NBQXdCLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7SUFDM0QsOEJBQWMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUM5QywyQkFBVyxHQUFlLElBQUksQ0FBQztJQTJIbEQsc0JBQUM7Q0FBQSxBQS9IRCxDQUFxQyxVQUFVLEdBK0g5QztTQS9IWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yVmlldyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5pbXBvcnQge1xuICAgIEVkaXRvclN0YXRlLFxuICAgIFN0YXRlRWZmZWN0LFxuICAgIEV4dGVuc2lvbixcbiAgICBUcmFuc2FjdGlvblNwZWNcbn0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBzZXREaWFnbm9zdGljcyB9IGZyb20gXCJAY29kZW1pcnJvci9saW50XCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBDb3JlRmFjYWRlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZmFjYWRlcy9jb3JlLWZhY2FkZVwiO1xuaW1wb3J0IHsgTWFya2VyIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvbW9kZWxzXCI7XG5pbXBvcnQgeyBFZGl0b3JPcHRpb25zIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsc1wiO1xuaW1wb3J0IHsgRWRpdG9yTGFuZ3VhZ2VzIH0gZnJvbSBcIi4vbGFuZ3VhZ2VzL2VkaXRvci1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IEVkaXRvclRoZW1lcyB9IGZyb20gXCIuL3RoZW1lcy9lZGl0b3ItdGhlbWVzXCI7XG5pbXBvcnQgeyBjb252ZXJ0TWFya2Vyc1RvRGlhZ25vc3RpY3MgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgQ29kZU1pcnJvcjZDb3JlIGV4dGVuZHMgQ29yZUZhY2FkZSB7XG5cbiAgICBwdWJsaWMgc3RhdGljICRvbkNvbXBsZXRpb25JdGVtc1VwZGF0ZTogU3ViamVjdDxzdHJpbmdbXT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgc3RhdGljIF9uZ1Vuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBfZWRpdG9yVmlldzogRWRpdG9yVmlldyA9IG51bGw7XG5cbiAgICAvKiBUaGVzZSBhcmUgbmVjZXNzYXJ5IGZvciB0aGUgc2V0Q29kZSBhbmQgc2V0RWRpdG9yT3B0aW9ucyBjYW4gYmUgY2FsbGVkIGJlZm9yZSB2aWV3IGhhcyBiZWVuIGNyZWF0ZWQgKi9cbiAgICBwcml2YXRlIF9jb2RlUmVjZWl2ZWRCZWZvcmVWaWV3Q3JlYXRpb24gPSBcIlwiO1xuICAgIHByaXZhdGUgX2VkaXRvck9wdGlvbnNSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbjogRXh0ZW5zaW9uID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEVkaXRvclZpZXcoKTogRWRpdG9yVmlldyB7XG4gICAgICAgIHJldHVybiBDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXc7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB1cGRhdGVFZGl0b3JWaWV3KC4uLnRyYW5zYWN0aW9uU3BlY3M6IFRyYW5zYWN0aW9uU3BlY1tdKTogdm9pZCB7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldy5kaXNwYXRjaCguLi50cmFuc2FjdGlvblNwZWNzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29yZVdyYXBwZXJFbGVtZW50KGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlRWRpdG9yVmlldyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29kZShjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VFZGl0b3JDb250ZW50KGNvZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q29yZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPYnNlcnZhYmxlc0xpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95Q29yZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29kZVJlY2VpdmVkQmVmb3JlVmlld0NyZWF0aW9uID0gXCJcIjtcbiAgICAgICAgQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3ID0gbnVsbDtcbiAgICAgICAgQ29kZU1pcnJvcjZDb3JlLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgQ29kZU1pcnJvcjZDb3JlLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldENvcmVFZGl0b3JPcHRpb25zKG9wdGlvbnM6IEVkaXRvck9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBFZGl0b3JMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2Uob3B0aW9ucy5sYW5ndWFnZSk7XG4gICAgICAgIGNvbnN0IHRoZW1lID0gRWRpdG9yVGhlbWVzLmdldFRoZW1lKG9wdGlvbnMudGhlbWUpO1xuXG4gICAgICAgIGlmIChDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXcpIHtcbiAgICAgICAgICAgIENvZGVNaXJyb3I2Q29yZS51cGRhdGVFZGl0b3JWaWV3KHtcbiAgICAgICAgICAgICAgICBlZmZlY3RzOiBTdGF0ZUVmZmVjdC5yZWNvbmZpZ3VyZS5vZihbXG4gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICB0aGVtZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDb2RlQ2hhbmdlTGlzdGVuZXJFeHRlbnNpb24oKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvck9wdGlvbnNSZWNlaXZlZEJlZm9yZVZpZXdDcmVhdGlvbiA9IFtsYW5ndWFnZSwgdGhlbWVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhpZ2hsaWdodENvZGUobWFya2VyczogTWFya2VyW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBjb252ZXJ0TWFya2Vyc1RvRGlhZ25vc3RpY3MobWFya2VycywgQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3LnN0YXRlLmRvYy5sZW5ndGgpO1xuICAgICAgICBDb2RlTWlycm9yNkNvcmUudXBkYXRlRWRpdG9yVmlldyhzZXREaWFnbm9zdGljcyhDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXcuc3RhdGUsIGRpYWdub3N0aWNzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPYnNlcnZhYmxlc0xpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgQ29kZU1pcnJvcjZDb3JlLiRvbkNvbXBsZXRpb25JdGVtc1VwZGF0ZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKENvZGVNaXJyb3I2Q29yZS5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGl0ZW1zID0+IHRoaXMudXBkYXRlQ29tcGxldGlvbkl0ZW1zKGl0ZW1zKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVFZGl0b3JWaWV3KHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldyA9IG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50RWxlbWVudCxcbiAgICAgICAgICAgIHN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGRvYzogdGhpcy5fY29kZVJlY2VpdmVkQmVmb3JlVmlld0NyZWF0aW9uLFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWRpdG9yT3B0aW9uc1JlY2VpdmVkQmVmb3JlVmlld0NyZWF0aW9uLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldENvZGVDaGFuZ2VMaXN0ZW5lckV4dGVuc2lvbigpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ub3RpZnlDb3JlRmluaXNoTG9hZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29kZUNoYW5nZUxpc3RlbmVyRXh0ZW5zaW9uKCk6IEV4dGVuc2lvbiB7XG4gICAgICAgIHJldHVybiBFZGl0b3JWaWV3LnVwZGF0ZUxpc3RlbmVyLm9mKHVwZGF0ZSA9PiB1cGRhdGUuZG9jQ2hhbmdlZCAmJiB0aGlzLm5vdGlmeUNvZGVDaGFuZ2UodXBkYXRlLnN0YXRlLmRvYy50b1N0cmluZygpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VFZGl0b3JDb250ZW50KGNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3KSB7XG4gICAgICAgICAgICBDb2RlTWlycm9yNkNvcmUudXBkYXRlRWRpdG9yVmlldyh7XG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xuICAgICAgICAgICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgICAgICAgICB0bzogQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3LnN0YXRlLmRvYy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIGluc2VydDogY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY29kZVJlY2VpdmVkQmVmb3JlVmlld0NyZWF0aW9uID0gY29kZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRDb2RlV2l0aEN1cnNvclByZXNlcnZhdGlvbihjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudENvZGUgPSBDb2RlTWlycm9yNkNvcmUuX2VkaXRvclZpZXcuc3RhdGUuZG9jLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFPDsyBhdHVhbGl6YSBzZSBvIGNvbnRlw7pkbyBmb3IgcmVhbG1lbnRlIGRpZmVyZW50ZVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRDb2RlICE9PSBjb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFNlbGVjdGlvbiA9IENvZGVNaXJyb3I2Q29yZS5fZWRpdG9yVmlldy5zdGF0ZS5zZWxlY3Rpb24ubWFpbjtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBDb2RlTWlycm9yNkNvcmUudXBkYXRlRWRpdG9yVmlldyh7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0bzogQ29kZU1pcnJvcjZDb3JlLl9lZGl0b3JWaWV3LnN0YXRlLmRvYy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnQ6IGNvZGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmNob3I6IE1hdGgubWluKGN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yLCBjb2RlLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkOiBNYXRoLm1pbihjdXJyZW50U2VsZWN0aW9uLmhlYWQsIGNvZGUubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9jb2RlUmVjZWl2ZWRCZWZvcmVWaWV3Q3JlYXRpb24gPSBjb2RlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
@@ -11,10 +11,10 @@ var LookupFieldComponent = /** @class */ (function () {
11
11
  ], LookupFieldComponent.prototype, "formControl", void 0);
12
12
  LookupFieldComponent = __decorate([
13
13
  Component({
14
- template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n [sortableColumnsDisabled]=\"field.sortableColumnsDisabled\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n >\n </s-lookup>\n</div>\n"
14
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n [sortableColumnsDisabled]=\"field.sortableColumnsDisabled\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n (onClearButtonClick)=\"field.onClearButtonClick ? field.onClearButtonClick() : null\"\n >\n </s-lookup>\n</div>\n"
15
15
  })
16
16
  ], LookupFieldComponent);
17
17
  return LookupFieldComponent;
18
18
  }());
19
19
  export { LookupFieldComponent };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRakQ7SUFBQTtJQUtBLENBQUM7SUFIRztRQURDLEtBQUssRUFBRTt1REFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7NkRBQ3dCO0lBSnZCLG9CQUFvQjtRQUhoQyxTQUFTLENBQUM7WUFDUCwycUVBQTBDO1NBQzdDLENBQUM7T0FDVyxvQkFBb0IsQ0FLaEM7SUFBRCwyQkFBQztDQUFBLEFBTEQsSUFLQztTQUxZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IExvb2t1cEZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJsb29rdXAtZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgTG9va3VwRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBMb29rdXBGaWVsZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRakQ7SUFBQTtJQUtBLENBQUM7SUFIRztRQURDLEtBQUssRUFBRTt1REFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7NkRBQ3dCO0lBSnZCLG9CQUFvQjtRQUhoQyxTQUFTLENBQUM7WUFDUCwwd0VBQTBDO1NBQzdDLENBQUM7T0FDVyxvQkFBb0IsQ0FLaEM7SUFBRCwyQkFBQztDQUFBLEFBTEQsSUFLQztTQUxZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IExvb2t1cEZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJsb29rdXAtZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgTG9va3VwRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBMb29rdXBGaWVsZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG59XG4iXX0=
@@ -37,6 +37,7 @@ var LookupComponent = /** @class */ (function () {
37
37
  this.onAdd = new EventEmitter();
38
38
  this.onEdit = new EventEmitter();
39
39
  this.onRemove = new EventEmitter();
40
+ this.onClearButtonClick = new EventEmitter();
40
41
  this.dialogVisible = false;
41
42
  this.collapsed = false;
42
43
  this.selected = [];
@@ -207,6 +208,7 @@ var LookupComponent = /** @class */ (function () {
207
208
  LookupComponent.prototype.clear = function () {
208
209
  this.formGroupDialog.reset(this.originalFormValues);
209
210
  this.resetTable();
211
+ this.onClearButtonClick.emit();
210
212
  };
211
213
  LookupComponent.prototype.resetTable = function () {
212
214
  this.table.reset();
@@ -505,6 +507,9 @@ var LookupComponent = /** @class */ (function () {
505
507
  __decorate([
506
508
  Output()
507
509
  ], LookupComponent.prototype, "onRemove", void 0);
510
+ __decorate([
511
+ Output()
512
+ ], LookupComponent.prototype, "onClearButtonClick", void 0);
508
513
  __decorate([
509
514
  ViewChild(Table, { static: false })
510
515
  ], LookupComponent.prototype, "table", void 0);
@@ -587,4 +592,4 @@ var LookupComponent = /** @class */ (function () {
587
592
  return LookupComponent;
588
593
  }());
589
594
  export { LookupComponent };
590
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdHLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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QUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9ILENBQUM7Z0JBQ0YsT0FBTyxDQUFDLHNCQUFzQixFQUFFO29CQUM1QixLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQzt3QkFDRixPQUFPLEVBQUUsQ0FBQztxQkFDYixDQUFDLENBQ0w7b0JBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7d0JBQ0YsT0FBTyxFQUFFLENBQUM7cUJBQ2IsQ0FBQyxDQUNMO29CQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7aUJBQ3pELENBQUM7YUFDTDs7U0FDSixDQUFDO09BQ1csZUFBZSxDQThtQjNCO0lBQUQsc0JBQUM7Q0FBQSxBQTltQkQsSUE4bUJDO1NBOW1CWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0ZUNoaWxkLCBncm91cCwgcXVlcnksIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWFza0NvbmZpZyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2tcIjtcbmltcG9ydCB7IEhvdGtleSwgSG90a2V5c1NlcnZpY2UgfSBmcm9tIFwiYW5ndWxhcjItaG90a2V5c1wiO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tIFwiYmlnbnVtYmVyLmpzXCI7XG5pbXBvcnQgeyBTb3J0TWV0YSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlIH0gZnJvbSBcInByaW1lbmcvYXV0b2NvbXBsZXRlXCI7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tIFwicHJpbWVuZy9kaWFsb2dcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi8uLlwiO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDYWxlbmRhckxvY2FsZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vbG9jYWxlL29wdGlvbnMvY2FsZW5kYXJcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9iaWdudW1iZXItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5PcHRpb25zTGFiZWwgfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2Jvb2xlYW4tZmllbGRcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyIH0gZnJvbSBcIi4vbW9kZWxzL2RlZmF1bHQtZmlsdGVyXCI7XG5cbkBJbmplY3RhYmxlKClcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtbG9va3VwXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9sb29rdXAuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vbG9va3VwLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvb2t1cENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKFwiY29sbGFwc2VDb250ZW50XCIsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMHB4XCIsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcInZpc2libGVcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIipcIixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCJ2aXNpYmxlIDw9PiBoaWRkZW5cIiwgW2dyb3VwKFtxdWVyeShcIkBjaGlsZENvbGxhcHNlQ29udGVudFwiLCBhbmltYXRlQ2hpbGQoKSksIGFuaW1hdGUoXCJ7e3RyYW5zaXRpb25QYXJhbXN9fVwiKV0pXSksXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKFwiY2hpbGRDb2xsYXBzZUNvbnRlbnRcIiwgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCI6bGVhdmVcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcIjplbnRlclwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCIqIDw9PiAqXCIsIGFuaW1hdGUoXCJ7e3RyYW5zaXRpb25QYXJhbXN9fVwiKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIExvb2t1cENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtbG9va3VwLSR7TG9va3VwQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdXRvY29tcGxldGVGb3JjZVNlbGVjdGlvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGFLZXk6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dTZWFyY2ggPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwU3VnZ2VzdGlvbnM6IGFueVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwRGlzcGxheUZpZWxkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBEaXNwbGF5RmllbGRUb29sdGlwOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwRW1wdHlNZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBBcHBlbmRUbyA9IFwiYm9keVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoR3JpZERhdGE6IGFueVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpU29ydE1ldGE6IFNvcnRNZXRhW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc29ydGFibGVDb2x1bW5zRGlzYWJsZWQ6IHN0cmluZ1tdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwUm93UHJvcHM6IHN0cmluZ1tdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVmYXVsdEZpbHRlcjogRGVmYXVsdEZpbHRlcltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0FkZE9wdGlvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0VkaXRPcHRpb24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dSZW1vdmVPcHRpb24gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkxvb2t1cFJlcXVlc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uS2V5VXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25VbnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQWRkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpO1xuXG4gICAgQFZpZXdDaGlsZChUYWJsZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcblxuICAgIEBWaWV3Q2hpbGQoRGlhbG9nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgZGlhbG9nOiBEaWFsb2c7XG5cbiAgICBAVmlld0NoaWxkKEF1dG9Db21wbGV0ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZTogQXV0b0NvbXBsZXRlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEVtcHR5VGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJUaXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsZWFyTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlGaWVsZExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3Jkc0xhYmVsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgYW5pbWF0aW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgcHVibGljIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgZm9ybUdyb3VwRGlhbG9nOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIHRyYW5zaXRpb25PcHRpb25zID0gXCI0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSlcIjtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIG9yaWdpbmFsRm9ybVZhbHVlcyA9IHt9O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3RrZXlzU2VydmljZTogSG90a2V5c1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoR3JpZEZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hHcmlkRmllbGRzID0gdGhpcy5zZWFyY2hGaWVsZHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS52aXNpYmxlIHx8IGl0ZW0udmlzaWJsZT8uKCkpXG4gICAgICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gbmV3IEZvcm1GaWVsZCh7IC4uLml0ZW0gfSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSB0aGlzLnNlYXJjaEZpZWxkcy5tYXAoXG4gICAgICAgICAgICAodmFsdWU6IEZvcm1GaWVsZCkgPT5cbiAgICAgICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHsgc206IDEyLCBtZDogMTIsIGxnOiAxMiwgeGw6IDEyIH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSB0aGlzLnNlYXJjaEdyaWRGaWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGdyaWRGaWVsZDogRm9ybUZpZWxkKSA9PiAhZ3JpZEZpZWxkLnZpc2libGUgfHwgZ3JpZEZpZWxkLnZpc2libGU/LigpKVxuICAgICAgICAgICAgLm1hcCgoZ3JpZEZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBncmlkRmllbGRbXCJ3aWR0aFwiXSA9IHRoaXMuZ2V0Q29sV2lkdGgoZ3JpZEZpZWxkLmxhYmVsKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNhbGVuZGFyT3B0aW9ucyA9IG5ldyBDYWxlbmRhckxvY2FsZU9wdGlvbnMoeyAuLi5ncmlkRmllbGQuY2FsZW5kYXJMb2NhbGVPcHRpb25zIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNhbGVuZGFyT3B0aW9ucz8uZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGdyaWRGaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50SG91ckZvcm1hdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmhvdXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBncmlkRmllbGQuY2FsZW5kYXJMb2NhbGVPcHRpb25zID0gY2FsZW5kYXJPcHRpb25zO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBncmlkRmllbGQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLnNlYXJjaEZpZWxkcy5yZWR1Y2UoKHJlc3VsdDogYW55LCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbmV3IEZvcm1Db250cm9sKGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRm9ybVZhbHVlc1tmaWVsZC5uYW1lXSA9IGZpZWxkLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZyA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJpbnRSZWNvcmRUb3RhbGl6ZXIoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVG90YWxSZWNvcmRzTGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVjb3JkTGFiZWwgPSB0aGlzLnJlY29yZExhYmVsXG4gICAgICAgICAgICA/IGAke3RoaXMuc2VhcmNoVG90YWxSZWNvcmRzfSAke3RoaXMucmVjb3JkTGFiZWx9YFxuICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50b3RhbF9yZWNvcmRcIiwgeyBjb3VudDogdGhpcy5zZWFyY2hUb3RhbFJlY29yZHMgfSk7XG5cbiAgICAgICAgY29uc3QgcmVjb3Jkc0xhYmVsID0gdGhpcy5yZWNvcmRzTGFiZWxcbiAgICAgICAgICAgID8gYCR7dGhpcy5zZWFyY2hUb3RhbFJlY29yZHN9ICR7dGhpcy5yZWNvcmRzTGFiZWx9YFxuICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50b3RhbF9yZWNvcmRzXCIsIHsgY291bnQ6IHRoaXMuc2VhcmNoVG90YWxSZWNvcmRzIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFRvdGFsUmVjb3JkcyA9PT0gMSA/IHJlY29yZExhYmVsIDogcmVjb3Jkc0xhYmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnZlcnRUb01vbWVudEhvdXJGb3JtYXQoaG91ckZvcm1hdDogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImRkL21tL3l5XCIpIHtcbiAgICAgICAgICAgIC8vIHZhbG9yIHBhZHLDo28gcGFyYSBvIGZvcm1hdC5cbiAgICAgICAgICAgIHJldHVybiBcIkxUU1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJGb3JtYXQgPT09IFwiMTJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJIXFxiLywgXCJoXCIpIC8vIGhvdXIgKDEyIGhvdXIgdGltZSkgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiSEhcXGIvLCBcImhoXCIpOyAvLyBob3VyICgxMiBob3VyIHRpbWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIyNFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhcXGIvLCBcIkhcIikgLy8gaG91ciAoMjQgaG91ciB0aW1lKSAobm8gbGVhZGluZyB6ZXJvKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJoaFxcYi8sIFwiSEhcIik7IC8vIGhvdXIgKDI0IGhvdXIgdGltZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEEgb3JkZW0gZG9zIHJlcGxhY2VzIMOpIGltcG9ydGFudGUuXG4gICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJkXFxiLywgXCJEXCIpIC8vIGRheSBvZiBtb250aCAobm8gbGVhZGluZyB6ZXJvKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmRkXFxiLywgXCJERFwiKSAvLyBkYXkgb2YgbW9udGhcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJvXFxiLywgXCJERERcIikgLy8gZGF5IG9mIHRoZSB5ZWFyIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxib29cXGIvLCBcIkRERERcIikgLy8gZGF5IG9mIHRoZSB5ZWFyXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiTVxcYi8sIFwiTU1NXCIpIC8vIG1vbnRoIG5hbWUgc2hvcnRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNTVxcYi8sIFwiTU1NTVwiKSAvLyBtb250aCBuYW1lIGxvbmdcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJtXFxiLywgXCJNXCIpIC8vIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibW1cXGIvLCBcIk1NXCIpIC8vIG1vbnRoIG9mIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5XFxiLywgXCJZWVwiKSAvLyB5ZWFyICh0d28gZGlnaXRzKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYnl5XFxiLywgXCJZWVlZXCIpOyAvLyB5ZWFyIChmb3VyIGRpZ2l0cylcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5vbk92ZXJsYXlBbmltYXRpb25Eb25lID0gKGV2ZW50KSA9PiB7fTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dWaXNpYmxlICYmIGNoYW5nZXMuc2VhcmNoR3JpZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNGaWx0ZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoR3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvb2t1cFN1Z2dlc3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBTdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbWFrZVNlYXJjaFJlcXVlc3RQYXJhbXMoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5mb3JtR3JvdXBEaWFsb2cuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5ldmVudCwgZmlsdGVyRGF0YTogZmlsdGVycyB9O1xuICAgICAgICBjb25zdCB7IG11bHRpU29ydE1ldGEgfSA9IGV2ZW50O1xuICAgICAgICB0aGlzLm11bHRpU29ydE1ldGEgPSBtdWx0aVNvcnRNZXRhIHx8IHRoaXMubXVsdGlTb3J0TWV0YTtcblxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBsYXp5TG9hZEdyaWQoZXZlbnQ6IGFueSkge1xuICAgICAgICAvLyBBbyBkZWZpbmlyIHVtYSBvcmRlbmHDp8OjbyBuYSB0YWJlbGEgZG8gbG9va3VwIGVzc2UgbcOpdG9kbyDDqSBjaGFtYWRvIDIgdmV6ZXMgaHR0cHM6Ly9naXRodWIuY29tL3ByaW1lZmFjZXMvcHJpbWVuZy9pc3N1ZXMvNTQ4MFxuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLm1ha2VTZWFyY2hSZXF1ZXN0UGFyYW1zKGV2ZW50KTtcbiAgICAgICAgdGhpcy5vblNlYXJjaFJlcXVlc3QubmV4dChwYXJhbXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsYXp5TG9hZExvb2t1cChldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMub25Mb29rdXBSZXF1ZXN0Lm5leHQoZXZlbnQucXVlcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREZWZhdWx0RmlsdGVycygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRGaWx0ZXIpIHJldHVybjtcblxuICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXJcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgZmllbGQgfSkgPT4gdGhpcy5mb3JtR3JvdXBEaWFsb2cuY29udGFpbnMoZmllbGQpICYmICF0aGlzLmZvcm1Hcm91cERpYWxvZy5nZXQoW2ZpZWxkXSkuZGlydHkpXG4gICAgICAgICAgICAuZm9yRWFjaCgoeyB2YWx1ZSwgZmllbGQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwRGlhbG9nLmdldChbZmllbGRdKS5wYXRjaFZhbHVlKHZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24gPyB2YWx1ZSgpIDogdmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEaWFsb2coKSB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdEZpbHRlcnMoKTtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5ob3RrZXlzXSk7XG4gICAgICAgIHRoaXMuc2V0SG90a2V5cygpO1xuXG4gICAgICAgIGxldCBzZWxlY3RlZDogYW55ID0gW107XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gc2VsZWN0ZWQuY29uY2F0KHRoaXMudmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gW3RoaXMudmFsdWVdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlRGlhbG9nKCkge1xuICAgICAgICBjb25zdCB7IGlucHV0RUwsIG11bHRpSW5wdXRFTCB9ID0gdGhpcy5hdXRvY29tcGxldGU7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhvdGtleXNTZXJ2aWNlLnVucGF1c2UoWy4uLnRoaXMuaG90a2V5c1NlcnZpY2UucGF1c2VkSG90a2V5c10pO1xuXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSBtdWx0aUlucHV0RUwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBlbHNlIGlucHV0RUwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2goKSB7XG4gICAgICAgIHRoaXMucmVzZXRUYWJsZSgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nLm1vdmVPblRvcCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBEaWFsb2cucmVzZXQodGhpcy5vcmlnaW5hbEZvcm1WYWx1ZXMpO1xuICAgICAgICB0aGlzLnJlc2V0VGFibGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXRUYWJsZSgpIHtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZC5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQgJiYgKHRoaXMubXVsdGlwbGUgPyB0aGlzLnNlbGVjdGVkIDogdGhpcy5zZWxlY3RlZFswXSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5uZXh0KHNlbGVjdGVkKTtcbiAgICAgICAgdGhpcy5oaWRlRGlhbG9nKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkOiBhbnkpIHtcbiAgICAgICAgaWYgKCFzZWxlY3RlZCkgcmV0dXJuO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkpIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgZWxzZSB0aGlzLnNlbGVjdGVkID0gW3NlbGVjdGVkXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgb25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmllbGRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdCwgcHJvcCkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEJhZGdlRnJvbVZhbHVlKFxuICAgICAgICB2YWx1ZTogdW5rbm93bixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICAgIHZhbHVlOiB1bmtub3duO1xuICAgICAgICAgICAgYmFkZ2U/OiB7XG4gICAgICAgICAgICAgICAgdHlwZT86IEJhZGdlQ29tcG9uZW50W1widHlwZVwiXTtcbiAgICAgICAgICAgICAgICBjb2xvcj86IEJhZGdlQ29tcG9uZW50W1wiY29sb3JcIl07XG4gICAgICAgICAgICAgICAgaWNvbkNsYXNzPzogQmFkZ2VDb21wb25lbnRbXCJpY29uQ2xhc3NcIl07XG4gICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPzogQmFkZ2VDb21wb25lbnRbXCJpY29uUG9zaXRpb25cIl07XG4gICAgICAgICAgICB9O1xuICAgICAgICB9W11cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM/LmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB2YWx1ZSk/LmJhZGdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMYWJlbEZvclZhbHVlKFxuICAgICAgICB2YWx1ZTogdW5rbm93bixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICAgIHZhbHVlOiB1bmtub3duO1xuICAgICAgICAgICAgYmFkZ2U/OiB7XG4gICAgICAgICAgICAgICAgdHlwZT86IEJhZGdlQ29tcG9uZW50W1widHlwZVwiXTtcbiAgICAgICAgICAgICAgICBjb2xvcj86IEJhZGdlQ29tcG9uZW50W1wiY29sb3JcIl07XG4gICAgICAgICAgICAgICAgaWNvbkNsYXNzPzogQmFkZ2VDb21wb25lbnRbXCJpY29uQ2xhc3NcIl07XG4gICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPzogQmFkZ2VDb21wb25lbnRbXCJpY29uUG9zaXRpb25cIl07XG4gICAgICAgICAgICB9O1xuICAgICAgICB9W11cbiAgICApIHtcbiAgICAgICAgaWYgKCFvcHRpb25zKSByZXR1cm4gdmFsdWU7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLmxhYmVsIDogdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQm9vbGVhblZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEZpZWxkVmFsdWUob2JqLCBwYXRoKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZSkgcmV0dXJuIHRydWU7XG4gICAgICAgIGVsc2UgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCb29sZWFuTGFiZWwob2JqOiBhbnksIHBhdGg6IHN0cmluZywgb3B0aW9uc0xhYmVsOiBCb29sZWFuT3B0aW9uc0xhYmVsKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkgcmV0dXJuIG9wdGlvbnNMYWJlbC50cnVlO1xuICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHJldHVybiBvcHRpb25zTGFiZWwuZmFsc2U7XG4gICAgICAgIGVsc2UgcmV0dXJuIHRoaXMuZW1wdHlGaWVsZExhYmVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc051bWJlcihvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAhbmV3IEJpZ051bWJlcih0aGlzLmdldEZpZWxkVmFsdWUob2JqLCBwYXRoKSkuaXNOYU4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SG90a2V5cygpIHtcbiAgICAgICAgY29uc3QgY2xlYXJIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtsXCIsIHRoaXMuY2xlYXIuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IGZpbmRIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtmXCIsIHRoaXMuc2VhcmNoLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBoaWRlSG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrY1wiLCB0aGlzLmhpZGVEaWFsb2cuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdEhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K3NcIiwgdGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgYmluZGVkSG90a2V5cyA9IFtjbGVhckhvdGtleSwgZmluZEhvdGtleSwgaGlkZUhvdGtleSwgc2VsZWN0SG90a2V5XTtcbiAgICAgICAgYmluZGVkSG90a2V5cy5mb3JFYWNoKChob3RrZXk6IEhvdGtleSkgPT4gdGhpcy5ob3RrZXlzU2VydmljZS5hZGQoaG90a2V5KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuZXdIb3RrZXkoY29tYm86IHN0cmluZywgZm46IEZ1bmN0aW9uKTogSG90a2V5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3RrZXkoY29tYm8sICgpID0+IHtcbiAgICAgICAgICAgIGZuKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sIFtcIklOUFVUXCIsIFwiU0VMRUNUXCIsIFwiVEVYVEFSRUFcIl0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJUb2dnbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlRG9uZSgpIHtcbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgdGhlIHRhYmxlIGNvbHVtbiBzaXplLiBUaGUgbWluaW11bSB2YWx1ZSBpcyAxNC4yODZlbSwgd2hpY2ggaXMgZXF1YWxzIHRvIDIwMHB4IGR1byB0byB0aGUgY3VycmVudCBmb250IHNpemUuXG4gICAgICogQHBhcmFtIGxhYmVsIENvbHVtbiBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb2xXaWR0aChsYWJlbDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBsYWJlbC5sZW5ndGg7XG4gICAgICAgIGlmIChzaXplIDwgMTQuMjg2KSByZXR1cm4gYDE0LjI4NmVtYDtcbiAgICAgICAgcmV0dXJuIGAke3NpemV9ZW1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTY2FsZShzY2FsZTogYW55KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGdW5jdGlvbihzY2FsZSkgPyBzY2FsZSgpIDogc2NhbGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldEludGVnZXJNYXNrQ29uZmlnKGNvbDogQmlnbnVtYmVyRmllbGRDb25maWcpOiBNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjYWxlOiAwLFxuICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgcHJlZml4OiBcIlwiLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb3VibGVNYXNrQ29uZmlnKGNvbDogQmlnbnVtYmVyRmllbGRDb25maWcpOiBNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjYWxlOiB0aGlzLmdldFNjYWxlKGNvbC5zY2FsZSksXG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWZpeDogXCJcIixcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9uZXlNYXNrQ29uZmlnKGNvbDogQmlnbnVtYmVyRmllbGRDb25maWcpOiBNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjYWxlOiB0aGlzLmdldFNjYWxlKGNvbC5zY2FsZSksXG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWZpeDogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXJNYXNrQ29uZmlnKGNvbDogQmlnbnVtYmVyRmllbGRDb25maWcpOiBNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjYWxlOiB0aGlzLmdldFNjYWxlKGNvbC5zY2FsZSksXG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWZpeDogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhYmxlUm93RG91YmxlQ2xpY2socm93RGF0YTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBbcm93RGF0YV07XG4gICAgICAgIHRoaXMuc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Rm9jdXNGaWx0ZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1Zpc2libGUgJiYgIXRoaXMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZGlhbG9nPy5jb250ZW50Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50Py5nZXRFbGVtZW50c0J5VGFnTmFtZShcImlucHV0XCIpWzBdO1xuXG4gICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAoaW5wdXQgYXMgSFRNTElucHV0RWxlbWVudCkuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNlYXJjaFJlcXVlc3QucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+ICh0aGlzLmxvYWRpbmcgPSB0cnVlKSk7XG5cbiAgICAgICAgdGhpcy5vblNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy5vblVuc2VsZWN0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpKTtcblxuICAgICAgICB0aGlzLm9uQ2xlYXIucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uQmx1ci5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWVbdGhpcy5sb29rdXBEaXNwbGF5RmllbGRdO1xuICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGFyZ2V0O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSB8fCAhY3VycmVudFZhbHVlIHx8IGN1cnJlbnRWYWx1ZSA9PSB2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB0YXJnZXQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
595
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdHLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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QyxDQUNMO29CQUNELFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMvSCxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtvQkFDNUIsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7d0JBQ0YsT0FBTyxFQUFFLENBQUM7cUJBQ2IsQ0FBQyxDQUNMO29CQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO3dCQUNGLE9BQU8sRUFBRSxDQUFDO3FCQUNiLENBQUMsQ0FDTDtvQkFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2lCQUN6RCxDQUFDO2FBQ0w7O1NBQ0osQ0FBQztPQUNXLGVBQWUsQ0FrbkIzQjtJQUFELHNCQUFDO0NBQUEsQUFsbkJELElBa25CQztTQWxuQlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE1hc2tDb25maWcgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL25nMi1jdXJyZW5jeS1tYXNrXCI7XG5pbXBvcnQgeyBIb3RrZXksIEhvdGtleXNTZXJ2aWNlIH0gZnJvbSBcImFuZ3VsYXIyLWhvdGtleXNcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuaW1wb3J0IHsgU29ydE1ldGEgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSB9IGZyb20gXCJwcmltZW5nL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi5cIjtcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL2JhZGdlL2JhZGdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uLy4uL2xvY2FsZS9vcHRpb25zL2NhbGVuZGFyXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJGaWVsZENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYmlnbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuT3B0aW9uc0xhYmVsIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbnMvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciB9IGZyb20gXCIuL21vZGVscy9kZWZhdWx0LWZpbHRlclwiO1xuXG5ASW5qZWN0YWJsZSgpXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWxvb2t1cFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vbG9va3VwLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2xvb2t1cC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb29rdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihcImNvbGxhcHNlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJ2aXNpYmxlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIqXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwidmlzaWJsZSA8PT4gaGlkZGVuXCIsIFtncm91cChbcXVlcnkoXCJAY2hpbGRDb2xsYXBzZUNvbnRlbnRcIiwgYW5pbWF0ZUNoaWxkKCkpLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIildKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcihcImNoaWxkQ29sbGFwc2VDb250ZW50XCIsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiOmxlYXZlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCI6ZW50ZXJcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA8PT4gKlwiLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIikpLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb29rdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWxvb2t1cC0ke0xvb2t1cENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlRm9yY2VTZWxlY3Rpb24gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkYXRhS2V5OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93U2VhcmNoID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cERpc3BsYXlGaWVsZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwRGlzcGxheUZpZWxkVG9vbHRpcDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cEVtcHR5TWVzc2FnZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwQXBwZW5kVG8gPSBcImJvZHlcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEVtcHR5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEdyaWREYXRhOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRmllbGRzOiBGb3JtRmllbGRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aVNvcnRNZXRhOiBTb3J0TWV0YVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNvcnRhYmxlQ29sdW1uc0Rpc2FibGVkOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFJvd1Byb3BzOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlZmF1bHRGaWx0ZXI6IERlZmF1bHRGaWx0ZXJbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dBZGRPcHRpb24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dFZGl0T3B0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93UmVtb3ZlT3B0aW9uID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Mb29rdXBSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VhcmNoUmVxdWVzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbktleVVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uVW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkFkZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd25bXT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNsZWFyQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKFRhYmxlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlO1xuXG4gICAgQFZpZXdDaGlsZChEaWFsb2csIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBkaWFsb2c6IERpYWxvZztcblxuICAgIEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlOiBBdXRvQ29tcGxldGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hUaXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlUaXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbHRlclRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xlYXJMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgTG9va3VwIGNhbiBkbyB0aGlzIGZvciB5b3UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2FuY2VsTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eUZpZWxkTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIExvb2t1cCBjYW4gZG8gdGhpcyBmb3IgeW91LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlY29yZExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBMb29rdXAgY2FuIGRvIHRoaXMgZm9yIHlvdS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRzTGFiZWw6IHN0cmluZztcblxuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBhbmltYXRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgcHVibGljIHNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBmb3JtR3JvdXBEaWFsb2c6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgdHJhbnNpdGlvbk9wdGlvbnMgPSBcIjQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKVwiO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb3JpZ2luYWxGb3JtVmFsdWVzID0ge307XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvdGtleXNTZXJ2aWNlOiBIb3RrZXlzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWFyY2hHcmlkRmllbGRzKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSB0aGlzLnNlYXJjaEZpZWxkc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlPy4oKSlcbiAgICAgICAgICAgICAgICAubWFwKChpdGVtKSA9PiBuZXcgRm9ybUZpZWxkKHsgLi4uaXRlbSB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkcyA9IHRoaXMuc2VhcmNoRmllbGRzLm1hcChcbiAgICAgICAgICAgICh2YWx1ZTogRm9ybUZpZWxkKSA9PlxuICAgICAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogeyBzbTogMTIsIG1kOiAxMiwgbGc6IDEyLCB4bDogMTIgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoR3JpZEZpZWxkcyA9IHRoaXMuc2VhcmNoR3JpZEZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoZ3JpZEZpZWxkOiBGb3JtRmllbGQpID0+ICFncmlkRmllbGQudmlzaWJsZSB8fCBncmlkRmllbGQudmlzaWJsZT8uKCkpXG4gICAgICAgICAgICAubWFwKChncmlkRmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGdyaWRGaWVsZFtcIndpZHRoXCJdID0gdGhpcy5nZXRDb2xXaWR0aChncmlkRmllbGQubGFiZWwpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY2FsZW5kYXJPcHRpb25zID0gbmV3IENhbGVuZGFyTG9jYWxlT3B0aW9ucyh7IC4uLmdyaWRGaWVsZC5jYWxlbmRhckxvY2FsZU9wdGlvbnMgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2FsZW5kYXJPcHRpb25zPy5kYXRlRm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZ3JpZEZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQgPSB0aGlzLl9jb252ZXJ0VG9Nb21lbnREYXRlRm9ybWF0KGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlRpbWU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQgPSB0aGlzLl9jb252ZXJ0VG9Nb21lbnRIb3VyRm9ybWF0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuaG91ckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGdyaWRGaWVsZC5jYWxlbmRhckxvY2FsZU9wdGlvbnMgPSBjYWxlbmRhck9wdGlvbnM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyaWRGaWVsZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuc2VhcmNoRmllbGRzLnJlZHVjZSgocmVzdWx0OiBhbnksIGZpZWxkKSA9PiB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woZmllbGQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGb3JtVmFsdWVzW2ZpZWxkLm5hbWVdID0gZmllbGQuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwRGlhbG9nID0gbmV3IEZvcm1Hcm91cChmb3JtR3JvdXApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmludFJlY29yZFRvdGFsaXplcigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hUb3RhbFJlY29yZHNMYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWNvcmRMYWJlbCA9IHRoaXMucmVjb3JkTGFiZWxcbiAgICAgICAgICAgID8gYCR7dGhpcy5zZWFyY2hUb3RhbFJlY29yZHN9ICR7dGhpcy5yZWNvcmRMYWJlbH1gXG4gICAgICAgICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRvdGFsX3JlY29yZFwiLCB7IGNvdW50OiB0aGlzLnNlYXJjaFRvdGFsUmVjb3JkcyB9KTtcblxuICAgICAgICBjb25zdCByZWNvcmRzTGFiZWwgPSB0aGlzLnJlY29yZHNMYWJlbFxuICAgICAgICAgICAgPyBgJHt0aGlzLnNlYXJjaFRvdGFsUmVjb3Jkc30gJHt0aGlzLnJlY29yZHNMYWJlbH1gXG4gICAgICAgICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRvdGFsX3JlY29yZHNcIiwgeyBjb3VudDogdGhpcy5zZWFyY2hUb3RhbFJlY29yZHMgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoVG90YWxSZWNvcmRzID09PSAxID8gcmVjb3JkTGFiZWwgOiByZWNvcmRzTGFiZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50SG91ckZvcm1hdChob3VyRm9ybWF0OiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiZGQvbW0veXlcIikge1xuICAgICAgICAgICAgLy8gdmFsb3IgcGFkcsOjbyBwYXJhIG8gZm9ybWF0LlxuICAgICAgICAgICAgcmV0dXJuIFwiTFRTXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIxMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYkhcXGIvLCBcImhcIikgLy8gaG91ciAoMTIgaG91ciB0aW1lKSAobm8gbGVhZGluZyB6ZXJvKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJISFxcYi8sIFwiaGhcIik7IC8vIGhvdXIgKDEyIGhvdXIgdGltZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3VyRm9ybWF0ID09PSBcIjI0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiaFxcYi8sIFwiSFwiKSAvLyBob3VyICgyNCBob3VyIHRpbWUpIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhoXFxiLywgXCJISFwiKTsgLy8gaG91ciAoMjQgaG91ciB0aW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcm1hdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb252ZXJ0VG9Nb21lbnREYXRlRm9ybWF0KGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gQSBvcmRlbSBkb3MgcmVwbGFjZXMgw6kgaW1wb3J0YW50ZS5cbiAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmRcXGIvLCBcIkRcIikgLy8gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiZGRcXGIvLCBcIkREXCIpIC8vIGRheSBvZiBtb250aFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm9cXGIvLCBcIkRERFwiKSAvLyBkYXkgb2YgdGhlIHllYXIgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJvb1xcYi8sIFwiRERERFwiKSAvLyBkYXkgb2YgdGhlIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNXFxiLywgXCJNTU1cIikgLy8gbW9udGggbmFtZSBzaG9ydFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYk1NXFxiLywgXCJNTU1NXCIpIC8vIG1vbnRoIG5hbWUgbG9uZ1xuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm1cXGIvLCBcIk1cIikgLy8gbW9udGggb2YgeWVhciAobm8gbGVhZGluZylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJtbVxcYi8sIFwiTU1cIikgLy8gbW9udGggb2YgeWVhclxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYnlcXGIvLCBcIllZXCIpIC8vIHllYXIgKHR3byBkaWdpdHMpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxieXlcXGIvLCBcIllZWVlcIik7IC8vIHllYXIgKGZvdXIgZGlnaXRzKVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLm9uT3ZlcmxheUFuaW1hdGlvbkRvbmUgPSAoZXZlbnQpID0+IHt9O1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1Zpc2libGUgJiYgY2hhbmdlcy5zZWFyY2hHcmlkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRGb2N1c0ZpbHRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyaWREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hHcmlkRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9va3VwU3VnZ2VzdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtYWtlU2VhcmNoUmVxdWVzdFBhcmFtcyhldmVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmZvcm1Hcm91cERpYWxvZy5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLmV2ZW50LCBmaWx0ZXJEYXRhOiBmaWx0ZXJzIH07XG4gICAgICAgIGNvbnN0IHsgbXVsdGlTb3J0TWV0YSB9ID0gZXZlbnQ7XG4gICAgICAgIHRoaXMubXVsdGlTb3J0TWV0YSA9IG11bHRpU29ydE1ldGEgfHwgdGhpcy5tdWx0aVNvcnRNZXRhO1xuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkR3JpZChldmVudDogYW55KSB7XG4gICAgICAgIC8vIEFvIGRlZmluaXIgdW1hIG9yZGVuYcOnw6NvIG5hIHRhYmVsYSBkbyBsb29rdXAgZXNzZSBtw6l0b2RvIMOpIGNoYW1hZG8gMiB2ZXplcyBodHRwczovL2dpdGh1Yi5jb20vcHJpbWVmYWNlcy9wcmltZW5nL2lzc3Vlcy81NDgwXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMubWFrZVNlYXJjaFJlcXVlc3RQYXJhbXMoZXZlbnQpO1xuICAgICAgICB0aGlzLm9uU2VhcmNoUmVxdWVzdC5uZXh0KHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkTG9va3VwKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkxvb2t1cFJlcXVlc3QubmV4dChldmVudC5xdWVyeSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERlZmF1bHRGaWx0ZXJzKCkge1xuICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdEZpbHRlcikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclxuICAgICAgICAgICAgLmZpbHRlcigoeyBmaWVsZCB9KSA9PiB0aGlzLmZvcm1Hcm91cERpYWxvZy5jb250YWlucyhmaWVsZCkgJiYgIXRoaXMuZm9ybUdyb3VwRGlhbG9nLmdldChbZmllbGRdKS5kaXJ0eSlcbiAgICAgICAgICAgIC5mb3JFYWNoKCh7IHZhbHVlLCBmaWVsZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXBEaWFsb2cuZ2V0KFtmaWVsZF0pLnBhdGNoVmFsdWUodmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbiA/IHZhbHVlKCkgOiB2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RpYWxvZygpIHtcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0RmlsdGVycygpO1xuICAgICAgICB0aGlzLnNlYXJjaEdyaWREYXRhID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmhvdGtleXNTZXJ2aWNlLnBhdXNlKFsuLi50aGlzLmhvdGtleXNTZXJ2aWNlLmhvdGtleXNdKTtcbiAgICAgICAgdGhpcy5zZXRIb3RrZXlzKCk7XG5cbiAgICAgICAgbGV0IHNlbGVjdGVkOiBhbnkgPSBbXTtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWQgPSBzZWxlY3RlZC5jb25jYXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWQgPSBbdGhpcy52YWx1ZV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGVEaWFsb2coKSB7XG4gICAgICAgIGNvbnN0IHsgaW5wdXRFTCwgbXVsdGlJbnB1dEVMIH0gPSB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaG90a2V5c1NlcnZpY2UudW5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZWRIb3RrZXlzXSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIG11bHRpSW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGVsc2UgaW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5yZXNldFRhYmxlKCk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kaWFsb2cubW92ZU9uVG9wKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZy5yZXNldCh0aGlzLm9yaWdpbmFsRm9ybVZhbHVlcyk7XG4gICAgICAgIHRoaXMucmVzZXRUYWJsZSgpO1xuICAgICAgICB0aGlzLm9uQ2xlYXJCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0VGFibGUoKSB7XG4gICAgICAgIHRoaXMudGFibGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0KCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkICYmICh0aGlzLm11bHRpcGxlID8gdGhpcy5zZWxlY3RlZCA6IHRoaXMuc2VsZWN0ZWRbMF0pO1xuICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMub25TZWxlY3QubmV4dChzZWxlY3RlZCk7XG4gICAgICAgIHRoaXMuaGlkZURpYWxvZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZDogYW55KSB7XG4gICAgICAgIGlmICghc2VsZWN0ZWQpIHJldHVybjtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpKSB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIGVsc2UgdGhpcy5zZWxlY3RlZCA9IFtzZWxlY3RlZF07XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIG9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpZWxkVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQsIHByb3ApID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IFwiXCIgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCYWRnZUZyb21WYWx1ZShcbiAgICAgICAgdmFsdWU6IHVua25vd24sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICB2YWx1ZTogdW5rbm93bjtcbiAgICAgICAgICAgIGJhZGdlPzoge1xuICAgICAgICAgICAgICAgIHR5cGU/OiBCYWRnZUNvbXBvbmVudFtcInR5cGVcIl07XG4gICAgICAgICAgICAgICAgY29sb3I/OiBCYWRnZUNvbXBvbmVudFtcImNvbG9yXCJdO1xuICAgICAgICAgICAgICAgIGljb25DbGFzcz86IEJhZGdlQ29tcG9uZW50W1wiaWNvbkNsYXNzXCJdO1xuICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj86IEJhZGdlQ29tcG9uZW50W1wiaWNvblBvc2l0aW9uXCJdO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVtdXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zPy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpPy5iYWRnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFiZWxGb3JWYWx1ZShcbiAgICAgICAgdmFsdWU6IHVua25vd24sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICB2YWx1ZTogdW5rbm93bjtcbiAgICAgICAgICAgIGJhZGdlPzoge1xuICAgICAgICAgICAgICAgIHR5cGU/OiBCYWRnZUNvbXBvbmVudFtcInR5cGVcIl07XG4gICAgICAgICAgICAgICAgY29sb3I/OiBCYWRnZUNvbXBvbmVudFtcImNvbG9yXCJdO1xuICAgICAgICAgICAgICAgIGljb25DbGFzcz86IEJhZGdlQ29tcG9uZW50W1wiaWNvbkNsYXNzXCJdO1xuICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj86IEJhZGdlQ29tcG9uZW50W1wiaWNvblBvc2l0aW9uXCJdO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVtdXG4gICAgKSB7XG4gICAgICAgIGlmICghb3B0aW9ucykgcmV0dXJuIHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQudmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbi5sYWJlbCA6IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Jvb2xlYW5WYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Qm9vbGVhbkxhYmVsKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIG9wdGlvbnNMYWJlbDogQm9vbGVhbk9wdGlvbnNMYWJlbCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHJldHVybiBvcHRpb25zTGFiZWwudHJ1ZTtcbiAgICAgICAgZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm4gb3B0aW9uc0xhYmVsLmZhbHNlO1xuICAgICAgICBlbHNlIHJldHVybiB0aGlzLmVtcHR5RmllbGRMYWJlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNOdW1iZXIob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gIW5ldyBCaWdOdW1iZXIodGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCkpLmlzTmFOKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEhvdGtleXMoKSB7XG4gICAgICAgIGNvbnN0IGNsZWFySG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrbFwiLCB0aGlzLmNsZWFyLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBmaW5kSG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrZlwiLCB0aGlzLnNlYXJjaC5iaW5kKHRoaXMpKTtcbiAgICAgICAgY29uc3QgaGlkZUhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K2NcIiwgdGhpcy5oaWRlRGlhbG9nLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBzZWxlY3RIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtzXCIsIHRoaXMuc2VsZWN0LmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IGJpbmRlZEhvdGtleXMgPSBbY2xlYXJIb3RrZXksIGZpbmRIb3RrZXksIGhpZGVIb3RrZXksIHNlbGVjdEhvdGtleV07XG4gICAgICAgIGJpbmRlZEhvdGtleXMuZm9yRWFjaCgoaG90a2V5OiBIb3RrZXkpID0+IHRoaXMuaG90a2V5c1NlcnZpY2UuYWRkKGhvdGtleSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmV3SG90a2V5KGNvbWJvOiBzdHJpbmcsIGZuOiBGdW5jdGlvbik6IEhvdGtleSB7XG4gICAgICAgIHJldHVybiBuZXcgSG90a2V5KGNvbWJvLCAoKSA9PiB7XG4gICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LCBbXCJJTlBVVFwiLCBcIlNFTEVDVFwiLCBcIlRFWFRBUkVBXCJdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyVG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5hbmltYXRpbmcpIHJldHVybjtcblxuICAgICAgICB0aGlzLmFuaW1hdGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZURvbmUoKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSB0YWJsZSBjb2x1bW4gc2l6ZS4gVGhlIG1pbmltdW0gdmFsdWUgaXMgMTQuMjg2ZW0sIHdoaWNoIGlzIGVxdWFscyB0byAyMDBweCBkdW8gdG8gdGhlIGN1cnJlbnQgZm9udCBzaXplLlxuICAgICAqIEBwYXJhbSBsYWJlbCBDb2x1bW4gbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29sV2lkdGgobGFiZWw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzaXplID0gbGFiZWwubGVuZ3RoO1xuICAgICAgICBpZiAoc2l6ZSA8IDE0LjI4NikgcmV0dXJuIGAxNC4yODZlbWA7XG4gICAgICAgIHJldHVybiBgJHtzaXplfWVtYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2NhbGUoc2NhbGU6IGFueSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRnVuY3Rpb24oc2NhbGUpID8gc2NhbGUoKSA6IHNjYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGdW5jdGlvbih2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbnRlZ2VyTWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogMCxcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWZpeDogXCJcIixcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RG91YmxlTWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogdGhpcy5nZXRTY2FsZShjb2wuc2NhbGUpLFxuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vbmV5TWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogdGhpcy5nZXRTY2FsZShjb2wuc2NhbGUpLFxuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICBwcmVmaXg6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TnVtYmVyTWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogdGhpcy5nZXRTY2FsZShjb2wuc2NhbGUpLFxuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICBwcmVmaXg6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWJsZVJvd0RvdWJsZUNsaWNrKHJvd0RhdGE6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gW3Jvd0RhdGFdO1xuICAgICAgICB0aGlzLnNlbGVjdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEZvY3VzRmlsdGVyKCkge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dWaXNpYmxlICYmICF0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmRpYWxvZz8uY29udGVudFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudD8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJpbnB1dFwiKVswXTtcblxuICAgICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgKGlucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWJzY3JpYmVFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25TZWFyY2hSZXF1ZXN0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gdHJ1ZSkpO1xuXG4gICAgICAgIHRoaXMub25TZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSkpO1xuXG4gICAgICAgIHRoaXMub25VbnNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy5vbkNsZWFyLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25Gb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkJsdXIucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlW3RoaXMubG9va3VwRGlzcGxheUZpZWxkXTtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRhcmdldDtcblxuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgfHwgIWN1cnJlbnRWYWx1ZSB8fCBjdXJyZW50VmFsdWUgPT0gdmFsdWUpIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgdGFyZ2V0LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -48,4 +48,4 @@ var LookupField = /** @class */ (function (_super) {
48
48
  return LookupField;
49
49
  }(Field));
50
50
  export { LookupField };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQWUsTUFBTSxTQUFTLENBQUM7QUF3QzdDO0lBQWlDLCtCQUFLO0lBdURsQyxxQkFBWSxNQUF5QjtRQUFyQyxZQUNJLGtCQUFNLHNCQUFLLE1BQU0sS0FBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBdUIsQ0FBQyxTQVNwRTtRQWhFTSxjQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFVLEdBQUcsSUFBSSxDQUFDO1FBb0JsQixnQ0FBMEIsR0FBRyxJQUFJLENBQUM7UUFDbEMsbUJBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsb0JBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsc0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBZXpCLGNBQVEsR0FBRyxVQUFDLEtBQVUsSUFBTSxDQUFDLENBQUM7UUFDOUIsZ0JBQVUsR0FBRyxVQUFDLEtBQVUsSUFBTSxDQUFDLENBQUM7UUFnQm5DLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLEtBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsVUFBQSxXQUFXLElBQUksT0FBQSxDQUFDLEtBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsRUFBdEMsQ0FBc0MsQ0FBQyxDQUFDO1FBQzVGLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsRUFBbUQ7Z0JBQWpELDhCQUFZLEVBQUUsc0JBQVEsRUFBRSxvREFBdUI7WUFDN0YsS0FBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsS0FBSSxDQUFDLG1CQUFtQixHQUFHLFlBQVksQ0FBQztZQUN4QyxLQUFJLENBQUMsd0JBQXdCLEdBQUcsdUJBQXVCLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7O0lBQ1AsQ0FBQztJQXRCRCxzQkFBVyxpQ0FBUTthQUFuQjtZQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLDJDQUFrQjthQUE3QjtZQUNJLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3BDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsZ0RBQXVCO2FBQWxDO1lBQ0ksT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFhTCxrQkFBQztBQUFELENBQUMsQUFsRUQsQ0FBaUMsS0FBSyxHQWtFckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBGaWVsZCwgRmllbGRDb25maWcgfSBmcm9tIFwiLi9maWVsZFwiO1xuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xvb2t1cC9tb2RlbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBGaWVsZENvbmZpZyBleHRlbmRzIEZpZWxkQ29uZmlnIHtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgc2hvd1NlYXJjaD86IGJvb2xlYW47XG4gICAgc2VhcmNoRmllbGRzOiBhbnlbXTtcbiAgICBzZWFyY2hHcmlkRmllbGRzOiBhbnlbXTtcbiAgICBsb29rdXBTdWdnZXN0aW9uczogYW55W107XG4gICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICBzZWFyY2hPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPHsgZ3JpZERhdGE6IGFueVtdOyB0b3RhbFJlY29yZHM6IG51bWJlcjsgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw/OiBzdHJpbmcgfT47XG4gICAgZGF0YUtleTogc3RyaW5nO1xuICAgIGxvb2t1cERpc3BsYXlGaWVsZDogc3RyaW5nO1xuICAgIHNlYXJjaFRpdGxlPzogc3RyaW5nO1xuICAgIHNlYXJjaEVtcHR5VGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyTGFiZWw/OiBzdHJpbmc7XG4gICAgZmlsdGVyVGl0bGU/OiBzdHJpbmc7XG4gICAgY2xlYXJMYWJlbD86IHN0cmluZztcbiAgICBjYW5jZWxMYWJlbD86IHN0cmluZztcbiAgICBzZWxlY3RMYWJlbD86IHN0cmluZztcbiAgICBlbXB0eU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgcmVjb3JkTGFiZWw/OiBzdHJpbmc7XG4gICAgcmVjb3Jkc0xhYmVsPzogc3RyaW5nO1xuICAgIGVtcHR5RmllbGRMYWJlbD86IHN0cmluZztcbiAgICBhcHBlbmRUbz86IHN0cmluZztcbiAgICBhdXRvY29tcGxldGVGb3JjZVNlbGVjdGlvbj86IGJvb2xlYW47XG4gICAgc2hvd0FkZE9wdGlvbjogYm9vbGVhbjtcbiAgICBzaG93RWRpdE9wdGlvbjogYm9vbGVhbjtcbiAgICBzaG93UmVtb3ZlT3B0aW9uOiBib29sZWFuOyAgICBcbiAgICBvbkxvb2t1cFJlcXVlc3Q6IChxdWVyeTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VhcmNoUmVxdWVzdDogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvblVuc2VsZWN0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhcj86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICBvbkFkZD86ICgpID0+IHZvaWQ7XG4gICAgb25FZGl0PzogKHNlbGVjdGVkSXRlbTogdW5rbm93bikgPT4gdm9pZDtcbiAgICBvblJlbW92ZT86IChzZWxlY3RlZEl0ZW1zOiB1bmtub3duW10pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBMb29rdXBGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd1NlYXJjaCA9IHRydWU7XG4gICAgcHVibGljIHNlYXJjaEZpZWxkczogYW55W107XG4gICAgcHVibGljIHNlYXJjaEdyaWRGaWVsZHM6IGFueVtdO1xuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W107XG4gICAgcHVibGljIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgcHVibGljIHNlYXJjaE9ic2VydmFibGU6IE9ic2VydmFibGU8eyBncmlkRGF0YTogYW55W107IHRvdGFsUmVjb3JkczogbnVtYmVyOyBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbD86IHN0cmluZyB9PjtcbiAgICBwdWJsaWMgZGF0YUtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZztcbiAgICBwdWJsaWMgc2VhcmNoVGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlUaXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBmaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBmaWx0ZXJUaXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGVhckxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGNhbmNlbExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHNlbGVjdExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHJlY29yZExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHJlY29yZHNMYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBlbXB0eUZpZWxkTGFiZWw6IHN0cmluZztcbiAgICBwdWJsaWMgZW1wdHlNZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvY29tcGxldGVGb3JjZVNlbGVjdGlvbiA9IHRydWU7XG4gICAgcHVibGljIHNob3dBZGRPcHRpb24gPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd0VkaXRPcHRpb24gPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd1JlbW92ZU9wdGlvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBkZWZhdWx0RmlsdGVyOiBEZWZhdWx0RmlsdGVyW107XG4gICAgcHVibGljIHNvcnRhYmxlQ29sdW1uc0Rpc2FibGVkOiBzdHJpbmdbXTtcbiAgICBwdWJsaWMgb25Mb29rdXBSZXF1ZXN0OiAocXVlcnk6IHN0cmluZykgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25DbGVhcj86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgcHVibGljIG9uQWRkPzogKCkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25FZGl0PzogKHNlbGVjdGVkSXRlbTogdW5rbm93bikgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25SZW1vdmU/OiAoc2VsZWN0ZWRJdGVtczogdW5rbm93bltdKSA9PiB2b2lkO1xuXG4gICAgcHJpdmF0ZSBfZ3JpZERhdGE6IGFueVtdO1xuICAgIHByaXZhdGUgX3NlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHByaXZhdGUgX3NlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgb25TZWxlY3QgPSAoZXZlbnQ6IGFueSkgPT4ge307XG4gICAgcHVibGljIG9uVW5zZWxlY3QgPSAoZXZlbnQ6IGFueSkgPT4ge307XG5cbiAgICBwdWJsaWMgZ2V0IGdyaWREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hUb3RhbFJlY29yZHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogTG9va3VwRmllbGRDb25maWcpIHtcbiAgICAgICAgc3VwZXIoeyAuLi5jb25maWcsIHR5cGU6IEZpZWxkVHlwZS5Mb29rdXAgfSBhcyBMb29rdXBGaWVsZENvbmZpZyk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5zdWJzY3JpYmUoc3VnZ2VzdGlvbnMgPT4gKHRoaXMubG9va3VwU3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9ucykpO1xuICAgICAgICB0aGlzLnNlYXJjaE9ic2VydmFibGUucGlwZShkZWxheSgwKSkuc3Vic2NyaWJlKCh7IHRvdGFsUmVjb3JkcywgZ3JpZERhdGEsIHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2dyaWREYXRhID0gZ3JpZERhdGE7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHMgPSB0b3RhbFJlY29yZHM7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHNMYWJlbCA9IHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9sb29rdXAtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQWUsTUFBTSxTQUFTLENBQUM7QUF5QzdDO0lBQWlDLCtCQUFLO0lBd0RsQyxxQkFBWSxNQUF5QjtRQUFyQyxZQUNJLGtCQUFNLHNCQUFLLE1BQU0sS0FBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBdUIsQ0FBQyxTQVNwRTtRQWpFTSxjQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFVLEdBQUcsSUFBSSxDQUFDO1FBb0JsQixnQ0FBMEIsR0FBRyxJQUFJLENBQUM7UUFDbEMsbUJBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsb0JBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsc0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBZ0J6QixjQUFRLEdBQUcsVUFBQyxLQUFVLElBQU0sQ0FBQyxDQUFDO1FBQzlCLGdCQUFVLEdBQUcsVUFBQyxLQUFVLElBQU0sQ0FBQyxDQUFDO1FBZ0JuQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU1QixLQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQUEsV0FBVyxJQUFJLE9BQUEsQ0FBQyxLQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDLEVBQXRDLENBQXNDLENBQUMsQ0FBQztRQUM1RixLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFDLEVBQW1EO2dCQUFqRCw4QkFBWSxFQUFFLHNCQUFRLEVBQUUsb0RBQXVCO1lBQzdGLEtBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLEtBQUksQ0FBQyxtQkFBbUIsR0FBRyxZQUFZLENBQUM7WUFDeEMsS0FBSSxDQUFDLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDOztJQUNQLENBQUM7SUF0QkQsc0JBQVcsaUNBQVE7YUFBbkI7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVywyQ0FBa0I7YUFBN0I7WUFDSSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNwQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLGdEQUF1QjthQUFsQztZQUNJLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBYUwsa0JBQUM7QUFBRCxDQUFDLEFBbkVELENBQWlDLEtBQUssR0FtRXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vZmllbGQtdHlwZVwiO1xuaW1wb3J0IHsgRmllbGQsIEZpZWxkQ29uZmlnIH0gZnJvbSBcIi4vZmllbGRcIjtcbmltcG9ydCB7IERlZmF1bHRGaWx0ZXIgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9sb29rdXAvbW9kZWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwRmllbGRDb25maWcgZXh0ZW5kcyBGaWVsZENvbmZpZyB7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIHNob3dTZWFyY2g/OiBib29sZWFuO1xuICAgIHNlYXJjaEZpZWxkczogYW55W107XG4gICAgc2VhcmNoR3JpZEZpZWxkczogYW55W107XG4gICAgbG9va3VwU3VnZ2VzdGlvbnM6IGFueVtdO1xuICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgc2VhcmNoT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTx7IGdyaWREYXRhOiBhbnlbXTsgdG90YWxSZWNvcmRzOiBudW1iZXI7IHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsPzogc3RyaW5nIH0+O1xuICAgIGRhdGFLZXk6IHN0cmluZztcbiAgICBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZztcbiAgICBzZWFyY2hUaXRsZT86IHN0cmluZztcbiAgICBzZWFyY2hFbXB0eVRpdGxlPzogc3RyaW5nO1xuICAgIGZpbHRlckxhYmVsPzogc3RyaW5nO1xuICAgIGZpbHRlclRpdGxlPzogc3RyaW5nO1xuICAgIGNsZWFyTGFiZWw/OiBzdHJpbmc7XG4gICAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG4gICAgc2VsZWN0TGFiZWw/OiBzdHJpbmc7XG4gICAgZW1wdHlNZXNzYWdlPzogc3RyaW5nO1xuICAgIHJlY29yZExhYmVsPzogc3RyaW5nO1xuICAgIHJlY29yZHNMYWJlbD86IHN0cmluZztcbiAgICBlbXB0eUZpZWxkTGFiZWw/OiBzdHJpbmc7XG4gICAgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgYXV0b2NvbXBsZXRlRm9yY2VTZWxlY3Rpb24/OiBib29sZWFuO1xuICAgIHNob3dBZGRPcHRpb246IGJvb2xlYW47XG4gICAgc2hvd0VkaXRPcHRpb246IGJvb2xlYW47XG4gICAgc2hvd1JlbW92ZU9wdGlvbjogYm9vbGVhbjsgICAgXG4gICAgb25Mb29rdXBSZXF1ZXN0OiAocXVlcnk6IHN0cmluZykgPT4gdm9pZDtcbiAgICBvblNlYXJjaFJlcXVlc3Q6IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25VbnNlbGVjdD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uQ2xlYXI/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgb25BZGQ/OiAoKSA9PiB2b2lkO1xuICAgIG9uRWRpdD86IChzZWxlY3RlZEl0ZW06IHVua25vd24pID0+IHZvaWQ7XG4gICAgb25SZW1vdmU/OiAoc2VsZWN0ZWRJdGVtczogdW5rbm93bltdKSA9PiB2b2lkO1xuICAgIG9uQ2xlYXJCdXR0b25DbGljaz86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBMb29rdXBGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd1NlYXJjaCA9IHRydWU7XG4gICAgcHVibGljIHNlYXJjaEZpZWxkczogYW55W107XG4gICAgcHVibGljIHNlYXJjaEdyaWRGaWVsZHM6IGFueVtdO1xuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W107XG4gICAgcHVibGljIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgcHVibGljIHNlYXJjaE9ic2VydmFibGU6IE9ic2VydmFibGU8eyBncmlkRGF0YTogYW55W107IHRvdGFsUmVjb3JkczogbnVtYmVyOyBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbD86IHN0cmluZyB9PjtcbiAgICBwdWJsaWMgZGF0YUtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZztcbiAgICBwdWJsaWMgc2VhcmNoVGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlUaXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBmaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBmaWx0ZXJUaXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGVhckxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGNhbmNlbExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHNlbGVjdExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHJlY29yZExhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHJlY29yZHNMYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBlbXB0eUZpZWxkTGFiZWw6IHN0cmluZztcbiAgICBwdWJsaWMgZW1wdHlNZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvY29tcGxldGVGb3JjZVNlbGVjdGlvbiA9IHRydWU7XG4gICAgcHVibGljIHNob3dBZGRPcHRpb24gPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd0VkaXRPcHRpb24gPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd1JlbW92ZU9wdGlvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBkZWZhdWx0RmlsdGVyOiBEZWZhdWx0RmlsdGVyW107XG4gICAgcHVibGljIHNvcnRhYmxlQ29sdW1uc0Rpc2FibGVkOiBzdHJpbmdbXTtcbiAgICBwdWJsaWMgb25Mb29rdXBSZXF1ZXN0OiAocXVlcnk6IHN0cmluZykgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25DbGVhcj86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvbkJsdXI/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgcHVibGljIG9uQWRkPzogKCkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25FZGl0PzogKHNlbGVjdGVkSXRlbTogdW5rbm93bikgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25SZW1vdmU/OiAoc2VsZWN0ZWRJdGVtczogdW5rbm93bltdKSA9PiB2b2lkO1xuICAgIHB1YmxpYyBvbkNsZWFyQnV0dG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xuXG4gICAgcHJpdmF0ZSBfZ3JpZERhdGE6IGFueVtdO1xuICAgIHByaXZhdGUgX3NlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHByaXZhdGUgX3NlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgb25TZWxlY3QgPSAoZXZlbnQ6IGFueSkgPT4ge307XG4gICAgcHVibGljIG9uVW5zZWxlY3QgPSAoZXZlbnQ6IGFueSkgPT4ge307XG5cbiAgICBwdWJsaWMgZ2V0IGdyaWREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hUb3RhbFJlY29yZHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogTG9va3VwRmllbGRDb25maWcpIHtcbiAgICAgICAgc3VwZXIoeyAuLi5jb25maWcsIHR5cGU6IEZpZWxkVHlwZS5Mb29rdXAgfSBhcyBMb29rdXBGaWVsZENvbmZpZyk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5zdWJzY3JpYmUoc3VnZ2VzdGlvbnMgPT4gKHRoaXMubG9va3VwU3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9ucykpO1xuICAgICAgICB0aGlzLnNlYXJjaE9ic2VydmFibGUucGlwZShkZWxheSgwKSkuc3Vic2NyaWJlKCh7IHRvdGFsUmVjb3JkcywgZ3JpZERhdGEsIHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2dyaWREYXRhID0gZ3JpZERhdGE7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHMgPSB0b3RhbFJlY29yZHM7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUb3RhbFJlY29yZHNMYWJlbCA9IHNlYXJjaFRvdGFsUmVjb3Jkc0xhYmVsO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=