ngx-scandoc 15.2.0 → 15.2.1

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.
@@ -155,12 +155,16 @@ export class WebcamComponent extends BaseComponent {
155
155
  if (max &&
156
156
  currentWidth &&
157
157
  max > currentWidth &&
158
- conWidth != max) {
159
- console.log('[SET NEW RESOLUTION]');
158
+ conWidth != max &&
159
+ currentWidth != 1920) {
160
+ console.log('[SET NEW RESOLUTION] ', max, currentWidth);
160
161
  this.setupAttempt++;
161
162
  if (this.setupAttempt < 4) {
162
163
  this.setup(videoTrackConstraints);
163
164
  }
165
+ else {
166
+ this.setDeviceId(stream);
167
+ }
164
168
  }
165
169
  else {
166
170
  this.setDeviceId(stream);
@@ -523,4 +527,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
523
527
  }], initError: [{
524
528
  type: Output
525
529
  }] } });
526
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3dlYmNhbS93ZWJjYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvY29tcG9uZW50cy93ZWJjYW0vd2ViY2FtL3dlYmNhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUF5QyxNQUFNLE1BQU0sQ0FBQztBQVluRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVVyRCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUE4QnJCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQWdCRCxZQUNTLGtCQUFzQyxFQUN0QyxRQUFrQixFQUNqQixFQUFxQixFQUNyQixJQUFZLEVBRVosY0FBd0M7UUFF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Z0JBYU0sTUFBTTtzQkFBcEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVTLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbkIsY0FBYztzQkFBOUIsTUFBTTtnQkFFVSxVQUFVO3NCQUExQixNQUFNO2dCQUVVLFlBQVk7c0JBQTVCLE1BQU07Z0JBR1UsU0FBUztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXZWJjYW1Jbml0RXJyb3IgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWluaXQtZXJyb3InO1xuaW1wb3J0IHsgV2ViY2FtSW1hZ2UgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWltYWdlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdlYmNhbVV0aWwgfSBmcm9tICcuLi91dGlsL3dlYmNhbS51dGlsJztcbmltcG9ydCB7IFdlYmNhbU1pcnJvclByb3BlcnRpZXMgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLW1pcnJvci1wcm9wZXJ0aWVzJztcbmltcG9ydCB7XG4gIEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgQnJlYWtwb2ludHMsXG4gIEJyZWFrcG9pbnRTdGF0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHdvcmtlcnRleHQgfSBmcm9tICcuLi8uLi8uLi9hcHAud29ya2VyJztcbmltcG9ydCB7IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UuY29tcG9uZW50JztcblxuZGVjbGFyZSB2YXIgTWVkaWFTdHJlYW1UcmFja1Byb2Nlc3NvcjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc2NhbmRvYy13ZWJjYW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vd2ViY2FtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2ViY2FtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJjYW1Db21wb25lbnRcbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgdHJpZ2dlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgY2FudmFzU2l6ZTogYW55ID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XG4gIHNob3dWaWRlbyA9IGZhbHNlO1xuICBzZXR1cEF0dGVtcHQgPSAwO1xuICBjYW52YXNEYXRhOiBhbnkgPSB7XG4gICAgY3R4OiBudWxsLFxuICAgIGN0eE86IG51bGwsXG4gIH07XG5cbiAgbWVkaWFTdHJlYW0hOiBNZWRpYVN0cmVhbTtcbiAgQElucHV0KCkgaW1hZ2VIYW5kbGVyITogU3ViamVjdDxhbnk+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogJ2RvY3VtZW50JyB8ICdzZWxmaWUnIHwgJ21hbnVhbCc7XG5cbiAgQElucHV0KCkgdHJpZ2dlciE6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgLy8gcHVibGljIHNldCB0cmlnZ2VyKHRyaWdnZXI6IE9ic2VydmFibGU8bnVtYmVyPikge1xuICAvLyAgIGlmICh0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24pIHtcbiAgLy8gICAgIHRoaXMudHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFN1YnNjcmliZSB0byBldmVudHMgZnJvbSB0aGlzIE9ic2VydmFibGUgdG8gdGFrZSBzbmFwc2hvdHNcbiAgLy8gICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24gPSB0cmlnZ2VyLnN1YnNjcmliZSgodGltZSkgPT4ge1xuICAvLyAgICAgdGhpcy50YWtlU25hcHNob3QodGltZSk7XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgcmVzaXplVGltZW91dDogYW55O1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoKSB7XG4gICAgdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb24udCA9IDA7XG4gICAgLy8gdGhpcy52aWRlb1JlYWR5Lm5leHQoZmFsc2UpO1xuICAgIGlmICh0aGlzLnJlc2l6ZVRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLnJlc2l6ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd1JlY3RhbmdsZSgpO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2h1bmtzOiBhbnkgPSBbXTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBjYW52YXM6IGFueTtcblxuICBAVmlld0NoaWxkKCd2aWRlbycsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlkZW9SZWY6IGFueTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhbWVyYVN3aXRjaGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdmlkZW9SZWFkeTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaW1hZ2VDYXB0dXJlOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW1hZ2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFdlYmNhbUltYWdlPigpO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5pdEVycm9yOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW5pdEVycm9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXZWJjYW1Jbml0RXJyb3I+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuXG4gICAgcHJpdmF0ZSBjYW1lcmFQcm92aWRlcjogTmd4U2NhbmRvY0NhbWVyYVByb3ZpZGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUud2FybignW3ZpZGVvXSBzdGFydCcpO1xuICAgIC8vIGluaXRpYWwgbG9hZFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIuZ2V0RGV2aWNlcygpKS5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH0pO1xuXG4gICAgLy8gY2FtZXJhIHN3aXRjaFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIud2ViY2FtT2JzZXJ2YWJsZSkuc3Vic2NyaWJlKChkZXZpY2UpID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvVHJhY2tDb25zdHJhaW50czogYW55ID0gdGhpcy5zZXRDb25zdHJhaW50cygpO1xuICAgICAgdGhpcy5zdG9wQWxsVHJhY2tzKCk7XG4gICAgICB0aGlzLnNob3dWaWRlbyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB2aWRlb1RyYWNrQ29uc3RyYWludHMuZGV2aWNlSWQgPSBkZXZpY2U7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9fc3Vicyh0aGlzLnRyaWdnZXIpLnN1YnNjcmliZSgodGltZSkgPT4gdGhpcy50YWtlU25hcHNob3QodGltZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWRlbygpIHtcbiAgICByZXR1cm4gdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50O1xuICB9XG4gIGdldCBpc01vYmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5BTkRST0lEIHx8IHRoaXMucGxhdGZvcm0uSU9TO1xuICB9XG4gIHByaXZhdGUgc2V0Q29uc3RyYWludHMoKSB7XG4gICAgY29uc3Qgb3V0OiBNZWRpYVN0cmVhbUNvbnN0cmFpbnRzID0ge307XG4gICAgY29uc29sZS53YXJuKCdNT0JJTEUnLCB0aGlzLmlzTW9iaWxlKTtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAnZW52aXJvbm1lbnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dC52aWRlbyA9IHtcbiAgICAgICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgICAgIG1pbjogMTI4MCxcbiAgICAgICAgICAgICAgaWRlYWw6IDE5MjAsXG4gICAgICAgICAgICAgIG1heDogMjkwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgbWluOiA3MjAsXG4gICAgICAgICAgICAgIGlkZWFsOiAxMDgwLFxuICAgICAgICAgICAgICBtYXg6IDI5MDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2VsZmllJzpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAndXNlcic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0LnZpZGVvID0ge1xuICAgICAgICAgICAgZnJhbWVSYXRlOiB7IG1pbjogMTAgfSxcbiAgICAgICAgICAgIGhlaWdodDogeyBpZGVhbDogMTA4MCB9LFxuICAgICAgICAgICAgd2lkdGg6IHsgaWRlYWw6IDE5MjAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dC52aWRlbztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrU2V0dGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpO1xuICB9XG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrQ2FwYWJpbGl0aWVzKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5tZWRpYVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldENhcGFiaWxpdGllcygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgdGhpcy5fX3N1YnModGhpcy5jYW1lcmFQcm92aWRlci5nZXREZXZpY2VzKCkpLnN1YnNjcmliZSgocmVzcCkgPT4ge1xuICAgICAgY29uc29sZS53YXJuKCdERVZJQ0VTJywgcmVzcCk7XG4gICAgICBjb25zdCB2aWRlb1RyYWNrQ29uc3RyYWludHMgPSB0aGlzLnNldENvbnN0cmFpbnRzKCk7XG4gICAgICB0aGlzLnNldHVwQXR0ZW1wdCA9IDA7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERldmljZUlkKHN0cmVhbTogTWVkaWFTdHJlYW0pIHtcbiAgICB0aGlzLm1lZGlhU3RyZWFtID0gc3RyZWFtO1xuICAgIHRoaXMuY2FtZXJhUHJvdmlkZXIuZGV2aWNlSWQgPSB0aGlzLmFjdGl2ZVRyYWNrU2V0dGluZ3MuZGV2aWNlSWQ7XG4gICAgdGhpcy5zdGFydFZpZGVvKCk7XG4gIH1cbiAgcHJpdmF0ZSBzZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHM6IGFueSkge1xuICAgIGNvbnNvbGUud2FybigndmlkZW9UcmFja0NvbnN0cmFpbnRzJywgdmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICBjb25zb2xlLnRpbWUoJ2RldmljZScpO1xuICAgIHRoaXMuX19zdWJzKFxuICAgICAgZnJvbShcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoPE1lZGlhU3RyZWFtQ29uc3RyYWludHM+e1xuICAgICAgICAgIHZpZGVvOiB2aWRlb1RyYWNrQ29uc3RyYWludHMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICAoc3RyZWFtOiBNZWRpYVN0cmVhbSkgPT4ge1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2RldmljZScpO1xuICAgICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgIC8vY29uc29sZS53YXJuKHQuZ2V0Q29uc3RyYWludHMoKSk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmICghdC5nZXRDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0LmdldFNldHRpbmdzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNhcCA9IHQuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbiA9IHQuZ2V0Q29uc3RyYWludHMoKTtcblxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oY2FwLCBjb24pO1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oc2V0dGluZ3MpO1xuICAgICAgICAgICAgICBjb25zdCBtYXggPSBjYXAud2lkdGg/Lm1heDtcbiAgICAgICAgICAgICAgY29uc3QgbWluID0gY2FwLndpZHRoPy5taW47XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHNldHRpbmdzLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gc2V0dGluZ3MuaGVpZ2h0O1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNvbldpZHRoID0gY29uLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjb25IZWlnaHQgPSBjb24ud2lkdGg7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnQ0FQUycsXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgICAgICAnQ1VSRU5UJyxcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgY3VycmVudEhlaWdodFxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtYXggJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBtYXggPiBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBjb25XaWR0aCAhPSBtYXhcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tTRVQgTkVXIFJFU09MVVRJT05dJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cEF0dGVtcHQrKztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZXR1cEF0dGVtcHQgPCA0KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdNT0JJTEUgVklERU8gU1RBUlQnKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIChlcikgPT4ge1xuICAgICAgICB0aGlzLnNldHVwQXR0ZW1wdCsrO1xuICAgICAgICBjb25zb2xlLndhcm4oJ0VSUk9SJywgZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLnNldHVwQXR0ZW1wdCA8IDQpIHtcbiAgICAgICAgICBpZiAoZXIgaW5zdGFuY2VvZiBPdmVyY29uc3RyYWluZWRFcnJvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0dXAodmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoaXMuc2V0dXAoe1xuICAgICAgICAgICAgLy8gICBoZWlnaHQ6IDcyMCxcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEyODAsXG4gICAgICAgICAgICAvLyB9KTtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRWaWRlbygpIHtcbiAgICBjb25zb2xlLmxvZygnU1RBUlQgVklERU8nKTtcbiAgICB0aGlzLnZpZGVvLnNyY09iamVjdCA9IHRoaXMubWVkaWFTdHJlYW07XG5cbiAgICB0aGlzLnZpZGVvLm9ubG9hZGVkbWV0YWRhdGEgPSAoZGF0YTogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgIHRoaXMudmlkZW8ucGxheSgpO1xuICAgICAgdGhpcy5zaG93VmlkZW8gPSB0cnVlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZygnVklERU8gUExBWScpO1xuICAgIH07XG4gICAgdGhpcy52aWRlby5vbnBsYXkgPSAoKSA9PiB7XG4gICAgICB0aGlzLnZpZGVvUmVhZHkubmV4dCh0cnVlKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMudmlkZW8udmlkZW9XaWR0aCwgdGhpcy52aWRlby52aWRlb0hlaWdodCk7XG4gICAgICB0aGlzLmRyYXdSZWN0YW5nbGUoKTtcbiAgICB9O1xuICB9XG4gIHNldENhbnZhcygpIHtcbiAgICBsZXQgX2NhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsgLy90aGlzLmNhbnZhc1NuYXBzaG90Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCB7IHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgY29uc3QgYXNwZWN0ID0gdmlkZW9XaWR0aCAvIHZpZGVvSGVpZ2h0O1xuXG4gICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG4gICAgY29uc3Qgc21hbGxTaXplID0ge1xuICAgICAgdzogMCxcbiAgICAgIGg6IDAsXG4gICAgfTtcblxuICAgIGlmICh2aWRlb1dpZHRoID49IHZpZGVvSGVpZ2h0KSB7XG4gICAgICBzbWFsbFNpemUudyA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZSAvIGFzcGVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZTtcbiAgICAgIHNtYWxsU2l6ZS5oID0gY2FudmFzU21hbFNpemUgKiBhc3BlY3Q7XG4gICAgfVxuXG4gICAgLy9jb25zb2xlLmxvZygnU1onLCBzbWFsbFNpemUpO1xuXG4gICAgX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgX2NhbnZhcy5oZWlnaHQgPSB2aWRlb0hlaWdodDtcbiAgICBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvLyBuZWVkcyBhbiBpbml0aWFsIHNpemVcbiAgICBjYW52YXMuaGVpZ2h0ID0gc21hbGxTaXplLmg7XG4gICAgY2FudmFzLndpZHRoID0gc21hbGxTaXplLnc7XG5cbiAgICBjb25zdCBjdHhPOiBhbnkgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzRGF0YS5jdHggPSBjdHg7XG4gICAgdGhpcy5jYW52YXNEYXRhLmN0eE8gPSBjdHhPO1xuICAgIHRoaXMuY2FudmFzRGF0YS5jYW52YXMgPSBjYW52YXM7XG4gICAgdGhpcy5jYW52YXNEYXRhLl9jYW52YXMgPSBfY2FudmFzO1xuICAgIHRoaXMuY2FudmFzRGF0YS5zaXplID0gc21hbGxTaXplO1xuXG4gICAgLy8gY29uc3Qgc3RyZWFtID0gdGhpcy52aWRlby5jYXB0dXJlU3RyZWFtKDUpO1xuXG4gICAgLy8gY29uc3QgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLnN0YXJ0KCk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLm9uZGF0YWF2YWlsYWJsZSA9IChlOmFueSkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2coZSlcbiAgICAvLyAgIHRoaXMuY2h1bmtzLnB1c2goZS5kYXRhKTtcblxuICAgIC8vICAgdmFyIHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGUuZGF0YSk7XG4gICAgLy8gICB2YXIgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIC8vICAgYW5jaG9yLmRvd25sb2FkID0gJ215ZmlsZS53ZWJtJztcbiAgICAvLyAgIGFuY2hvci5ocmVmID0gdXJsO1xuICAgIC8vICAgYW5jaG9yLmNsaWNrKCk7XG4gICAgLy8gfTtcbiAgfVxuXG4gIHByaXZhdGUgdGFrZVNlbGZpZSgpIHtcbiAgICBjb25zdCBtaW1lVHlwZTogc3RyaW5nID0gJ2ltYWdlL2pwZWcnO1xuICAgIGNvbnN0IHsgdmlkZW9XaWR0aCwgb2Zmc2V0V2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgbGV0IF9jYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vdGhpcy5jYW52YXNTbmFwc2hvdC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyB3LCBoIH0gPSB0aGlzLmNhbWVyYVByb3ZpZGVyLnJlY3RQb3NpdGlvbjtcblxuICAgIGNvbnN0IGFzcGVjdCA9IHZpZGVvV2lkdGggLyBvZmZzZXRXaWR0aDtcblxuICAgIC8vIGNvbnNvbGUubG9nKHZpZGVvV2lkdGgsIG9mZnNldFdpZHRoLCBsLCB0LCB3LCBoKTtcblxuICAgIF9jYW52YXMud2lkdGggPSB3ICogYXNwZWN0O1xuICAgIF9jYW52YXMuaGVpZ2h0ID0gaCAqIGFzcGVjdDtcblxuICAgIGNvbnN0IGR4ID0gdmlkZW9XaWR0aCAtIHcgKiBhc3BlY3Q7XG4gICAgY29uc3QgZHkgPSB2aWRlb0hlaWdodCAtIGggKiBhc3BlY3Q7XG4gICAgY29uc3QgeCA9IGR4IC8gMjtcbiAgICBjb25zdCB5ID0gZHkgLyAyO1xuXG4gICAgY29uc3QgY3R4OiBhbnkgPSBfY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgYWxwaGE6IGZhbHNlLFxuICAgICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgZGVwdGg6IGZhbHNlLFxuICAgICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBpZiAoY3R4KSB7XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLnZpZGVvLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0LFxuICAgICAgICAwLFxuICAgICAgICAwLFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0XG4gICAgICApO1xuXG4gICAgICBjb25zdCBpbWdBc1VybDogYW55ID0gX2NhbnZhcy50b0RhdGFVUkwobWltZVR5cGUsIDEpO1xuXG4gICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICBuZXcgV2ViY2FtSW1hZ2UoaW1nQXNVcmwsIG1pbWVUeXBlLCBuZXcgSW1hZ2VEYXRhKDEsIDEpLCBudWxsKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBodW1hbkZpbGVTaXplKGJ5dGVzOiBudW1iZXIsIHNpID0gZmFsc2UsIGRwID0gMSkge1xuICAgIGNvbnN0IHRocmVzaCA9IHNpID8gMTAwMCA6IDEwMjQ7XG5cbiAgICBpZiAoTWF0aC5hYnMoYnl0ZXMpIDwgdGhyZXNoKSB7XG4gICAgICByZXR1cm4gYnl0ZXMgKyAnIEInO1xuICAgIH1cblxuICAgIGNvbnN0IHVuaXRzID0gc2lcbiAgICAgID8gWydrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddXG4gICAgICA6IFsnS2lCJywgJ01pQicsICdHaUInLCAnVGlCJywgJ1BpQicsICdFaUInLCAnWmlCJywgJ1lpQiddO1xuICAgIGxldCB1ID0gLTE7XG4gICAgY29uc3QgciA9IDEwICoqIGRwO1xuXG4gICAgZG8ge1xuICAgICAgYnl0ZXMgLz0gdGhyZXNoO1xuICAgICAgKyt1O1xuICAgIH0gd2hpbGUgKFxuICAgICAgTWF0aC5yb3VuZChNYXRoLmFicyhieXRlcykgKiByKSAvIHIgPj0gdGhyZXNoICYmXG4gICAgICB1IDwgdW5pdHMubGVuZ3RoIC0gMVxuICAgICk7XG5cbiAgICByZXR1cm4gYnl0ZXMudG9GaXhlZChkcCkgKyAnICcgKyB1bml0c1t1XTtcbiAgfVxuXG4gIHRha2VTbmFwc2hvdCh0aW1lOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy50eXBlICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICB0aGlzLnRha2VTZWxmaWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY29uc29sZS53YXJuKCdTTkFQJywgdGltZSk7XG4gICAgaWYgKCF0aGlzLnNob3dWaWRlbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG5cbiAgICAgIGNvbnN0IG1pbWVUeXBlOiBzdHJpbmcgPSAnaW1hZ2UvanBlZyc7XG5cbiAgICAgIC8vIGxldCBfY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvL3RoaXMuY2FudmFzU25hcHNob3QubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgeyB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCB9ID0gdGhpcy52aWRlbztcblxuICAgICAgLy8gX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgICAvLyBfY2FudmFzLmhlaWdodCA9IHZpZGVvSGVpZ2h0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuXG4gICAgICAvLyBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyAgIGFscGhhOiBmYWxzZSxcbiAgICAgIC8vICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyAgIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyAgIGRlcHRoOiBmYWxzZSxcbiAgICAgIC8vICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB9KTtcblxuICAgICAgLy8gY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vIG5lZWRzIGFuIGluaXRpYWwgc2l6ZVxuICAgICAgLy8gY2FudmFzLmhlaWdodCA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgLy8gY2FudmFzLndpZHRoID0gY2FudmFzU21hbFNpemU7XG5cbiAgICAgIC8vIGNvbnN0IGN0eE86IGFueSA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcsIHtcbiAgICAgIC8vICAgYWxwaGE6IGZhbHNlLFxuICAgICAgLy8gICBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vICAgYW50aWFsaWFzOiBmYWxzZSxcbiAgICAgIC8vICAgZGVwdGg6IGZhbHNlLFxuICAgICAgLy8gICBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIH0pO1xuXG4gICAgICBjb25zdCB7IGN0eCwgY3R4TywgY2FudmFzLCBfY2FudmFzLCBzaXplIH0gPSB0aGlzLmNhbnZhc0RhdGE7XG5cbiAgICAgIGlmIChjdHggJiYgY3R4Tykge1xuICAgICAgICBjdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRyYXdTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuICAgICAgICBjdHhPLmNsZWFyUmVjdCgwLCAwLCBzaXplLncsIHNpemUuaCk7XG5cbiAgICAgICAgY3R4LmRyYXdJbWFnZSh0aGlzLnZpZGVvLCAwLCAwKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ2RyYXdWaWRlbycpO1xuICAgICAgICBjdHhPLmRyYXdJbWFnZShfY2FudmFzLCAwLCAwLCBzaXplLncsIHNpemUuaCk7XG4gICAgICAgIC8vY29uc29sZS50aW1lRW5kKCdkcmF3VmlkZW8nKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ0RSQVcnKTtcblxuICAgICAgICAvLyAgY29uc3QgaW1EYXRhOiBhbnkgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgICBjb25zb2xlLmxvZyhjYW52YXMud2lkdGgsIF9jYW52YXMud2lkdGgpO1xuICAgICAgICAvL2NvbnNvbGUudGltZUVuZCgnRFJBVycpO1xuXG4gICAgICAgIC8vY29uc29sZS50aW1lKCdDVFgnKTtcblxuICAgICAgICBjb25zdCByZXNpemUgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJyk7XG5cbiAgICAgICAgY29uc3QgY2FudmFzRGF0YSA9IF9jYW52YXMudG9EYXRhVVJMKG1pbWVUeXBlLCAxKTtcblxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmh1bWFuRmlsZVNpemUoY2FudmFzRGF0YS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5odW1hbkZpbGVTaXplKHJlc2l6ZS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2cobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWVFbmQoJ0NUWCcpO1xuICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkaWZmID0gY3VycmVudFRpbWUgLSB0aW1lO1xuXG4gICAgICAgIC8vIHRvdGFsIHRpbWUgZm9yIHBhY2sgb25lIGltYWdlXG4gICAgICAgIGNvbnN0IGRyYXdUaW1lID0gRGF0ZS5ub3coKSAtIGRyYXdTdGFydDtcblxuICAgICAgICAvL2NvbnNvbGUud2FybignRFJBVyBUSU1FJywgZHJhd1RpbWUpO1xuICAgICAgICBjb25zdCBkZWxheU1heCA9IGRyYXdUaW1lIDwgNjAgPyAxMDAgOiAyMDA7XG5cbiAgICAgICAgY29uc3QgZGVsYXkgPSBkaWZmID4gZGVsYXlNYXggPyAwIDogZGVsYXlNYXggLSBkaWZmO1xuXG4gICAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICAgICAgbmV3IFdlYmNhbUltYWdlKGNhbnZhc0RhdGEsIG1pbWVUeXBlLCAnJywgcmVzaXplKVxuICAgICAgICAgICk7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BBbGxUcmFja3MoKSB7XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5tZWRpYVN0cmVhbSAmJiB0aGlzLm1lZGlhU3RyZWFtLmdldFRyYWNrcykge1xuICAgICAgLy8gZ2V0VHJhY2tzKCkgcmV0dXJucyBhbGwgbWVkaWEgdHJhY2tzICh2aWRlbythdWRpbylcblxuICAgICAgdGhpcy5tZWRpYVN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjazogTWVkaWFTdHJlYW1UcmFjaykgPT4ge1xuICAgICAgLy8gIGNvbnNvbGUubG9nKHRyYWNrKTtcbiAgICAgICAgdHJhY2suZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdHJhY2suc3RvcCgpO1xuXG4gICAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0LnJlbW92ZVRyYWNrKHRyYWNrKTtcbiAgICAgICAgdGhpcy5tZWRpYVN0cmVhbS5yZW1vdmVUcmFjayh0cmFjayk7XG5cbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0ID0gbnVsbDtcbiAgICAgLy8gdGhpcy52aWRlby5zcmMgPSBudWxsO1xuXG4gICAgICAgdGhpcy52aWRlby5sb2FkKCk7XG4gICAgfVxuICAgIC8vIHRoaXMuX19zdWJzKHRoaXMuc3RvcFZpZGVvVHJhY2tzKCkpLnN1YnNjcmliZSgpXG4gIH1cblxuICBwcml2YXRlIGRyYXdSZWN0YW5nbGUoKSB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICBjb25zdCBfY2FudmFzID0gdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCBwYWRkaW5nID0gMTA7XG4gICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgX2NhbnZhcy53aWR0aCAhPT0gX2NhbnZhcy5oZWlnaHQpIHtcbiAgICAgICAgcGFkZGluZyA9IDQwO1xuICAgICAgfVxuICAgICAgY29uc3QgY3R4ID0gX2NhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIF9jYW52YXMud2lkdGgsIF9jYW52YXMuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBfY2FudmFzO1xuXG4gICAgICBjb25zb2xlLmxvZygnQ0FOVkFTJywgd2lkdGgsIGhlaWdodCk7XG5cbiAgICAgIGxldCB7IHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgICAvLyB2aWRlbyB3aWxsIGJlIHNjYWxlZCB0byBtYXggY2FudmFzIGhlaWdodFxuICAgICAgY29uc3QgYXNwZWN0ID0gdmlkZW9XaWR0aCAvIHZpZGVvSGVpZ2h0O1xuXG4gICAgICAvLyBpZiAodmlkZW9IZWlnaHQgPCBoZWlnaHQpIHtcbiAgICAgIC8vICAgdmlkZW9IZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAvLyAgIHZpZGVvV2lkdGggPSBoZWlnaHQqYXNwZWN0O1xuICAgICAgLy8gfVxuXG4gICAgICBjb25zb2xlLmxvZygnVklERU8nLCB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCk7XG5cbiAgICAgIGNvbnN0IGRvY1NpemUgPSB0aGlzLnR5cGUgPT09ICdzZWxmaWUnID8gMSA6IDg2IC8gNTU7XG5cbiAgICAgIGxldCBfaGVpZ2h0O1xuICAgICAgbGV0IF93aWR0aDtcblxuICAgICAgaWYgKHZpZGVvV2lkdGggPj0gdmlkZW9IZWlnaHQpIHtcbiAgICAgICAgX3dpZHRoID0gd2lkdGg7XG5cbiAgICAgICAgX2hlaWdodCA9IF93aWR0aCAvIGFzcGVjdDtcblxuICAgICAgICBpZiAoX2hlaWdodCA+IGhlaWdodCkge1xuICAgICAgICAgIF9oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgICAgX3dpZHRoID0gYXNwZWN0ICogX2hlaWdodDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX2hlaWdodCA9IGhlaWdodDtcbiAgICAgICAgX3dpZHRoID0gYXNwZWN0ICogX2hlaWdodDtcbiAgICAgICAgaWYgKF93aWR0aCA+IHdpZHRoKSB7XG4gICAgICAgICAgX3dpZHRoID0gd2lkdGg7XG4gICAgICAgICAgX2hlaWdodCA9IF93aWR0aCAvIGFzcGVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmxvZygnQ0FMQycsIF93aWR0aCwgX2hlaWdodCk7XG4gICAgICBsZXQgdywgaDtcblxuICAgICAgaWYgKF93aWR0aCA8PSBfaGVpZ2h0KSB7XG4gICAgICAgIHcgPSBfd2lkdGggLSAyICogcGFkZGluZztcbiAgICAgICAgaCA9IHcgLyBkb2NTaXplO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaCA9IF9oZWlnaHQgLSAyICogcGFkZGluZztcbiAgICAgICAgdyA9IGRvY1NpemUgKiBoO1xuICAgICAgfVxuICAgICAgaWYgKHcgPiBfd2lkdGgpIHtcbiAgICAgICAgdyA9IF93aWR0aCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICBoID0gdyAvIGRvY1NpemU7XG4gICAgICB9XG5cbiAgICAgIGggPSBNYXRoLmZsb29yKGgpO1xuICAgICAgdyA9IE1hdGguZmxvb3Iodyk7XG4gICAgICBjb25zb2xlLmxvZyh3LCBoKTtcblxuICAgICAgY29uc3QgbGVmdCA9IE1hdGguZmxvb3IoKHdpZHRoIC0gdykgLyAyKTtcbiAgICAgIGNvbnN0IHRvcCA9IE1hdGguZmxvb3IoKGhlaWdodCAtIGgpIC8gMik7XG5cbiAgICAgIGN0eC5zdHJva2VTdHlsZSA9ICd3aGl0ZSc7XG5cbiAgICAgIC8vIGN0eC5zdHJva2VSZWN0KGxlZnQsIHRvcCwgX3dpZHRoLCBfaGVpZ2h0KTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJztcbiAgICAgIC8vIGN0eC5zaGFkb3dDb2xvciA9ICd3aGl0ZSc7XG4gICAgICBjdHguc2hhZG93Qmx1ciA9IDE1O1xuICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuXG4gICAgICAvLyBEcmF3IHVzaW5nIDVweCBmb3IgYm9yZGVyIHJhZGl1cyBvbiBhbGwgc2lkZXNcbiAgICAgIC8vIHN0cm9rZSBpdCBidXQgbm8gZmlsbFxuICAgICAgY29uc3QgcmFkaXVzID0gdGhpcy5pc01vYmlsZSA/IDEwIDogMzA7XG5cbiAgICAgIGN0eC5yb3VuZFJlY3QobGVmdCwgdG9wLCB3LCBoLCByYWRpdXMpO1xuICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgY3R4LmZpbGwoKTtcblxuICAgICAgdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb24gPSB7XG4gICAgICAgIGw6IGxlZnQsXG4gICAgICAgIHQ6IHRvcCxcbiAgICAgICAgdyxcbiAgICAgICAgaCxcbiAgICAgICAgX3c6IF93aWR0aCxcbiAgICAgICAgX2g6IF9oZWlnaHQsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNldENhbnZhcygpO1xuICAgICAgLy8gY3R4LnN0cm9rZSgpO1xuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmlkZW8ucGF1c2UoKTtcblxuICAgIC8vIHRoaXMudmlkZW8uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2s6IGFueSkgPT4ge1xuICAgIC8vICAgdHJhY2suc3RvcCgpO1xuICAgIC8vICAgdGhpcy52aWRlby5zcmNPYmplY3QucmVtb3ZlVHJhY2sodHJhY2spO1xuICAgIC8vIH0pO1xuXG4gICAgdGhpcy5zdG9wQWxsVHJhY2tzKCk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fX2Rlc3Ryb3koKTtcblxuICAgIGNvbnNvbGUud2FybignW1ZJREVPXSBkZXN0cm95ZWQnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndlYmNhbS13cmFwcGVyXCI+XG4gIDx2aWRlbyAjdmlkZW8gYXV0b3BsYXkgbXV0ZWQgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiIHBsYXlzaW5saW5lPjwvdmlkZW8+XG5cbiAgPGRpdiBjbGFzcz1cInJlY3RhbmdsZVwiPlxuICAgIDxjYW52YXNcbiAgICAgICNjYW52YXNcbiAgICAgIFtuZ1N0eWxlXT1cInsgdmlzaWJpbGl0eTogc2hvd1ZpZGVvID8gJ3Zpc2libGUnIDogJ2hpZGRlbicgfVwiXG4gICAgICBbd2lkdGhdPVwidmlkZW8ub2Zmc2V0V2lkdGhcIlxuICAgICAgW2hlaWdodF09XCJ2aWRlby5vZmZzZXRIZWlnaHRcIlxuICAgID48L2NhbnZhcz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
530
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3dlYmNhbS93ZWJjYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvY29tcG9uZW50cy93ZWJjYW0vd2ViY2FtL3dlYmNhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUF5QyxNQUFNLE1BQU0sQ0FBQztBQVluRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVVyRCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUE4QnJCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQWdCRCxZQUNTLGtCQUFzQyxFQUN0QyxRQUFrQixFQUNqQixFQUFxQixFQUNyQixJQUFZLEVBRVosY0FBd0M7UUFF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QUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQWFOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYU0sTUFBTTtzQkFBcEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVTLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbkIsY0FBYztzQkFBOUIsTUFBTTtnQkFFVSxVQUFVO3NCQUExQixNQUFNO2dCQUVVLFlBQVk7c0JBQTVCLE1BQU07Z0JBR1UsU0FBUztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXZWJjYW1Jbml0RXJyb3IgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWluaXQtZXJyb3InO1xuaW1wb3J0IHsgV2ViY2FtSW1hZ2UgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWltYWdlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdlYmNhbVV0aWwgfSBmcm9tICcuLi91dGlsL3dlYmNhbS51dGlsJztcbmltcG9ydCB7IFdlYmNhbU1pcnJvclByb3BlcnRpZXMgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLW1pcnJvci1wcm9wZXJ0aWVzJztcbmltcG9ydCB7XG4gIEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgQnJlYWtwb2ludHMsXG4gIEJyZWFrcG9pbnRTdGF0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHdvcmtlcnRleHQgfSBmcm9tICcuLi8uLi8uLi9hcHAud29ya2VyJztcbmltcG9ydCB7IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UuY29tcG9uZW50JztcblxuZGVjbGFyZSB2YXIgTWVkaWFTdHJlYW1UcmFja1Byb2Nlc3NvcjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc2NhbmRvYy13ZWJjYW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vd2ViY2FtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2ViY2FtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJjYW1Db21wb25lbnRcbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgdHJpZ2dlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgY2FudmFzU2l6ZTogYW55ID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XG4gIHNob3dWaWRlbyA9IGZhbHNlO1xuICBzZXR1cEF0dGVtcHQgPSAwO1xuICBjYW52YXNEYXRhOiBhbnkgPSB7XG4gICAgY3R4OiBudWxsLFxuICAgIGN0eE86IG51bGwsXG4gIH07XG5cbiAgbWVkaWFTdHJlYW0hOiBNZWRpYVN0cmVhbTtcbiAgQElucHV0KCkgaW1hZ2VIYW5kbGVyITogU3ViamVjdDxhbnk+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogJ2RvY3VtZW50JyB8ICdzZWxmaWUnIHwgJ21hbnVhbCc7XG5cbiAgQElucHV0KCkgdHJpZ2dlciE6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgLy8gcHVibGljIHNldCB0cmlnZ2VyKHRyaWdnZXI6IE9ic2VydmFibGU8bnVtYmVyPikge1xuICAvLyAgIGlmICh0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24pIHtcbiAgLy8gICAgIHRoaXMudHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFN1YnNjcmliZSB0byBldmVudHMgZnJvbSB0aGlzIE9ic2VydmFibGUgdG8gdGFrZSBzbmFwc2hvdHNcbiAgLy8gICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24gPSB0cmlnZ2VyLnN1YnNjcmliZSgodGltZSkgPT4ge1xuICAvLyAgICAgdGhpcy50YWtlU25hcHNob3QodGltZSk7XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgcmVzaXplVGltZW91dDogYW55O1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoKSB7XG4gICAgdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb24udCA9IDA7XG4gICAgLy8gdGhpcy52aWRlb1JlYWR5Lm5leHQoZmFsc2UpO1xuICAgIGlmICh0aGlzLnJlc2l6ZVRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLnJlc2l6ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd1JlY3RhbmdsZSgpO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2h1bmtzOiBhbnkgPSBbXTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBjYW52YXM6IGFueTtcblxuICBAVmlld0NoaWxkKCd2aWRlbycsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlkZW9SZWY6IGFueTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhbWVyYVN3aXRjaGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdmlkZW9SZWFkeTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaW1hZ2VDYXB0dXJlOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW1hZ2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFdlYmNhbUltYWdlPigpO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5pdEVycm9yOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW5pdEVycm9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXZWJjYW1Jbml0RXJyb3I+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuXG4gICAgcHJpdmF0ZSBjYW1lcmFQcm92aWRlcjogTmd4U2NhbmRvY0NhbWVyYVByb3ZpZGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUud2FybignW3ZpZGVvXSBzdGFydCcpO1xuICAgIC8vIGluaXRpYWwgbG9hZFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIuZ2V0RGV2aWNlcygpKS5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH0pO1xuXG4gICAgLy8gY2FtZXJhIHN3aXRjaFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIud2ViY2FtT2JzZXJ2YWJsZSkuc3Vic2NyaWJlKChkZXZpY2UpID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvVHJhY2tDb25zdHJhaW50czogYW55ID0gdGhpcy5zZXRDb25zdHJhaW50cygpO1xuICAgICAgdGhpcy5zdG9wQWxsVHJhY2tzKCk7XG4gICAgICB0aGlzLnNob3dWaWRlbyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB2aWRlb1RyYWNrQ29uc3RyYWludHMuZGV2aWNlSWQgPSBkZXZpY2U7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9fc3Vicyh0aGlzLnRyaWdnZXIpLnN1YnNjcmliZSgodGltZSkgPT4gdGhpcy50YWtlU25hcHNob3QodGltZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWRlbygpIHtcbiAgICByZXR1cm4gdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50O1xuICB9XG4gIGdldCBpc01vYmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5BTkRST0lEIHx8IHRoaXMucGxhdGZvcm0uSU9TO1xuICB9XG4gIHByaXZhdGUgc2V0Q29uc3RyYWludHMoKSB7XG4gICAgY29uc3Qgb3V0OiBNZWRpYVN0cmVhbUNvbnN0cmFpbnRzID0ge307XG4gICAgY29uc29sZS53YXJuKCdNT0JJTEUnLCB0aGlzLmlzTW9iaWxlKTtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAnZW52aXJvbm1lbnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dC52aWRlbyA9IHtcbiAgICAgICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgICAgIG1pbjogMTI4MCxcbiAgICAgICAgICAgICAgaWRlYWw6IDE5MjAsXG4gICAgICAgICAgICAgIG1heDogMjkwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgbWluOiA3MjAsXG4gICAgICAgICAgICAgIGlkZWFsOiAxMDgwLFxuICAgICAgICAgICAgICBtYXg6IDI5MDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2VsZmllJzpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAndXNlcic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0LnZpZGVvID0ge1xuICAgICAgICAgICAgZnJhbWVSYXRlOiB7IG1pbjogMTAgfSxcbiAgICAgICAgICAgIGhlaWdodDogeyBpZGVhbDogMTA4MCB9LFxuICAgICAgICAgICAgd2lkdGg6IHsgaWRlYWw6IDE5MjAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dC52aWRlbztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrU2V0dGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpO1xuICB9XG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrQ2FwYWJpbGl0aWVzKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5tZWRpYVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldENhcGFiaWxpdGllcygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgdGhpcy5fX3N1YnModGhpcy5jYW1lcmFQcm92aWRlci5nZXREZXZpY2VzKCkpLnN1YnNjcmliZSgocmVzcCkgPT4ge1xuICAgICAgY29uc29sZS53YXJuKCdERVZJQ0VTJywgcmVzcCk7XG4gICAgICBjb25zdCB2aWRlb1RyYWNrQ29uc3RyYWludHMgPSB0aGlzLnNldENvbnN0cmFpbnRzKCk7XG4gICAgICB0aGlzLnNldHVwQXR0ZW1wdCA9IDA7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERldmljZUlkKHN0cmVhbTogTWVkaWFTdHJlYW0pIHtcbiAgICB0aGlzLm1lZGlhU3RyZWFtID0gc3RyZWFtO1xuICAgIHRoaXMuY2FtZXJhUHJvdmlkZXIuZGV2aWNlSWQgPSB0aGlzLmFjdGl2ZVRyYWNrU2V0dGluZ3MuZGV2aWNlSWQ7XG4gICAgdGhpcy5zdGFydFZpZGVvKCk7XG4gIH1cbiAgcHJpdmF0ZSBzZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHM6IGFueSkge1xuICAgIGNvbnNvbGUud2FybigndmlkZW9UcmFja0NvbnN0cmFpbnRzJywgdmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICBjb25zb2xlLnRpbWUoJ2RldmljZScpO1xuICAgIHRoaXMuX19zdWJzKFxuICAgICAgZnJvbShcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoPE1lZGlhU3RyZWFtQ29uc3RyYWludHM+e1xuICAgICAgICAgIHZpZGVvOiB2aWRlb1RyYWNrQ29uc3RyYWludHMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICAoc3RyZWFtOiBNZWRpYVN0cmVhbSkgPT4ge1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2RldmljZScpO1xuICAgICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgIC8vY29uc29sZS53YXJuKHQuZ2V0Q29uc3RyYWludHMoKSk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmICghdC5nZXRDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0LmdldFNldHRpbmdzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNhcCA9IHQuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbiA9IHQuZ2V0Q29uc3RyYWludHMoKTtcblxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oY2FwLCBjb24pO1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oc2V0dGluZ3MpO1xuICAgICAgICAgICAgICBjb25zdCBtYXggPSBjYXAud2lkdGg/Lm1heDtcbiAgICAgICAgICAgICAgY29uc3QgbWluID0gY2FwLndpZHRoPy5taW47XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHNldHRpbmdzLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gc2V0dGluZ3MuaGVpZ2h0O1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNvbldpZHRoID0gY29uLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjb25IZWlnaHQgPSBjb24ud2lkdGg7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnQ0FQUycsXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgICAgICAnQ1VSRU5UJyxcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgY3VycmVudEhlaWdodFxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtYXggJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBtYXggPiBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBjb25XaWR0aCAhPSBtYXggJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGggIT0gMTkyMFxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW1NFVCBORVcgUkVTT0xVVElPTl0gJywgbWF4LCBjdXJyZW50V2lkdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBBdHRlbXB0Kys7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2V0dXBBdHRlbXB0IDwgNCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdNT0JJTEUgVklERU8gU1RBUlQnKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIChlcikgPT4ge1xuICAgICAgICB0aGlzLnNldHVwQXR0ZW1wdCsrO1xuICAgICAgICBjb25zb2xlLndhcm4oJ0VSUk9SJywgZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLnNldHVwQXR0ZW1wdCA8IDQpIHtcbiAgICAgICAgICBpZiAoZXIgaW5zdGFuY2VvZiBPdmVyY29uc3RyYWluZWRFcnJvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0dXAodmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoaXMuc2V0dXAoe1xuICAgICAgICAgICAgLy8gICBoZWlnaHQ6IDcyMCxcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEyODAsXG4gICAgICAgICAgICAvLyB9KTtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRWaWRlbygpIHtcbiAgICBjb25zb2xlLmxvZygnU1RBUlQgVklERU8nKTtcbiAgICB0aGlzLnZpZGVvLnNyY09iamVjdCA9IHRoaXMubWVkaWFTdHJlYW07XG5cbiAgICB0aGlzLnZpZGVvLm9ubG9hZGVkbWV0YWRhdGEgPSAoZGF0YTogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgIHRoaXMudmlkZW8ucGxheSgpO1xuICAgICAgdGhpcy5zaG93VmlkZW8gPSB0cnVlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZygnVklERU8gUExBWScpO1xuICAgIH07XG4gICAgdGhpcy52aWRlby5vbnBsYXkgPSAoKSA9PiB7XG4gICAgICB0aGlzLnZpZGVvUmVhZHkubmV4dCh0cnVlKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMudmlkZW8udmlkZW9XaWR0aCwgdGhpcy52aWRlby52aWRlb0hlaWdodCk7XG4gICAgICB0aGlzLmRyYXdSZWN0YW5nbGUoKTtcbiAgICB9O1xuICB9XG4gIHNldENhbnZhcygpIHtcbiAgICBsZXQgX2NhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsgLy90aGlzLmNhbnZhc1NuYXBzaG90Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCB7IHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgY29uc3QgYXNwZWN0ID0gdmlkZW9XaWR0aCAvIHZpZGVvSGVpZ2h0O1xuXG4gICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG4gICAgY29uc3Qgc21hbGxTaXplID0ge1xuICAgICAgdzogMCxcbiAgICAgIGg6IDAsXG4gICAgfTtcblxuICAgIGlmICh2aWRlb1dpZHRoID49IHZpZGVvSGVpZ2h0KSB7XG4gICAgICBzbWFsbFNpemUudyA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZSAvIGFzcGVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZTtcbiAgICAgIHNtYWxsU2l6ZS5oID0gY2FudmFzU21hbFNpemUgKiBhc3BlY3Q7XG4gICAgfVxuXG4gICAgLy9jb25zb2xlLmxvZygnU1onLCBzbWFsbFNpemUpO1xuXG4gICAgX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgX2NhbnZhcy5oZWlnaHQgPSB2aWRlb0hlaWdodDtcbiAgICBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvLyBuZWVkcyBhbiBpbml0aWFsIHNpemVcbiAgICBjYW52YXMuaGVpZ2h0ID0gc21hbGxTaXplLmg7XG4gICAgY2FudmFzLndpZHRoID0gc21hbGxTaXplLnc7XG5cbiAgICBjb25zdCBjdHhPOiBhbnkgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzRGF0YS5jdHggPSBjdHg7XG4gICAgdGhpcy5jYW52YXNEYXRhLmN0eE8gPSBjdHhPO1xuICAgIHRoaXMuY2FudmFzRGF0YS5jYW52YXMgPSBjYW52YXM7XG4gICAgdGhpcy5jYW52YXNEYXRhLl9jYW52YXMgPSBfY2FudmFzO1xuICAgIHRoaXMuY2FudmFzRGF0YS5zaXplID0gc21hbGxTaXplO1xuXG4gICAgLy8gY29uc3Qgc3RyZWFtID0gdGhpcy52aWRlby5jYXB0dXJlU3RyZWFtKDUpO1xuXG4gICAgLy8gY29uc3QgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLnN0YXJ0KCk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLm9uZGF0YWF2YWlsYWJsZSA9IChlOmFueSkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2coZSlcbiAgICAvLyAgIHRoaXMuY2h1bmtzLnB1c2goZS5kYXRhKTtcblxuICAgIC8vICAgdmFyIHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGUuZGF0YSk7XG4gICAgLy8gICB2YXIgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIC8vICAgYW5jaG9yLmRvd25sb2FkID0gJ215ZmlsZS53ZWJtJztcbiAgICAvLyAgIGFuY2hvci5ocmVmID0gdXJsO1xuICAgIC8vICAgYW5jaG9yLmNsaWNrKCk7XG4gICAgLy8gfTtcbiAgfVxuXG4gIHByaXZhdGUgdGFrZVNlbGZpZSgpIHtcbiAgICBjb25zdCBtaW1lVHlwZTogc3RyaW5nID0gJ2ltYWdlL2pwZWcnO1xuICAgIGNvbnN0IHsgdmlkZW9XaWR0aCwgb2Zmc2V0V2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgbGV0IF9jYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vdGhpcy5jYW52YXNTbmFwc2hvdC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyB3LCBoIH0gPSB0aGlzLmNhbWVyYVByb3ZpZGVyLnJlY3RQb3NpdGlvbjtcblxuICAgIGNvbnN0IGFzcGVjdCA9IHZpZGVvV2lkdGggLyBvZmZzZXRXaWR0aDtcblxuICAgIC8vIGNvbnNvbGUubG9nKHZpZGVvV2lkdGgsIG9mZnNldFdpZHRoLCBsLCB0LCB3LCBoKTtcblxuICAgIF9jYW52YXMud2lkdGggPSB3ICogYXNwZWN0O1xuICAgIF9jYW52YXMuaGVpZ2h0ID0gaCAqIGFzcGVjdDtcblxuICAgIGNvbnN0IGR4ID0gdmlkZW9XaWR0aCAtIHcgKiBhc3BlY3Q7XG4gICAgY29uc3QgZHkgPSB2aWRlb0hlaWdodCAtIGggKiBhc3BlY3Q7XG4gICAgY29uc3QgeCA9IGR4IC8gMjtcbiAgICBjb25zdCB5ID0gZHkgLyAyO1xuXG4gICAgY29uc3QgY3R4OiBhbnkgPSBfY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgYWxwaGE6IGZhbHNlLFxuICAgICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgZGVwdGg6IGZhbHNlLFxuICAgICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBpZiAoY3R4KSB7XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLnZpZGVvLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0LFxuICAgICAgICAwLFxuICAgICAgICAwLFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0XG4gICAgICApO1xuXG4gICAgICBjb25zdCBpbWdBc1VybDogYW55ID0gX2NhbnZhcy50b0RhdGFVUkwobWltZVR5cGUsIDEpO1xuXG4gICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICBuZXcgV2ViY2FtSW1hZ2UoaW1nQXNVcmwsIG1pbWVUeXBlLCBuZXcgSW1hZ2VEYXRhKDEsIDEpLCBudWxsKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBodW1hbkZpbGVTaXplKGJ5dGVzOiBudW1iZXIsIHNpID0gZmFsc2UsIGRwID0gMSkge1xuICAgIGNvbnN0IHRocmVzaCA9IHNpID8gMTAwMCA6IDEwMjQ7XG5cbiAgICBpZiAoTWF0aC5hYnMoYnl0ZXMpIDwgdGhyZXNoKSB7XG4gICAgICByZXR1cm4gYnl0ZXMgKyAnIEInO1xuICAgIH1cblxuICAgIGNvbnN0IHVuaXRzID0gc2lcbiAgICAgID8gWydrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddXG4gICAgICA6IFsnS2lCJywgJ01pQicsICdHaUInLCAnVGlCJywgJ1BpQicsICdFaUInLCAnWmlCJywgJ1lpQiddO1xuICAgIGxldCB1ID0gLTE7XG4gICAgY29uc3QgciA9IDEwICoqIGRwO1xuXG4gICAgZG8ge1xuICAgICAgYnl0ZXMgLz0gdGhyZXNoO1xuICAgICAgKyt1O1xuICAgIH0gd2hpbGUgKFxuICAgICAgTWF0aC5yb3VuZChNYXRoLmFicyhieXRlcykgKiByKSAvIHIgPj0gdGhyZXNoICYmXG4gICAgICB1IDwgdW5pdHMubGVuZ3RoIC0gMVxuICAgICk7XG5cbiAgICByZXR1cm4gYnl0ZXMudG9GaXhlZChkcCkgKyAnICcgKyB1bml0c1t1XTtcbiAgfVxuXG4gIHRha2VTbmFwc2hvdCh0aW1lOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy50eXBlICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICB0aGlzLnRha2VTZWxmaWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY29uc29sZS53YXJuKCdTTkFQJywgdGltZSk7XG4gICAgaWYgKCF0aGlzLnNob3dWaWRlbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG5cbiAgICAgIGNvbnN0IG1pbWVUeXBlOiBzdHJpbmcgPSAnaW1hZ2UvanBlZyc7XG5cbiAgICAgIC8vIGxldCBfY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvL3RoaXMuY2FudmFzU25hcHNob3QubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgeyB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCB9ID0gdGhpcy52aWRlbztcblxuICAgICAgLy8gX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgICAvLyBfY2FudmFzLmhlaWdodCA9IHZpZGVvSGVpZ2h0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuXG4gICAgICAvLyBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyAgIGFscGhhOiBmYWxzZSxcbiAgICAgIC8vICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyAgIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyAgIGRlcHRoOiBmYWxzZSxcbiAgICAgIC8vICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB9KTtcblxuICAgICAgLy8gY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vIG5lZWRzIGFuIGluaXRpYWwgc2l6ZVxuICAgICAgLy8gY2FudmFzLmhlaWdodCA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgLy8gY2FudmFzLndpZHRoID0gY2FudmFzU21hbFNpemU7XG5cbiAgICAgIC8vIGNvbnN0IGN0eE86IGFueSA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcsIHtcbiAgICAgIC8vICAgYWxwaGE6IGZhbHNlLFxuICAgICAgLy8gICBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vICAgYW50aWFsaWFzOiBmYWxzZSxcbiAgICAgIC8vICAgZGVwdGg6IGZhbHNlLFxuICAgICAgLy8gICBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIH0pO1xuXG4gICAgICBjb25zdCB7IGN0eCwgY3R4TywgY2FudmFzLCBfY2FudmFzLCBzaXplIH0gPSB0aGlzLmNhbnZhc0RhdGE7XG5cbiAgICAgIGlmIChjdHggJiYgY3R4Tykge1xuICAgICAgICBjdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRyYXdTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuICAgICAgICBjdHhPLmNsZWFyUmVjdCgwLCAwLCBzaXplLncsIHNpemUuaCk7XG5cbiAgICAgICAgY3R4LmRyYXdJbWFnZSh0aGlzLnZpZGVvLCAwLCAwKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ2RyYXdWaWRlbycpO1xuICAgICAgICBjdHhPLmRyYXdJbWFnZShfY2FudmFzLCAwLCAwLCBzaXplLncsIHNpemUuaCk7XG4gICAgICAgIC8vY29uc29sZS50aW1lRW5kKCdkcmF3VmlkZW8nKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ0RSQVcnKTtcblxuICAgICAgICAvLyAgY29uc3QgaW1EYXRhOiBhbnkgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgICBjb25zb2xlLmxvZyhjYW52YXMud2lkdGgsIF9jYW52YXMud2lkdGgpO1xuICAgICAgICAvL2NvbnNvbGUudGltZUVuZCgnRFJBVycpO1xuXG4gICAgICAgIC8vY29uc29sZS50aW1lKCdDVFgnKTtcblxuICAgICAgICBjb25zdCByZXNpemUgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJyk7XG5cbiAgICAgICAgY29uc3QgY2FudmFzRGF0YSA9IF9jYW52YXMudG9EYXRhVVJMKG1pbWVUeXBlLCAxKTtcblxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmh1bWFuRmlsZVNpemUoY2FudmFzRGF0YS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5odW1hbkZpbGVTaXplKHJlc2l6ZS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2cobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWVFbmQoJ0NUWCcpO1xuICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkaWZmID0gY3VycmVudFRpbWUgLSB0aW1lO1xuXG4gICAgICAgIC8vIHRvdGFsIHRpbWUgZm9yIHBhY2sgb25lIGltYWdlXG4gICAgICAgIGNvbnN0IGRyYXdUaW1lID0gRGF0ZS5ub3coKSAtIGRyYXdTdGFydDtcblxuICAgICAgICAvL2NvbnNvbGUud2FybignRFJBVyBUSU1FJywgZHJhd1RpbWUpO1xuICAgICAgICBjb25zdCBkZWxheU1heCA9IGRyYXdUaW1lIDwgNjAgPyAxMDAgOiAyMDA7XG5cbiAgICAgICAgY29uc3QgZGVsYXkgPSBkaWZmID4gZGVsYXlNYXggPyAwIDogZGVsYXlNYXggLSBkaWZmO1xuXG4gICAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICAgICAgbmV3IFdlYmNhbUltYWdlKGNhbnZhc0RhdGEsIG1pbWVUeXBlLCAnJywgcmVzaXplKVxuICAgICAgICAgICk7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BBbGxUcmFja3MoKSB7XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5tZWRpYVN0cmVhbSAmJiB0aGlzLm1lZGlhU3RyZWFtLmdldFRyYWNrcykge1xuICAgICAgLy8gZ2V0VHJhY2tzKCkgcmV0dXJucyBhbGwgbWVkaWEgdHJhY2tzICh2aWRlbythdWRpbylcblxuICAgICAgdGhpcy5tZWRpYVN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjazogTWVkaWFTdHJlYW1UcmFjaykgPT4ge1xuICAgICAgICAvLyAgY29uc29sZS5sb2codHJhY2spO1xuICAgICAgICB0cmFjay5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0cmFjay5zdG9wKCk7XG5cbiAgICAgICAgdGhpcy52aWRlby5zcmNPYmplY3QucmVtb3ZlVHJhY2sodHJhY2spO1xuICAgICAgICB0aGlzLm1lZGlhU3RyZWFtLnJlbW92ZVRyYWNrKHRyYWNrKTtcblxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy52aWRlby5zcmNPYmplY3QgPSBudWxsO1xuICAgICAgLy8gdGhpcy52aWRlby5zcmMgPSBudWxsO1xuXG4gICAgICB0aGlzLnZpZGVvLmxvYWQoKTtcbiAgICB9XG4gICAgLy8gdGhpcy5fX3N1YnModGhpcy5zdG9wVmlkZW9UcmFja3MoKSkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHByaXZhdGUgZHJhd1JlY3RhbmdsZSgpIHtcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgIGNvbnN0IF9jYW52YXMgPSB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50O1xuICAgICAgbGV0IHBhZGRpbmcgPSAxMDtcbiAgICAgIGlmICghdGhpcy5pc01vYmlsZSAmJiBfY2FudmFzLndpZHRoICE9PSBfY2FudmFzLmhlaWdodCkge1xuICAgICAgICBwYWRkaW5nID0gNDA7XG4gICAgICB9XG4gICAgICBjb25zdCBjdHggPSBfY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgX2NhbnZhcy53aWR0aCwgX2NhbnZhcy5oZWlnaHQpO1xuXG4gICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IF9jYW52YXM7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdDQU5WQVMnLCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgICAgbGV0IHsgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQgfSA9IHRoaXMudmlkZW87XG5cbiAgICAgIC8vIHZpZGVvIHdpbGwgYmUgc2NhbGVkIHRvIG1heCBjYW52YXMgaGVpZ2h0XG4gICAgICBjb25zdCBhc3BlY3QgPSB2aWRlb1dpZHRoIC8gdmlkZW9IZWlnaHQ7XG5cbiAgICAgIC8vIGlmICh2aWRlb0hlaWdodCA8IGhlaWdodCkge1xuICAgICAgLy8gICB2aWRlb0hlaWdodCA9IGhlaWdodDtcbiAgICAgIC8vICAgdmlkZW9XaWR0aCA9IGhlaWdodCphc3BlY3Q7XG4gICAgICAvLyB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdWSURFTycsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgY29uc3QgZG9jU2l6ZSA9IHRoaXMudHlwZSA9PT0gJ3NlbGZpZScgPyAxIDogODYgLyA1NTtcblxuICAgICAgbGV0IF9oZWlnaHQ7XG4gICAgICBsZXQgX3dpZHRoO1xuXG4gICAgICBpZiAodmlkZW9XaWR0aCA+PSB2aWRlb0hlaWdodCkge1xuICAgICAgICBfd2lkdGggPSB3aWR0aDtcblxuICAgICAgICBfaGVpZ2h0ID0gX3dpZHRoIC8gYXNwZWN0O1xuXG4gICAgICAgIGlmIChfaGVpZ2h0ID4gaGVpZ2h0KSB7XG4gICAgICAgICAgX2hlaWdodCA9IGhlaWdodDtcbiAgICAgICAgICBfd2lkdGggPSBhc3BlY3QgKiBfaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICBfd2lkdGggPSBhc3BlY3QgKiBfaGVpZ2h0O1xuICAgICAgICBpZiAoX3dpZHRoID4gd2lkdGgpIHtcbiAgICAgICAgICBfd2lkdGggPSB3aWR0aDtcbiAgICAgICAgICBfaGVpZ2h0ID0gX3dpZHRoIC8gYXNwZWN0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdDQUxDJywgX3dpZHRoLCBfaGVpZ2h0KTtcbiAgICAgIGxldCB3LCBoO1xuXG4gICAgICBpZiAoX3dpZHRoIDw9IF9oZWlnaHQpIHtcbiAgICAgICAgdyA9IF93aWR0aCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICBoID0gdyAvIGRvY1NpemU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoID0gX2hlaWdodCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICB3ID0gZG9jU2l6ZSAqIGg7XG4gICAgICB9XG4gICAgICBpZiAodyA+IF93aWR0aCkge1xuICAgICAgICB3ID0gX3dpZHRoIC0gMiAqIHBhZGRpbmc7XG4gICAgICAgIGggPSB3IC8gZG9jU2l6ZTtcbiAgICAgIH1cblxuICAgICAgaCA9IE1hdGguZmxvb3IoaCk7XG4gICAgICB3ID0gTWF0aC5mbG9vcih3KTtcbiAgICAgIGNvbnNvbGUubG9nKHcsIGgpO1xuXG4gICAgICBjb25zdCBsZWZ0ID0gTWF0aC5mbG9vcigod2lkdGggLSB3KSAvIDIpO1xuICAgICAgY29uc3QgdG9wID0gTWF0aC5mbG9vcigoaGVpZ2h0IC0gaCkgLyAyKTtcblxuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gJ3doaXRlJztcblxuICAgICAgLy8gY3R4LnN0cm9rZVJlY3QobGVmdCwgdG9wLCBfd2lkdGgsIF9oZWlnaHQpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknO1xuICAgICAgLy8gY3R4LnNoYWRvd0NvbG9yID0gJ3doaXRlJztcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gMTU7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG5cbiAgICAgIC8vIERyYXcgdXNpbmcgNXB4IGZvciBib3JkZXIgcmFkaXVzIG9uIGFsbCBzaWRlc1xuICAgICAgLy8gc3Ryb2tlIGl0IGJ1dCBubyBmaWxsXG4gICAgICBjb25zdCByYWRpdXMgPSB0aGlzLmlzTW9iaWxlID8gMTAgOiAzMDtcblxuICAgICAgY3R4LnJvdW5kUmVjdChsZWZ0LCB0b3AsIHcsIGgsIHJhZGl1cyk7XG4gICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICBjdHguZmlsbCgpO1xuXG4gICAgICB0aGlzLmNhbWVyYVByb3ZpZGVyLnJlY3RQb3NpdGlvbiA9IHtcbiAgICAgICAgbDogbGVmdCxcbiAgICAgICAgdDogdG9wLFxuICAgICAgICB3LFxuICAgICAgICBoLFxuICAgICAgICBfdzogX3dpZHRoLFxuICAgICAgICBfaDogX2hlaWdodCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc2V0Q2FudmFzKCk7XG4gICAgICAvLyBjdHguc3Ryb2tlKCk7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52aWRlby5wYXVzZSgpO1xuXG4gICAgLy8gdGhpcy52aWRlby5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjazogYW55KSA9PiB7XG4gICAgLy8gICB0cmFjay5zdG9wKCk7XG4gICAgLy8gICB0aGlzLnZpZGVvLnNyY09iamVjdC5yZW1vdmVUcmFjayh0cmFjayk7XG4gICAgLy8gfSk7XG5cbiAgICB0aGlzLnN0b3BBbGxUcmFja3MoKTtcblxuICAgIGlmICh0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMudHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9fZGVzdHJveSgpO1xuXG4gICAgY29uc29sZS53YXJuKCdbVklERU9dIGRlc3Ryb3llZCcpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ViY2FtLXdyYXBwZXJcIj5cbiAgPHZpZGVvICN2aWRlbyBhdXRvcGxheSBtdXRlZCBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCIgcGxheXNpbmxpbmU+PC92aWRlbz5cblxuICA8ZGl2IGNsYXNzPVwicmVjdGFuZ2xlXCI+XG4gICAgPGNhbnZhc1xuICAgICAgI2NhbnZhc1xuICAgICAgW25nU3R5bGVdPVwieyB2aXNpYmlsaXR5OiBzaG93VmlkZW8gPyAndmlzaWJsZScgOiAnaGlkZGVuJyB9XCJcbiAgICAgIFt3aWR0aF09XCJ2aWRlby5vZmZzZXRXaWR0aFwiXG4gICAgICBbaGVpZ2h0XT1cInZpZGVvLm9mZnNldEhlaWdodFwiXG4gICAgPjwvY2FudmFzPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -59,11 +59,12 @@ export class ScanProvider {
59
59
  });
60
60
  return $request;
61
61
  }
62
- burst(Images) {
62
+ burst(Images, BlurValues) {
63
63
  const data = {
64
64
  AcceptTermsAndConditions: true,
65
65
  DataFields: {
66
66
  Images,
67
+ BlurValues,
67
68
  },
68
69
  };
69
70
  const $request = this.http.post(this.config.validationPath, data);
@@ -753,4 +754,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
753
754
  providedIn: 'root',
754
755
  }]
755
756
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
756
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvc2Nhbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNakUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsWUFBb0IsSUFBZ0IsRUFBVSxRQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUpoRSw2QkFBNkI7UUFFdEIsV0FBTSxHQUFlLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQUN1QixDQUFDO0lBQ3BFLFVBQVU7UUFDUixPQUFPO1lBQ0wsQ0FBQyxFQUFFLE1BQU07WUFDVCxLQUFLLEVBQUUsTUFBTTtZQUNiLENBQUMsRUFBRSxRQUFRO1lBQ1gsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7SUFDeEMsQ0FBQztJQUNELFFBQVEsQ0FBQyxTQUFvQjtRQUMzQixNQUFNLElBQUksR0FBRztZQUNYLHdCQUF3QixFQUFFLElB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QUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdB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SixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQTV2QlUsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTY2FuQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL2NvbmZpZyc7XG5pbXBvcnQgeyBHdWVzdERhdGEgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMvZ3Vlc3QuZGF0YSc7XG5pbXBvcnQgeyBTQ0FOX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvcmUvdG9rZW5zL2NvbmZpZy50b2tlbnMnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2FuUHJvdmlkZXIge1xuICBjb3VudHJpZXNEYXRhOiBhbnk7XG4gIC8vIGVuYWJsZVZlcmlmaWNhdGlvbiA9IHRydWU7XG5cbiAgcHVibGljIGNvbmZpZzogU2NhbkNvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KFNDQU5fQ09ORklHX1RPS0VOKTtcbiAgY2FuU3RvcmVJbWFnZXMgPSB0aGlzLmNvbmZpZy5jYW5TdG9yZUltYWdlcztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cbiAgZ2VuZGVyTGlzdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTTogJ01BTEUnLFxuICAgICAgJ00vTSc6ICdNQUxFJyxcbiAgICAgIEY6ICdGRU1BTEUnLFxuICAgICAgJ0YvRic6ICdGRU1BTEUnLFxuICAgIH07XG4gIH1cblxuICBnZXQgZW5hYmxlVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5lbmFibGVWZXJpZmljYXRpb247XG4gIH1cbiAgYWRkR3Vlc3QoZ3Vlc3REYXRhOiBHdWVzdERhdGEpIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgQWNjZXB0VGVybXNBbmRDb25kaXRpb25zOiB0cnVlLFxuICAgICAgRGF0YUZpZWxkczoge1xuICAgICAgICBHdWVzdEltYWdlVHlwZTogJ2Jhc2U2NCcsXG4gICAgICAgIC4uLmd1ZXN0RGF0YSxcbiAgICAgIH0sXG4gICAgICBTZXR0aW5nczoge30sXG4gICAgfTtcbiAgICBjb25zdCAkcmVxdWVzdCA9IHRoaXMuaHR0cC5wdXQodGhpcy5jb25maWcuZ3Vlc3RBZGRQYXRoLCBkYXRhKTtcbiAgICByZXR1cm4gJHJlcXVlc3Q7XG4gIH1cblxuICBzdGF0ZWxlc3MoRG9jdW1lbnRGYWNlSW1hZ2U6IGFueSwgTGl2ZUZhY2VJbWFnZTogYW55KSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIEFjY2VwdFRlcm1zQW5kQ29uZGl0aW9uczogdHJ1ZSxcbiAgICAgIERhdGFGaWVsZHM6IHtcbiAgICAgICAgRG9jdW1lbnRGYWNlSW1hZ2VUeXBlOiAnYmFzZTY0JyxcbiAgICAgICAgRG9jdW1lbnRGYWNlSW1hZ2UsXG4gICAgICAgIExpdmVGYWNlSW1hZ2VUeXBlOiAnYmFzZTY0JyxcbiAgICAgICAgTGl2ZUZhY2VJbWFnZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCAkcmVxdWVzdCA9IHRoaXMuaHR0cC5wb3N0KHRoaXMuY29uZmlnLnN0YXRlTGVzc1BhdGgsIGRhdGEpO1xuICAgIHJldHVybiAkcmVxdWVzdDtcbiAgfVxuXG4gIHNlbmRMb2coZGF0YTogYW55KSB7XG4gICAgY29uc3QgeyBUcmFuc2FjdGlvbklEIH0gPSBkYXRhLlJlc3BvbnNlO1xuICAgIGNvbnN0ICRyZXF1ZXN0ID0gdGhpcy5odHRwLnBvc3QodGhpcy5jb25maWcuZXJyb3JMb2dnaW5nUGF0aCwgZGF0YSwge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgVHJhbnNhY3Rpb25JRCxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIHJldHVybiAkcmVxdWVzdDtcbiAgfVxuXG4gIGJ1cnN0KEltYWdlczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgQWNjZXB0VGVybXNBbmRDb25kaXRpb25zOiB0cnVlLFxuICAgICAgRGF0YUZpZWxkczoge1xuICAgICAgICBJbWFnZXMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCAkcmVxdWVzdCA9IHRoaXMuaHR0cC5wb3N0KHRoaXMuY29uZmlnLnZhbGlkYXRpb25QYXRoLCBkYXRhKTtcbiAgICByZXR1cm4gJHJlcXVlc3Q7XG4gIH1cblxuICBjb3VudHJpZXMoKSB7XG4gICAgaWYgKHRoaXMuY291bnRyeU5hbWVzKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5jb3VudHJ5TmFtZXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnL2Fzc2V0cy9kYXRhL2NvdW50cmllczIuanNvbicpLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvdW50cmllc0RhdGEgPSBkYXRhLmRhdGE7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50cmllc0RhdGE7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXQgY291bnRyeU5hbWVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7IGxhYmVsOiAnQXJ1YmEnLCB2YWx1ZTogJ0FXJyB9LFxuICAgICAgeyBsYWJlbDogJ0FmZ2hhbmlzdGFuJywgdmFsdWU6ICdBRicgfSxcbiAgICAgIHsgbGFiZWw6ICdBbmdvbGEnLCB2YWx1ZTogJ0FPJyB9LFxuICAgICAgeyBsYWJlbDogJ0FuZ3VpbGxhJywgdmFsdWU6ICdBSScgfSxcbiAgICAgIHsgbGFiZWw6ICfDhWxhbmQgSXNsYW5kcycsIHZhbHVlOiAnQVgnIH0sXG4gICAgICB7IGxhYmVsOiAnQWxiYW5pYScsIHZhbHVlOiAnQUwnIH0sXG4gICAgICB7IGxhYmVsOiAnQW5kb3JyYScsIHZhbHVlOiAnQUQnIH0sXG4gICAgICB7IGxhYmVsOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLCB2YWx1ZTogJ0FFJyB9LFxuICAgICAgeyBsYWJlbDogJ0FyZ2VudGluYScsIHZhbHVlOiAnQVInIH0sXG4gICAgICB7IGxhYmVsOiAnQXJtZW5pYScsIHZhbHVlOiAnQU0nIH0sXG4gICAgICB7IGxhYmVsOiAnQW1lcmljYW4gU2Ftb2EnLCB2YWx1ZTogJ0FTJyB9LFxuICAgICAgeyBsYWJlbDogJ0FudGFyY3RpY2EnLCB2YWx1ZTogJ0FRJyB9LFxuICAgICAgeyBsYWJlbDogJ0ZyZW5jaCBTb3V0aGVybiBhbmQgQW50YXJjdGljIExhbmRzJywgdmFsdWU6ICdURicgfSxcbiAgICAgIHsgbGFiZWw6ICdBbnRpZ3VhIGFuZCBCYXJidWRhJywgdmFsdWU6ICdBRycgfSxcbiAgICAgIHsgbGFiZWw6ICdBdXN0cmFsaWEnLCB2YWx1ZTogJ0FVJyB9LFxuICAgICAgeyBsYWJlbDogJ0F1c3RyaWEnLCB2YWx1ZTogJ0FUJyB9LFxuICAgICAgeyBsYWJlbDogJ0F6ZXJiYWlqYW4nLCB2YWx1ZTogJ0FaJyB9LFxuICAgICAgeyBsYWJlbDogJ0J1cnVuZGknLCB2YWx1ZTogJ0JJJyB9LFxuICAgICAgeyBsYWJlbDogJ0JlbGdpdW0nLCB2YWx1ZTogJ0JFJyB9LFxuICAgICAgeyBsYWJlbDogJ0JlbmluJywgdmFsdWU6ICdCSicgfSxcbiAgICAgIHsgbGFiZWw6ICdCdXJraW5hIEZhc28nLCB2YWx1ZTogJ0JGJyB9LFxuICAgICAgeyBsYWJlbDogJ0JhbmdsYWRlc2gnLCB2YWx1ZTogJ0JEJyB9LFxuICAgICAgeyBsYWJlbDogJ0J1bGdhcmlhJywgdmFsdWU6ICdCRycgfSxcbiAgICAgIHsgbGFiZWw6ICdCYWhyYWluJywgdmFsdWU6ICdCSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdCYWhhbWFzJywgdmFsdWU6ICdCUycgfSxcbiAgICAgIHsgbGFiZWw6ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJywgdmFsdWU6ICdCQScgfSxcbiAgICAgIHsgbGFiZWw6ICdTYWludCBCYXJ0aMOpbGVteScsIHZhbHVlOiAnQkwnIH0sXG4gICAgICB7IGxhYmVsOiAnU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEnLCB2YWx1ZTogJ1NIJyB9LFxuICAgICAgeyBsYWJlbDogJ0JlbGFydXMnLCB2YWx1ZTogJ0JZJyB9LFxuICAgICAgeyBsYWJlbDogJ0JlbGl6ZScsIHZhbHVlOiAnQlonIH0sXG4gICAgICB7IGxhYmVsOiAnQmVybXVkYScsIHZhbHVlOiAnQk0nIH0sXG4gICAgICB7IGxhYmVsOiAnQm9saXZpYScsIHZhbHVlOiAnQk8nIH0sXG4gICAgICB7IGxhYmVsOiAnQ2FyaWJiZWFuIE5ldGhlcmxhbmRzJywgdmFsdWU6ICdCUScgfSxcbiAgICAgIHsgbGFiZWw6ICdCcmF6aWwnLCB2YWx1ZTogJ0JSJyB9LFxuICAgICAgeyBsYWJlbDogJ0JhcmJhZG9zJywgdmFsdWU6ICdCQicgfSxcbiAgICAgIHsgbGFiZWw6ICdCcnVuZWknLCB2YWx1ZTogJ0JOJyB9LFxuICAgICAgeyBsYWJlbDogJ0JodXRhbicsIHZhbHVlOiAnQlQnIH0sXG4gICAgICB7IGxhYmVsOiAnQm91dmV0IElzbGFuZCcsIHZhbHVlOiAnQlYnIH0sXG4gICAgICB7IGxhYmVsOiAnQm90c3dhbmEnLCB2YWx1ZTogJ0JXJyB9LFxuICAgICAgeyBsYWJlbDogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsIHZhbHVlOiAnQ0YnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2FuYWRhJywgdmFsdWU6ICdDQScgfSxcbiAgICAgIHsgbGFiZWw6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsIHZhbHVlOiAnQ0MnIH0sXG4gICAgICB7IGxhYmVsOiAnU3dpdHplcmxhbmQnLCB2YWx1ZTogJ0NIJyB9LFxuICAgICAgeyBsYWJlbDogJ0NoaWxlJywgdmFsdWU6ICdDTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdDaGluYScsIHZhbHVlOiAnQ04nIH0sXG4gICAgICB7IGxhYmVsOiAnSXZvcnkgQ29hc3QnLCB2YWx1ZTogJ0NJJyB9LFxuICAgICAgeyBsYWJlbDogJ0NhbWVyb29uJywgdmFsdWU6ICdDTScgfSxcbiAgICAgIHsgbGFiZWw6ICdEUiBDb25nbycsIHZhbHVlOiAnQ0QnIH0sXG4gICAgICB7IGxhYmVsOiAnUmVwdWJsaWMgb2YgdGhlIENvbmdvJywgdmFsdWU6ICdDRycgfSxcbiAgICAgIHsgbGFiZWw6ICdDb29rIElzbGFuZHMnLCB2YWx1ZTogJ0NLJyB9LFxuICAgICAgeyBsYWJlbDogJ0NvbG9tYmlhJywgdmFsdWU6ICdDTycgfSxcbiAgICAgIHsgbGFiZWw6ICdDb21vcm9zJywgdmFsdWU6ICdLTScgfSxcbiAgICAgIHsgbGFiZWw6ICdDYXBlIFZlcmRlJywgdmFsdWU6ICdDVicgfSxcbiAgICAgIHsgbGFiZWw6ICdDb3N0YSBSaWNhJywgdmFsdWU6ICdDUicgfSxcbiAgICAgIHsgbGFiZWw6ICdDdWJhJywgdmFsdWU6ICdDVScgfSxcbiAgICAgIHsgbGFiZWw6ICdDdXJhw6dhbycsIHZhbHVlOiAnQ1cnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2hyaXN0bWFzIElzbGFuZCcsIHZhbHVlOiAnQ1gnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2F5bWFuIElzbGFuZHMnLCB2YWx1ZTogJ0tZJyB9LFxuICAgICAgeyBsYWJlbDogJ0N5cHJ1cycsIHZhbHVlOiAnQ1knIH0sXG4gICAgICB7IGxhYmVsOiAnQ3plY2hpYScsIHZhbHVlOiAnQ1onIH0sXG4gICAgICB7IGxhYmVsOiAnR2VybWFueScsIHZhbHVlOiAnREUnIH0sXG4gICAgICB7IGxhYmVsOiAnRGppYm91dGknLCB2YWx1ZTogJ0RKJyB9LFxuICAgICAgeyBsYWJlbDogJ0RvbWluaWNhJywgdmFsdWU6ICdETScgfSxcbiAgICAgIHsgbGFiZWw6ICdEZW5tYXJrJywgdmFsdWU6ICdESycgfSxcbiAgICAgIHsgbGFiZWw6ICdEb21pbmljYW4gUmVwdWJsaWMnLCB2YWx1ZTogJ0RPJyB9LFxuICAgICAgeyBsYWJlbDogJ0FsZ2VyaWEnLCB2YWx1ZTogJ0RaJyB9LFxuICAgICAgeyBsYWJlbDogJ0VjdWFkb3InLCB2YWx1ZTogJ0VDJyB9LFxuICAgICAgeyBsYWJlbDogJ0VneXB0JywgdmFsdWU6ICdFRycgfSxcbiAgICAgIHsgbGFiZWw6ICdFcml0cmVhJywgdmFsdWU6ICdFUicgfSxcbiAgICAgIHsgbGFiZWw6ICdXZXN0ZXJuIFNhaGFyYScsIHZhbHVlOiAnRUgnIH0sXG4gICAgICB7IGxhYmVsOiAnU3BhaW4nLCB2YWx1ZTogJ0VTJyB9LFxuICAgICAgeyBsYWJlbDogJ0VzdG9uaWEnLCB2YWx1ZTogJ0VFJyB9LFxuICAgICAgeyBsYWJlbDogJ0V0aGlvcGlhJywgdmFsdWU6ICdFVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdGaW5sYW5kJywgdmFsdWU6ICdGSScgfSxcbiAgICAgIHsgbGFiZWw6ICdGaWppJywgdmFsdWU6ICdGSicgfSxcbiAgICAgIHsgbGFiZWw6ICdGYWxrbGFuZCBJc2xhbmRzJywgdmFsdWU6ICdGSycgfSxcbiAgICAgIHsgbGFiZWw6ICdGcmFuY2UnLCB2YWx1ZTogJ0ZSJyB9LFxuICAgICAgeyBsYWJlbDogJ0Zhcm9lIElzbGFuZHMnLCB2YWx1ZTogJ0ZPJyB9LFxuICAgICAgeyBsYWJlbDogJ01pY3JvbmVzaWEnLCB2YWx1ZTogJ0ZNJyB9LFxuICAgICAgeyBsYWJlbDogJ0dhYm9uJywgdmFsdWU6ICdHQScgfSxcbiAgICAgIHsgbGFiZWw6ICdVbml0ZWQgS2luZ2RvbScsIHZhbHVlOiAnR0InIH0sXG4gICAgICB7IGxhYmVsOiAnR2VvcmdpYScsIHZhbHVlOiAnR0UnIH0sXG4gICAgICB7IGxhYmVsOiAnR3Vlcm5zZXknLCB2YWx1ZTogJ0dHJyB9LFxuICAgICAgeyBsYWJlbDogJ0doYW5hJywgdmFsdWU6ICdHSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdHaWJyYWx0YXInLCB2YWx1ZTogJ0dJJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1aW5lYScsIHZhbHVlOiAnR04nIH0sXG4gICAgICB7IGxhYmVsOiAnR3VhZGVsb3VwZScsIHZhbHVlOiAnR1AnIH0sXG4gICAgICB7IGxhYmVsOiAnR2FtYmlhJywgdmFsdWU6ICdHTScgfSxcbiAgICAgIHsgbGFiZWw6ICdHdWluZWEtQmlzc2F1JywgdmFsdWU6ICdHVycgfSxcbiAgICAgIHsgbGFiZWw6ICdFcXVhdG9yaWFsIEd1aW5lYScsIHZhbHVlOiAnR1EnIH0sXG4gICAgICB7IGxhYmVsOiAnR3JlZWNlJywgdmFsdWU6ICdHUicgfSxcbiAgICAgIHsgbGFiZWw6ICdHcmVuYWRhJywgdmFsdWU6ICdHRCcgfSxcbiAgICAgIHsgbGFiZWw6ICdHcmVlbmxhbmQnLCB2YWx1ZTogJ0dMJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1YXRlbWFsYScsIHZhbHVlOiAnR1QnIH0sXG4gICAgICB7IGxhYmVsOiAnRnJlbmNoIEd1aWFuYScsIHZhbHVlOiAnR0YnIH0sXG4gICAgICB7IGxhYmVsOiAnR3VhbScsIHZhbHVlOiAnR1UnIH0sXG4gICAgICB7IGxhYmVsOiAnR3V5YW5hJywgdmFsdWU6ICdHWScgfSxcbiAgICAgIHsgbGFiZWw6ICdIb25nIEtvbmcnLCB2YWx1ZTogJ0hLJyB9LFxuICAgICAgeyBsYWJlbDogJ0hlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcycsIHZhbHVlOiAnSE0nIH0sXG4gICAgICB7IGxhYmVsOiAnSG9uZHVyYXMnLCB2YWx1ZTogJ0hOJyB9LFxuICAgICAgeyBsYWJlbDogJ0Nyb2F0aWEnLCB2YWx1ZTogJ0hSJyB9LFxuICAgICAgeyBsYWJlbDogJ0hhaXRpJywgdmFsdWU6ICdIVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdIdW5nYXJ5JywgdmFsdWU6ICdIVScgfSxcbiAgICAgIHsgbGFiZWw6ICdJbmRvbmVzaWEnLCB2YWx1ZTogJ0lEJyB9LFxuICAgICAgeyBsYWJlbDogJ0lzbGUgb2YgTWFuJywgdmFsdWU6ICdJTScgfSxcbiAgICAgIHsgbGFiZWw6ICdJbmRpYScsIHZhbHVlOiAnSU4nIH0sXG4gICAgICB7IGxhYmVsOiAnQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5JywgdmFsdWU6ICdJTycgfSxcbiAgICAgIHsgbGFiZWw6ICdJcmVsYW5kJywgdmFsdWU6ICdJRScgfSxcbiAgICAgIHsgbGFiZWw6ICdJcmFuJywgdmFsdWU6ICdJUicgfSxcbiAgICAgIHsgbGFiZWw6ICdJcmFxJywgdmFsdWU6ICdJUScgfSxcbiAgICAgIHsgbGFiZWw6ICdJY2VsYW5kJywgdmFsdWU6ICdJUycgfSxcbiAgICAgIHsgbGFiZWw6ICdJc3JhZWwnLCB2YWx1ZTogJ0lMJyB9LFxuICAgICAgeyBsYWJlbDogJ0l0YWx5JywgdmFsdWU6ICdJVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdKYW1haWNhJywgdmFsdWU6ICdKTScgfSxcbiAgICAgIHsgbGFiZWw6ICdKZXJzZXknLCB2YWx1ZTogJ0pFJyB9LFxuICAgICAgeyBsYWJlbDogJ0pvcmRhbicsIHZhbHVlOiAnSk8nIH0sXG4gICAgICB7IGxhYmVsOiAnSmFwYW4nLCB2YWx1ZTogJ0pQJyB9LFxuICAgICAgeyBsYWJlbDogJ0themFraHN0YW4nLCB2YWx1ZTogJ0taJyB9LFxuICAgICAgeyBsYWJlbDogJ0tlbnlhJywgdmFsdWU6ICdLRScgfSxcbiAgICAgIHsgbGFiZWw6ICdLeXJneXpzdGFuJywgdmFsdWU6ICdLRycgfSxcbiAgICAgIHsgbGFiZWw6ICdDYW1ib2RpYScsIHZhbHVlOiAnS0gnIH0sXG4gICAgICB7IGxhYmVsOiAnS2lyaWJhdGknLCB2YWx1ZTogJ0tJJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IEtpdHRzIGFuZCBOZXZpcycsIHZhbHVlOiAnS04nIH0sXG4gICAgICB7IGxhYmVsOiAnU291dGggS29yZWEnLCB2YWx1ZTogJ0tSJyB9LFxuICAgICAgeyBsYWJlbDogJ0t1d2FpdCcsIHZhbHVlOiAnS1cnIH0sXG4gICAgICB7IGxhYmVsOiAnTGFvcycsIHZhbHVlOiAnTEEnIH0sXG4gICAgICB7IGxhYmVsOiAnTGViYW5vbicsIHZhbHVlOiAnTEInIH0sXG4gICAgICB7IGxhYmVsOiAnTGliZXJpYScsIHZhbHVlOiAnTFInIH0sXG4gICAgICB7IGxhYmVsOiAnTGlieWEnLCB2YWx1ZTogJ0xZJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IEx1Y2lhJywgdmFsdWU6ICdMQycgfSxcbiAgICAgIHsgbGFiZWw6ICdMaWVjaHRlbnN0ZWluJywgdmFsdWU6ICdMSScgfSxcbiAgICAgIHsgbGFiZWw6ICdTcmkgTGFua2EnLCB2YWx1ZTogJ0xLJyB9LFxuICAgICAgeyBsYWJlbDogJ0xlc290aG8nLCB2YWx1ZTogJ0xTJyB9LFxuICAgICAgeyBsYWJlbDogJ0xpdGh1YW5pYScsIHZhbHVlOiAnTFQnIH0sXG4gICAgICB7IGxhYmVsOiAnTHV4ZW1ib3VyZycsIHZhbHVlOiAnTFUnIH0sXG4gICAgICB7IGxhYmVsOiAnTGF0dmlhJywgdmFsdWU6ICdMVicgfSxcbiAgICAgIHsgbGFiZWw6ICdNYWNhdScsIHZhbHVlOiAnTU8nIH0sXG4gICAgICB7IGxhYmVsOiAnU2FpbnQgTWFydGluJywgdmFsdWU6ICdNRicgfSxcbiAgICAgIHsgbGFiZWw6ICdNb3JvY2NvJywgdmFsdWU6ICdNQScgfSxcbiAgICAgIHsgbGFiZWw6ICdNb25hY28nLCB2YWx1ZTogJ01DJyB9LFxuICAgICAgeyBsYWJlbDogJ01vbGRvdmEnLCB2YWx1ZTogJ01EJyB9LFxuICAgICAgeyBsYWJlbDogJ01hZGFnYXNjYXInLCB2YWx1ZTogJ01HJyB9LFxuICAgICAgeyBsYWJlbDogJ01hbGRpdmVzJywgdmFsdWU6ICdNVicgfSxcbiAgICAgIHsgbGFiZWw6ICdNZXhpY28nLCB2YWx1ZTogJ01YJyB9LFxuICAgICAgeyBsYWJlbDogJ01hcnNoYWxsIElzbGFuZHMnLCB2YWx1ZTogJ01IJyB9LFxuICAgICAgeyBsYWJlbDogJ01hY2Vkb25pYScsIHZhbHVlOiAnTUsnIH0sXG4gICAgICB7IGxhYmVsOiAnTWFsaScsIHZhbHVlOiAnTUwnIH0sXG4gICAgICB7IGxhYmVsOiAnTWFsdGEnLCB2YWx1ZTogJ01UJyB9LFxuICAgICAgeyBsYWJlbDogJ015YW5tYXInLCB2YWx1ZTogJ01NJyB9LFxuICAgICAgeyBsYWJlbDogJ01vbnRlbmVncm8nLCB2YWx1ZTogJ01FJyB9LFxuICAgICAgeyBsYWJlbDogJ01vbmdvbGlhJywgdmFsdWU6ICdNTicgfSxcbiAgICAgIHsgbGFiZWw6ICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLCB2YWx1ZTogJ01QJyB9LFxuICAgICAgeyBsYWJlbDogJ01vemFtYmlxdWUnLCB2YWx1ZTogJ01aJyB9LFxuICAgICAgeyBsYWJlbDogJ01hdXJpdGFuaWEnLCB2YWx1ZTogJ01SJyB9LFxuICAgICAgeyBsYWJlbDogJ01vbnRzZXJyYXQnLCB2YWx1ZTogJ01TJyB9LFxuICAgICAgeyBsYWJlbDogJ01hcnRpbmlxdWUnLCB2YWx1ZTogJ01RJyB9LFxuICAgICAgeyBsYWJlbDogJ01hdXJpdGl1cycsIHZhbHVlOiAnTVUnIH0sXG4gICAgICB7IGxhYmVsOiAnTWFsYXdpJywgdmFsdWU6ICdNVycgfSxcbiAgICAgIHsgbGFiZWw6ICdNYWxheXNpYScsIHZhbHVlOiAnTVknIH0sXG4gICAgICB7IGxhYmVsOiAnTWF5b3R0ZScsIHZhbHVlOiAnWVQnIH0sXG4gICAgICB7IGxhYmVsOiAnTmFtaWJpYScsIHZhbHVlOiAnTkEnIH0sXG4gICAgICB7IGxhYmVsOiAnTmV3IENhbGVkb25pYScsIHZhbHVlOiAnTkMnIH0sXG4gICAgICB7IGxhYmVsOiAnTmlnZXInLCB2YWx1ZTogJ05FJyB9LFxuICAgICAgeyBsYWJlbDogJ05vcmZvbGsgSXNsYW5kJywgdmFsdWU6ICdORicgfSxcbiAgICAgIHsgbGFiZWw6ICdOaWdlcmlhJywgdmFsdWU6ICdORycgfSxcbiAgICAgIHsgbGFiZWw6ICdOaWNhcmFndWEnLCB2YWx1ZTogJ05JJyB9LFxuICAgICAgeyBsYWJlbDogJ05pdWUnLCB2YWx1ZTogJ05VJyB9LFxuICAgICAgeyBsYWJlbDogJ05ldGhlcmxhbmRzJywgdmFsdWU6ICdOTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdOb3J3YXknLCB2YWx1ZTogJ05PJyB9LFxuICAgICAgeyBsYWJlbDogJ05lcGFsJywgdmFsdWU6ICdOUCcgfSxcbiAgICAgIHsgbGFiZWw6ICdOYXVydScsIHZhbHVlOiAnTlInIH0sXG4gICAgICB7IGxhYmVsOiAnTmV3IFplYWxhbmQnLCB2YWx1ZTogJ05aJyB9LFxuICAgICAgeyBsYWJlbDogJ09tYW4nLCB2YWx1ZTogJ09NJyB9LFxuICAgICAgeyBsYWJlbDogJ1Bha2lzdGFuJywgdmFsdWU6ICdQSycgfSxcbiAgICAgIHsgbGFiZWw6ICdQYW5hbWEnLCB2YWx1ZTogJ1BBJyB9LFxuICAgICAgeyBsYWJlbDogJ1BpdGNhaXJuIElzbGFuZHMnLCB2YWx1ZTogJ1BOJyB9LFxuICAgICAgeyBsYWJlbDogJ1BlcnUnLCB2YWx1ZTogJ1BFJyB9LFxuICAgICAgeyBsYWJlbDogJ1BoaWxpcHBpbmVzJywgdmFsdWU6ICdQSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdQYWxhdScsIHZhbHVlOiAnUFcnIH0sXG4gICAgICB7IGxhYmVsOiAnUGFwdWEgTmV3IEd1aW5lYScsIHZhbHVlOiAnUEcnIH0sXG4gICAgICB7IGxhYmVsOiAnUG9sYW5kJywgdmFsdWU6ICdQTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdQdWVydG8gUmljbycsIHZhbHVlOiAnUFInIH0sXG4gICAgICB7IGxhYmVsOiAnTm9ydGggS29yZWEnLCB2YWx1ZTogJ0tQJyB9LFxuICAgICAgeyBsYWJlbDogJ1BvcnR1Z2FsJywgdmFsdWU6ICdQVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdQYXJhZ3VheScsIHZhbHVlOiAnUFknIH0sXG4gICAgICB7IGxhYmVsOiAnUGFsZXN0aW5lJywgdmFsdWU6ICdQUycgfSxcbiAgICAgIHsgbGFiZWw6ICdGcmVuY2ggUG9seW5lc2lhJywgdmFsdWU6ICdQRicgfSxcbiAgICAgIHsgbGFiZWw6ICdRYXRhcicsIHZhbHVlOiAnUUEnIH0sXG4gICAgICB7IGxhYmVsOiAnUsOpdW5pb24nLCB2YWx1ZTogJ1JFJyB9LFxuICAgICAgeyBsYWJlbDogJ1JvbWFuaWEnLCB2YWx1ZTogJ1JPJyB9LFxuICAgICAgeyBsYWJlbDogJ1J1c3NpYScsIHZhbHVlOiAnUlUnIH0sXG4gICAgICB7IGxhYmVsOiAnUndhbmRhJywgdmFsdWU6ICdSVycgfSxcbiAgICAgIHsgbGFiZWw6ICdTYXVkaSBBcmFiaWEnLCB2YWx1ZTogJ1NBJyB9LFxuICAgICAgeyBsYWJlbDogJ1N1ZGFuJywgdmFsdWU6ICdTRCcgfSxcbiAgICAgIHsgbGFiZWw6ICdTZW5lZ2FsJywgdmFsdWU6ICdTTicgfSxcbiAgICAgIHsgbGFiZWw6ICdTaW5nYXBvcmUnLCB2YWx1ZTogJ1NHJyB9LFxuICAgICAgeyBsYWJlbDogJ1NvdXRoIEdlb3JnaWEnLCB2YWx1ZTogJ0dTJyB9LFxuICAgICAgeyBsYWJlbDogJ1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4nLCB2YWx1ZTogJ1NKJyB9LFxuICAgICAgeyBsYWJlbDogJ1NvbG9tb24gSXNsYW5kcycsIHZhbHVlOiAnU0InIH0sXG4gICAgICB7IGxhYmVsOiAnU2llcnJhIExlb25lJywgdmFsdWU6ICdTTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdFbCBTYWx2YWRvcicsIHZhbHVlOiAnU1YnIH0sXG4gICAgICB7IGxhYmVsOiAnU2FuIE1hcmlubycsIHZhbHVlOiAnU00nIH0sXG4gICAgICB7IGxhYmVsOiAnU29tYWxpYScsIHZhbHVlOiAnU08nIH0sXG4gICAgICB7IGxhYmVsOiAnU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbicsIHZhbHVlOiAnUE0nIH0sXG4gICAgICB7IGxhYmVsOiAnU2VyYmlhJywgdmFsdWU6ICdSUycgfSxcbiAgICAgIHsgbGFiZWw6ICdTb3V0aCBTdWRhbicsIHZhbHVlOiAnU1MnIH0sXG4gICAgICB7IGxhYmVsOiAnU8OjbyBUb23DqSBhbmQgUHLDrW5jaXBlJywgdmFsdWU6ICdTVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdTdXJpbmFtZScsIHZhbHVlOiAnU1InIH0sXG4gICAgICB7IGxhYmVsOiAnU2xvdmFraWEnLCB2YWx1ZTogJ1NLJyB9LFxuICAgICAgeyBsYWJlbDogJ1Nsb3ZlbmlhJywgdmFsdWU6ICdTSScgfSxcbiAgICAgIHsgbGFiZWw6ICdTd2VkZW4nLCB2YWx1ZTogJ1NFJyB9LFxuICAgICAgeyBsYWJlbDogJ1N3YXppbGFuZCcsIHZhbHVlOiAnU1onIH0sXG4gICAgICB7IGxhYmVsOiAnU2V5Y2hlbGxlcycsIHZhbHVlOiAnU0MnIH0sXG4gICAgICB7IGxhYmVsOiAnU3lyaWEnLCB2YWx1ZTogJ1NZJyB9LFxuICAgICAgeyBsYWJlbDogJ1R1cmtzIGFuZCBDYWljb3MgSXNsYW5kcycsIHZhbHVlOiAnVEMnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2hhZCcsIHZhbHVlOiAnVEQnIH0sXG4gICAgICB7IGxhYmVsOiAnVG9nbycsIHZhbHVlOiAnVEcnIH0sXG4gICAgICB7IGxhYmVsOiAnVGhhaWxhbmQnLCB2YWx1ZTogJ1RIJyB9LFxuICAgICAgeyBsYWJlbDogJ1RhamlraXN0YW4nLCB2YWx1ZTogJ1RKJyB9LFxuICAgICAgeyBsYWJlbDogJ1Rva2VsYXUnLCB2YWx1ZTogJ1RLJyB9LFxuICAgICAgeyBsYWJlbDogJ1R1cmttZW5pc3RhbicsIHZhbHVlOiAnVE0nIH0sXG4gICAgICB7IGxhYmVsOiAnVGltb3ItTGVzdGUnLCB2YWx1ZTogJ1RMJyB9LFxuICAgICAgeyBsYWJlbDogJ1RvbmdhJywgdmFsdWU6ICdUTycgfSxcbiAgICAgIHsgbGFiZWw6ICdUcmluaWRhZCBhbmQgVG9iYWdvJywgdmFsdWU6ICdUVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdUdW5pc2lhJywgdmFsdWU6ICdUTicgfSxcbiAgICAgIHsgbGFiZWw6ICdUdXJrZXknLCB2YWx1ZTogJ1RSJyB9LFxuICAgICAgeyBsYWJlbDogJ1R1dmFsdScsIHZhbHVlOiAnVFYnIH0sXG4gICAgICB7IGxhYmVsOiAnVGFpd2FuJywgdmFsdWU6ICdUVycgfSxcbiAgICAgIHsgbGFiZWw6ICdUYW56YW5pYScsIHZhbHVlOiAnVFonIH0sXG4gICAgICB7IGxhYmVsOiAnVWdhbmRhJywgdmFsdWU6ICdVRycgfSxcbiAgICAgIHsgbGFiZWw6ICdVa3JhaW5lJywgdmFsdWU6ICdVQScgfSxcbiAgICAgIHsgbGFiZWw6ICdVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMnLCB2YWx1ZTogJ1VNJyB9LFxuICAgICAgeyBsYWJlbDogJ1VydWd1YXknLCB2YWx1ZTogJ1VZJyB9LFxuICAgICAgeyBsYWJlbDogJ1VuaXRlZCBTdGF0ZXMnLCB2YWx1ZTogJ1VTJyB9LFxuICAgICAgeyBsYWJlbDogJ1V6YmVraXN0YW4nLCB2YWx1ZTogJ1VaJyB9LFxuICAgICAgeyBsYWJlbDogJ1ZhdGljYW4gQ2l0eScsIHZhbHVlOiAnVkEnIH0sXG4gICAgICB7IGxhYmVsOiAnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLCB2YWx1ZTogJ1ZDJyB9LFxuICAgICAgeyBsYWJlbDogJ1ZlbmV6dWVsYScsIHZhbHVlOiAnVkUnIH0sXG4gICAgICB7IGxhYmVsOiAnQnJpdGlzaCBWaXJnaW4gSXNsYW5kcycsIHZhbHVlOiAnVkcnIH0sXG4gICAgICB7IGxhYmVsOiAnVW5pdGVkIFN0YXRlcyBWaXJnaW4gSXNsYW5kcycsIHZhbHVlOiAnVkknIH0sXG4gICAgICB7IGxhYmVsOiAnVmlldG5hbScsIHZhbHVlOiAnVk4nIH0sXG4gICAgICB7IGxhYmVsOiAnVmFudWF0dScsIHZhbHVlOiAnVlUnIH0sXG4gICAgICB7IGxhYmVsOiAnV2FsbGlzIGFuZCBGdXR1bmEnLCB2YWx1ZTogJ1dGJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhbW9hJywgdmFsdWU6ICdXUycgfSxcbiAgICAgIHsgbGFiZWw6ICdZZW1lbicsIHZhbHVlOiAnWUUnIH0sXG4gICAgICB7IGxhYmVsOiAnU291dGggQWZyaWNhJywgdmFsdWU6ICdaQScgfSxcbiAgICAgIHsgbGFiZWw6ICdaYW1iaWEnLCB2YWx1ZTogJ1pNJyB9LFxuICAgICAgeyBsYWJlbDogJ1ppbWJhYndlJywgdmFsdWU6ICdaVycgfSxcbiAgICBdO1xuICB9XG4gIGNvdW50cnlMaXN0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBBRkc6ICdBRicsXG4gICAgICBBTEI6ICdBTCcsXG4gICAgICBEWkE6ICdEWicsXG4gICAgICBBU006ICdBUycsXG4gICAgICBBTkQ6ICdBRCcsXG4gICAgICBBR086ICdBTycsXG4gICAgICBBSUE6ICdBSScsXG4gICAgICBBVEc6ICdBRycsXG4gICAgICBBUkc6ICdBUicsXG4gICAgICBBUk06ICdBTScsXG4gICAgICBBQlc6ICdBVycsXG4gICAgICBBVVM6ICdBVScsXG4gICAgICBBVVQ6ICdBVCcsXG4gICAgICBBWkU6ICdBWicsXG4gICAgICBCSFM6ICdCUycsXG4gICAgICBCSFI6ICdCSCcsXG4gICAgICBCR0Q6ICdCRCcsXG4gICAgICBCUkI6ICdCQicsXG4gICAgICBCTFI6ICdCWScsXG4gICAgICBCRUw6ICdCRScsXG4gICAgICBCTFo6ICdCWicsXG4gICAgICBCRU46ICdCSicsXG4gICAgICBCTVU6ICdCTScsXG4gICAgICBCVE46ICdCVCcsXG4gICAgICBCT0w6ICdCTycsXG4gICAgICBCSUg6ICdCQScsXG4gICAgICBCV0E6ICdCVycsXG4gICAgICBCUkE6ICdCUicsXG4gICAgICBWR0I6ICdWRycsXG4gICAgICBCUk46ICdCTicsXG4gICAgICBCR1I6ICdCRycsXG4gICAgICBCRkE6ICdCRicsXG4gICAgICBCREk6ICdCSScsXG4gICAgICBLSE06ICdLSCcsXG4gICAgICBDTVI6ICdDTScsXG4gICAgICBDQU46ICdDQScsXG4gICAgICBDUFY6ICdDVicsXG4gICAgICBDQUY6ICdDRicsXG4gICAgICBUQ0Q6ICdURCcsXG4gICAgICBDSEw6ICdDTCcsXG4gICAgICBDSE46ICdDTicsXG4gICAgICBIS0c6ICdISycsXG4gICAgICBNQUM6ICdNTycsXG4gICAgICBDT0w6ICdDTycsXG4gICAgICBDT006ICdLTScsXG4gICAgICBDT0c6ICdDRycsXG4gICAgICBDUkk6ICdDUicsXG4gICAgICBDSVY6ICdDSScsXG4gICAgICBIUlY6ICdIUicsXG4gICAgICBDVUI6ICdDVScsXG4gICAgICBDWVA6ICdDWScsXG4gICAgICBDWkU6ICdDWicsXG4gICAgICBETks6ICdESycsXG4gICAgICBESkk6ICdESicsXG4gICAgICBETUE6ICdETScsXG4gICAgICBET006ICdETycsXG4gICAgICBFQ1U6ICdFQycsXG4gICAgICBFR1k6ICdFRycsXG4gICAgICBTTFY6ICdTVicsXG4gICAgICBHTlE6ICdHUScsXG4gICAgICBFUkk6ICdFUicsXG4gICAgICBFU1Q6ICdFRScsXG4gICAgICBFVEg6ICdFVCcsXG4gICAgICBGUk86ICdGTycsXG4gICAgICBGSkk6ICdGSicsXG4gICAgICBGSU46ICdGSScsXG4gICAgICBGUkE6ICdGUicsXG4gICAgICBHVUY6ICdHRicsXG4gICAgICBQWUY6ICdQRicsXG4gICAgICBHQUI6ICdHQScsXG4gICAgICBHTUI6ICdHTScsXG4gICAgICBHRU86ICdHRScsXG4gICAgICBERVU6ICdERScsXG4gICAgICBHSEE6ICdHSCcsXG4gICAgICBHUkM6ICdHUicsXG4gICAgICBHUkw6ICdHTCcsXG4gICAgICBHUkQ6ICdHRCcsXG4gICAgICBHTFA6ICdHUCcsXG4gICAgICBHVU06ICdHVScsXG4gICAgICBHVE06ICdHVCcsXG4gICAgICBHTkI6ICdHVycsXG4gICAgICBIVEk6ICdIVCcsXG4gICAgICBITkQ6ICdITicsXG4gICAgICBJU0w6ICdJUycsXG4gICAgICBJRE46ICdJRCcsXG4gICAgICBJUlE6ICdJUScsXG4gICAgICBJVEE6ICdJVCcsXG4gICAgICBKUE46ICdKUCcsXG4gICAgICBKT1I6ICdKTycsXG4gICAgICBLQVo6ICdLWicsXG4gICAgICBLRU46ICdLRScsXG4gICAgICBLSVI6ICdLSScsXG4gICAgICBQUks6ICdLUCcsXG4gICAgICBLT1I6ICdLUicsXG4gICAgICBLV1Q6ICdLVycsXG4gICAgICBLR1o6ICdLRycsXG4gICAgICBMQU86ICdMQScsXG4gICAgICBMVkE6ICdMVicsXG4gICAgICBMQk46ICdMQicsXG4gICAgICBMU086ICdMUycsXG4gICAgICBMQlI6ICdMUicsXG4gICAgICBMQlk6ICdMWScsXG4gICAgICBMSUU6ICdMSScsXG4gICAgICBMVFU6ICdMVCcsXG4gICAgICBMVVg6ICdMVScsXG4gICAgICBNREc6ICdNRycsXG4gICAgICBNV0k6ICdNVycsXG4gICAgICBNWVM6ICdNWScsXG4gICAgICBNRFY6ICdNVicsXG4gICAgICBNTEk6ICdNTCcsXG4gICAgICBNTFQ6ICdNVCcsXG4gICAgICBNSEw6ICdNSCcsXG4gICAgICBNVFE6ICdNUScsXG4gICAgICBNUlQ6ICdNUicsXG4gICAgICBNVVM6ICdNVScsXG4gICAgICBNRVg6ICdNWCcsXG4gICAgICBGU006ICdGTScsXG4gICAgICBNREE6ICdNRCcsXG4gICAgICBNQ086ICdNQycsXG4gICAgICBNTkc6ICdNTicsXG4gICAgICBNTkU6ICdNRScsXG4gICAgICBNU1I6ICdNUycsXG4gICAgICBNQVI6ICdNQScsXG4gICAgICBNT1o6ICdNWicsXG4gICAgICBNTVI6ICdNTScsXG4gICAgICBOQU06ICdOQScsXG4gICAgICBOUlU6ICdOUicsXG4gICAgICBOUEw6ICdOUCcsXG4gICAgICBOTEQ6ICdOTCcsXG4gICAgICBBTlQ6ICdBTicsXG4gICAgICBOQ0w6ICdOQycsXG4gICAgICBOWkw6ICdOWicsXG4gICAgICBOSUM6ICdOSScsXG4gICAgICBORVI6ICdORScsXG4gICAgICBOR0E6ICdORycsXG4gICAgICBNTlA6ICdNUCcsXG4gICAgICBOT1I6ICdOTycsXG4gICAgICBPTU46ICdPTScsXG4gICAgICBQQUs6ICdQSycsXG4gICAgICBQTFc6ICdQVycsXG4gICAgICBQU0U6ICdQUycsXG4gICAgICBQQU46ICdQQScsXG4gICAgICBQTkc6ICdQRycsXG4gICAgICBQUlk6ICdQWScsXG4gICAgICBQRVI6ICdQRScsXG4gICAgICBQSEw6ICdQSCcsXG4gICAgICBQQ046ICdQTicsXG4gICAgICBQT0w6ICdQTCcsXG4gICAgICBQUlQ6ICdQVCcsXG4gICAgICBQUkk6ICdQUicsXG4gICAgICBRQVQ6ICdRQScsXG4gICAgICBSRVU6ICdSRScsXG4gICAgICBST1U6ICdSTycsXG4gICAgICBSVVM6ICdSVScsXG4gICAgICBSV0E6ICdSVycsXG4gICAgICBLTkE6ICdLTicsXG4gICAgICBMQ0E6ICdMQycsXG4gICAgICBWQ1Q6ICdWQycsXG4gICAgICBXU006ICdXUycsXG4gICAgICBTTVI6ICdTTScsXG4gICAgICBTVFA6ICdTVCcsXG4gICAgICBTQVU6ICdTQScsXG4gICAgICBTRU46ICdTTicsXG4gICAgICBTUkI6ICdSUycsXG4gICAgICBTWUM6ICdTQycsXG4gICAgICBTTEU6ICdTTCcsXG4gICAgICBTR1A6ICdTRycsXG4gICAgICBTVks6ICdTSycsXG4gICAgICBTVk46ICdTSScsXG4gICAgICBTTEI6ICdTQicsXG4gICAgICBTT006ICdTTycsXG4gICAgICBaQUY6ICdaQScsXG4gICAgICBFU1A6ICdFUycsXG4gICAgICBMS0E6ICdMSycsXG4gICAgICBTRE46ICdTRCcsXG4gICAgICBTVVI6ICdTUicsXG4gICAgICBTV1o6ICdTWicsXG4gICAgICBTV0U6ICdTRScsXG4gICAgICBDSEU6ICdDSCcsXG4gICAgICBTWVI6ICdTWScsXG4gICAgICBUSks6ICdUSicsXG4gICAgICBUWkE6ICdUWicsXG4gICAgICBUSEE6ICdUSCcsXG4gICAgICBUTFM6ICdUTCcsXG4gICAgICBUR086ICdURycsXG4gICAgICBUT046ICdUTycsXG4gICAgICBUVE86ICdUVCcsXG4gICAgICBUVU46ICdUTicsXG4gICAgICBUVVI6ICdUUicsXG4gICAgICBUS006ICdUTScsXG4gICAgICBUVVY6ICdUVicsXG4gICAgICBVR0E6ICdVRycsXG4gICAgICBVS1I6ICdVQScsXG4gICAgICBBUkU6ICdBRScsXG4gICAgICBHQlI6ICdHQicsXG4gICAgICBVU0E6ICdVUycsXG4gICAgICBVUlk6ICdVWScsXG4gICAgICBVWkI6ICdVWicsXG4gICAgICBWVVQ6ICdWVScsXG4gICAgICBWRU46ICdWRScsXG4gICAgICBWTk06ICdWTicsXG4gICAgICBWSVI6ICdWSScsXG4gICAgICBZRU06ICdZRScsXG4gICAgICBaTUI6ICdaTScsXG4gICAgICBaV0U6ICdaVycsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBmaWVsZHMoKTogYW55IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBrZXk6ICdCaXJ0aCBEYXRlJyxcbiAgICAgICAgZm9ybTogJ2JpcnRoRGF0ZScsXG4gICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnQmlydGhEYXRlJyxcbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAga2V5OiAnR2l2ZW4gTmFtZScsXG4gICAgICAgIGZvcm06ICdmaXJzdE5hbWUnLFxuICAgICAgICB1Y0ZpcnN0OiB0cnVlLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgbWFpbjogdHJ1ZSxcbiAgICAgICAgYmxhc3RLZXk6ICdOYW1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ1N1cm5hbWUnLFxuICAgICAgICBmb3JtOiAnbGFzdE5hbWUnLFxuICAgICAgICB1Y0ZpcnN0OiB0cnVlLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgbWFpbjogdHJ1ZSxcbiAgICAgICAgYmxhc3RLZXk6ICdTdXJuYW1lJyxcbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAga2V5OiAnU2V4JyxcbiAgICAgICAgZm9ybTogJ2dlbmRlcicsXG4gICAgICAgIHR5cGU6ICdnZW5kZXInLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgICAgYmxhc3RLZXk6ICdHZW5kZXInLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnRG9jdW1lbnQgQ2xhc3MgTmFtZScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBmb3JtOiAnZG9jdW1lbnRUeXBlJyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnZG9jVHlwZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdEb2N1bWVudCBOdW1iZXInLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ2RvY3VtZW50TnVtYmVyJyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnRG9jdW1lbnROdW1iZXInLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSXNzdWluZyBTdGF0ZSBDb2RlJyxcbiAgICAgICAgdHlwZTogJ2NvdW50cnknLFxuICAgICAgICBmb3JtOiAnaXNzdWVTdGF0ZUNvZGUnLFxuICAgICAgICBibGFzdEtleTogJ0NvdW50cnlPZklzc3VlJyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdFeHBpcmF0aW9uIERhdGUnLFxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIGZvcm06ICdleHBpcmF0aW9uRGF0ZScsXG4gICAgICAgIGJsYXN0S2V5OiAnRXhwaXJ5RGF0ZScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSXNzdWUgRGF0ZScsXG4gICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgZm9ybTogJ2lzc3VlRGF0ZScsXG4gICAgICAgIGJsYXN0S2V5OiAnSXNzdWVkRGF0ZScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnQmlydGggUGxhY2UnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ2JpcnRoUGxhY2UnLFxuICAgICAgICBibGFzdEtleTogJ1BsYWNlT2ZCaXJ0aCcsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSXNzdWluZyBBdXRob3JpdHknLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ2lzc3VpbmdQbGFjZScsXG4gICAgICAgIGJsYXN0S2V5OiAnSXNzdWluZ0F1dGhvcml0eScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnTmF0aW9uYWxpdHkgQ29kZScsXG4gICAgICAgIHR5cGU6ICdjb3VudHJ5JyxcbiAgICAgICAgZm9ybTogJ25hdGlvbmFsaXR5JyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnTmF0aW9uYWxpdHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnc3RyZWV0MScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBmb3JtOiAnc3RyZWV0MScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0FkZHJlc3NTdHJlZXQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnY2l0eScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBmb3JtOiAnY2l0eScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0FkZHJlc3NDaXR5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2NvdW50cnknLFxuICAgICAgICB0eXBlOiAnY291bnRyeScsXG4gICAgICAgIGZvcm06ICdjb3VudHJ5JyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnQ291bnRyeScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICd6aXAnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ3ppcCcsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0FkZHJlc3NaaXAnLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG4gIHBhcnNlQmxhc3QocmVzdWx0czogYW55KSB7XG4gICAgY29uc3QgY291bnRyaWVzOiBhbnkgPSB0aGlzLmNvdW50cnlMaXN0KCk7XG4gICAgY29uc3QgZ2VuZGVyczogYW55ID0gdGhpcy5nZW5kZXJMaXN0KCk7XG4gICAgY29uc3QgZGF0YTogYW55ID0gdGhpcy5maWVsZHM7XG5cbiAgICBjb25zdCB2YWxpZGF0ZWRBZGRyZXNzRmllbGRzID0gW1xuICAgICAgJ0FkZHJlc3NDaXR5JyxcbiAgICAgICdBZGRyZXNzWmlwJyxcbiAgICAgICdBZGRyZXNzQ291bnR5JyxcbiAgICAgICdBZGRyZXNzU3RyZWV0JyxcbiAgICBdLmZpbHRlcigoa2V5KSA9PiByZXN1bHRzW2tleV0uVmFsaWRhdGVkKTtcblxuICAgIC8vIGlmIG5vIGFkZHJlc3MgaXMgdmFsaWRhdGVkXG4gICAgaWYgKHZhbGlkYXRlZEFkZHJlc3NGaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpZiAocmVzdWx0cy5BZGRyZXNzLlZhbGlkYXRlZCkge1xuICAgICAgICByZXN1bHRzLkFkZHJlc3NTdHJlZXQgPSByZXN1bHRzLkFkZHJlc3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0ID0gZGF0YS5tYXAoKGl0bTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZXMgPSByZXN1bHRzW2l0bS5ibGFzdEtleV07XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcmVzLlJlY29tbWVuZGVkVmFsdWUgfHwgJyc7XG5cbiAgICAgICAgc3dpdGNoIChpdG0udHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICBpdG0udmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChpdG0udWNGaXJzdCkge1xuICAgICAgICAgICAgICBjb25zdCBuYW1lID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgaXRtLnZhbHVlID0gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIGl0bS52YWx1ZSA9IHZhbHVlID8gbW9tZW50KHZhbHVlLCAnREQuTU0uWVlZWScpLnRvRGF0ZSgpIDogbnVsbDtcbiAgICAgICAgICAgIC8vIGlmICh2YWx1ZS5pbmRleE9mKCcvRGF0ZScpID49IDApIHtcbiAgICAgICAgICAgIC8vICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAgICAgICAgLy8gICBjb25zdCB0aW1lc3RhbXAgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZ20sICcnKTtcbiAgICAgICAgICAgIC8vICAgLy9pdG0udmFsdWUgPSBtb21lbnQudW5peCh0aW1lc3RhbXAgLyAxMDAwKS50b0RhdGUoKTtcbiAgICAgICAgICAgIC8vICAgaXRtLnZhbHVlID0gbW9tZW50KFxuICAgICAgICAgICAgLy8gICAgIHRpbWVzdGFtcCAtIG1vbWVudCh0aW1lc3RhbXAsICd4JykudXRjT2Zmc2V0KCkgKiA2MCAqIDEwMDAsXG4gICAgICAgICAgICAvLyAgICAgJ3gnLFxuICAgICAgICAgICAgLy8gICApLnRvRGF0ZSgpO1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdjb3VudHJ5JzpcbiAgICAgICAgICAgIGl0bS52YWx1ZSA9IGNvdW50cmllc1t2YWx1ZV0gfHwgbnVsbDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2dlbmRlcic6XG4gICAgICAgICAgICBpdG0udmFsdWUgPSBnZW5kZXJzW3ZhbHVlXSB8fCBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRtO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kZWw6IGFueSA9IHt9O1xuXG4gICAgb3V0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coZWxlbWVudCk7XG4gICAgICBtb2RlbFtlbGVtZW50LmZvcm1dID0gZWxlbWVudC52YWx1ZTtcbiAgICB9KTtcblxuICAgIG1vZGVsLmRvY3VtZW50VHlwZSA9IHJlc3VsdHMuTWV0YWRhdGEuRG9jdW1lbnRUeXBlO1xuXG4gICAgY29uc29sZS5sb2cobW9kZWwpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkczogb3V0LFxuICAgICAgbW9kZWwsXG4gICAgfTtcbiAgfVxuXG4gIGJsYXN0UG9zdChkYXRhOiBhbnkpIHtcbiAgICAvLyBjb25zdCAkcmVxdWVzdCA9IHRoaXMuYXBpLmh0dHAuZ2V0KCcvYXNzZXRzL2pzb24vYmxhc3RzY2FuLmpzb24nKTtcblxuICAgIGNvbnN0ICRyZXF1ZXN0ID0gdGhpcy5odHRwLnBvc3QodGhpcy5jb25maWcuZXh0cmFjdGlvblBhdGgsIGRhdGEpO1xuXG4gICAgcmV0dXJuICRyZXF1ZXN0LnBpcGUoXG4gICAgICBtYXAoKG06IGFueSkgPT4ge1xuICAgICAgICBpZiAobS5NZXRhZGF0YSAmJiBtLk1ldGFkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBtZXRhZGF0YSA9IG0uTWV0YWRhdGFbMF07XG4gICAgICAgICAgbS5EYXRhLkNvdW50cnkgPSB7XG4gICAgICAgICAgICBSZWNvbW1lbmRlZFZhbHVlOiBtZXRhZGF0YS5Db3VudHJ5LFxuICAgICAgICAgIH07XG4gICAgICAgICAgbS5EYXRhLk1ldGFkYXRhID0gbWV0YWRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBibG9iVG9EYXRhVXJsKGZpbGU6IGFueSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnM6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycikgPT4gb2JzLmVycm9yKGVycik7XG4gICAgICByZWFkZXIub25hYm9ydCA9IChlcnIpID0+IG9icy5lcnJvcihlcnIpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgb2JzLm5leHQocmVhZGVyLnJlc3VsdCk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IG9icy5jb21wbGV0ZSgpO1xuICAgICAgcmV0dXJuIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
757
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvc2Nhbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNakUsTUFBTSxPQUFPLFlBQVk7SUFNdkIsWUFBb0IsSUFBZ0IsRUFBVSxRQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUpoRSw2QkFBNkI7UUFFdEIsV0FBTSxHQUFlLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQUN1QixDQUFDO0lBQ3BFLFVBQVU7UUFDUixPQUFPO1lBQ0wsQ0FBQyxFQUFFLE1BQU07WUFDVCxLQUFLLEVBQUUsTUFBTTtZQUNiLENBQUMsRUFBRSxRQUFRO1lBQ1gsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7SUFDeEMsQ0FBQztJQUNELFFBQVEsQ0FBQyxTQUFvQjtRQUMzQixNQUFNLElBQUksR0FBRztZQUNYLHdCQUF3QixFQUFFLElB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QUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDakMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDaEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDaEMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDL0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDcEMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDL0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDcEMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDbEMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDbEMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUMvQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNyQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNoQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUM5QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNqQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNqQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUMvQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNyQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUN2QyxF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R0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1lBQ1QsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSTtZQUNULEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPO1lBQ0w7Z0JBQ0UsR0FBRyxFQUFFLFlBQVk7Z0JBQ2pCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsV0FBVzthQUN0QjtZQUVEO2dCQUNFLEdBQUcsRUFBRSxZQUFZO2dCQUNqQixJQUFJLEVBQUUsV0FBVztnQkFDakIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLE1BQU07YUFDakI7WUFDRDtnQkFDRSxHQUFHLEVBQUUsU0FBUztnQkFDZCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLFNBQVM7YUFDcEI7WUFFRDtnQkFDRSxHQUFHLEVBQUUsS0FBSztnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsUUFBUTthQUNuQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxxQkFBcUI7Z0JBQzFCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxjQUFjO2dCQUNwQixJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsU0FBUzthQUNwQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLElBQUksRUFBRSxLQUFLO2dCQUNYLFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7WUFDRDtnQkFDRSxHQUFHLEVBQUUsb0JBQW9CO2dCQUN6QixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLElBQUksRUFBRSxLQUFLO2FBQ1o7WUFDRDtnQkFDRSxHQUFHLEVBQUUsWUFBWTtnQkFDakIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxZQUFZO2dCQUNsQixRQUFRLEVBQUUsY0FBYztnQkFDeEIsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxtQkFBbUI7Z0JBQ3hCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxjQUFjO2dCQUNwQixRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLGtCQUFrQjtnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxLQUFLO2dCQUNYLFFBQVEsRUFBRSxhQUFhO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsUUFBUSxFQUFFLGVBQWU7YUFDMUI7WUFDRDtnQkFDRSxHQUFHLEVBQUUsTUFBTTtnQkFDWCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxRQUFRLEVBQUUsYUFBYTthQUN4QjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxTQUFTO2dCQUNkLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxLQUFLO2dCQUNYLFFBQVEsRUFBRSxTQUFTO2FBQ3BCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsUUFBUSxFQUFFLFlBQVk7YUFDdkI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFZO1FBQ3JCLE1BQU0sU0FBUyxHQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxNQUFNLE9BQU8sR0FBUSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUU5QixNQUFNLHNCQUFzQixHQUFHO1lBQzdCLGFBQWE7WUFDYixZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7U0FDaEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyw2QkFBNkI7UUFDN0IsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUN6QztTQUNGO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztnQkFFekMsUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUNoQixLQUFLLFFBQVE7d0JBQ1gsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7d0JBQ2xCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTs0QkFDZixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7NEJBQ2pDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUMxRDt3QkFDRCxNQUFNO29CQUNSLEtBQUssTUFBTTt3QkFDVCxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNoRSxxQ0FBcUM7d0JBQ3JDLHdCQUF3Qjt3QkFDeEIsaURBQWlEO3dCQUNqRCwwREFBMEQ7d0JBQzFELHdCQUF3Qjt3QkFDeEIsa0VBQWtFO3dCQUNsRSxXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsSUFBSTt3QkFFSixNQUFNO29CQUNSLEtBQUssU0FBUzt3QkFDWixHQUFHLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7d0JBQ3JDLE1BQU07b0JBQ1IsS0FBSyxRQUFRO3dCQUNYLEdBQUcsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztpQkFDdEM7YUFDRjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBUSxFQUFFLENBQUM7UUFFdEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLE9BQU87WUFDTCxNQUFNLEVBQUUsR0FBRztZQUNYLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLHFFQUFxRTtRQUVyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ2YsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLE9BQU87aUJBQ25DLENBQUM7Z0JBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5R0E3dkJVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2NhbkNvbmZpZyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy9jb25maWcnO1xuaW1wb3J0IHsgR3Vlc3REYXRhIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL2d1ZXN0LmRhdGEnO1xuaW1wb3J0IHsgU0NBTl9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb3JlL3Rva2Vucy9jb25maWcudG9rZW5zJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NhblByb3ZpZGVyIHtcbiAgY291bnRyaWVzRGF0YTogYW55O1xuICAvLyBlbmFibGVWZXJpZmljYXRpb24gPSB0cnVlO1xuXG4gIHB1YmxpYyBjb25maWc6IFNjYW5Db25maWcgPSB0aGlzLmluamVjdG9yLmdldChTQ0FOX0NPTkZJR19UT0tFTik7XG4gIGNhblN0b3JlSW1hZ2VzID0gdGhpcy5jb25maWcuY2FuU3RvcmVJbWFnZXM7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG4gIGdlbmRlckxpc3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIE06ICdNQUxFJyxcbiAgICAgICdNL00nOiAnTUFMRScsXG4gICAgICBGOiAnRkVNQUxFJyxcbiAgICAgICdGL0YnOiAnRkVNQUxFJyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGVuYWJsZVZlcmlmaWNhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZW5hYmxlVmVyaWZpY2F0aW9uO1xuICB9XG4gIGFkZEd1ZXN0KGd1ZXN0RGF0YTogR3Vlc3REYXRhKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIEFjY2VwdFRlcm1zQW5kQ29uZGl0aW9uczogdHJ1ZSxcbiAgICAgIERhdGFGaWVsZHM6IHtcbiAgICAgICAgR3Vlc3RJbWFnZVR5cGU6ICdiYXNlNjQnLFxuICAgICAgICAuLi5ndWVzdERhdGEsXG4gICAgICB9LFxuICAgICAgU2V0dGluZ3M6IHt9LFxuICAgIH07XG4gICAgY29uc3QgJHJlcXVlc3QgPSB0aGlzLmh0dHAucHV0KHRoaXMuY29uZmlnLmd1ZXN0QWRkUGF0aCwgZGF0YSk7XG4gICAgcmV0dXJuICRyZXF1ZXN0O1xuICB9XG5cbiAgc3RhdGVsZXNzKERvY3VtZW50RmFjZUltYWdlOiBhbnksIExpdmVGYWNlSW1hZ2U6IGFueSkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBBY2NlcHRUZXJtc0FuZENvbmRpdGlvbnM6IHRydWUsXG4gICAgICBEYXRhRmllbGRzOiB7XG4gICAgICAgIERvY3VtZW50RmFjZUltYWdlVHlwZTogJ2Jhc2U2NCcsXG4gICAgICAgIERvY3VtZW50RmFjZUltYWdlLFxuICAgICAgICBMaXZlRmFjZUltYWdlVHlwZTogJ2Jhc2U2NCcsXG4gICAgICAgIExpdmVGYWNlSW1hZ2UsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgJHJlcXVlc3QgPSB0aGlzLmh0dHAucG9zdCh0aGlzLmNvbmZpZy5zdGF0ZUxlc3NQYXRoLCBkYXRhKTtcbiAgICByZXR1cm4gJHJlcXVlc3Q7XG4gIH1cblxuICBzZW5kTG9nKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IHsgVHJhbnNhY3Rpb25JRCB9ID0gZGF0YS5SZXNwb25zZTtcbiAgICBjb25zdCAkcmVxdWVzdCA9IHRoaXMuaHR0cC5wb3N0KHRoaXMuY29uZmlnLmVycm9yTG9nZ2luZ1BhdGgsIGRhdGEsIHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIFRyYW5zYWN0aW9uSUQsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICByZXR1cm4gJHJlcXVlc3Q7XG4gIH1cblxuICBidXJzdChJbWFnZXM6IHN0cmluZ1tdLCBCbHVyVmFsdWVzOmFueVtdKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIEFjY2VwdFRlcm1zQW5kQ29uZGl0aW9uczogdHJ1ZSxcbiAgICAgIERhdGFGaWVsZHM6IHtcbiAgICAgICAgSW1hZ2VzLFxuICAgICAgICBCbHVyVmFsdWVzLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgJHJlcXVlc3QgPSB0aGlzLmh0dHAucG9zdCh0aGlzLmNvbmZpZy52YWxpZGF0aW9uUGF0aCwgZGF0YSk7XG4gICAgcmV0dXJuICRyZXF1ZXN0O1xuICB9XG5cbiAgY291bnRyaWVzKCkge1xuICAgIGlmICh0aGlzLmNvdW50cnlOYW1lcykge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuY291bnRyeU5hbWVzKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJy9hc3NldHMvZGF0YS9jb3VudHJpZXMyLmpzb24nKS5waXBlKFxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jb3VudHJpZXNEYXRhID0gZGF0YS5kYXRhO1xuICAgICAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNEYXRhO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNvdW50cnlOYW1lcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBsYWJlbDogJ0FydWJhJywgdmFsdWU6ICdBVycgfSxcbiAgICAgIHsgbGFiZWw6ICdBZmdoYW5pc3RhbicsIHZhbHVlOiAnQUYnIH0sXG4gICAgICB7IGxhYmVsOiAnQW5nb2xhJywgdmFsdWU6ICdBTycgfSxcbiAgICAgIHsgbGFiZWw6ICdBbmd1aWxsYScsIHZhbHVlOiAnQUknIH0sXG4gICAgICB7IGxhYmVsOiAnw4VsYW5kIElzbGFuZHMnLCB2YWx1ZTogJ0FYJyB9LFxuICAgICAgeyBsYWJlbDogJ0FsYmFuaWEnLCB2YWx1ZTogJ0FMJyB9LFxuICAgICAgeyBsYWJlbDogJ0FuZG9ycmEnLCB2YWx1ZTogJ0FEJyB9LFxuICAgICAgeyBsYWJlbDogJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJywgdmFsdWU6ICdBRScgfSxcbiAgICAgIHsgbGFiZWw6ICdBcmdlbnRpbmEnLCB2YWx1ZTogJ0FSJyB9LFxuICAgICAgeyBsYWJlbDogJ0FybWVuaWEnLCB2YWx1ZTogJ0FNJyB9LFxuICAgICAgeyBsYWJlbDogJ0FtZXJpY2FuIFNhbW9hJywgdmFsdWU6ICdBUycgfSxcbiAgICAgIHsgbGFiZWw6ICdBbnRhcmN0aWNhJywgdmFsdWU6ICdBUScgfSxcbiAgICAgIHsgbGFiZWw6ICdGcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kcycsIHZhbHVlOiAnVEYnIH0sXG4gICAgICB7IGxhYmVsOiAnQW50aWd1YSBhbmQgQmFyYnVkYScsIHZhbHVlOiAnQUcnIH0sXG4gICAgICB7IGxhYmVsOiAnQXVzdHJhbGlhJywgdmFsdWU6ICdBVScgfSxcbiAgICAgIHsgbGFiZWw6ICdBdXN0cmlhJywgdmFsdWU6ICdBVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdBemVyYmFpamFuJywgdmFsdWU6ICdBWicgfSxcbiAgICAgIHsgbGFiZWw6ICdCdXJ1bmRpJywgdmFsdWU6ICdCSScgfSxcbiAgICAgIHsgbGFiZWw6ICdCZWxnaXVtJywgdmFsdWU6ICdCRScgfSxcbiAgICAgIHsgbGFiZWw6ICdCZW5pbicsIHZhbHVlOiAnQkonIH0sXG4gICAgICB7IGxhYmVsOiAnQnVya2luYSBGYXNvJywgdmFsdWU6ICdCRicgfSxcbiAgICAgIHsgbGFiZWw6ICdCYW5nbGFkZXNoJywgdmFsdWU6ICdCRCcgfSxcbiAgICAgIHsgbGFiZWw6ICdCdWxnYXJpYScsIHZhbHVlOiAnQkcnIH0sXG4gICAgICB7IGxhYmVsOiAnQmFocmFpbicsIHZhbHVlOiAnQkgnIH0sXG4gICAgICB7IGxhYmVsOiAnQmFoYW1hcycsIHZhbHVlOiAnQlMnIH0sXG4gICAgICB7IGxhYmVsOiAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScsIHZhbHVlOiAnQkEnIH0sXG4gICAgICB7IGxhYmVsOiAnU2FpbnQgQmFydGjDqWxlbXknLCB2YWx1ZTogJ0JMJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IEhlbGVuYSwgQXNjZW5zaW9uIGFuZCBUcmlzdGFuIGRhIEN1bmhhJywgdmFsdWU6ICdTSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdCZWxhcnVzJywgdmFsdWU6ICdCWScgfSxcbiAgICAgIHsgbGFiZWw6ICdCZWxpemUnLCB2YWx1ZTogJ0JaJyB9LFxuICAgICAgeyBsYWJlbDogJ0Jlcm11ZGEnLCB2YWx1ZTogJ0JNJyB9LFxuICAgICAgeyBsYWJlbDogJ0JvbGl2aWEnLCB2YWx1ZTogJ0JPJyB9LFxuICAgICAgeyBsYWJlbDogJ0NhcmliYmVhbiBOZXRoZXJsYW5kcycsIHZhbHVlOiAnQlEnIH0sXG4gICAgICB7IGxhYmVsOiAnQnJhemlsJywgdmFsdWU6ICdCUicgfSxcbiAgICAgIHsgbGFiZWw6ICdCYXJiYWRvcycsIHZhbHVlOiAnQkInIH0sXG4gICAgICB7IGxhYmVsOiAnQnJ1bmVpJywgdmFsdWU6ICdCTicgfSxcbiAgICAgIHsgbGFiZWw6ICdCaHV0YW4nLCB2YWx1ZTogJ0JUJyB9LFxuICAgICAgeyBsYWJlbDogJ0JvdXZldCBJc2xhbmQnLCB2YWx1ZTogJ0JWJyB9LFxuICAgICAgeyBsYWJlbDogJ0JvdHN3YW5hJywgdmFsdWU6ICdCVycgfSxcbiAgICAgIHsgbGFiZWw6ICdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnLCB2YWx1ZTogJ0NGJyB9LFxuICAgICAgeyBsYWJlbDogJ0NhbmFkYScsIHZhbHVlOiAnQ0EnIH0sXG4gICAgICB7IGxhYmVsOiAnQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMnLCB2YWx1ZTogJ0NDJyB9LFxuICAgICAgeyBsYWJlbDogJ1N3aXR6ZXJsYW5kJywgdmFsdWU6ICdDSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdDaGlsZScsIHZhbHVlOiAnQ0wnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2hpbmEnLCB2YWx1ZTogJ0NOJyB9LFxuICAgICAgeyBsYWJlbDogJ0l2b3J5IENvYXN0JywgdmFsdWU6ICdDSScgfSxcbiAgICAgIHsgbGFiZWw6ICdDYW1lcm9vbicsIHZhbHVlOiAnQ00nIH0sXG4gICAgICB7IGxhYmVsOiAnRFIgQ29uZ28nLCB2YWx1ZTogJ0NEJyB9LFxuICAgICAgeyBsYWJlbDogJ1JlcHVibGljIG9mIHRoZSBDb25nbycsIHZhbHVlOiAnQ0cnIH0sXG4gICAgICB7IGxhYmVsOiAnQ29vayBJc2xhbmRzJywgdmFsdWU6ICdDSycgfSxcbiAgICAgIHsgbGFiZWw6ICdDb2xvbWJpYScsIHZhbHVlOiAnQ08nIH0sXG4gICAgICB7IGxhYmVsOiAnQ29tb3JvcycsIHZhbHVlOiAnS00nIH0sXG4gICAgICB7IGxhYmVsOiAnQ2FwZSBWZXJkZScsIHZhbHVlOiAnQ1YnIH0sXG4gICAgICB7IGxhYmVsOiAnQ29zdGEgUmljYScsIHZhbHVlOiAnQ1InIH0sXG4gICAgICB7IGxhYmVsOiAnQ3ViYScsIHZhbHVlOiAnQ1UnIH0sXG4gICAgICB7IGxhYmVsOiAnQ3VyYcOnYW8nLCB2YWx1ZTogJ0NXJyB9LFxuICAgICAgeyBsYWJlbDogJ0NocmlzdG1hcyBJc2xhbmQnLCB2YWx1ZTogJ0NYJyB9LFxuICAgICAgeyBsYWJlbDogJ0NheW1hbiBJc2xhbmRzJywgdmFsdWU6ICdLWScgfSxcbiAgICAgIHsgbGFiZWw6ICdDeXBydXMnLCB2YWx1ZTogJ0NZJyB9LFxuICAgICAgeyBsYWJlbDogJ0N6ZWNoaWEnLCB2YWx1ZTogJ0NaJyB9LFxuICAgICAgeyBsYWJlbDogJ0dlcm1hbnknLCB2YWx1ZTogJ0RFJyB9LFxuICAgICAgeyBsYWJlbDogJ0RqaWJvdXRpJywgdmFsdWU6ICdESicgfSxcbiAgICAgIHsgbGFiZWw6ICdEb21pbmljYScsIHZhbHVlOiAnRE0nIH0sXG4gICAgICB7IGxhYmVsOiAnRGVubWFyaycsIHZhbHVlOiAnREsnIH0sXG4gICAgICB7IGxhYmVsOiAnRG9taW5pY2FuIFJlcHVibGljJywgdmFsdWU6ICdETycgfSxcbiAgICAgIHsgbGFiZWw6ICdBbGdlcmlhJywgdmFsdWU6ICdEWicgfSxcbiAgICAgIHsgbGFiZWw6ICdFY3VhZG9yJywgdmFsdWU6ICdFQycgfSxcbiAgICAgIHsgbGFiZWw6ICdFZ3lwdCcsIHZhbHVlOiAnRUcnIH0sXG4gICAgICB7IGxhYmVsOiAnRXJpdHJlYScsIHZhbHVlOiAnRVInIH0sXG4gICAgICB7IGxhYmVsOiAnV2VzdGVybiBTYWhhcmEnLCB2YWx1ZTogJ0VIJyB9LFxuICAgICAgeyBsYWJlbDogJ1NwYWluJywgdmFsdWU6ICdFUycgfSxcbiAgICAgIHsgbGFiZWw6ICdFc3RvbmlhJywgdmFsdWU6ICdFRScgfSxcbiAgICAgIHsgbGFiZWw6ICdFdGhpb3BpYScsIHZhbHVlOiAnRVQnIH0sXG4gICAgICB7IGxhYmVsOiAnRmlubGFuZCcsIHZhbHVlOiAnRkknIH0sXG4gICAgICB7IGxhYmVsOiAnRmlqaScsIHZhbHVlOiAnRkonIH0sXG4gICAgICB7IGxhYmVsOiAnRmFsa2xhbmQgSXNsYW5kcycsIHZhbHVlOiAnRksnIH0sXG4gICAgICB7IGxhYmVsOiAnRnJhbmNlJywgdmFsdWU6ICdGUicgfSxcbiAgICAgIHsgbGFiZWw6ICdGYXJvZSBJc2xhbmRzJywgdmFsdWU6ICdGTycgfSxcbiAgICAgIHsgbGFiZWw6ICdNaWNyb25lc2lhJywgdmFsdWU6ICdGTScgfSxcbiAgICAgIHsgbGFiZWw6ICdHYWJvbicsIHZhbHVlOiAnR0EnIH0sXG4gICAgICB7IGxhYmVsOiAnVW5pdGVkIEtpbmdkb20nLCB2YWx1ZTogJ0dCJyB9LFxuICAgICAgeyBsYWJlbDogJ0dlb3JnaWEnLCB2YWx1ZTogJ0dFJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1ZXJuc2V5JywgdmFsdWU6ICdHRycgfSxcbiAgICAgIHsgbGFiZWw6ICdHaGFuYScsIHZhbHVlOiAnR0gnIH0sXG4gICAgICB7IGxhYmVsOiAnR2licmFsdGFyJywgdmFsdWU6ICdHSScgfSxcbiAgICAgIHsgbGFiZWw6ICdHdWluZWEnLCB2YWx1ZTogJ0dOJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1YWRlbG91cGUnLCB2YWx1ZTogJ0dQJyB9LFxuICAgICAgeyBsYWJlbDogJ0dhbWJpYScsIHZhbHVlOiAnR00nIH0sXG4gICAgICB7IGxhYmVsOiAnR3VpbmVhLUJpc3NhdScsIHZhbHVlOiAnR1cnIH0sXG4gICAgICB7IGxhYmVsOiAnRXF1YXRvcmlhbCBHdWluZWEnLCB2YWx1ZTogJ0dRJyB9LFxuICAgICAgeyBsYWJlbDogJ0dyZWVjZScsIHZhbHVlOiAnR1InIH0sXG4gICAgICB7IGxhYmVsOiAnR3JlbmFkYScsIHZhbHVlOiAnR0QnIH0sXG4gICAgICB7IGxhYmVsOiAnR3JlZW5sYW5kJywgdmFsdWU6ICdHTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdHdWF0ZW1hbGEnLCB2YWx1ZTogJ0dUJyB9LFxuICAgICAgeyBsYWJlbDogJ0ZyZW5jaCBHdWlhbmEnLCB2YWx1ZTogJ0dGJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1YW0nLCB2YWx1ZTogJ0dVJyB9LFxuICAgICAgeyBsYWJlbDogJ0d1eWFuYScsIHZhbHVlOiAnR1knIH0sXG4gICAgICB7IGxhYmVsOiAnSG9uZyBLb25nJywgdmFsdWU6ICdISycgfSxcbiAgICAgIHsgbGFiZWw6ICdIZWFyZCBJc2xhbmQgYW5kIE1jRG9uYWxkIElzbGFuZHMnLCB2YWx1ZTogJ0hNJyB9LFxuICAgICAgeyBsYWJlbDogJ0hvbmR1cmFzJywgdmFsdWU6ICdITicgfSxcbiAgICAgIHsgbGFiZWw6ICdDcm9hdGlhJywgdmFsdWU6ICdIUicgfSxcbiAgICAgIHsgbGFiZWw6ICdIYWl0aScsIHZhbHVlOiAnSFQnIH0sXG4gICAgICB7IGxhYmVsOiAnSHVuZ2FyeScsIHZhbHVlOiAnSFUnIH0sXG4gICAgICB7IGxhYmVsOiAnSW5kb25lc2lhJywgdmFsdWU6ICdJRCcgfSxcbiAgICAgIHsgbGFiZWw6ICdJc2xlIG9mIE1hbicsIHZhbHVlOiAnSU0nIH0sXG4gICAgICB7IGxhYmVsOiAnSW5kaWEnLCB2YWx1ZTogJ0lOJyB9LFxuICAgICAgeyBsYWJlbDogJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScsIHZhbHVlOiAnSU8nIH0sXG4gICAgICB7IGxhYmVsOiAnSXJlbGFuZCcsIHZhbHVlOiAnSUUnIH0sXG4gICAgICB7IGxhYmVsOiAnSXJhbicsIHZhbHVlOiAnSVInIH0sXG4gICAgICB7IGxhYmVsOiAnSXJhcScsIHZhbHVlOiAnSVEnIH0sXG4gICAgICB7IGxhYmVsOiAnSWNlbGFuZCcsIHZhbHVlOiAnSVMnIH0sXG4gICAgICB7IGxhYmVsOiAnSXNyYWVsJywgdmFsdWU6ICdJTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdJdGFseScsIHZhbHVlOiAnSVQnIH0sXG4gICAgICB7IGxhYmVsOiAnSmFtYWljYScsIHZhbHVlOiAnSk0nIH0sXG4gICAgICB7IGxhYmVsOiAnSmVyc2V5JywgdmFsdWU6ICdKRScgfSxcbiAgICAgIHsgbGFiZWw6ICdKb3JkYW4nLCB2YWx1ZTogJ0pPJyB9LFxuICAgICAgeyBsYWJlbDogJ0phcGFuJywgdmFsdWU6ICdKUCcgfSxcbiAgICAgIHsgbGFiZWw6ICdLYXpha2hzdGFuJywgdmFsdWU6ICdLWicgfSxcbiAgICAgIHsgbGFiZWw6ICdLZW55YScsIHZhbHVlOiAnS0UnIH0sXG4gICAgICB7IGxhYmVsOiAnS3lyZ3l6c3RhbicsIHZhbHVlOiAnS0cnIH0sXG4gICAgICB7IGxhYmVsOiAnQ2FtYm9kaWEnLCB2YWx1ZTogJ0tIJyB9LFxuICAgICAgeyBsYWJlbDogJ0tpcmliYXRpJywgdmFsdWU6ICdLSScgfSxcbiAgICAgIHsgbGFiZWw6ICdTYWludCBLaXR0cyBhbmQgTmV2aXMnLCB2YWx1ZTogJ0tOJyB9LFxuICAgICAgeyBsYWJlbDogJ1NvdXRoIEtvcmVhJywgdmFsdWU6ICdLUicgfSxcbiAgICAgIHsgbGFiZWw6ICdLdXdhaXQnLCB2YWx1ZTogJ0tXJyB9LFxuICAgICAgeyBsYWJlbDogJ0xhb3MnLCB2YWx1ZTogJ0xBJyB9LFxuICAgICAgeyBsYWJlbDogJ0xlYmFub24nLCB2YWx1ZTogJ0xCJyB9LFxuICAgICAgeyBsYWJlbDogJ0xpYmVyaWEnLCB2YWx1ZTogJ0xSJyB9LFxuICAgICAgeyBsYWJlbDogJ0xpYnlhJywgdmFsdWU6ICdMWScgfSxcbiAgICAgIHsgbGFiZWw6ICdTYWludCBMdWNpYScsIHZhbHVlOiAnTEMnIH0sXG4gICAgICB7IGxhYmVsOiAnTGllY2h0ZW5zdGVpbicsIHZhbHVlOiAnTEknIH0sXG4gICAgICB7IGxhYmVsOiAnU3JpIExhbmthJywgdmFsdWU6ICdMSycgfSxcbiAgICAgIHsgbGFiZWw6ICdMZXNvdGhvJywgdmFsdWU6ICdMUycgfSxcbiAgICAgIHsgbGFiZWw6ICdMaXRodWFuaWEnLCB2YWx1ZTogJ0xUJyB9LFxuICAgICAgeyBsYWJlbDogJ0x1eGVtYm91cmcnLCB2YWx1ZTogJ0xVJyB9LFxuICAgICAgeyBsYWJlbDogJ0xhdHZpYScsIHZhbHVlOiAnTFYnIH0sXG4gICAgICB7IGxhYmVsOiAnTWFjYXUnLCB2YWx1ZTogJ01PJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IE1hcnRpbicsIHZhbHVlOiAnTUYnIH0sXG4gICAgICB7IGxhYmVsOiAnTW9yb2NjbycsIHZhbHVlOiAnTUEnIH0sXG4gICAgICB7IGxhYmVsOiAnTW9uYWNvJywgdmFsdWU6ICdNQycgfSxcbiAgICAgIHsgbGFiZWw6ICdNb2xkb3ZhJywgdmFsdWU6ICdNRCcgfSxcbiAgICAgIHsgbGFiZWw6ICdNYWRhZ2FzY2FyJywgdmFsdWU6ICdNRycgfSxcbiAgICAgIHsgbGFiZWw6ICdNYWxkaXZlcycsIHZhbHVlOiAnTVYnIH0sXG4gICAgICB7IGxhYmVsOiAnTWV4aWNvJywgdmFsdWU6ICdNWCcgfSxcbiAgICAgIHsgbGFiZWw6ICdNYXJzaGFsbCBJc2xhbmRzJywgdmFsdWU6ICdNSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdNYWNlZG9uaWEnLCB2YWx1ZTogJ01LJyB9LFxuICAgICAgeyBsYWJlbDogJ01hbGknLCB2YWx1ZTogJ01MJyB9LFxuICAgICAgeyBsYWJlbDogJ01hbHRhJywgdmFsdWU6ICdNVCcgfSxcbiAgICAgIHsgbGFiZWw6ICdNeWFubWFyJywgdmFsdWU6ICdNTScgfSxcbiAgICAgIHsgbGFiZWw6ICdNb250ZW5lZ3JvJywgdmFsdWU6ICdNRScgfSxcbiAgICAgIHsgbGFiZWw6ICdNb25nb2xpYScsIHZhbHVlOiAnTU4nIH0sXG4gICAgICB7IGxhYmVsOiAnTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJywgdmFsdWU6ICdNUCcgfSxcbiAgICAgIHsgbGFiZWw6ICdNb3phbWJpcXVlJywgdmFsdWU6ICdNWicgfSxcbiAgICAgIHsgbGFiZWw6ICdNYXVyaXRhbmlhJywgdmFsdWU6ICdNUicgfSxcbiAgICAgIHsgbGFiZWw6ICdNb250c2VycmF0JywgdmFsdWU6ICdNUycgfSxcbiAgICAgIHsgbGFiZWw6ICdNYXJ0aW5pcXVlJywgdmFsdWU6ICdNUScgfSxcbiAgICAgIHsgbGFiZWw6ICdNYXVyaXRpdXMnLCB2YWx1ZTogJ01VJyB9LFxuICAgICAgeyBsYWJlbDogJ01hbGF3aScsIHZhbHVlOiAnTVcnIH0sXG4gICAgICB7IGxhYmVsOiAnTWFsYXlzaWEnLCB2YWx1ZTogJ01ZJyB9LFxuICAgICAgeyBsYWJlbDogJ01heW90dGUnLCB2YWx1ZTogJ1lUJyB9LFxuICAgICAgeyBsYWJlbDogJ05hbWliaWEnLCB2YWx1ZTogJ05BJyB9LFxuICAgICAgeyBsYWJlbDogJ05ldyBDYWxlZG9uaWEnLCB2YWx1ZTogJ05DJyB9LFxuICAgICAgeyBsYWJlbDogJ05pZ2VyJywgdmFsdWU6ICdORScgfSxcbiAgICAgIHsgbGFiZWw6ICdOb3Jmb2xrIElzbGFuZCcsIHZhbHVlOiAnTkYnIH0sXG4gICAgICB7IGxhYmVsOiAnTmlnZXJpYScsIHZhbHVlOiAnTkcnIH0sXG4gICAgICB7IGxhYmVsOiAnTmljYXJhZ3VhJywgdmFsdWU6ICdOSScgfSxcbiAgICAgIHsgbGFiZWw6ICdOaXVlJywgdmFsdWU6ICdOVScgfSxcbiAgICAgIHsgbGFiZWw6ICdOZXRoZXJsYW5kcycsIHZhbHVlOiAnTkwnIH0sXG4gICAgICB7IGxhYmVsOiAnTm9yd2F5JywgdmFsdWU6ICdOTycgfSxcbiAgICAgIHsgbGFiZWw6ICdOZXBhbCcsIHZhbHVlOiAnTlAnIH0sXG4gICAgICB7IGxhYmVsOiAnTmF1cnUnLCB2YWx1ZTogJ05SJyB9LFxuICAgICAgeyBsYWJlbDogJ05ldyBaZWFsYW5kJywgdmFsdWU6ICdOWicgfSxcbiAgICAgIHsgbGFiZWw6ICdPbWFuJywgdmFsdWU6ICdPTScgfSxcbiAgICAgIHsgbGFiZWw6ICdQYWtpc3RhbicsIHZhbHVlOiAnUEsnIH0sXG4gICAgICB7IGxhYmVsOiAnUGFuYW1hJywgdmFsdWU6ICdQQScgfSxcbiAgICAgIHsgbGFiZWw6ICdQaXRjYWlybiBJc2xhbmRzJywgdmFsdWU6ICdQTicgfSxcbiAgICAgIHsgbGFiZWw6ICdQZXJ1JywgdmFsdWU6ICdQRScgfSxcbiAgICAgIHsgbGFiZWw6ICdQaGlsaXBwaW5lcycsIHZhbHVlOiAnUEgnIH0sXG4gICAgICB7IGxhYmVsOiAnUGFsYXUnLCB2YWx1ZTogJ1BXJyB9LFxuICAgICAgeyBsYWJlbDogJ1BhcHVhIE5ldyBHdWluZWEnLCB2YWx1ZTogJ1BHJyB9LFxuICAgICAgeyBsYWJlbDogJ1BvbGFuZCcsIHZhbHVlOiAnUEwnIH0sXG4gICAgICB7IGxhYmVsOiAnUHVlcnRvIFJpY28nLCB2YWx1ZTogJ1BSJyB9LFxuICAgICAgeyBsYWJlbDogJ05vcnRoIEtvcmVhJywgdmFsdWU6ICdLUCcgfSxcbiAgICAgIHsgbGFiZWw6ICdQb3J0dWdhbCcsIHZhbHVlOiAnUFQnIH0sXG4gICAgICB7IGxhYmVsOiAnUGFyYWd1YXknLCB2YWx1ZTogJ1BZJyB9LFxuICAgICAgeyBsYWJlbDogJ1BhbGVzdGluZScsIHZhbHVlOiAnUFMnIH0sXG4gICAgICB7IGxhYmVsOiAnRnJlbmNoIFBvbHluZXNpYScsIHZhbHVlOiAnUEYnIH0sXG4gICAgICB7IGxhYmVsOiAnUWF0YXInLCB2YWx1ZTogJ1FBJyB9LFxuICAgICAgeyBsYWJlbDogJ1LDqXVuaW9uJywgdmFsdWU6ICdSRScgfSxcbiAgICAgIHsgbGFiZWw6ICdSb21hbmlhJywgdmFsdWU6ICdSTycgfSxcbiAgICAgIHsgbGFiZWw6ICdSdXNzaWEnLCB2YWx1ZTogJ1JVJyB9LFxuICAgICAgeyBsYWJlbDogJ1J3YW5kYScsIHZhbHVlOiAnUlcnIH0sXG4gICAgICB7IGxhYmVsOiAnU2F1ZGkgQXJhYmlhJywgdmFsdWU6ICdTQScgfSxcbiAgICAgIHsgbGFiZWw6ICdTdWRhbicsIHZhbHVlOiAnU0QnIH0sXG4gICAgICB7IGxhYmVsOiAnU2VuZWdhbCcsIHZhbHVlOiAnU04nIH0sXG4gICAgICB7IGxhYmVsOiAnU2luZ2Fwb3JlJywgdmFsdWU6ICdTRycgfSxcbiAgICAgIHsgbGFiZWw6ICdTb3V0aCBHZW9yZ2lhJywgdmFsdWU6ICdHUycgfSxcbiAgICAgIHsgbGFiZWw6ICdTdmFsYmFyZCBhbmQgSmFuIE1heWVuJywgdmFsdWU6ICdTSicgfSxcbiAgICAgIHsgbGFiZWw6ICdTb2xvbW9uIElzbGFuZHMnLCB2YWx1ZTogJ1NCJyB9LFxuICAgICAgeyBsYWJlbDogJ1NpZXJyYSBMZW9uZScsIHZhbHVlOiAnU0wnIH0sXG4gICAgICB7IGxhYmVsOiAnRWwgU2FsdmFkb3InLCB2YWx1ZTogJ1NWJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhbiBNYXJpbm8nLCB2YWx1ZTogJ1NNJyB9LFxuICAgICAgeyBsYWJlbDogJ1NvbWFsaWEnLCB2YWx1ZTogJ1NPJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24nLCB2YWx1ZTogJ1BNJyB9LFxuICAgICAgeyBsYWJlbDogJ1NlcmJpYScsIHZhbHVlOiAnUlMnIH0sXG4gICAgICB7IGxhYmVsOiAnU291dGggU3VkYW4nLCB2YWx1ZTogJ1NTJyB9LFxuICAgICAgeyBsYWJlbDogJ1PDo28gVG9tw6kgYW5kIFByw61uY2lwZScsIHZhbHVlOiAnU1QnIH0sXG4gICAgICB7IGxhYmVsOiAnU3VyaW5hbWUnLCB2YWx1ZTogJ1NSJyB9LFxuICAgICAgeyBsYWJlbDogJ1Nsb3Zha2lhJywgdmFsdWU6ICdTSycgfSxcbiAgICAgIHsgbGFiZWw6ICdTbG92ZW5pYScsIHZhbHVlOiAnU0knIH0sXG4gICAgICB7IGxhYmVsOiAnU3dlZGVuJywgdmFsdWU6ICdTRScgfSxcbiAgICAgIHsgbGFiZWw6ICdTd2F6aWxhbmQnLCB2YWx1ZTogJ1NaJyB9LFxuICAgICAgeyBsYWJlbDogJ1NleWNoZWxsZXMnLCB2YWx1ZTogJ1NDJyB9LFxuICAgICAgeyBsYWJlbDogJ1N5cmlhJywgdmFsdWU6ICdTWScgfSxcbiAgICAgIHsgbGFiZWw6ICdUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMnLCB2YWx1ZTogJ1RDJyB9LFxuICAgICAgeyBsYWJlbDogJ0NoYWQnLCB2YWx1ZTogJ1REJyB9LFxuICAgICAgeyBsYWJlbDogJ1RvZ28nLCB2YWx1ZTogJ1RHJyB9LFxuICAgICAgeyBsYWJlbDogJ1RoYWlsYW5kJywgdmFsdWU6ICdUSCcgfSxcbiAgICAgIHsgbGFiZWw6ICdUYWppa2lzdGFuJywgdmFsdWU6ICdUSicgfSxcbiAgICAgIHsgbGFiZWw6ICdUb2tlbGF1JywgdmFsdWU6ICdUSycgfSxcbiAgICAgIHsgbGFiZWw6ICdUdXJrbWVuaXN0YW4nLCB2YWx1ZTogJ1RNJyB9LFxuICAgICAgeyBsYWJlbDogJ1RpbW9yLUxlc3RlJywgdmFsdWU6ICdUTCcgfSxcbiAgICAgIHsgbGFiZWw6ICdUb25nYScsIHZhbHVlOiAnVE8nIH0sXG4gICAgICB7IGxhYmVsOiAnVHJpbmlkYWQgYW5kIFRvYmFnbycsIHZhbHVlOiAnVFQnIH0sXG4gICAgICB7IGxhYmVsOiAnVHVuaXNpYScsIHZhbHVlOiAnVE4nIH0sXG4gICAgICB7IGxhYmVsOiAnVHVya2V5JywgdmFsdWU6ICdUUicgfSxcbiAgICAgIHsgbGFiZWw6ICdUdXZhbHUnLCB2YWx1ZTogJ1RWJyB9LFxuICAgICAgeyBsYWJlbDogJ1RhaXdhbicsIHZhbHVlOiAnVFcnIH0sXG4gICAgICB7IGxhYmVsOiAnVGFuemFuaWEnLCB2YWx1ZTogJ1RaJyB9LFxuICAgICAgeyBsYWJlbDogJ1VnYW5kYScsIHZhbHVlOiAnVUcnIH0sXG4gICAgICB7IGxhYmVsOiAnVWtyYWluZScsIHZhbHVlOiAnVUEnIH0sXG4gICAgICB7IGxhYmVsOiAnVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzJywgdmFsdWU6ICdVTScgfSxcbiAgICAgIHsgbGFiZWw6ICdVcnVndWF5JywgdmFsdWU6ICdVWScgfSxcbiAgICAgIHsgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJywgdmFsdWU6ICdVUycgfSxcbiAgICAgIHsgbGFiZWw6ICdVemJla2lzdGFuJywgdmFsdWU6ICdVWicgfSxcbiAgICAgIHsgbGFiZWw6ICdWYXRpY2FuIENpdHknLCB2YWx1ZTogJ1ZBJyB9LFxuICAgICAgeyBsYWJlbDogJ1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJywgdmFsdWU6ICdWQycgfSxcbiAgICAgIHsgbGFiZWw6ICdWZW5lenVlbGEnLCB2YWx1ZTogJ1ZFJyB9LFxuICAgICAgeyBsYWJlbDogJ0JyaXRpc2ggVmlyZ2luIElzbGFuZHMnLCB2YWx1ZTogJ1ZHJyB9LFxuICAgICAgeyBsYWJlbDogJ1VuaXRlZCBTdGF0ZXMgVmlyZ2luIElzbGFuZHMnLCB2YWx1ZTogJ1ZJJyB9LFxuICAgICAgeyBsYWJlbDogJ1ZpZXRuYW0nLCB2YWx1ZTogJ1ZOJyB9LFxuICAgICAgeyBsYWJlbDogJ1ZhbnVhdHUnLCB2YWx1ZTogJ1ZVJyB9LFxuICAgICAgeyBsYWJlbDogJ1dhbGxpcyBhbmQgRnV0dW5hJywgdmFsdWU6ICdXRicgfSxcbiAgICAgIHsgbGFiZWw6ICdTYW1vYScsIHZhbHVlOiAnV1MnIH0sXG4gICAgICB7IGxhYmVsOiAnWWVtZW4nLCB2YWx1ZTogJ1lFJyB9LFxuICAgICAgeyBsYWJlbDogJ1NvdXRoIEFmcmljYScsIHZhbHVlOiAnWkEnIH0sXG4gICAgICB7IGxhYmVsOiAnWmFtYmlhJywgdmFsdWU6ICdaTScgfSxcbiAgICAgIHsgbGFiZWw6ICdaaW1iYWJ3ZScsIHZhbHVlOiAnWlcnIH0sXG4gICAgXTtcbiAgfVxuICBjb3VudHJ5TGlzdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgQUZHOiAnQUYnLFxuICAgICAgQUxCOiAnQUwnLFxuICAgICAgRFpBOiAnRFonLFxuICAgICAgQVNNOiAnQVMnLFxuICAgICAgQU5EOiAnQUQnLFxuICAgICAgQUdPOiAnQU8nLFxuICAgICAgQUlBOiAnQUknLFxuICAgICAgQVRHOiAnQUcnLFxuICAgICAgQVJHOiAnQVInLFxuICAgICAgQVJNOiAnQU0nLFxuICAgICAgQUJXOiAnQVcnLFxuICAgICAgQVVTOiAnQVUnLFxuICAgICAgQVVUOiAnQVQnLFxuICAgICAgQVpFOiAnQVonLFxuICAgICAgQkhTOiAnQlMnLFxuICAgICAgQkhSOiAnQkgnLFxuICAgICAgQkdEOiAnQkQnLFxuICAgICAgQlJCOiAnQkInLFxuICAgICAgQkxSOiAnQlknLFxuICAgICAgQkVMOiAnQkUnLFxuICAgICAgQkxaOiAnQlonLFxuICAgICAgQkVOOiAnQkonLFxuICAgICAgQk1VOiAnQk0nLFxuICAgICAgQlROOiAnQlQnLFxuICAgICAgQk9MOiAnQk8nLFxuICAgICAgQklIOiAnQkEnLFxuICAgICAgQldBOiAnQlcnLFxuICAgICAgQlJBOiAnQlInLFxuICAgICAgVkdCOiAnVkcnLFxuICAgICAgQlJOOiAnQk4nLFxuICAgICAgQkdSOiAnQkcnLFxuICAgICAgQkZBOiAnQkYnLFxuICAgICAgQkRJOiAnQkknLFxuICAgICAgS0hNOiAnS0gnLFxuICAgICAgQ01SOiAnQ00nLFxuICAgICAgQ0FOOiAnQ0EnLFxuICAgICAgQ1BWOiAnQ1YnLFxuICAgICAgQ0FGOiAnQ0YnLFxuICAgICAgVENEOiAnVEQnLFxuICAgICAgQ0hMOiAnQ0wnLFxuICAgICAgQ0hOOiAnQ04nLFxuICAgICAgSEtHOiAnSEsnLFxuICAgICAgTUFDOiAnTU8nLFxuICAgICAgQ09MOiAnQ08nLFxuICAgICAgQ09NOiAnS00nLFxuICAgICAgQ09HOiAnQ0cnLFxuICAgICAgQ1JJOiAnQ1InLFxuICAgICAgQ0lWOiAnQ0knLFxuICAgICAgSFJWOiAnSFInLFxuICAgICAgQ1VCOiAnQ1UnLFxuICAgICAgQ1lQOiAnQ1knLFxuICAgICAgQ1pFOiAnQ1onLFxuICAgICAgRE5LOiAnREsnLFxuICAgICAgREpJOiAnREonLFxuICAgICAgRE1BOiAnRE0nLFxuICAgICAgRE9NOiAnRE8nLFxuICAgICAgRUNVOiAnRUMnLFxuICAgICAgRUdZOiAnRUcnLFxuICAgICAgU0xWOiAnU1YnLFxuICAgICAgR05ROiAnR1EnLFxuICAgICAgRVJJOiAnRVInLFxuICAgICAgRVNUOiAnRUUnLFxuICAgICAgRVRIOiAnRVQnLFxuICAgICAgRlJPOiAnRk8nLFxuICAgICAgRkpJOiAnRkonLFxuICAgICAgRklOOiAnRkknLFxuICAgICAgRlJBOiAnRlInLFxuICAgICAgR1VGOiAnR0YnLFxuICAgICAgUFlGOiAnUEYnLFxuICAgICAgR0FCOiAnR0EnLFxuICAgICAgR01COiAnR00nLFxuICAgICAgR0VPOiAnR0UnLFxuICAgICAgREVVOiAnREUnLFxuICAgICAgR0hBOiAnR0gnLFxuICAgICAgR1JDOiAnR1InLFxuICAgICAgR1JMOiAnR0wnLFxuICAgICAgR1JEOiAnR0QnLFxuICAgICAgR0xQOiAnR1AnLFxuICAgICAgR1VNOiAnR1UnLFxuICAgICAgR1RNOiAnR1QnLFxuICAgICAgR05COiAnR1cnLFxuICAgICAgSFRJOiAnSFQnLFxuICAgICAgSE5EOiAnSE4nLFxuICAgICAgSVNMOiAnSVMnLFxuICAgICAgSUROOiAnSUQnLFxuICAgICAgSVJROiAnSVEnLFxuICAgICAgSVRBOiAnSVQnLFxuICAgICAgSlBOOiAnSlAnLFxuICAgICAgSk9SOiAnSk8nLFxuICAgICAgS0FaOiAnS1onLFxuICAgICAgS0VOOiAnS0UnLFxuICAgICAgS0lSOiAnS0knLFxuICAgICAgUFJLOiAnS1AnLFxuICAgICAgS09SOiAnS1InLFxuICAgICAgS1dUOiAnS1cnLFxuICAgICAgS0daOiAnS0cnLFxuICAgICAgTEFPOiAnTEEnLFxuICAgICAgTFZBOiAnTFYnLFxuICAgICAgTEJOOiAnTEInLFxuICAgICAgTFNPOiAnTFMnLFxuICAgICAgTEJSOiAnTFInLFxuICAgICAgTEJZOiAnTFknLFxuICAgICAgTElFOiAnTEknLFxuICAgICAgTFRVOiAnTFQnLFxuICAgICAgTFVYOiAnTFUnLFxuICAgICAgTURHOiAnTUcnLFxuICAgICAgTVdJOiAnTVcnLFxuICAgICAgTVlTOiAnTVknLFxuICAgICAgTURWOiAnTVYnLFxuICAgICAgTUxJOiAnTUwnLFxuICAgICAgTUxUOiAnTVQnLFxuICAgICAgTUhMOiAnTUgnLFxuICAgICAgTVRROiAnTVEnLFxuICAgICAgTVJUOiAnTVInLFxuICAgICAgTVVTOiAnTVUnLFxuICAgICAgTUVYOiAnTVgnLFxuICAgICAgRlNNOiAnRk0nLFxuICAgICAgTURBOiAnTUQnLFxuICAgICAgTUNPOiAnTUMnLFxuICAgICAgTU5HOiAnTU4nLFxuICAgICAgTU5FOiAnTUUnLFxuICAgICAgTVNSOiAnTVMnLFxuICAgICAgTUFSOiAnTUEnLFxuICAgICAgTU9aOiAnTVonLFxuICAgICAgTU1SOiAnTU0nLFxuICAgICAgTkFNOiAnTkEnLFxuICAgICAgTlJVOiAnTlInLFxuICAgICAgTlBMOiAnTlAnLFxuICAgICAgTkxEOiAnTkwnLFxuICAgICAgQU5UOiAnQU4nLFxuICAgICAgTkNMOiAnTkMnLFxuICAgICAgTlpMOiAnTlonLFxuICAgICAgTklDOiAnTkknLFxuICAgICAgTkVSOiAnTkUnLFxuICAgICAgTkdBOiAnTkcnLFxuICAgICAgTU5QOiAnTVAnLFxuICAgICAgTk9SOiAnTk8nLFxuICAgICAgT01OOiAnT00nLFxuICAgICAgUEFLOiAnUEsnLFxuICAgICAgUExXOiAnUFcnLFxuICAgICAgUFNFOiAnUFMnLFxuICAgICAgUEFOOiAnUEEnLFxuICAgICAgUE5HOiAnUEcnLFxuICAgICAgUFJZOiAnUFknLFxuICAgICAgUEVSOiAnUEUnLFxuICAgICAgUEhMOiAnUEgnLFxuICAgICAgUENOOiAnUE4nLFxuICAgICAgUE9MOiAnUEwnLFxuICAgICAgUFJUOiAnUFQnLFxuICAgICAgUFJJOiAnUFInLFxuICAgICAgUUFUOiAnUUEnLFxuICAgICAgUkVVOiAnUkUnLFxuICAgICAgUk9VOiAnUk8nLFxuICAgICAgUlVTOiAnUlUnLFxuICAgICAgUldBOiAnUlcnLFxuICAgICAgS05BOiAnS04nLFxuICAgICAgTENBOiAnTEMnLFxuICAgICAgVkNUOiAnVkMnLFxuICAgICAgV1NNOiAnV1MnLFxuICAgICAgU01SOiAnU00nLFxuICAgICAgU1RQOiAnU1QnLFxuICAgICAgU0FVOiAnU0EnLFxuICAgICAgU0VOOiAnU04nLFxuICAgICAgU1JCOiAnUlMnLFxuICAgICAgU1lDOiAnU0MnLFxuICAgICAgU0xFOiAnU0wnLFxuICAgICAgU0dQOiAnU0cnLFxuICAgICAgU1ZLOiAnU0snLFxuICAgICAgU1ZOOiAnU0knLFxuICAgICAgU0xCOiAnU0InLFxuICAgICAgU09NOiAnU08nLFxuICAgICAgWkFGOiAnWkEnLFxuICAgICAgRVNQOiAnRVMnLFxuICAgICAgTEtBOiAnTEsnLFxuICAgICAgU0ROOiAnU0QnLFxuICAgICAgU1VSOiAnU1InLFxuICAgICAgU1daOiAnU1onLFxuICAgICAgU1dFOiAnU0UnLFxuICAgICAgQ0hFOiAnQ0gnLFxuICAgICAgU1lSOiAnU1knLFxuICAgICAgVEpLOiAnVEonLFxuICAgICAgVFpBOiAnVFonLFxuICAgICAgVEhBOiAnVEgnLFxuICAgICAgVExTOiAnVEwnLFxuICAgICAgVEdPOiAnVEcnLFxuICAgICAgVE9OOiAnVE8nLFxuICAgICAgVFRPOiAnVFQnLFxuICAgICAgVFVOOiAnVE4nLFxuICAgICAgVFVSOiAnVFInLFxuICAgICAgVEtNOiAnVE0nLFxuICAgICAgVFVWOiAnVFYnLFxuICAgICAgVUdBOiAnVUcnLFxuICAgICAgVUtSOiAnVUEnLFxuICAgICAgQVJFOiAnQUUnLFxuICAgICAgR0JSOiAnR0InLFxuICAgICAgVVNBOiAnVVMnLFxuICAgICAgVVJZOiAnVVknLFxuICAgICAgVVpCOiAnVVonLFxuICAgICAgVlVUOiAnVlUnLFxuICAgICAgVkVOOiAnVkUnLFxuICAgICAgVk5NOiAnVk4nLFxuICAgICAgVklSOiAnVkknLFxuICAgICAgWUVNOiAnWUUnLFxuICAgICAgWk1COiAnWk0nLFxuICAgICAgWldFOiAnWlcnLFxuICAgIH07XG4gIH1cblxuICBnZXQgZmllbGRzKCk6IGFueSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnQmlydGggRGF0ZScsXG4gICAgICAgIGZvcm06ICdiaXJ0aERhdGUnLFxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0JpcnRoRGF0ZScsXG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIGtleTogJ0dpdmVuIE5hbWUnLFxuICAgICAgICBmb3JtOiAnZmlyc3ROYW1lJyxcbiAgICAgICAgdWNGaXJzdDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1haW46IHRydWUsXG4gICAgICAgIGJsYXN0S2V5OiAnTmFtZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdTdXJuYW1lJyxcbiAgICAgICAgZm9ybTogJ2xhc3ROYW1lJyxcbiAgICAgICAgdWNGaXJzdDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1haW46IHRydWUsXG4gICAgICAgIGJsYXN0S2V5OiAnU3VybmFtZScsXG4gICAgICB9LFxuXG4gICAgICB7XG4gICAgICAgIGtleTogJ1NleCcsXG4gICAgICAgIGZvcm06ICdnZW5kZXInLFxuICAgICAgICB0eXBlOiAnZ2VuZGVyJyxcbiAgICAgICAgbWFpbjogZmFsc2UsXG4gICAgICAgIGJsYXN0S2V5OiAnR2VuZGVyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0RvY3VtZW50IENsYXNzIE5hbWUnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ2RvY3VtZW50VHlwZScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ2RvY1R5cGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnRG9jdW1lbnQgTnVtYmVyJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGZvcm06ICdkb2N1bWVudE51bWJlcicsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0RvY3VtZW50TnVtYmVyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0lzc3VpbmcgU3RhdGUgQ29kZScsXG4gICAgICAgIHR5cGU6ICdjb3VudHJ5JyxcbiAgICAgICAgZm9ybTogJ2lzc3VlU3RhdGVDb2RlJyxcbiAgICAgICAgYmxhc3RLZXk6ICdDb3VudHJ5T2ZJc3N1ZScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnRXhwaXJhdGlvbiBEYXRlJyxcbiAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICBmb3JtOiAnZXhwaXJhdGlvbkRhdGUnLFxuICAgICAgICBibGFzdEtleTogJ0V4cGlyeURhdGUnLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0lzc3VlIERhdGUnLFxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIGZvcm06ICdpc3N1ZURhdGUnLFxuICAgICAgICBibGFzdEtleTogJ0lzc3VlZERhdGUnLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0JpcnRoIFBsYWNlJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGZvcm06ICdiaXJ0aFBsYWNlJyxcbiAgICAgICAgYmxhc3RLZXk6ICdQbGFjZU9mQmlydGgnLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0lzc3VpbmcgQXV0aG9yaXR5JyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGZvcm06ICdpc3N1aW5nUGxhY2UnLFxuICAgICAgICBibGFzdEtleTogJ0lzc3VpbmdBdXRob3JpdHknLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ05hdGlvbmFsaXR5IENvZGUnLFxuICAgICAgICB0eXBlOiAnY291bnRyeScsXG4gICAgICAgIGZvcm06ICduYXRpb25hbGl0eScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ05hdGlvbmFsaXR5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3N0cmVldDEnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ3N0cmVldDEnLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgICAgYmxhc3RLZXk6ICdBZGRyZXNzU3RyZWV0JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2NpdHknLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZm9ybTogJ2NpdHknLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgICAgYmxhc3RLZXk6ICdBZGRyZXNzQ2l0eScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdjb3VudHJ5JyxcbiAgICAgICAgdHlwZTogJ2NvdW50cnknLFxuICAgICAgICBmb3JtOiAnY291bnRyeScsXG4gICAgICAgIG1haW46IGZhbHNlLFxuICAgICAgICBibGFzdEtleTogJ0NvdW50cnknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnemlwJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGZvcm06ICd6aXAnLFxuICAgICAgICBtYWluOiBmYWxzZSxcbiAgICAgICAgYmxhc3RLZXk6ICdBZGRyZXNzWmlwJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuICBwYXJzZUJsYXN0KHJlc3VsdHM6IGFueSkge1xuICAgIGNvbnN0IGNvdW50cmllczogYW55ID0gdGhpcy5jb3VudHJ5TGlzdCgpO1xuICAgIGNvbnN0IGdlbmRlcnM6IGFueSA9IHRoaXMuZ2VuZGVyTGlzdCgpO1xuICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZmllbGRzO1xuXG4gICAgY29uc3QgdmFsaWRhdGVkQWRkcmVzc0ZpZWxkcyA9IFtcbiAgICAgICdBZGRyZXNzQ2l0eScsXG4gICAgICAnQWRkcmVzc1ppcCcsXG4gICAgICAnQWRkcmVzc0NvdW50eScsXG4gICAgICAnQWRkcmVzc1N0cmVldCcsXG4gICAgXS5maWx0ZXIoKGtleSkgPT4gcmVzdWx0c1trZXldLlZhbGlkYXRlZCk7XG5cbiAgICAvLyBpZiBubyBhZGRyZXNzIGlzIHZhbGlkYXRlZFxuICAgIGlmICh2YWxpZGF0ZWRBZGRyZXNzRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaWYgKHJlc3VsdHMuQWRkcmVzcy5WYWxpZGF0ZWQpIHtcbiAgICAgICAgcmVzdWx0cy5BZGRyZXNzU3RyZWV0ID0gcmVzdWx0cy5BZGRyZXNzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG91dCA9IGRhdGEubWFwKChpdG06IGFueSkgPT4ge1xuICAgICAgY29uc3QgcmVzID0gcmVzdWx0c1tpdG0uYmxhc3RLZXldO1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHJlcy5SZWNvbW1lbmRlZFZhbHVlIHx8ICcnO1xuXG4gICAgICAgIHN3aXRjaCAoaXRtLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgaXRtLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAoaXRtLnVjRmlyc3QpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgIGl0bS52YWx1ZSA9IG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICBpdG0udmFsdWUgPSB2YWx1ZSA/IG1vbWVudCh2YWx1ZSwgJ0RELk1NLllZWVknKS50b0RhdGUoKSA6IG51bGw7XG4gICAgICAgICAgICAvLyBpZiAodmFsdWUuaW5kZXhPZignL0RhdGUnKSA+PSAwKSB7XG4gICAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICAgICAgICAgIC8vICAgY29uc3QgdGltZXN0YW1wID0gdmFsdWUucmVwbGFjZSgvXFxEL2dtLCAnJyk7XG4gICAgICAgICAgICAvLyAgIC8vaXRtLnZhbHVlID0gbW9tZW50LnVuaXgodGltZXN0YW1wIC8gMTAwMCkudG9EYXRlKCk7XG4gICAgICAgICAgICAvLyAgIGl0bS52YWx1ZSA9IG1vbWVudChcbiAgICAgICAgICAgIC8vICAgICB0aW1lc3RhbXAgLSBtb21lbnQodGltZXN0YW1wLCAneCcpLnV0Y09mZnNldCgpICogNjAgKiAxMDAwLFxuICAgICAgICAgICAgLy8gICAgICd4JyxcbiAgICAgICAgICAgIC8vICAgKS50b0RhdGUoKTtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnY291bnRyeSc6XG4gICAgICAgICAgICBpdG0udmFsdWUgPSBjb3VudHJpZXNbdmFsdWVdIHx8IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdnZW5kZXInOlxuICAgICAgICAgICAgaXRtLnZhbHVlID0gZ2VuZGVyc1t2YWx1ZV0gfHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGl0bTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vZGVsOiBhbnkgPSB7fTtcblxuICAgIG91dC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGVsZW1lbnQpO1xuICAgICAgbW9kZWxbZWxlbWVudC5mb3JtXSA9IGVsZW1lbnQudmFsdWU7XG4gICAgfSk7XG5cbiAgICBtb2RlbC5kb2N1bWVudFR5cGUgPSByZXN1bHRzLk1ldGFkYXRhLkRvY3VtZW50VHlwZTtcblxuICAgIGNvbnNvbGUubG9nKG1vZGVsKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmaWVsZHM6IG91dCxcbiAgICAgIG1vZGVsLFxuICAgIH07XG4gIH1cblxuICBibGFzdFBvc3QoZGF0YTogYW55KSB7XG4gICAgLy8gY29uc3QgJHJlcXVlc3QgPSB0aGlzLmFwaS5odHRwLmdldCgnL2Fzc2V0cy9qc29uL2JsYXN0c2Nhbi5qc29uJyk7XG5cbiAgICBjb25zdCAkcmVxdWVzdCA9IHRoaXMuaHR0cC5wb3N0KHRoaXMuY29uZmlnLmV4dHJhY3Rpb25QYXRoLCBkYXRhKTtcblxuICAgIHJldHVybiAkcmVxdWVzdC5waXBlKFxuICAgICAgbWFwKChtOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG0uTWV0YWRhdGEgJiYgbS5NZXRhZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBtLk1ldGFkYXRhWzBdO1xuICAgICAgICAgIG0uRGF0YS5Db3VudHJ5ID0ge1xuICAgICAgICAgICAgUmVjb21tZW5kZWRWYWx1ZTogbWV0YWRhdGEuQ291bnRyeSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIG0uRGF0YS5NZXRhZGF0YSA9IG1ldGFkYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYmxvYlRvRGF0YVVybChmaWxlOiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25lcnJvciA9IChlcnIpID0+IG9icy5lcnJvcihlcnIpO1xuICAgICAgcmVhZGVyLm9uYWJvcnQgPSAoZXJyKSA9PiBvYnMuZXJyb3IoZXJyKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIG9icy5uZXh0KHJlYWRlci5yZXN1bHQpO1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiBvYnMuY29tcGxldGUoKTtcbiAgICAgIHJldHVybiByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19