@tetacom/svg-charts 1.1.24 → 1.1.25

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.
@@ -98,7 +98,7 @@ export class ZoomableDirective {
98
98
  let wheeling;
99
99
  this.zoom
100
100
  .filter((event) => (event.ctrlKey && event.type === 'wheel') ||
101
- Boolean(window.TouchEvent))
101
+ Boolean(window.TouchEvent && event.type !== 'wheel'))
102
102
  .wheelDelta((event) => {
103
103
  const delta = this.config?.zoom.type === ZoomType.x
104
104
  ? -event.deltaX
@@ -258,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
258
258
  type: HostBinding,
259
259
  args: ['class.zoomable']
260
260
  }] } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUE2QixZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBR0wsV0FBVyxHQUNaLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFFTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQUtwRSxNQUFNLE9BQU8saUJBQWlCO0lBaUI1QixZQUNVLFVBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixJQUFZO1FBSlosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVE7UUFoQmlC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QUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsRUFBRTtZQUN4QyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzhHQS9VVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzBNQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWlDLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFpvb21TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS96b29tLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUNoYXJ0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuaW1wb3J0IHsgQXhpcyB9IGZyb20gJy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IEQzWm9vbUV2ZW50LCBab29tQmVoYXZpb3IsIHpvb21JZGVudGl0eSB9IGZyb20gJ2QzJztcbmltcG9ydCB7IFpvb21UeXBlIH0gZnJvbSAnLi4vbW9kZWwvZW51bS96b29tLXR5cGUnO1xuaW1wb3J0IHsgQXhpc09yaWVudGF0aW9uIH0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7XG4gIEJydXNoTWVzc2FnZSxcbiAgSUJyb2FkY2FzdE1lc3NhZ2UsXG4gIFpvb21NZXNzYWdlLFxufSBmcm9tICcuLi9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlJztcbmltcG9ydCB7IEJydXNoVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vYnJ1c2gtdHlwZSc7XG5pbXBvcnQgeyBCcm9hZGNhc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9icm9hZGNhc3Quc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRhcCwgdGhyb3R0bGUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIHRha2VXaGlsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFydFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgWm9vbUJlaGF2aW9yVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vem9vbS1iZWhhdmlvci10eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFab29tYWJsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBab29tYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogSUNoYXJ0Q29uZmlnO1xuICBASW5wdXQoKSBheGlzPzogQXhpcztcbiAgQElucHV0KCkgc2l6ZTogRE9NUmVjdDtcbiAgQElucHV0KCkgYnJ1c2hTY2FsZT86IGFueTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnpvb21hYmxlJykgcHJpdmF0ZSB6b29tYWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2VsZW1lbnQ6IGQzLlNlbGVjdGlvbjxTVkdFbGVtZW50LCBhbnksIGFueSwgYW55PjtcbiAgcHJpdmF0ZSB6b29tQXhpczogQXhpcztcbiAgcHJpdmF0ZSB6b29tOiBab29tQmVoYXZpb3I8YW55LCBhbnk+O1xuICBwcml2YXRlIGFsaXZlID0gdHJ1ZTtcblxuICBwcml2YXRlIGN1cnJlbnRUcmFuc2Zvcm0gPSB6b29tSWRlbnRpdHk7XG4gIHByaXZhdGUgY3VycmVudFNlbGVjdGlvbjtcbiAgcHJpdmF0ZSB3aGVlbElkbGUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcbiAgICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2U6IEJyb2FkY2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFydFNlcnZpY2U6IENoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSB8fCB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlKSB7XG4gICAgICB0aGlzLnpvb21hYmxlID0gdGhpcy5jb25maWc/Lnpvb20/Lnpvb21CZWhhdmlvciA9PT0gWm9vbUJlaGF2aW9yVHlwZS5tb3ZlO1xuICAgIH1cbiAgfVxuXG4gIHpvb21lZCA9IChldmVudDogRDNab29tRXZlbnQ8YW55LCBhbnk+KSA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZUV2ZW50KSB7XG4gICAgICBpZiAoT2JqZWN0LmtleXMoZXZlbnQuc291cmNlRXZlbnQpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VHJhbnNmb3JtID09PSBldmVudC50cmFuc2Zvcm0gJiYgZXZlbnQudHlwZSAhPT0gJ2VuZCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcmlnaW4gPSB0aGlzLmJydXNoU2NhbGUuY29weSgpLmRvbWFpbih0aGlzLnpvb21BeGlzLmV4dHJlbWVzKTtcblxuICAgICAgICBsZXQgZG9tYWluID1cbiAgICAgICAgICB0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS55XG4gICAgICAgICAgICA/IGV2ZW50LnRyYW5zZm9ybS5yZXNjYWxlWShvcmlnaW4pLmRvbWFpbigpXG4gICAgICAgICAgICA6IGV2ZW50LnRyYW5zZm9ybS5yZXNjYWxlWChvcmlnaW4pLmRvbWFpbigpO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgWm9vbU1lc3NhZ2Uoe1xuICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgIGF4aXM6IHRoaXMuem9vbUF4aXMsXG4gICAgICAgICAgYnJ1c2hEb21haW46IGRvbWFpbixcbiAgICAgICAgICBjaGFydElkOiB0aGlzLmNvbmZpZy5pZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmJyb2FkY2FzdFpvb20oe1xuICAgICAgICAgIGNoYW5uZWw6IHRoaXMuY29uZmlnPy56b29tPy5zeW5jQ2hhbm5lbCxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy56b29tU2VydmljZS5zZXRab29tKHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHRhcmdldDogdGhpcy56b29tQXhpcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSBldmVudC50cmFuc2Zvcm07XG4gICAgfVxuICB9O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbmFibGUgPVxuICAgICAgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSAmJiB0aGlzLmF4aXM/Lm9wdGlvbnMudmlzaWJsZSAhPT0gZmFsc2UpIHx8XG4gICAgICB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlO1xuXG4gICAgaWYgKCFlbmFibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50ID0gZDMuc2VsZWN0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnpvb20gPSBkMy56b29tKCkuZXh0ZW50KFtcbiAgICAgIFswLCAwXSxcbiAgICAgIFt0aGlzLnNpemUud2lkdGgsIHRoaXMuc2l6ZS5oZWlnaHRdLFxuICAgIF0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LmxpbWl0VHJhbnNsYXRlQnlEYXRhKSB7XG4gICAgICB0aGlzLnpvb20udHJhbnNsYXRlRXh0ZW50KFtcbiAgICAgICAgWzAsIDBdLFxuICAgICAgICBbdGhpcy5zaXplLndpZHRoLCB0aGlzLnNpemUuaGVpZ2h0XSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1vblpvb21BeGlzID0gQXhpcy5jcmVhdGVBeGlzKFxuICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICA/IEF4aXNPcmllbnRhdGlvbi54XG4gICAgICAgIDogQXhpc09yaWVudGF0aW9uLnksXG4gICAgICB0aGlzLmNvbmZpZyxcbiAgICAgIDAsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHRoaXMuem9vbUF4aXMgPSB0aGlzLmF4aXMgPz8gY29tbW9uWm9vbUF4aXM7XG5cbiAgICBpZiAoZW5hYmxlKSB7XG4gICAgICBjb25zdCBtYXhab29tID0gdGhpcy5jb25maWcuem9vbT8ubWF4XG4gICAgICAgID8gKHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMV0gLSB0aGlzLnpvb21BeGlzLmV4dHJlbWVzWzBdKSAvXG4gICAgICAgICAgdGhpcy5jb25maWcuem9vbT8ubWF4XG4gICAgICAgIDogdGhpcy5jb25maWcuem9vbT8ubGltaXRab29tQnlEYXRhXG4gICAgICAgID8gMVxuICAgICAgICA6IDA7XG5cbiAgICAgIGNvbnN0IG1pblpvb20gPSB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgPyAodGhpcy56b29tQXhpcy5leHRyZW1lc1sxXSAtIHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMF0pIC9cbiAgICAgICAgICB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgOiBJbmZpbml0eTtcblxuICAgICAgdGhpcy56b29tLnNjYWxlRXh0ZW50KFttYXhab29tLCBtaW5ab29tXSk7XG5cbiAgICAgIHRoaXMuem9vbS5vbignc3RhcnQgem9vbSBlbmQnLCB0aGlzLnpvb21lZCk7XG4gICAgICB0aGlzLl9lbGVtZW50LmNhbGwodGhpcy56b29tKS5vbignZGJsY2xpY2suem9vbScsIG51bGwpO1xuXG4gICAgICBpZiAodGhpcy5jb25maWc/Lnpvb20/Lnpvb21CZWhhdmlvciA9PT0gWm9vbUJlaGF2aW9yVHlwZS53aGVlbCkge1xuICAgICAgICBsZXQgdHlwZTogJ3N0YXJ0JyB8ICd6b29tJyB8ICdlbmQnID0gJ3N0YXJ0JztcbiAgICAgICAgbGV0IHdoZWVsaW5nO1xuXG4gICAgICAgIHRoaXMuem9vbVxuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAoZXZlbnQpID0+XG4gICAgICAgICAgICAgIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnR5cGUgPT09ICd3aGVlbCcpIHx8XG4gICAgICAgICAgICAgIEJvb2xlYW4od2luZG93LlRvdWNoRXZlbnQpXG4gICAgICAgICAgKVxuICAgICAgICAgIC53aGVlbERlbHRhKChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPVxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZz8uem9vbS50eXBlID09PSBab29tVHlwZS54XG4gICAgICAgICAgICAgICAgPyAtZXZlbnQuZGVsdGFYXG4gICAgICAgICAgICAgICAgOiAtZXZlbnQuZGVsdGFZO1xuICAgICAgICAgICAgcmV0dXJuIGRlbHRhICogMC4wMDI7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZW1pdCA9ICh0eXBlOiBzdHJpbmcsIGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5icnVzaFNjYWxlLmNvcHkoKS5kb21haW4odGhpcy56b29tQXhpcy5leHRyZW1lcyk7XG4gICAgICAgICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcbiAgICAgICAgICBjb25zdCBkZWx0YSA9XG4gICAgICAgICAgICB0eXBlID09PSAnZW5kJ1xuICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS55XG4gICAgICAgICAgICAgID8gZXZlbnQuZGVsdGFZXG4gICAgICAgICAgICAgIDogZXZlbnQuZGVsdGFYO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLnkpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoXG4gICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybS55IC0gZGVsdGEgLyAyXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS54KSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0udHJhbnNsYXRlKFxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0ueCAtIGRlbHRhIC8gMixcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0uc2NhbGUodGhpcy5jdXJyZW50VHJhbnNmb3JtLmspO1xuXG4gICAgICAgICAgbGV0IGRvbWFpbiA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS55XG4gICAgICAgICAgICAgID8gdHJhbnNmb3JtLnJlc2NhbGVZKG9yaWdpbikuZG9tYWluKClcbiAgICAgICAgICAgICAgOiB0cmFuc2Zvcm0ucmVzY2FsZVgob3JpZ2luKS5kb21haW4oKTtcblxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgWm9vbU1lc3NhZ2Uoe1xuICAgICAgICAgICAgZXZlbnQ6IHtcbiAgICAgICAgICAgICAgc291cmNlRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXhpczogdGhpcy56b29tQXhpcyxcbiAgICAgICAgICAgIGJydXNoRG9tYWluOiBkb21haW4sXG4gICAgICAgICAgICBjaGFydElkOiB0aGlzLmNvbmZpZy5pZCxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuem9vbVNlcnZpY2Uuc2V0Wm9vbSh7XG4gICAgICAgICAgICBldmVudDoge1xuICAgICAgICAgICAgICBzb3VyY2VFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YXJnZXQ6IHRoaXMuem9vbUF4aXMsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwodGhpcy56b29tLnRyYW5zZm9ybSwgdHJhbnNmb3JtKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbiAgICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuYnJvYWRjYXN0Wm9vbSh7XG4gICAgICAgICAgICBjaGFubmVsOiB0aGlzLmNvbmZpZz8uem9vbT8uc3luY0NoYW5uZWwsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3doZWVsJywgKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh3aGVlbGluZyk7XG4gICAgICAgICAgICBlbWl0KHR5cGUsIGV2ZW50KTtcbiAgICAgICAgICAgIHR5cGUgPSAnem9vbSc7XG5cbiAgICAgICAgICAgIHRoaXMud2hlZWxJZGxlID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHdoZWVsaW5nID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHR5cGUgPSAnZW5kJztcbiAgICAgICAgICAgICAgZW1pdCh0eXBlLCBldmVudCk7XG4gICAgICAgICAgICAgIHRoaXMud2hlZWxJZGxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdHlwZSA9ICdzdGFydCc7XG4gICAgICAgICAgICB9LCAxNTApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gem9vbSBldmVudHNcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2VcbiAgICAgIC5zdWJzY3JpYmVUb1pvb20odGhpcy5jb25maWc/Lnpvb20uc3luY0NoYW5uZWwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgZmlsdGVyKFxuICAgICAgICAgIChtOiBJQnJvYWRjYXN0TWVzc2FnZTxab29tTWVzc2FnZT4pID0+XG4gICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQuc291cmNlRXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50IHx8XG4gICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQuc291cmNlRXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50IHx8XG4gICAgICAgICAgICAod2luZG93LlRvdWNoRXZlbnQgJiZcbiAgICAgICAgICAgICAgbS5tZXNzYWdlLmV2ZW50LnNvdXJjZUV2ZW50IGluc3RhbmNlb2YgVG91Y2hFdmVudClcbiAgICAgICAgKSxcbiAgICAgICAgZmlsdGVyKChtOiBJQnJvYWRjYXN0TWVzc2FnZTxab29tTWVzc2FnZT4pID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy56b29tQXhpcy5pbmRleCA9PT0gbS5tZXNzYWdlPy5heGlzPy5pbmRleCAmJlxuICAgICAgICAgICAgdGhpcy56b29tQXhpcy5vcmllbnRhdGlvbiA9PT0gbS5tZXNzYWdlPy5heGlzPy5vcmllbnRhdGlvblxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5pZCAhPT0gbS5tZXNzYWdlLmNoYXJ0SWQpIHtcbiAgICAgICAgICAgIHRoaXMud2hlZWxJZGxlID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmIChtLm1lc3NhZ2UuZXZlbnQudHlwZSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICAgICAgdGhpcy53aGVlbElkbGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwoXG4gICAgICAgICAgICAgIHRoaXMuem9vbS50cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC50cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIChtLm1lc3NhZ2UuYXhpcy5pc0Zha2UgJiYgIXRoaXMuem9vbUF4aXMuaXNGYWtlKSB8fFxuICAgICAgICAgICAgICAoIW0ubWVzc2FnZS5heGlzLmlzRmFrZSAmJiB0aGlzLnpvb21BeGlzLmlzRmFrZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwoXG4gICAgICAgICAgICAgICAgdGhpcy56b29tLnRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQudHJhbnNmb3JtXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIGJydXNoIGV2ZW50cyB4IG9yIHlcblxuICAgIGlmIChcbiAgICAgICh0aGlzLmNvbmZpZy5icnVzaD8udHlwZSA9PT0gQnJ1c2hUeXBlLnggJiZcbiAgICAgICAgdGhpcy56b29tQXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLngpIHx8XG4gICAgICAodGhpcy5jb25maWcuYnJ1c2g/LnR5cGUgPT09IEJydXNoVHlwZS55ICYmXG4gICAgICAgIHRoaXMuem9vbUF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi55KVxuICAgICkge1xuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5zdWJzY3JpYmVUb0JydXNoKHRoaXMuY29uZmlnPy56b29tLnN5bmNDaGFubmVsKSxcbiAgICAgICAgdGhpcy5jaGFydFNlcnZpY2Uuc2l6ZSxcbiAgICAgIF0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VXaGlsZSgoXykgPT4gdGhpcy5hbGl2ZSksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgICAgZmlsdGVyKChkYXRhOiBbSUJyb2FkY2FzdE1lc3NhZ2U8QnJ1c2hNZXNzYWdlPiwgRE9NUmVjdF0pID0+XG4gICAgICAgICAgICBCb29sZWFuKGRhdGFbMF0ubWVzc2FnZS5zZWxlY3Rpb24pXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0YXAoKGRhdGE6IFtJQnJvYWRjYXN0TWVzc2FnZTxCcnVzaE1lc3NhZ2U+LCBET01SZWN0XSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgW21dID0gZGF0YTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLndoZWVsSWRsZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRUcmFuc2Zvcm0gPSBkMy56b29tVHJhbnNmb3JtKHRoaXMuX2VsZW1lbnQubm9kZSgpKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhbS5tZXNzYWdlLmV2ZW50ICYmXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtLmsgIT09IDFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlWm9vbShtKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IG0ubWVzc2FnZS5zZWxlY3Rpb247XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy56b29tPy5vbignc3RhcnQgem9vbSBlbmQnLCBudWxsKTtcbiAgICB0aGlzLl9lbGVtZW50Py5vbignd2hlZWwnLCBudWxsKTtcblxuICAgIHRoaXMuYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlWm9vbShtOiBJQnJvYWRjYXN0TWVzc2FnZTxCcnVzaE1lc3NhZ2U+KSB7XG4gICAgY29uc3QgcyA9IG0ubWVzc2FnZS5zZWxlY3Rpb247XG4gICAgdGhpcy5icnVzaFNjYWxlLmRvbWFpbih0aGlzLnpvb21BeGlzLmV4dHJlbWVzKTtcbiAgICBjb25zdCBkb21haW4gPSB0aGlzLmJydXNoU2NhbGUuZG9tYWluKCk7XG5cbiAgICBjb25zdCBzY2FsZSA9IChkb21haW5bMV0gLSBkb21haW5bMF0pIC8gKHNbMV0gLSBzWzBdKTtcblxuICAgIGxldCB0cmFuc2Zvcm0gPSB6b29tSWRlbnRpdHkuc2NhbGUoc2NhbGUpO1xuXG4gICAgaWYgKG0ubWVzc2FnZT8uYnJ1c2hUeXBlID09PSBCcnVzaFR5cGUueCkge1xuICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgtdGhpcy5icnVzaFNjYWxlKHNbMF0pLCAwKTtcbiAgICB9XG4gICAgaWYgKG0ubWVzc2FnZT8uYnJ1c2hUeXBlID09PSBCcnVzaFR5cGUueSkge1xuICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgwLCAtdGhpcy5icnVzaFNjYWxlKHNbMF0pKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50LmNhbGwodGhpcy56b29tLnRyYW5zZm9ybSwgdHJhbnNmb3JtLCBudWxsLCB7fSk7XG4gIH1cbn1cbiJdfQ==
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUE0QixZQUFZLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBR0wsV0FBVyxHQUNaLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUF5QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFFTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQUtsRSxNQUFNLE9BQU8saUJBQWlCO0lBaUI1QixZQUNVLFVBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGdCQUFrQyxFQUNsQyxZQUEwQixFQUMxQixJQUFZO1FBSlosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVE7UUFoQmlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLaEQsVUFBSyxHQUFHLElBQUksQ0FBQztRQUViLHFCQUFnQixHQUFHLFlBQVksQ0FBQztRQUVoQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBaUJ6QixXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDeEMsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUNyQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQy9DLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7d0JBQ3JFLE9BQU87cUJBQ1I7b0JBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFFckUsSUFBSSxNQUFNLEdBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO3dCQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFO3dCQUMzQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBRWhELE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO3dCQUM5QixLQUFLO3dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDbkIsV0FBVyxFQUFFLE1BQU07d0JBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7cUJBQ3hCLENBQUMsQ0FBQztvQkFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO3dCQUNsQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVzt3QkFDdkMsT0FBTztxQkFDUixDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7b0JBQ3ZCLEtBQUs7b0JBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN0QixDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDekM7UUFDSCxDQUFDLENBQUM7SUExQ0YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQXNDRCxlQUFlO1FBQ2IsTUFBTSxNQUFNLEdBQ1YsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztZQUNsRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUMzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDTixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDTixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3BDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsRUFDckIsSUFBSSxDQUFDLE1BQU0sRUFDWCxDQUFDLEVBQ0QsSUFBSSxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDO1FBRTVDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRztnQkFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUc7Z0JBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxlQUFlO29CQUNqQyxDQUFDLENBQUMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRVIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRztnQkFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUc7Z0JBQ3JCLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFYixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV4RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQzlELElBQUksSUFBSSxHQUE2QixPQUFPLENBQUM7Z0JBQzdDLElBQUksUUFBUSxDQUFDO2dCQUdiLElBQUksQ0FBQyxJQUFJO3FCQUNOLE1BQU0sQ0FDTCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO29CQUNsRCxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUN2RDtxQkFDQSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDcEIsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO3dCQUNuQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTt3QkFDZixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO29CQUNwQixPQUFPLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2dCQUVMLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQWlCLEVBQUUsRUFBRTtvQkFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDckUsSUFBSSxTQUFTLEdBQUcsWUFBWSxDQUFDO29CQUM3QixNQUFNLEtBQUssR0FDVCxJQUFJLEtBQUssS0FBSzt3QkFDWixDQUFDLENBQUMsQ0FBQzt3QkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDOzRCQUNyQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07NEJBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7b0JBRXJCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLEVBQUU7d0JBQ3pDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUM3QixDQUFDLEVBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUNwQyxDQUFDO3FCQUNIO29CQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLEVBQUU7d0JBQ3pDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQ25DLENBQUMsQ0FDRixDQUFDO3FCQUNIO29CQUVELFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFckQsSUFBSSxNQUFNLEdBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO3dCQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUU7d0JBQ3JDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUUxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQzt3QkFDOUIsS0FBSyxFQUFFOzRCQUNMLFdBQVcsRUFBRSxLQUFLOzRCQUNsQixTQUFTOzRCQUNULElBQUk7eUJBQ0w7d0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUNuQixXQUFXLEVBQUUsTUFBTTt3QkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtxQkFDeEIsQ0FBQyxDQUFDO29CQUVILElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO3dCQUN2QixLQUFLLEVBQUU7NEJBQ0wsV0FBVyxFQUFFLEtBQUs7NEJBQ2xCLFNBQVM7NEJBQ1QsSUFBSTt5QkFDTDt3QkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7cUJBQ3RCLENBQUMsQ0FBQztvQkFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztvQkFFbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQzt3QkFDbEMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVc7d0JBQ3ZDLE9BQU87cUJBQ1IsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFFRixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7b0JBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFFdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUNqQixPQUFPO3FCQUNSO29CQUVELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO3dCQUMvQixZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ2xCLElBQUksR0FBRyxNQUFNLENBQUM7d0JBRWQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7d0JBRXZCLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFDOzRCQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOzRCQUN0QixJQUFJLEdBQUcsT0FBTyxDQUFDO3dCQUNqQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUM5QyxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzVCLE1BQU0sQ0FDSixDQUFDLENBQWlDLEVBQUUsRUFBRSxDQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLFlBQVksVUFBVTtZQUNqRCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLFlBQVksVUFBVTtZQUNqRCxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNoQixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLFlBQVksVUFBVSxDQUFDLENBQ3ZELEVBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBaUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sQ0FDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQzNELENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFpQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtvQkFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7aUJBQ3ZCO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUN6QixJQUFJLEVBQ0osRUFBRSxDQUNILENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUNFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDaEQ7b0JBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUNuQixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQzFCLENBQUM7aUJBQ0g7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixtQ0FBbUM7UUFFbkMsSUFDRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQ2xEO1lBQ0EsYUFBYSxDQUFDO2dCQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTthQUN2QixDQUFDO2lCQUNDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDNUIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsQ0FBQyxJQUFnRCxFQUFFLEVBQUUsQ0FDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQ25DLEVBQ0QsR0FBRyxDQUFDLENBQUMsSUFBZ0QsRUFBRSxFQUFFO2dCQUN2RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDbkIsT0FBTztpQkFDUjtnQkFFRCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUVoRSxJQUNFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLO29CQUNoQixJQUFJLENBQUMsZ0JBQWdCO29CQUNyQixnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUN4QjtvQkFDQSxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBa0M7UUFDbkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXhDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsRUFBRTtZQUN4QyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OzhHQWhWVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzBNQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWlDLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvem9vbS5zZXJ2aWNlJztcbmltcG9ydCB7SUNoYXJ0Q29uZmlnfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQge0F4aXN9IGZyb20gJy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7RDNab29tRXZlbnQsIFpvb21CZWhhdmlvciwgem9vbUlkZW50aXR5fSBmcm9tICdkMyc7XG5pbXBvcnQge1pvb21UeXBlfSBmcm9tICcuLi9tb2RlbC9lbnVtL3pvb20tdHlwZSc7XG5pbXBvcnQge0F4aXNPcmllbnRhdGlvbn0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7XG4gIEJydXNoTWVzc2FnZSxcbiAgSUJyb2FkY2FzdE1lc3NhZ2UsXG4gIFpvb21NZXNzYWdlLFxufSBmcm9tICcuLi9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlJztcbmltcG9ydCB7QnJ1c2hUeXBlfSBmcm9tICcuLi9tb2RlbC9lbnVtL2JydXNoLXR5cGUnO1xuaW1wb3J0IHtCcm9hZGNhc3RTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2Jyb2FkY2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCB0YXAsIHRocm90dGxlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIHRha2VXaGlsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoYXJ0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7Wm9vbUJlaGF2aW9yVHlwZX0gZnJvbSAnLi4vbW9kZWwvZW51bS96b29tLWJlaGF2aW9yLXR5cGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YVpvb21hYmxlXScsXG59KVxuZXhwb3J0IGNsYXNzIFpvb21hYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29uZmlnOiBJQ2hhcnRDb25maWc7XG4gIEBJbnB1dCgpIGF4aXM/OiBBeGlzO1xuICBASW5wdXQoKSBzaXplOiBET01SZWN0O1xuICBASW5wdXQoKSBicnVzaFNjYWxlPzogYW55O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muem9vbWFibGUnKSBwcml2YXRlIHpvb21hYmxlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudDogZDMuU2VsZWN0aW9uPFNWR0VsZW1lbnQsIGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIHpvb21BeGlzOiBBeGlzO1xuICBwcml2YXRlIHpvb206IFpvb21CZWhhdmlvcjxhbnksIGFueT47XG4gIHByaXZhdGUgYWxpdmUgPSB0cnVlO1xuXG4gIHByaXZhdGUgY3VycmVudFRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcbiAgcHJpdmF0ZSBjdXJyZW50U2VsZWN0aW9uO1xuICBwcml2YXRlIHdoZWVsSWRsZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZTogQnJvYWRjYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSB8fCB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlKSB7XG4gICAgICB0aGlzLnpvb21hYmxlID0gdGhpcy5jb25maWc/Lnpvb20/Lnpvb21CZWhhdmlvciA9PT0gWm9vbUJlaGF2aW9yVHlwZS5tb3ZlO1xuICAgIH1cbiAgfVxuXG4gIHpvb21lZCA9IChldmVudDogRDNab29tRXZlbnQ8YW55LCBhbnk+KSA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZUV2ZW50KSB7XG4gICAgICBpZiAoT2JqZWN0LmtleXMoZXZlbnQuc291cmNlRXZlbnQpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VHJhbnNmb3JtID09PSBldmVudC50cmFuc2Zvcm0gJiYgZXZlbnQudHlwZSAhPT0gJ2VuZCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcmlnaW4gPSB0aGlzLmJydXNoU2NhbGUuY29weSgpLmRvbWFpbih0aGlzLnpvb21BeGlzLmV4dHJlbWVzKTtcblxuICAgICAgICBsZXQgZG9tYWluID1cbiAgICAgICAgICB0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS55XG4gICAgICAgICAgICA/IGV2ZW50LnRyYW5zZm9ybS5yZXNjYWxlWShvcmlnaW4pLmRvbWFpbigpXG4gICAgICAgICAgICA6IGV2ZW50LnRyYW5zZm9ybS5yZXNjYWxlWChvcmlnaW4pLmRvbWFpbigpO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgWm9vbU1lc3NhZ2Uoe1xuICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgIGF4aXM6IHRoaXMuem9vbUF4aXMsXG4gICAgICAgICAgYnJ1c2hEb21haW46IGRvbWFpbixcbiAgICAgICAgICBjaGFydElkOiB0aGlzLmNvbmZpZy5pZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmJyb2FkY2FzdFpvb20oe1xuICAgICAgICAgIGNoYW5uZWw6IHRoaXMuY29uZmlnPy56b29tPy5zeW5jQ2hhbm5lbCxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy56b29tU2VydmljZS5zZXRab29tKHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHRhcmdldDogdGhpcy56b29tQXhpcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSBldmVudC50cmFuc2Zvcm07XG4gICAgfVxuICB9O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbmFibGUgPVxuICAgICAgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSAmJiB0aGlzLmF4aXM/Lm9wdGlvbnMudmlzaWJsZSAhPT0gZmFsc2UpIHx8XG4gICAgICB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlO1xuXG4gICAgaWYgKCFlbmFibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50ID0gZDMuc2VsZWN0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnpvb20gPSBkMy56b29tKCkuZXh0ZW50KFtcbiAgICAgIFswLCAwXSxcbiAgICAgIFt0aGlzLnNpemUud2lkdGgsIHRoaXMuc2l6ZS5oZWlnaHRdLFxuICAgIF0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LmxpbWl0VHJhbnNsYXRlQnlEYXRhKSB7XG4gICAgICB0aGlzLnpvb20udHJhbnNsYXRlRXh0ZW50KFtcbiAgICAgICAgWzAsIDBdLFxuICAgICAgICBbdGhpcy5zaXplLndpZHRoLCB0aGlzLnNpemUuaGVpZ2h0XSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1vblpvb21BeGlzID0gQXhpcy5jcmVhdGVBeGlzKFxuICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICA/IEF4aXNPcmllbnRhdGlvbi54XG4gICAgICAgIDogQXhpc09yaWVudGF0aW9uLnksXG4gICAgICB0aGlzLmNvbmZpZyxcbiAgICAgIDAsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHRoaXMuem9vbUF4aXMgPSB0aGlzLmF4aXMgPz8gY29tbW9uWm9vbUF4aXM7XG5cbiAgICBpZiAoZW5hYmxlKSB7XG4gICAgICBjb25zdCBtYXhab29tID0gdGhpcy5jb25maWcuem9vbT8ubWF4XG4gICAgICAgID8gKHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMV0gLSB0aGlzLnpvb21BeGlzLmV4dHJlbWVzWzBdKSAvXG4gICAgICAgIHRoaXMuY29uZmlnLnpvb20/Lm1heFxuICAgICAgICA6IHRoaXMuY29uZmlnLnpvb20/LmxpbWl0Wm9vbUJ5RGF0YVxuICAgICAgICAgID8gMVxuICAgICAgICAgIDogMDtcblxuICAgICAgY29uc3QgbWluWm9vbSA9IHRoaXMuY29uZmlnLnpvb20/Lm1pblxuICAgICAgICA/ICh0aGlzLnpvb21BeGlzLmV4dHJlbWVzWzFdIC0gdGhpcy56b29tQXhpcy5leHRyZW1lc1swXSkgL1xuICAgICAgICB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgOiBJbmZpbml0eTtcblxuICAgICAgdGhpcy56b29tLnNjYWxlRXh0ZW50KFttYXhab29tLCBtaW5ab29tXSk7XG5cbiAgICAgIHRoaXMuem9vbS5vbignc3RhcnQgem9vbSBlbmQnLCB0aGlzLnpvb21lZCk7XG4gICAgICB0aGlzLl9lbGVtZW50LmNhbGwodGhpcy56b29tKS5vbignZGJsY2xpY2suem9vbScsIG51bGwpO1xuXG4gICAgICBpZiAodGhpcy5jb25maWc/Lnpvb20/Lnpvb21CZWhhdmlvciA9PT0gWm9vbUJlaGF2aW9yVHlwZS53aGVlbCkge1xuICAgICAgICBsZXQgdHlwZTogJ3N0YXJ0JyB8ICd6b29tJyB8ICdlbmQnID0gJ3N0YXJ0JztcbiAgICAgICAgbGV0IHdoZWVsaW5nO1xuXG5cbiAgICAgICAgdGhpcy56b29tXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChldmVudCkgPT4gKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykgfHxcbiAgICAgICAgICAgICAgQm9vbGVhbih3aW5kb3cuVG91Y2hFdmVudCAmJiBldmVudC50eXBlICE9PSAnd2hlZWwnKVxuICAgICAgICAgIClcbiAgICAgICAgICAud2hlZWxEZWx0YSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhID1cbiAgICAgICAgICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICAgICAgICAgID8gLWV2ZW50LmRlbHRhWFxuICAgICAgICAgICAgICAgIDogLWV2ZW50LmRlbHRhWTtcbiAgICAgICAgICAgIHJldHVybiBkZWx0YSAqIDAuMDAyO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGVtaXQgPSAodHlwZTogc3RyaW5nLCBldmVudDogV2hlZWxFdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnJ1c2hTY2FsZS5jb3B5KCkuZG9tYWluKHRoaXMuem9vbUF4aXMuZXh0cmVtZXMpO1xuICAgICAgICAgIGxldCB0cmFuc2Zvcm0gPSB6b29tSWRlbnRpdHk7XG4gICAgICAgICAgY29uc3QgZGVsdGEgPVxuICAgICAgICAgICAgdHlwZSA9PT0gJ2VuZCdcbiAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgIDogdGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueVxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGVsdGFZXG4gICAgICAgICAgICAgICAgOiBldmVudC5kZWx0YVg7XG5cbiAgICAgICAgICBpZiAodGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZShcbiAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtLnkgLSBkZWx0YSAvIDJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLngpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybS54IC0gZGVsdGEgLyAyLFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS5zY2FsZSh0aGlzLmN1cnJlbnRUcmFuc2Zvcm0uayk7XG5cbiAgICAgICAgICBsZXQgZG9tYWluID1cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLnlcbiAgICAgICAgICAgICAgPyB0cmFuc2Zvcm0ucmVzY2FsZVkob3JpZ2luKS5kb21haW4oKVxuICAgICAgICAgICAgICA6IHRyYW5zZm9ybS5yZXNjYWxlWChvcmlnaW4pLmRvbWFpbigpO1xuXG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBab29tTWVzc2FnZSh7XG4gICAgICAgICAgICBldmVudDoge1xuICAgICAgICAgICAgICBzb3VyY2VFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBheGlzOiB0aGlzLnpvb21BeGlzLFxuICAgICAgICAgICAgYnJ1c2hEb21haW46IGRvbWFpbixcbiAgICAgICAgICAgIGNoYXJ0SWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRab29tKHtcbiAgICAgICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgICAgIHNvdXJjZUV2ZW50OiBldmVudCxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRhcmdldDogdGhpcy56b29tQXhpcyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbCh0aGlzLnpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0pO1xuICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxuICAgICAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5icm9hZGNhc3Rab29tKHtcbiAgICAgICAgICAgIGNoYW5uZWw6IHRoaXMuY29uZmlnPy56b29tPy5zeW5jQ2hhbm5lbCxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fZWxlbWVudC5vbignd2hlZWwnLCAoZXZlbnQ6IFdoZWVsRXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHdoZWVsaW5nKTtcbiAgICAgICAgICAgIGVtaXQodHlwZSwgZXZlbnQpO1xuICAgICAgICAgICAgdHlwZSA9ICd6b29tJztcblxuICAgICAgICAgICAgdGhpcy53aGVlbElkbGUgPSBmYWxzZTtcblxuICAgICAgICAgICAgd2hlZWxpbmcgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdHlwZSA9ICdlbmQnO1xuICAgICAgICAgICAgICBlbWl0KHR5cGUsIGV2ZW50KTtcbiAgICAgICAgICAgICAgdGhpcy53aGVlbElkbGUgPSB0cnVlO1xuICAgICAgICAgICAgICB0eXBlID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIH0sIDE1MCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1YnNjcmliZSB0byB6b29tIGV2ZW50c1xuICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZVxuICAgICAgLnN1YnNjcmliZVRvWm9vbSh0aGlzLmNvbmZpZz8uem9vbS5zeW5jQ2hhbm5lbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuYWxpdmUpLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT5cbiAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgfHxcbiAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQgfHxcbiAgICAgICAgICAgICh3aW5kb3cuVG91Y2hFdmVudCAmJlxuICAgICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQuc291cmNlRXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50KVxuICAgICAgICApLFxuICAgICAgICBmaWx0ZXIoKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnpvb21BeGlzLmluZGV4ID09PSBtLm1lc3NhZ2U/LmF4aXM/LmluZGV4ICYmXG4gICAgICAgICAgICB0aGlzLnpvb21BeGlzLm9yaWVudGF0aW9uID09PSBtLm1lc3NhZ2U/LmF4aXM/Lm9yaWVudGF0aW9uXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgobTogSUJyb2FkY2FzdE1lc3NhZ2U8Wm9vbU1lc3NhZ2U+KSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmlkICE9PSBtLm1lc3NhZ2UuY2hhcnRJZCkge1xuICAgICAgICAgICAgdGhpcy53aGVlbElkbGUgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKG0ubWVzc2FnZS5ldmVudC50eXBlID09PSAnZW5kJykge1xuICAgICAgICAgICAgICB0aGlzLndoZWVsSWRsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbChcbiAgICAgICAgICAgICAgdGhpcy56b29tLnRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgbS5tZXNzYWdlLmV2ZW50LnRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgKG0ubWVzc2FnZS5heGlzLmlzRmFrZSAmJiAhdGhpcy56b29tQXhpcy5pc0Zha2UpIHx8XG4gICAgICAgICAgICAgICghbS5tZXNzYWdlLmF4aXMuaXNGYWtlICYmIHRoaXMuem9vbUF4aXMuaXNGYWtlKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbChcbiAgICAgICAgICAgICAgICB0aGlzLnpvb20udHJhbnNmb3JtLFxuICAgICAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC50cmFuc2Zvcm1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gYnJ1c2ggZXZlbnRzIHggb3IgeVxuXG4gICAgaWYgKFxuICAgICAgKHRoaXMuY29uZmlnLmJydXNoPy50eXBlID09PSBCcnVzaFR5cGUueCAmJlxuICAgICAgICB0aGlzLnpvb21BeGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCkgfHxcbiAgICAgICh0aGlzLmNvbmZpZy5icnVzaD8udHlwZSA9PT0gQnJ1c2hUeXBlLnkgJiZcbiAgICAgICAgdGhpcy56b29tQXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpXG4gICAgKSB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnN1YnNjcmliZVRvQnJ1c2godGhpcy5jb25maWc/Lnpvb20uc3luY0NoYW5uZWwpLFxuICAgICAgICB0aGlzLmNoYXJ0U2VydmljZS5zaXplLFxuICAgICAgXSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgICBmaWx0ZXIoKGRhdGE6IFtJQnJvYWRjYXN0TWVzc2FnZTxCcnVzaE1lc3NhZ2U+LCBET01SZWN0XSkgPT5cbiAgICAgICAgICAgIEJvb2xlYW4oZGF0YVswXS5tZXNzYWdlLnNlbGVjdGlvbilcbiAgICAgICAgICApLFxuICAgICAgICAgIHRhcCgoZGF0YTogW0lCcm9hZGNhc3RNZXNzYWdlPEJydXNoTWVzc2FnZT4sIERPTVJlY3RdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBbbV0gPSBkYXRhO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMud2hlZWxJZGxlKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY3VycmVudFRyYW5zZm9ybSA9IGQzLnpvb21UcmFuc2Zvcm0odGhpcy5fZWxlbWVudC5ub2RlKCkpO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICFtLm1lc3NhZ2UuZXZlbnQgJiZcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uICYmXG4gICAgICAgICAgICAgIGN1cnJlbnRUcmFuc2Zvcm0uayAhPT0gMVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVab29tKG0pO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbS5tZXNzYWdlLnNlbGVjdGlvbjtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnpvb20/Lm9uKCdzdGFydCB6b29tIGVuZCcsIG51bGwpO1xuICAgIHRoaXMuX2VsZW1lbnQ/Lm9uKCd3aGVlbCcsIG51bGwpO1xuXG4gICAgdGhpcy5hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVab29tKG06IElCcm9hZGNhc3RNZXNzYWdlPEJydXNoTWVzc2FnZT4pIHtcbiAgICBjb25zdCBzID0gbS5tZXNzYWdlLnNlbGVjdGlvbjtcbiAgICB0aGlzLmJydXNoU2NhbGUuZG9tYWluKHRoaXMuem9vbUF4aXMuZXh0cmVtZXMpO1xuICAgIGNvbnN0IGRvbWFpbiA9IHRoaXMuYnJ1c2hTY2FsZS5kb21haW4oKTtcblxuICAgIGNvbnN0IHNjYWxlID0gKGRvbWFpblsxXSAtIGRvbWFpblswXSkgLyAoc1sxXSAtIHNbMF0pO1xuXG4gICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eS5zY2FsZShzY2FsZSk7XG5cbiAgICBpZiAobS5tZXNzYWdlPy5icnVzaFR5cGUgPT09IEJydXNoVHlwZS54KSB7XG4gICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0udHJhbnNsYXRlKC10aGlzLmJydXNoU2NhbGUoc1swXSksIDApO1xuICAgIH1cbiAgICBpZiAobS5tZXNzYWdlPy5icnVzaFR5cGUgPT09IEJydXNoVHlwZS55KSB7XG4gICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0udHJhbnNsYXRlKDAsIC10aGlzLmJydXNoU2NhbGUoc1swXSkpO1xuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnQuY2FsbCh0aGlzLnpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0sIG51bGwsIHt9KTtcbiAgfVxufVxuIl19
@@ -1932,7 +1932,7 @@ class ZoomableDirective {
1932
1932
  let wheeling;
1933
1933
  this.zoom
1934
1934
  .filter((event) => (event.ctrlKey && event.type === 'wheel') ||
1935
- Boolean(window.TouchEvent))
1935
+ Boolean(window.TouchEvent && event.type !== 'wheel'))
1936
1936
  .wheelDelta((event) => {
1937
1937
  var _a;
1938
1938
  const delta = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.zoom.type) === ZoomType.x