@eui/showcase 16.2.4 → 16.2.5-snapshot-1697815040873

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.
@@ -186,7 +186,7 @@ export class DocPageComponent {
186
186
  const pathNameArray = pathName.split('/');
187
187
  const name = pathNameArray[pathNameArray.length - 1];
188
188
  let category = pathNameArray[pathNameArray.length - 2];
189
- let showcaseType = pathNameArray[pathNameArray.length - 3];
189
+ const showcaseType = pathNameArray[pathNameArray.length - 3];
190
190
  let protocolGen = protocol;
191
191
  let hostGen = host;
192
192
  if (host.indexOf('localhost') > -1) {
@@ -354,4 +354,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
354
354
  type: Directive,
355
355
  args: [{ selector: 'docPageTheming' }]
356
356
  }] });
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RvYy1wYWdlL2RvYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS9kb2MtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBRVQsZUFBZSxFQUNmLFVBQVUsRUFHVixpQkFBaUIsRUFDakIsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBVTNFLE1BQU0sT0FBTyxnQkFBZ0I7SUErRHpCLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFNBQTRCLEVBQzdCLFNBQXVCLEVBQ3RCLFFBQWtCO1FBSmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFoRXJCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsWUFBTyxHQUFHLElBQUksQ0FBQztRQWF4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBOEJaLGFB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Z0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNhZmVSZXNvdXJjZVVybCwgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERvY1NhbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zYW1wbGUvZG9jLXNhbXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zZWN0aW9uL2RvYy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlUYWJDb21wb25lbnQsIEV1aVRhYnNDb21wb25lbnQgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLXRhYnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1zaG93Y2FzZS1kb2MtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICdkb2MtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBpZDtcbiAgICBASW5wdXQoKSBsYWJlbDtcbiAgICBASW5wdXQoKSBzdWJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzTm90UmVhZHkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0RlcHJlY2F0ZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0xlZ2FjeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNvZGVGb2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBzaG93Y2FzZSA9ICd1eCc7XG4gICAgQElucHV0KCkgaXNOYXZpZ2F0aW9uVmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgaGFzQXBpID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBoYXNBMTF5ID0gdHJ1ZTtcblxuICAgIHN0YXRlVHlwZUNsYXNzO1xuICAgIHN0YXRlTGFiZWw7XG4gICAgY21wO1xuICAgIGZyYWdtZW50SWQ7XG4gICAgY21wTW9kdWxlSW1wb3J0O1xuICAgIGFwcE1ldGFkYXRhO1xuXG4gICAgYXBpVXJsU2FmZTogU2FmZVJlc291cmNlVXJsO1xuICAgIGFwaVVybDogc3RyaW5nO1xuICAgIGlGcmFtZUNvbnRlbnQ7XG5cbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuICAgIGlzTmF2Q2xpY2tlZCA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKERvY1NhbXBsZUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHNhbXBsZXM6IFF1ZXJ5TGlzdDxEb2NTYW1wbGVDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRG9jU2VjdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHNlY3Rpb25zOiBRdWVyeUxpc3Q8RG9jU2VjdGlvbkNvbXBvbmVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZU92ZXJ2aWV3Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZU92ZXJ2aWV3Q29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VPdmVydmlld0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZVNhbXBsZXNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNhbXBsZXNDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlU2VjdGlvbnNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNlY3Rpb25zQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZUludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUludGVyYWN0aXZlQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VBY2Nlc3NpYmlsaXR5Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFjY2Vzc2liaWxpdHlDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFwaUNvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlVGhlbWluZ0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlVGhlbWluZ0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFic0NvbnRlbnQnKSB0YWJzQ29udGVudDogRXVpVGFic0NvbXBvbmVudDtcblxuICAgIHByaXZhdGUgVEFCU19ERUYgPSBbXG4gICAgICAgIHsgaW5kZXg6IDAsIGlkOiAnYXBpJyB9LFxuICAgICAgICB7IGluZGV4OiAxLCBpZDogJ2ExMXknIH0sXG4gICAgICAgIHsgaW5kZXg6IDIsIGlkOiAnc2FtcGxlcycgfSxcbiAgICAgICAgeyBpbmRleDogMywgaWQ6ICd0aGVtaW5nJyB9LFxuICAgICAgICB7IGluZGV4OiA0LCBpZDogJ2FkdmFuY2VkJyB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmlzQmxvY2tEb2N1bWVudEFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXBwTWV0YWRhdGEgPSB0aGlzLmFzU2VydmljZS5zdGF0ZS5hcHBNZXRhZGF0YTtcblxuICAgICAgICBpZiAodGhpcy5pZCAmJiAhdGhpcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jbXAgPSB0aGlzLl9nZXRDb21wb25lbnRTdGF0dXModGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNtcCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jbXAuc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUxhYmVsID0gJ0FDVElWRSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnREVQUkVDQVRFRCAtIHdpbGwgYmUgcmVtb3ZlZCBpbiBlVUkgMTcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVR5cGVDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEZXByZWNhdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnTEVHQUNZIC0gd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ2Rhbmdlcic7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGVnYWN5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUxhYmVsID0gJ05PVCBSRUFEWSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ2FjY2VudCc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTm90UmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29uc3RydWN0IGNtcCBtb2R1bGUgaW1wb3J0IHN0cmluZ1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgICAgIHRoaXMuY21wTW9kdWxlSW1wb3J0ID0gYGltcG9ydCB7ICR7dGhpcy5jbXAubWV0YWRhdGE/Lm1vZHVsZU5hbWV9IH0gZnJvbSAnQGV1aS8ke3RoaXMuY21wLm1ldGFkYXRhPy5zdWJFbnRyeU5hbWV9JztgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV2FybmluZywgZXJyb3JzIGRldGVjdGVkIHdoaWxlIGdldHRpbmcgcGFnZSBzdGF0ZScpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mcmFnbWVudElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5mcmFnbWVudDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGdldHRpbmcgQVBJIHVybFxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5hcGlVcmwgPSB0aGlzLl9nZXRBcGlVcmwoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBBUEkgdXJsIGZyb20gOiAke3RoaXMuYXBpVXJsfWApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwaVVybFNhZmUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5hcGlVcmwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8qKiBlbXB0eSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWIgPSB0aGlzLlRBQlNfREVGLmZpbHRlcigodCkgPT4gdC5pZCA9PT0gdGhpcy5mcmFnbWVudElkKVswXTtcbiAgICAgICAgICAgIGxldCB0YWJJbmRleDtcblxuICAgICAgICAgICAgaWYgKCF0YWIpIHtcbiAgICAgICAgICAgICAgICB0YWJJbmRleCA9IDI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhYkluZGV4ID0gdGFiLmluZGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRoaXMuZnJhZ21lbnRJZCwgdGFiSW5kZXgsIHRydWUsIHRydWUpO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFzU2VydmljZS5pc0Jsb2NrRG9jdW1lbnRBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTmF2Q2xpY2soZnJhZ21lbnRJZDogc3RyaW5nLCB0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZnJhZ21lbnRJZCA9IGZyYWdtZW50SWQ7XG4gICAgICAgIHRoaXMuaXNOYXZDbGlja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9GcmFnbWVudCh0aGlzLmZyYWdtZW50SWQsIHRhYkluZGV4LCBmYWxzZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25UYWJTZWxlY3RlZChldmVudDogeyB0YWI6IEV1aVRhYkNvbXBvbmVudDsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcgJiYgIXRoaXMuaXNOYXZDbGlja2VkKSB7XG4gICAgICAgICAgICBjb25zdCB0YWJJZCA9IHRoaXMuVEFCU19ERUYuZmlsdGVyKCh0KSA9PiB0LmluZGV4ID09PSBldmVudC5pbmRleClbMF0uaWQ7XG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRhYklkLCBldmVudC5pbmRleCwgZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTmF2Q2xpY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Njcm9sbFRvRnJhZ21lbnQoZnJhZ21lbnRJZDogc3RyaW5nLCB0YWJJbmRleDogbnVtYmVyLCBpbml0OiBib29sZWFuLCBjaGFuZ2VUYWI6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzQ29udGVudC5jaGFuZ2VUYWIodGFiSW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmZ20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHlPZmZzZXQgPSAtODA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmdtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGZnbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyB5T2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogeSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNoYW5nZVRhYikge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogZnJhZ21lbnRJZCB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGFic0NvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFic0NvbnRlbnQuY2hhbmdlVGFiKHRhYkluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZVJvb3QgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJyMnKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLmdvKGAke3JvdXRlUm9vdH0jJHtmcmFnbWVudElkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW50U3RhdHVzKGlkKSB7XG4gICAgICAgIGNvbnN0IGZsYXR0ZW4gPSAobGlua3MpID0+XG4gICAgICAgICAgICBsaW5rc1xuICAgICAgICAgICAgICAgID8gbGlua3MucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW0pID0+IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUlkOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGl0ZW0ubWFya2VyVHlwZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21wUmVwbGFjZW1lbnQ6IGl0ZW0uY21wUmVwbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbXBSZXBsYWNlbWVudFVybDogaXRlbS5jbXBSZXBsYWNlbWVudFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtcFJlcGxhY2VtZW50Tm90ZTogaXRlbS5jbXBSZXBsYWNlbWVudE5vdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGVBcGlDYXRlZ29yeTogaXRlbS5hbHRlcm5hdGVBcGlDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiBpdGVtLm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5mbGF0dGVuKGl0ZW0uY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgW11cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IGZsYXR0ZW4odGhpcy5hc1NlcnZpY2Uuc3RhdGUuc2lkZWJhckxpbmtzKTtcbiAgICAgICAgY29uc3QgaWRCYXNlZENtcCA9IGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcbiAgICAgICAgaWYgKGlkQmFzZWRDbXApIHtcbiAgICAgICAgICAgIHJldHVybiBpZEJhc2VkQ21wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJuYXRlSWRCYXNlZENtcCA9IGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uYWx0ZXJuYXRlSWQgPT09IGlkKVswXTtcbiAgICAgICAgICAgIHJldHVybiBhbHRlcm5hdGVJZEJhc2VkQ21wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0QXBpVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgY29uc3QgcHJvdG9jb2wgPSB1cmwucHJvdG9jb2w7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB1cmwuaG9zdDtcbiAgICAgICAgY29uc3QgcGF0aE5hbWUgPSB1cmwucGF0aG5hbWU7XG4gICAgICAgIGNvbnN0IHBhdGhOYW1lQXJyYXkgPSBwYXRoTmFtZS5zcGxpdCgnLycpO1xuICAgICAgICBjb25zdCBuYW1lID0gcGF0aE5hbWVBcnJheVtwYXRoTmFtZUFycmF5Lmxlbmd0aCAtIDFdO1xuICAgICAgICBsZXQgY2F0ZWdvcnkgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMl07XG4gICAgICAgIGxldCBzaG93Y2FzZVR5cGUgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gM107XG5cbiAgICAgICAgbGV0IHByb3RvY29sR2VuID0gcHJvdG9jb2w7XG4gICAgICAgIGxldCBob3N0R2VuID0gaG9zdDtcblxuICAgICAgICBpZiAoaG9zdC5pbmRleE9mKCdsb2NhbGhvc3QnKSA+IC0xKSB7XG4gICAgICAgICAgICBwcm90b2NvbEdlbiA9ICdodHRwczonO1xuICAgICAgICAgICAgaG9zdEdlbiA9ICdldWlkZXYuZWNkZXZvcHMuZXUnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXBwVmVyc2lvbk51bWJlciA9IHRoaXMuYXBwTWV0YWRhdGEuYXBwVmVyc2lvbi5zcGxpdCgnLicpWzBdO1xuXG4gICAgICAgIGxldCBkb2NUeXBlUm9vdCA9IGBldWktZG9jcy1ldWktJHthcHBWZXJzaW9uTnVtYmVyfS54YDtcbiAgICAgICAgaWYgKHNob3djYXNlVHlwZS5pbmRleE9mKCctZWNsJykgPiAtMSkge1xuICAgICAgICAgICAgZG9jVHlwZVJvb3QgPSBgZXVpLWRvY3MtZWNsLSR7YXBwVmVyc2lvbk51bWJlcn0ueGA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2F0ZWdvcnkgPT09ICdsYXlvdXQtY29tcG9uZW50cycgfHwgY2F0ZWdvcnkgPT09ICdleHRlcm5hbHMnKSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9ICdjb21wb25lbnRzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNtcCA9IHRoaXMuX2dldENvbXBvbmVudFN0YXR1cyhuYW1lKTtcblxuICAgICAgICBpZiAoY21wLmFsdGVybmF0ZUFwaUNhdGVnb3J5KSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9IGNtcC5hbHRlcm5hdGVBcGlDYXRlZ29yeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE5hbWUgPSB0aGlzLl9jYW1lbENhc2VTdHJpbmcobmFtZSArICctJyArIGNhdGVnb3J5LnNsaWNlKDAsIC0xKSwgJy0nLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZG9jUGF0aCA9IGAke3Byb3RvY29sR2VufS8vJHtob3N0R2VufS8ke2RvY1R5cGVSb290fS8ke2NhdGVnb3J5fS8ke2Zvcm1hdHRlZE5hbWV9Lmh0bWxgO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGBmZXRjaGluZyBBUEkgZnJvbTogJHtkb2NQYXRofWApO1xuXG4gICAgICAgIHJldHVybiBkb2NQYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbWVsQ2FzZVN0cmluZyhzdHJpbmcsIHNlcGFyYXRvciwgZmlyc3QpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nQXJyYXkgPSBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICBsZXQgcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZ0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzID0gc3RyaW5nQXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIHMuc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHMuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBzLnN1YnN0cigxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdkb2NQYWdlT3ZlcnZpZXcnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZU92ZXJ2aWV3Q29udGVudERpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUludGVyYWN0aXZlJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIHRpdGxlID0gJ0FEVkFOQ0VEIEVYQU1QTEVTJztcbiAgICBASW5wdXQoKSBzdWJUaXRsZSA9ICdBZHZhbmNlZCB1c2UgY2FzZXMnO1xufVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZVNhbXBsZXMnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVNhbXBsZXNDb250ZW50RGlyZWN0aXZlIHt9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdkb2NQYWdlU2VjdGlvbnMnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVNlY3Rpb25zQ29udGVudERpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFjY2Vzc2liaWxpdHknIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlIHt9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdkb2NQYWdlQXBpJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VBcGlDb250ZW50RGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VUaGVtaW5nJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VUaGVtaW5nQ29udGVudERpcmVjdGl2ZSB7fVxuLyogZXNsaW50LWVuYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG4iLCI8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLmV1aS11LWhpZGRlbl09XCJpc0xvYWRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbWFpbi1jb2x1bW5cIj5cbiAgICAgICAgPGV1aS1wYWdlPlxuICAgICAgICAgICAgPGV1aS1wYWdlLWhlYWRlciBsYWJlbD1cInt7IGxhYmVsIH19XCIgc3ViTGFiZWw9XCJ7eyBzdWJMYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDxldWktcGFnZS1oZWFkZXItYWN0aW9uLWl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29kZUZvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlRm9sZGVyPVwie3sgY29kZUZvbGRlciB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93Y2FzZT1cInt7IHNob3djYXNlIH19XCI+PC9ldWktc2hvd2Nhc2UtZG9jLXBhZ2UtY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1jaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXRlTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVN1Y2Nlc3NdPVwic3RhdGVMYWJlbCA9PT0gJ0FDVElWRSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2V1aVdhcm5pbmddPVwic3RhdGVMYWJlbCA9PT0gJ0RFUFJFQ0FURUQgLSB3aWxsIGJlIHJlbW92ZWQgaW4gZVVJIDE3J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXVpRGFuZ2VyXT1cImlzTGVnYWN5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBldWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHN0YXRlTGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktY2hpcD5cbiAgICAgICAgICAgICAgICA8L2V1aS1wYWdlLWhlYWRlci1hY3Rpb24taXRlbXM+XG4gICAgICAgICAgICA8L2V1aS1wYWdlLWhlYWRlcj5cblxuICAgICAgICAgICAgPGV1aS1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGV1aS1hbGVydCAqbmdJZj1cInN0YXRlTGFiZWwgPT09ICdMRUdBQ1knIHx8IGlzTGVnYWN5XCIgZXVpRGFuZ2VyPlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1kYW5nZXJcIj5UaGlzIGNvbXBvbmVudCB3aWxsIGJlIHJlbW92ZWQgaW4gZVVJIDE3IHJlbGVhc2UgKGVuZCBvZiAyMDIzKTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnQgIT09ICdOT05FJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IGhhcyBiZWVuIHJlcGxhY2VkIGJ5IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3Itc3VjY2Vzcy1kYXJrZXN0XCI+e3sgY21wLmNtcFJlcGxhY2VtZW50IH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiY21wLmNtcFJlcGxhY2VtZW50VXJsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZmluZCBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBuZXcgY29tcG9uZW50IGhlcmUgOiA8YSBbcm91dGVyTGlua109XCJjbXAuY21wUmVwbGFjZW1lbnRVcmxcIj57e2NtcC5jbXBSZXBsYWNlbWVudFVybH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNtcC5jbXBSZXBsYWNlbWVudCA9PT0gJ05PTkUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLWRhbmdlclwiPiBUaGlzIGNvbXBvbmVudCB3aWxsIGJlIHJlbW92ZWQgaW4gZVVJIDE3IHJlbGVhc2UgKGVuZCBvZiAyMDIzKTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wLmNtcFJlcGxhY2VtZW50Tm90ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci13YXJuaW5nXCI+e3sgY21wLmNtcFJlcGxhY2VtZW50Tm90ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZXVpLWFsZXJ0PlxuXG4gICAgICAgICAgICAgICAgPGV1aS1hbGVydCAqbmdJZj1cInN0YXRlTGFiZWwgPT09ICdERVBSRUNBVEVEJyB8fCBpc0RlcHJlY2F0ZWRcIiBldWlXYXJuaW5nPlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY29tcG9uZW50IGhhcyBiZWVuXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3ItZGFuZ2VyXCI+ZGVwcmVjYXRlZDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY29tcG9uZW50IGhhcyBubyByZXBsYWNlbWVudCBpbiBjdXJyZW50IHZlcnNpb24gQU5EIHdvbid0IGhhdmUgcmVwbGFjZW1lbnQgaW4gbmV4dCB2ZXJzaW9uIG9mIGVVSSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1kYW5nZXJcIj5pdCB3aWxsIGJlIHJlbW92ZWQgaW4gZVVJIDE3IHJlbGVhc2UgKGVuZCBvZiAyMDIzKTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2V1aS1hbGVydD5cblxuICAgICAgICAgICAgICAgIDxldWktYWxlcnQgKm5nSWY9XCJzdGF0ZUxhYmVsID09PSAnTk9UX1JFQURZJyB8fCBpc05vdFJlYWR5XCIgZXVpSW5mbz5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCBpc1xuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLWluZm9cIj5OT1QgUkVBRFk8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCBpcyB1bmRlciBkZXZlbG9wbWVudCAvIHNvbWUgZmVhdHVyZXMgbWlnaHQgYmUgbWlzc2luZywgaXQnbGwgYmUgYXZhaWxhYmxlIGluIGEgZnV0dXJlIHJlbGVhc2Ugb25jZVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVkLlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2V1aS1hbGVydD5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoc3RhdGVMYWJlbCB8fCBpc05vdFJlYWR5IHx8IGlzRGVwcmVjYXRlZCkgJiYgc3RhdGVMYWJlbCAhPT0gJ0FDVElWRSdcIiBjbGFzcz1cIm1iLTVcIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxldWktdGFicyAjdGFic0NvbnRlbnQgKm5nSWY9XCJwYWdlU2VjdGlvbnNDb250ZW50Lmxlbmd0aCA9PT0gMFwiICh0YWJTZWxlY3QpPVwib25UYWJTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiICpuZ0lmPVwiaGFzQXBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+IEFQSSA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwaVVybFNhZmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3sgYXBpVXJsIH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJtcy1hdXRvIHBiLTIgZXVpLXUtdGV4dC1saW5rLWV4dGVybmFsXCI+T3BlbiBBUEkgcGFnZTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtcGFnZS1hcGktaWZyYW1lLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgaWQ9XCJpZnJhbWVfYXBpXCIgW3dpZHRoXT1cIicxMDAlJ1wiIGhlaWdodD1cIjcwMHB4XCIgZnJhbWVCb3JkZXI9XCIwXCIgW3NyY109XCJhcGlVcmxTYWZlXCI+PC9pZnJhbWU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWIgKm5nSWY9XCJoYXNBMTF5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+IEExMVkgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBpZD1cImFjY2Vzc2liaWxpdHlcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMiBldWktdS10ZXh0LWgzXCI+QWNjZXNzaWJpbGl0eTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZUFjY2Vzc2liaWxpdHlcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cblxuICAgICAgICAgICAgICAgICAgICA8ZXVpLXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD4gT1BUSU9OUyAmIFNBTVBMRVMgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjbXAgJiYgY21wLm1ldGFkYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMyBldWktdS10ZXh0LWgzXCI+TW9kdWxlIGltcG9ydDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1qYXZhc2NyaXB0IGV1aS11LWJnLWNvbG9yLWdyZXktNVwiIGV1aUNvZGU+e3sgY21wTW9kdWxlSW1wb3J0IH19PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBpZD1cIm92ZXJ2aWV3XCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTMgZXVpLXUtdGV4dC1oM1wiPk92ZXJ2aWV3ICYgc2V0dXA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwYWdlT3ZlcnZpZXdDb250ZW50Lmxlbmd0aCA+IDA7IGVsc2Ugbm9PdmVydmlld1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlT3ZlcnZpZXdcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub092ZXJ2aWV3PiBDb21pbmcgc29vbi4uLiA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGlkPVwic2FtcGxlc1wiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtOCBtYi0yIGV1aS11LXRleHQtaDNcIj5PcHRpb25zICYgc2FtcGxlczwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZVNhbXBsZXNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cblxuICAgICAgICAgICAgICAgICAgICA8ZXVpLXRhYiAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+IFRIRU1JTkcgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBpZD1cInRoZW1pbmdcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMiBldWktdS10ZXh0LWgzXCI+VGhlbWluZzwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZVRoZW1pbmdcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cblxuICAgICAgICAgICAgICAgICAgICA8ZXVpLXRhYiAqbmdJZj1cInBhZ2VJbnRlcmFjdGl2ZUNvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2VJbnRlcmFjdGl2ZUNvbnRlbnQuZmlyc3QudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgaWQ9XCJpbnRlcmFjdGl2ZVwiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yIGV1aS11LXRleHQtaDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcGFnZUludGVyYWN0aXZlQ29udGVudC5maXJzdC5zdWJUaXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZUludGVyYWN0aXZlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG4gICAgICAgICAgICAgICAgPC9ldWktdGFicz5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU2VjdGlvbnNDb250ZW50Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGlkPVwiZGVtb1wiICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTIgZXVpLXUtdGV4dC1oM1wiPkRlbW88L2gzPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlU2VjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2V1aS1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZXVpLXBhZ2U+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNOYXZpZ2F0aW9uVmlzaWJsZVwiIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gZXVpLXUtaGlkZGVuLWRlc2t0b3AtZG93blwiPlxuICAgICAgICA8ZGl2IGlkPVwiZG9jLXBhZ2UtbmF2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi10aXRsZVwiPkluIHRoaXMgcGFnZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24tY29udGVudFwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTZWN0aW9uc0NvbnRlbnQubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFMV0FZUyBQUkVTRU5UIGluIGVhY2ggcGFnZS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnb3ZlcnZpZXcnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ292ZXJ2aWV3JywgMClcIj48c3Bhbj5PVkVSVklFVzwvc3Bhbj48L2xpPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQXBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ2FwaSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKCdhcGknLCAwKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFQSTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0ExMXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYTExeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKCdhMTF5JywgMSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BMTFZPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnc2FtcGxlcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKCdzYW1wbGVzJywgMilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5PUFRJT05TICYgU0FNUExFUzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0gZG9jLXBhZ2UtbmF2aWdhdGlvbi1zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHNhbXBsZSBvZiBzYW1wbGVzXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSBzYW1wbGUuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soc2FtcGxlLmlkLCAyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgc2FtcGxlLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE9QVElPTkFMIFRBQlMtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAndGhlbWluZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygndGhlbWluZycsIDMpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRIRU1JTkc8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdlSW50ZXJhY3RpdmVDb250ZW50Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICdhZHZhbmNlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnYWR2YW5jZWQnLCA0KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBwYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgMylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcGFnZUludGVyYWN0aXZlQ29udGVudC5maXJzdC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU2VjdGlvbnNDb250ZW50Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnc2VjdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnc2VjdGlvbnMnLCBudWxsKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNlY3Rpb25zPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ2RlbW8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnZGVtbycsIG51bGwpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RGVtbzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzZWN0aW9ucy5sZW5ndGggPiAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0gZG9jLXBhZ2UtbmF2aWdhdGlvbi1zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc2VjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSBzZWN0aW9uLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKHNlY3Rpb24uaWQsIG51bGwpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBzZWN0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RvYy1wYWdlL2RvYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS9kb2MtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBRVQsZUFBZSxFQUNmLFVBQVUsRUFHVixpQkFBaUIsRUFDakIsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBbUIzRSxNQUFNLE9BQU8sZ0JBQWdCO0lBK0R6QixZQUNZLE1BQWMsRUFDZCxLQUFxQixFQUNyQixTQUE0QixFQUM3QixTQUF1QixFQUN0QixRQUFrQjtRQUpsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBaEVyQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDM0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFheEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQThCWixh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Z0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBEaXJlY3RpdmUsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTYWZlUmVzb3VyY2VVcmwsIERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEb2NTYW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9kb2Mtc2FtcGxlL2RvYy1zYW1wbGUuY29tcG9uZW50JztcbmltcG9ydCB7IERvY1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9kb2Mtc2VjdGlvbi9kb2Mtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UsIFV4TGluayB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlUYWJDb21wb25lbnQsIEV1aVRhYnNDb21wb25lbnQgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLXRhYnMnO1xuXG50eXBlIENvbXBvbmVudFN0YXR1cyA9IFV4TGluayAmIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY21wUmVwbGFjZW1lbnQ6IHN0cmluZztcbiAgICBjbXBSZXBsYWNlbWVudFVybDogc3RyaW5nO1xuICAgIGNtcFJlcGxhY2VtZW50Tm90ZTogc3RyaW5nO1xuICAgIGFsdGVybmF0ZUFwaUNhdGVnb3J5OiBzdHJpbmc7XG4gICAgYWx0ZXJuYXRlSWQ6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RvYy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kb2MtcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGlkO1xuICAgIEBJbnB1dCgpIGxhYmVsO1xuICAgIEBJbnB1dCgpIHN1YkxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXNOb3RSZWFkeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzRGVwcmVjYXRlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzTGVnYWN5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgY29kZUZvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3djYXNlID0gJ3V4JztcbiAgICBASW5wdXQoKSBpc05hdmlnYXRpb25WaXNpYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBoYXNBcGkgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGhhc0ExMXkgPSB0cnVlO1xuXG4gICAgc3RhdGVUeXBlQ2xhc3M7XG4gICAgc3RhdGVMYWJlbDtcbiAgICBjbXA7XG4gICAgZnJhZ21lbnRJZDtcbiAgICBjbXBNb2R1bGVJbXBvcnQ7XG4gICAgYXBwTWV0YWRhdGE7XG5cbiAgICBhcGlVcmxTYWZlOiBTYWZlUmVzb3VyY2VVcmw7XG4gICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgaUZyYW1lQ29udGVudDtcblxuICAgIGlzTG9hZGluZyA9IHRydWU7XG4gICAgaXNOYXZDbGlja2VkID0gdHJ1ZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRG9jU2FtcGxlQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgc2FtcGxlczogUXVlcnlMaXN0PERvY1NhbXBsZUNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NTZWN0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgc2VjdGlvbnM6IFF1ZXJ5TGlzdDxEb2NTZWN0aW9uQ29tcG9uZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlT3ZlcnZpZXdDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlT3ZlcnZpZXdDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZU92ZXJ2aWV3Q29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZVNhbXBsZXNDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlU2FtcGxlc0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlU2FtcGxlc0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VTZWN0aW9uc0NvbnRlbnREaXJlY3RpdmUpKVxuICAgIHBhZ2VTZWN0aW9uc0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlSW50ZXJhY3RpdmVDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZUludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlQWNjZXNzaWJpbGl0eUNvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlQWNjZXNzaWJpbGl0eUNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VBcGlDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlQXBpQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VBcGlDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlVGhlbWluZ0NvbnRlbnREaXJlY3RpdmUpKVxuICAgIHBhZ2VUaGVtaW5nQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VUaGVtaW5nQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAVmlld0NoaWxkKCd0YWJzQ29udGVudCcpIHRhYnNDb250ZW50OiBFdWlUYWJzQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBUQUJTX0RFRiA9IFtcbiAgICAgICAgeyBpbmRleDogMCwgaWQ6ICdhcGknIH0sXG4gICAgICAgIHsgaW5kZXg6IDEsIGlkOiAnYTExeScgfSxcbiAgICAgICAgeyBpbmRleDogMiwgaWQ6ICdzYW1wbGVzJyB9LFxuICAgICAgICB7IGluZGV4OiAzLCBpZDogJ3RoZW1pbmcnIH0sXG4gICAgICAgIHsgaW5kZXg6IDQsIGlkOiAnYWR2YW5jZWQnIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmlzQmxvY2tEb2N1bWVudEFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXBwTWV0YWRhdGEgPSB0aGlzLmFzU2VydmljZS5zdGF0ZS5hcHBNZXRhZGF0YTtcblxuICAgICAgICBpZiAodGhpcy5pZCAmJiAhdGhpcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jbXAgPSB0aGlzLl9nZXRDb21wb25lbnRTdGF0dXModGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNtcCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jbXAuc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUxhYmVsID0gJ0FDVElWRSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnREVQUkVDQVRFRCAtIHdpbGwgYmUgcmVtb3ZlZCBpbiBlVUkgMTcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVR5cGVDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEZXByZWNhdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnTEVHQUNZIC0gd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ2Rhbmdlcic7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGVnYWN5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUxhYmVsID0gJ05PVCBSRUFEWSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ2FjY2VudCc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTm90UmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29uc3RydWN0IGNtcCBtb2R1bGUgaW1wb3J0IHN0cmluZ1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgICAgIHRoaXMuY21wTW9kdWxlSW1wb3J0ID0gYGltcG9ydCB7ICR7dGhpcy5jbXAubWV0YWRhdGE/Lm1vZHVsZU5hbWV9IH0gZnJvbSAnQGV1aS8ke3RoaXMuY21wLm1ldGFkYXRhPy5zdWJFbnRyeU5hbWV9JztgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV2FybmluZywgZXJyb3JzIGRldGVjdGVkIHdoaWxlIGdldHRpbmcgcGFnZSBzdGF0ZScpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mcmFnbWVudElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5mcmFnbWVudDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGdldHRpbmcgQVBJIHVybFxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5hcGlVcmwgPSB0aGlzLl9nZXRBcGlVcmwoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBBUEkgdXJsIGZyb20gOiAke3RoaXMuYXBpVXJsfWApO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwaVVybFNhZmUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5hcGlVcmwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8qKiBlbXB0eSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWIgPSB0aGlzLlRBQlNfREVGLmZpbHRlcigodCkgPT4gdC5pZCA9PT0gdGhpcy5mcmFnbWVudElkKVswXTtcbiAgICAgICAgICAgIGxldCB0YWJJbmRleDtcblxuICAgICAgICAgICAgaWYgKCF0YWIpIHtcbiAgICAgICAgICAgICAgICB0YWJJbmRleCA9IDI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhYkluZGV4ID0gdGFiLmluZGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRoaXMuZnJhZ21lbnRJZCwgdGFiSW5kZXgsIHRydWUsIHRydWUpO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFzU2VydmljZS5pc0Jsb2NrRG9jdW1lbnRBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTmF2Q2xpY2soZnJhZ21lbnRJZDogc3RyaW5nLCB0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZnJhZ21lbnRJZCA9IGZyYWdtZW50SWQ7XG4gICAgICAgIHRoaXMuaXNOYXZDbGlja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9GcmFnbWVudCh0aGlzLmZyYWdtZW50SWQsIHRhYkluZGV4LCBmYWxzZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25UYWJTZWxlY3RlZChldmVudDogeyB0YWI6IEV1aVRhYkNvbXBvbmVudDsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcgJiYgIXRoaXMuaXNOYXZDbGlja2VkKSB7XG4gICAgICAgICAgICBjb25zdCB0YWJJZCA9IHRoaXMuVEFCU19ERUYuZmlsdGVyKCh0KSA9PiB0LmluZGV4ID09PSBldmVudC5pbmRleClbMF0uaWQ7XG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRhYklkLCBldmVudC5pbmRleCwgZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTmF2Q2xpY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Njcm9sbFRvRnJhZ21lbnQoZnJhZ21lbnRJZDogc3RyaW5nLCB0YWJJbmRleDogbnVtYmVyLCBpbml0OiBib29sZWFuLCBjaGFuZ2VUYWI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzQ29udGVudC5jaGFuZ2VUYWIodGFiSW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmZ20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHlPZmZzZXQgPSAtODA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmdtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGZnbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyB5T2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogeSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNoYW5nZVRhYikge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogZnJhZ21lbnRJZCB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGFic0NvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFic0NvbnRlbnQuY2hhbmdlVGFiKHRhYkluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZVJvb3QgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJyMnKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLmdvKGAke3JvdXRlUm9vdH0jJHtmcmFnbWVudElkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW50U3RhdHVzKGlkKTogQ29tcG9uZW50U3RhdHVzIHtcblxuICAgICAgICBjb25zdCBmbGF0dGVuID0gKGxpbmtzOiBVeExpbmtbXSk6IENvbXBvbmVudFN0YXR1c1tdID0+XG4gICAgICAgICAgICBsaW5rc1xuICAgICAgICAgICAgICAgID8gbGlua3MucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IENvbXBvbmVudFN0YXR1cykgPT4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRlSWQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogaXRlbS5tYXJrZXJUeXBlQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbXBSZXBsYWNlbWVudDogaXRlbS5jbXBSZXBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtcFJlcGxhY2VtZW50VXJsOiBpdGVtLmNtcFJlcGxhY2VtZW50VXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21wUmVwbGFjZW1lbnROb3RlOiBpdGVtLmNtcFJlcGxhY2VtZW50Tm90ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUFwaUNhdGVnb3J5OiBpdGVtLmFsdGVybmF0ZUFwaUNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IGl0ZW0ubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsYXR0ZW4oaXRlbS5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IGZsYXR0ZW4odGhpcy5hc1NlcnZpY2Uuc3RhdGUuc2lkZWJhckxpbmtzKTtcbiAgICAgICAgY29uc3QgaWRCYXNlZENtcCA9IGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcbiAgICAgICAgaWYgKGlkQmFzZWRDbXApIHtcbiAgICAgICAgICAgIHJldHVybiBpZEJhc2VkQ21wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJuYXRlSWRCYXNlZENtcCA9IGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uYWx0ZXJuYXRlSWQgPT09IGlkKVswXTtcbiAgICAgICAgICAgIHJldHVybiBhbHRlcm5hdGVJZEJhc2VkQ21wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0QXBpVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgY29uc3QgcHJvdG9jb2wgPSB1cmwucHJvdG9jb2w7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB1cmwuaG9zdDtcbiAgICAgICAgY29uc3QgcGF0aE5hbWUgPSB1cmwucGF0aG5hbWU7XG4gICAgICAgIGNvbnN0IHBhdGhOYW1lQXJyYXkgPSBwYXRoTmFtZS5zcGxpdCgnLycpO1xuICAgICAgICBjb25zdCBuYW1lID0gcGF0aE5hbWVBcnJheVtwYXRoTmFtZUFycmF5Lmxlbmd0aCAtIDFdO1xuICAgICAgICBsZXQgY2F0ZWdvcnkgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMl07XG4gICAgICAgIGNvbnN0IHNob3djYXNlVHlwZSA9IHBhdGhOYW1lQXJyYXlbcGF0aE5hbWVBcnJheS5sZW5ndGggLSAzXTtcblxuICAgICAgICBsZXQgcHJvdG9jb2xHZW4gPSBwcm90b2NvbDtcbiAgICAgICAgbGV0IGhvc3RHZW4gPSBob3N0O1xuXG4gICAgICAgIGlmIChob3N0LmluZGV4T2YoJ2xvY2FsaG9zdCcpID4gLTEpIHtcbiAgICAgICAgICAgIHByb3RvY29sR2VuID0gJ2h0dHBzOic7XG4gICAgICAgICAgICBob3N0R2VuID0gJ2V1aWRldi5lY2Rldm9wcy5ldSc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcHBWZXJzaW9uTnVtYmVyID0gdGhpcy5hcHBNZXRhZGF0YS5hcHBWZXJzaW9uLnNwbGl0KCcuJylbMF07XG5cbiAgICAgICAgbGV0IGRvY1R5cGVSb290ID0gYGV1aS1kb2NzLWV1aS0ke2FwcFZlcnNpb25OdW1iZXJ9LnhgO1xuICAgICAgICBpZiAoc2hvd2Nhc2VUeXBlLmluZGV4T2YoJy1lY2wnKSA+IC0xKSB7XG4gICAgICAgICAgICBkb2NUeXBlUm9vdCA9IGBldWktZG9jcy1lY2wtJHthcHBWZXJzaW9uTnVtYmVyfS54YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYXRlZ29yeSA9PT0gJ2xheW91dC1jb21wb25lbnRzJyB8fCBjYXRlZ29yeSA9PT0gJ2V4dGVybmFscycpIHtcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gJ2NvbXBvbmVudHMnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY21wID0gdGhpcy5fZ2V0Q29tcG9uZW50U3RhdHVzKG5hbWUpO1xuXG4gICAgICAgIGlmIChjbXAuYWx0ZXJuYXRlQXBpQ2F0ZWdvcnkpIHtcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gY21wLmFsdGVybmF0ZUFwaUNhdGVnb3J5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IHRoaXMuX2NhbWVsQ2FzZVN0cmluZyhuYW1lICsgJy0nICsgY2F0ZWdvcnkuc2xpY2UoMCwgLTEpLCAnLScsIHRydWUpO1xuICAgICAgICBjb25zdCBkb2NQYXRoID0gYCR7cHJvdG9jb2xHZW59Ly8ke2hvc3RHZW59LyR7ZG9jVHlwZVJvb3R9LyR7Y2F0ZWdvcnl9LyR7Zm9ybWF0dGVkTmFtZX0uaHRtbGA7XG5cbiAgICAgICAgY29uc29sZS5sb2coYGZldGNoaW5nIEFQSSBmcm9tOiAke2RvY1BhdGh9YCk7XG5cbiAgICAgICAgcmV0dXJuIGRvY1BhdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2FtZWxDYXNlU3RyaW5nKHN0cmluZywgc2VwYXJhdG9yLCBmaXJzdCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHN0cmluZ0FycmF5ID0gc3RyaW5nLnNwbGl0KHNlcGFyYXRvcik7XG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgbGV0IHM7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHJpbmdBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcyA9IHN0cmluZ0FycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHMuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBzLnN1YnN0cigxKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzLnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpICsgcy5zdWJzdHIoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvciAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZU92ZXJ2aWV3JyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VPdmVydmlld0NvbnRlbnREaXJlY3RpdmUge31cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VJbnRlcmFjdGl2ZScgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSB0aXRsZSA9ICdBRFZBTkNFRCBFWEFNUExFUyc7XG4gICAgQElucHV0KCkgc3ViVGl0bGUgPSAnQWR2YW5jZWQgdXNlIGNhc2VzJztcbn1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VTYW1wbGVzJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZVNlY3Rpb25zJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VTZWN0aW9uc0NvbnRlbnREaXJlY3RpdmUge31cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VBY2Nlc3NpYmlsaXR5JyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VBY2Nlc3NpYmlsaXR5Q29udGVudERpcmVjdGl2ZSB7fVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFwaScgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdkb2NQYWdlVGhlbWluZycgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlVGhlbWluZ0NvbnRlbnREaXJlY3RpdmUge31cbi8qIGVzbGludC1lbmFibGUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvciAqL1xuIiwiPGRpdiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5ldWktdS1oaWRkZW5dPVwiaXNMb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlLW1haW4tY29sdW1uXCI+XG4gICAgICAgIDxldWktcGFnZT5cbiAgICAgICAgICAgIDxldWktcGFnZS1oZWFkZXIgbGFiZWw9XCJ7eyBsYWJlbCB9fVwiIHN1YkxhYmVsPVwie3sgc3ViTGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8ZXVpLXBhZ2UtaGVhZGVyLWFjdGlvbi1pdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1zaG93Y2FzZS1kb2MtcGFnZS1jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvZGVGb2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZUZvbGRlcj1cInt7IGNvZGVGb2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd2Nhc2U9XCJ7eyBzaG93Y2FzZSB9fVwiPjwvZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGU+XG4gICAgICAgICAgICAgICAgICAgIDxldWktY2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0ZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtldWlTdWNjZXNzXT1cInN0YXRlTGFiZWwgPT09ICdBQ1RJVkUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtldWlXYXJuaW5nXT1cInN0YXRlTGFiZWwgPT09ICdERVBSRUNBVEVEIC0gd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2V1aURhbmdlcl09XCJpc0xlZ2FjeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZXVpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBzdGF0ZUxhYmVsIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWNoaXA+XG4gICAgICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXItYWN0aW9uLWl0ZW1zPlxuICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxldWktcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxldWktYWxlcnQgKm5nSWY9XCJzdGF0ZUxhYmVsID09PSAnTEVHQUNZJyB8fCBpc0xlZ2FjeVwiIGV1aURhbmdlcj5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3ItZGFuZ2VyXCI+VGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNyByZWxlYXNlIChlbmQgb2YgMjAyMyk8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wLmNtcFJlcGxhY2VtZW50ICE9PSAnTk9ORSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBoYXMgYmVlbiByZXBsYWNlZCBieSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLXN1Y2Nlc3MtZGFya2VzdFwiPnt7IGNtcC5jbXBSZXBsYWNlbWVudCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImNtcC5jbXBSZXBsYWNlbWVudFVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgbmV3IGNvbXBvbmVudCBoZXJlIDogPGEgW3JvdXRlckxpbmtdPVwiY21wLmNtcFJlcGxhY2VtZW50VXJsXCI+e3tjbXAuY21wUmVwbGFjZW1lbnRVcmx9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnQgPT09ICdOT05FJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1kYW5nZXJcIj4gVGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNyByZWxlYXNlIChlbmQgb2YgMjAyMyk8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNtcC5jbXBSZXBsYWNlbWVudE5vdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3Itd2FybmluZ1wiPnt7IGNtcC5jbXBSZXBsYWNlbWVudE5vdGUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2V1aS1hbGVydD5cblxuICAgICAgICAgICAgICAgIDxldWktYWxlcnQgKm5nSWY9XCJzdGF0ZUxhYmVsID09PSAnREVQUkVDQVRFRCcgfHwgaXNEZXByZWNhdGVkXCIgZXVpV2FybmluZz5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCBoYXMgYmVlblxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLWRhbmdlclwiPmRlcHJlY2F0ZWQ8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCBoYXMgbm8gcmVwbGFjZW1lbnQgaW4gY3VycmVudCB2ZXJzaW9uIEFORCB3b24ndCBoYXZlIHJlcGxhY2VtZW50IGluIG5leHQgdmVyc2lvbiBvZiBlVUksXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3ItZGFuZ2VyXCI+aXQgd2lsbCBiZSByZW1vdmVkIGluIGVVSSAxNyByZWxlYXNlIChlbmQgb2YgMjAyMyk8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9ldWktYWxlcnQ+XG5cbiAgICAgICAgICAgICAgICA8ZXVpLWFsZXJ0ICpuZ0lmPVwic3RhdGVMYWJlbCA9PT0gJ05PVF9SRUFEWScgfHwgaXNOb3RSZWFkeVwiIGV1aUluZm8+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb21wb25lbnQgaXNcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1pbmZvXCI+Tk9UIFJFQURZPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNtcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb21wb25lbnQgaXMgdW5kZXIgZGV2ZWxvcG1lbnQgLyBzb21lIGZlYXR1cmVzIG1pZ2h0IGJlIG1pc3NpbmcsIGl0J2xsIGJlIGF2YWlsYWJsZSBpbiBhIGZ1dHVyZSByZWxlYXNlIG9uY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9ldWktYWxlcnQ+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHN0YXRlTGFiZWwgfHwgaXNOb3RSZWFkeSB8fCBpc0RlcHJlY2F0ZWQpICYmIHN0YXRlTGFiZWwgIT09ICdBQ1RJVkUnXCIgY2xhc3M9XCJtYi01XCI+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYnMgI3RhYnNDb250ZW50ICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPT09IDBcIiAodGFiU2VsZWN0KT1cIm9uVGFiU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLXRhYiAqbmdJZj1cImhhc0FwaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPiBBUEkgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcGlVcmxTYWZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7IGFwaVVybCB9fVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwibXMtYXV0byBwYi0yIGV1aS11LXRleHQtbGluay1leHRlcm5hbFwiPk9wZW4gQVBJIHBhZ2U8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtYXBpLWlmcmFtZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWZyYW1lIGlkPVwiaWZyYW1lX2FwaVwiIFt3aWR0aF09XCInMTAwJSdcIiBoZWlnaHQ9XCI3MDBweFwiIGZyYW1lQm9yZGVyPVwiMFwiIFtzcmNdPVwiYXBpVXJsU2FmZVwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiICpuZ0lmPVwiaGFzQTExeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPiBBMTFZIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgaWQ9XCJhY2Nlc3NpYmlsaXR5XCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTIgZXVpLXUtdGV4dC1oM1wiPkFjY2Vzc2liaWxpdHk8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VBY2Nlc3NpYmlsaXR5XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+IE9QVElPTlMgJiBTQU1QTEVTIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY21wICYmIGNtcC5tZXRhZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTMgZXVpLXUtdGV4dC1oM1wiPk1vZHVsZSBpbXBvcnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJlPjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtamF2YXNjcmlwdCBldWktdS1iZy1jb2xvci1ncmV5LTVcIiBldWlDb2RlPnt7IGNtcE1vZHVsZUltcG9ydCB9fTwvY29kZT48L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgaWQ9XCJvdmVydmlld1wiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0zIGV1aS11LXRleHQtaDNcIj5PdmVydmlldyAmIHNldHVwPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGFnZU92ZXJ2aWV3Q29udGVudC5sZW5ndGggPiAwOyBlbHNlIG5vT3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZU92ZXJ2aWV3XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9PdmVydmlldz4gQ29taW5nIHNvb24uLi4gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBpZD1cInNhbXBsZXNcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTggbWItMiBldWktdS10ZXh0LWgzXCI+T3B0aW9ucyAmIHNhbXBsZXM8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VTYW1wbGVzXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWIgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPiBUSEVNSU5HIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgaWQ9XCJ0aGVtaW5nXCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTIgZXVpLXUtdGV4dC1oM1wiPlRoZW1pbmc8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VUaGVtaW5nXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWIgKm5nSWY9XCJwYWdlSW50ZXJhY3RpdmVDb250ZW50Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGlkPVwiaW50ZXJhY3RpdmVcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMiBldWktdS10ZXh0LWgzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBhZ2VJbnRlcmFjdGl2ZUNvbnRlbnQuZmlyc3Quc3ViVGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VJbnRlcmFjdGl2ZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYnM+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBpZD1cImRlbW9cIiAqbmdJZj1cInNlY3Rpb25zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yIGV1aS11LXRleHQtaDNcIj5EZW1vPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZVNlY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9ldWktcGFnZS1jb250ZW50PlxuICAgICAgICA8L2V1aS1wYWdlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImlzTmF2aWdhdGlvblZpc2libGVcIiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24tY29sdW1uIGV1aS11LWhpZGRlbi1kZXNrdG9wLWRvd25cIj5cbiAgICAgICAgPGRpdiBpZD1cImRvYy1wYWdlLW5hdlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24tdGl0bGVcIj5JbiB0aGlzIHBhZ2U8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWNvbnRlbnRcIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU2VjdGlvbnNDb250ZW50Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBTFdBWVMgUFJFU0VOVCBpbiBlYWNoIHBhZ2UtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCIgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ292ZXJ2aWV3J1wiIChjbGljayk9XCJvbk5hdkNsaWNrKCdvdmVydmlldycsIDApXCI+PHNwYW4+T1ZFUlZJRVc8L3NwYW4+PC9saT4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0FwaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICdhcGknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnYXBpJywgMClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BUEk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNBMTF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ2ExMXknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnYTExeScsIDEpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QTExWTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ3NhbXBsZXMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljaygnc2FtcGxlcycsIDIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+T1BUSU9OUyAmIFNBTVBMRVM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtIGRvYy1wYWdlLW5hdmlnYXRpb24tc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBzYW1wbGUgb2Ygc2FtcGxlc1wiIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gc2FtcGxlLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKHNhbXBsZS5pZCwgMilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHNhbXBsZS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBPUFRJT05BTCBUQUJTLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVRoZW1pbmdDb250ZW50Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ3RoZW1pbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3RoZW1pbmcnLCAzKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5USEVNSU5HPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgNClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcGFnZUludGVyYWN0aXZlQ29udGVudC5maXJzdC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVRoZW1pbmdDb250ZW50Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBhZ2VJbnRlcmFjdGl2ZUNvbnRlbnQubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ2FkdmFuY2VkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdkNsaWNrKCdhZHZhbmNlZCcsIDMpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHBhZ2VJbnRlcmFjdGl2ZUNvbnRlbnQuZmlyc3QudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ3NlY3Rpb25zJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3NlY3Rpb25zJywgbnVsbClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZWN0aW9uczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICdkZW1vJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2RlbW8nLCBudWxsKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkRlbW88L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtIGRvYy1wYWdlLW5hdmlnYXRpb24tc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gc2VjdGlvbi5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZDbGljayhzZWN0aW9uLmlkLCBudWxsKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgc2VjdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -45,10 +45,10 @@ export class DocSampleComponent {
45
45
  this.clipboard.copy(fullUrl);
46
46
  }
47
47
  catch (err) {
48
- this.asService.growl({ severity: 'danger', summary: `Clipboard service not available` });
48
+ this.asService.growl({ severity: 'danger', summary: 'Clipboard service not available' });
49
49
  }
50
50
  finally {
51
- this.asService.growl({ severity: 'info', summary: `Link URL copied to clipboard` });
51
+ this.asService.growl({ severity: 'info', summary: 'Link URL copied to clipboard' });
52
52
  }
53
53
  }
54
54
  onToggleCode() {
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
183
183
  type: HostBinding,
184
184
  args: ['class']
185
185
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXNhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXNhbXBsZS9kb2Mtc2FtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2Mtc2FtcGxlL2RvYy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZakQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCM0IsWUFDWSxLQUFpQixFQUNqQixTQUE0QixFQUM1QixFQUFxQixFQUNyQixTQUFvQixFQUNwQixNQUFjO1FBSmQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQmpCLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFWixZQUFPLEdBQUcseUJBQXlCLENBQUM7UUFFMUQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO0lBVzFCLENB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bEUsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCw4REFBOEQ7SUFDdEQsT0FBTyxDQUFDLEtBQWU7UUFDM0IsT0FBTyxLQUFLO1lBQ1IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ1IsOERBQThEO1lBQzlELENBQUMsTUFBTSxFQUFFLElBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1Q7b0JBQ0ksRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNYLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7aUJBQ3hEO2dCQUNELEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2pDLEVBQ0QsRUFBRSxDQUNMO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7a0lBN0tRLGtCQUFrQjtzSEFBbEIsa0JBQWtCLHdOQ2YvQix1NkZBeUVBOzs0RkQxRGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLHlCQUF5QixpQkFHcEIsaUJBQWlCLENBQUMsSUFBSTs4TUFHNUIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFZ0IsT0FBTztzQkFBNUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSwgVXhMaW5rIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aVRhYkNvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktdGFicyc7XG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXNhbXBsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jLXNhbXBsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvY1NhbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIGlkID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzID0gJyc7XG4gICAgQElucHV0KCkgcmVuZGVyUGxheWdyb3VuZCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXMgPSAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnO1xuXG4gICAgaXNDb2RlTG9hZGVkID0gZmFsc2U7XG4gICAgaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgIGlzQ29kZUV4cGFuZGVkID0gZmFsc2U7XG4gICAgcGxheWdyb3VuZF9hY3RpdmF0ZWQgPSBmYWxzZTtcblxuICAgIHRzQ29udGVudDtcbiAgICBodG1sQ29udGVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSB0aGlzLmlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHlDdXJyZW50VXJsVG9DbGlwYm9hcmQoaWQ6IHN0cmluZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYmFzZURvbWFpbiA9IHdpbmRvdz8ubG9jYXRpb24/Lm9yaWdpbjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJyMnKTtcbiAgICAgICAgICAgIGNvbnN0IGZ1bGxVcmwgPSBiYXNlRG9tYWluICsgY3VycmVudFVybFswXSArICcjJyArIGlkO1xuICAgICAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weShmdWxsVXJsKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5ncm93bCh7IHNldmVyaXR5OiAnZGFuZ2VyJywgc3VtbWFyeTogYENsaXBib2FyZCBzZXJ2aWNlIG5vdCBhdmFpbGFibGVgIH0pO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2woeyBzZXZlcml0eTogJ2luZm8nLCBzdW1tYXJ5OiBgTGluayBVUkwgY29waWVkIHRvIGNsaXBib2FyZGAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvZ2dsZUNvZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29kZUxvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0NvZGVFeHBhbmRlZCA9ICF0aGlzLmlzQ29kZUV4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQ29kZUxvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uO1xuICAgICAgICAgICAgY29uc3QgcGF0aE5hbWUgPSB1cmwucGF0aG5hbWU7XG4gICAgICAgICAgICBjb25zdCBwYXRoTmFtZUFycmF5ID0gcGF0aE5hbWUuc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgbGV0IHNhbXBsZVBhdGhBcnJheSA9IFtdO1xuXG4gICAgICAgICAgICBjb25zdCBjbXBJZCA9IHBhdGhOYW1lQXJyYXlbcGF0aE5hbWVBcnJheS5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGNvbnN0IGNtcCA9IHRoaXMuX2dldENvbXBvbmVudChjbXBJZCk7XG5cbiAgICAgICAgICAgIGlmIChjbXAgJiYgY21wLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5ID0gY21wLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcGF0aE5hbWVBcnJheS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAocGF0aE5hbWVBcnJheVtpXS5pbmRleE9mKCdldWktc2hvd2Nhc2UtJykgPiAtMSB8fCBwYXRoTmFtZUFycmF5W2ldLmluZGV4T2YoJ2xvY2FsaG9zdCcpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXRoTmFtZUFycmF5W2ldICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5LnB1c2gocGF0aE5hbWVBcnJheVtpXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHNhbXBsZVBhdGhBcnJheSk7XG5cbiAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheSA9IHNhbXBsZVBhdGhBcnJheS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkucHVzaCgnc2FtcGxlcycpO1xuICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5LnB1c2godGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNhbXBsZXNQYXRoID0gYGFzc2V0cy9zYW1wbGVzLyR7c2FtcGxlUGF0aEFycmF5LmpvaW4oJy8nKX1gO1xuXG4gICAgICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgdHlwZXNjcmlwdDogdGhpcy5faHR0cC5nZXQoYCR7c2FtcGxlc1BhdGh9L2NvbXBvbmVudC50c2AsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaHRtbDogdGhpcy5faHR0cC5nZXQoYCR7c2FtcGxlc1BhdGh9L2NvbXBvbmVudC5odG1sYCwge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2VzOiB7IHR5cGVzY3JpcHQ6IHN0cmluZzsgaHRtbDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlc2NyaXB0OiByZXNwb25zZXMudHlwZXNjcmlwdCwgaHRtbDogcmVzcG9uc2VzLmh0bWwgfTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2xFcnJvcihgSXNzdWUgd2hpbGUgZmV0Y2hpbmcgOiAke2Vycm9yLnVybH0gOiAke2Vycm9yLnN0YXR1c30tJHtlcnJvci5zdGF0dXNUZXh0fWApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8UmVzcG9uc2U+KChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFJlc3BvbnNlPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVtbzogeyB0eXBlc2NyaXB0OiBzdHJpbmc7IGh0bWw6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHNDb250ZW50ID0gZGVtby50eXBlc2NyaXB0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmh0bWxDb250ZW50ID0gZGVtby5odG1sO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBvbiBwbGF5Z3JvdW5kIHRhYiBzZWxlY3RlZCBpbmZvcm0gdGhlIHBsYXlncm91bmQgY29tcG9uZW50IHRoYXQgaXRzIGNvbnRlbnQgaXMgcmVuZGVyZWRcbiAgICAgKiBUT0RPOiBmaXggdGhlIGJ1ZyBvbiBldWktdGFiIGltcGxlbWVudGF0aW9uIHdoZXJlIHRoZSBuZ0FmdGVyVmlld0luaXQgaXMgY2FsbGVkIHdpdGhvdXQgdGhlIHZpZXcgYWN0dWFsbHlcbiAgICAgKiAgYmVpbmcgcmVuZGVyZWQgb24gc2NyZWVuLiBJc3N1ZSBpcyB0aGF0IGluaXRpYWxseSB0aGUgdmlldyBpcyBiZWluZyByZW5kZXJlZCBhbmQgdGhlbiByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICAgKiAgSW50ZXJuYWxseSBldWktdGFicyBpcyBtb3ZpbmcgdGhlIHByb2plY3RlZCBjb250ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlbGVjdGVkIFRoZSBzZWxlY3RlZCB0YWIgY29tcG9uZW50IHJlZmVyZW5jZSBhbmQgaXRzIGluZGV4IGluIHRoZSB0YWJzIGFycmF5LlxuICAgICAqL1xuICAgIG9uU2VsZWN0ZWRUYWIoc2VsZWN0ZWQ6IHsgdGFiOiBFdWlUYWJDb21wb25lbnQ7IGluZGV4OiBudW1iZXIgfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnBsYXlncm91bmRfYWN0aXZhdGVkID0gc2VsZWN0ZWQuaW5kZXggPT09IDI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmlsdGVyIG91dCB0aGUgZXh0cmEgaW1wb3J0IGFuZCBtb2R1bGUgZnJvbSB0aGUgY29kZSBzYW1wbGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb2RlXG4gICAgICovXG4gICAgZmlsdGVyT3V0TW9kdWxlQW5kSW1wb3J0cyhjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBmaWx0ZXIgb3V0IG1vZHVsZVxuICAgICAgICBjb25zdCBtb2R1bGVSZWdleCA9IC9ATmdNb2R1bGVcXCgoW1xcc1xcU10qPylcXClcXG5leHBvcnQgY2xhc3MgXFx3KyBcXHsoW1xcc1xcU10qPylcXH0vZztcbiAgICAgICAgY29kZSA9IGNvZGUucmVwbGFjZShtb2R1bGVSZWdleCwgJycpO1xuICAgICAgICAvLyBmaWx0ZXIgb3V0IGV4dHJhIGltcG9ydHNcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIGNvZGUgPSBjb2RlLnJlcGxhY2UoXCJpbXBvcnQgeyBFdWlBbGxNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMnO1xcblwiLCAnJyk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICBjb2RlID0gY29kZS5yZXBsYWNlKFwiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcXG5cIiwgJycpO1xuICAgICAgICByZXR1cm4gY29kZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgX2dldENvbXBvbmVudChpZCk6IFV4TGluayB8IGFueSB7XG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IHRoaXMuZmxhdHRlbih0aGlzLmFzU2VydmljZS5zdGF0ZS5zaWRlYmFyTGlua3MpO1xuXG4gICAgICAgIHJldHVybiBmbGF0TGlua3MuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZClbMF07XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGZsYXR0ZW4obGlua3M6IFV4TGlua1tdKTogVXhMaW5rW10gfCBhbnkge1xuICAgICAgICByZXR1cm4gbGlua3NcbiAgICAgICAgICAgID8gbGlua3MucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IFV4TGluayB8IGFueSkgPT4gW1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGVTYW1wbGVMb2NhdGlvbjogaXRlbS5hbHRlcm5hdGVTYW1wbGVMb2NhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmxhdHRlbihpdGVtLmNoaWxkcmVuKSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBbXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IFtdO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkb2Mtc2FtcGxlLXRpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2xhYmVsXCI+XG4gICAgICAgIDxzdHJvbmc+e3sgbGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgIChjbGljayk9XCJjb3B5Q3VycmVudFVybFRvQ2xpcGJvYXJkKGlkKVwiXG4gICAgICAgICAgICBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2xpbmtcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwibGlua1wiIHNldD1cIm91dGxpbmVcIiBzaXplPVwibFwiIGZpbGxDb2xvcj1cImdyZXktNzVcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2l0ZW1zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBbZXVpT3V0bGluZV09XCIhaXNDb2RlRXhwYW5kZWRcIlxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNvZGUoKVwiXG4gICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzQ29kZUxvYWRpbmdcIlxuICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cImlzQ29kZUxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzQ29kZUV4cGFuZGVkXCIgZXVpTGFiZWw+Q29kZTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNDb2RlRXhwYW5kZWRcIiBldWlMYWJlbD5IaWRlIENvZGU8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBldWlJY29uIGljb25DbGFzcz1cImV1aS1pY29uLWNvZGVcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpc0NvZGVFeHBhbmRlZFwiPlxuICAgIDxldWktY2FyZCBldWlOb0NvbnRlbnRQYWRkaW5nPlxuICAgICAgICA8ZXVpLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxldWktdGFicyAodGFiU2VsZWN0KT1cIm9uU2VsZWN0ZWRUYWIoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxldWktdGFiIFtpc1Zpc2libGVdPVwiaHRtbENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgSFRNTFxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYlN1YkxhYmVsPkh5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2U8L2V1aVRhYlN1YkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1tYXJrdXBcIiBldWlDb2RlPnt7aHRtbENvbnRlbnR9fTwvY29kZT48L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYiBbaXNWaXNpYmxlXT1cInRzQ29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICBUU1xuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYlN1YkxhYmVsPlR5cGVzY3JpcHQ8L2V1aVRhYlN1YkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1qYXZhc2NyaXB0XCIgZXVpQ29kZT57e2ZpbHRlck91dE1vZHVsZUFuZEltcG9ydHModHNDb250ZW50KX19PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuICAgICAgICAgICAgICAgIDxldWktdGFiIGV1aVdhcm5pbmcgW2lzVmlzaWJsZV09XCJodG1sQ29udGVudCAmJiB0c0NvbnRlbnQgJiYgcmVuZGVyUGxheWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF5Z3JvdW5kXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiU3ViTGFiZWw+U3RhY2tibGl0eiA8ZXVpLWNoaXAgZXVpU2l6ZVMgZXVpV2FybmluZz5FeHBlcmltZW50YWw8L2V1aS1jaGlwPjwvZXVpVGFiU3ViTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1wbGF5Z3JvdW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVzY3JpcHRDb250ZW50XT1cInRzQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2h0bWxDb250ZW50XT1cImh0bWxDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZhdGVkXT1cInBsYXlncm91bmRfYWN0aXZhdGVkXCI+PC9ldWktcGxheWdyb3VuZD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgIDwvZXVpLXRhYnM+XG4gICAgICAgIDwvZXVpLWNhcmQtY29udGVudD5cbiAgICA8L2V1aS1jYXJkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXNhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXNhbXBsZS9kb2Mtc2FtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2Mtc2FtcGxlL2RvYy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZakQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCM0IsWUFDWSxLQUFpQixFQUNqQixTQUE0QixFQUM1QixFQUFxQixFQUNyQixTQUFvQixFQUNwQixNQUFjO1FBSmQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQmpCLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFWixZQUFPLEdBQUcseUJBQXlCLENBQUM7UUFFMUQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO0lBVzFCLENB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bEUsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCw4REFBOEQ7SUFDdEQsT0FBTyxDQUFDLEtBQWU7UUFDM0IsT0FBTyxLQUFLO1lBQ1IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ1IsOERBQThEO1lBQzlELENBQUMsTUFBTSxFQUFFLElBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1Q7b0JBQ0ksRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNYLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7aUJBQ3hEO2dCQUNELEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2pDLEVBQ0QsRUFBRSxDQUNMO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7a0lBN0tRLGtCQUFrQjtzSEFBbEIsa0JBQWtCLHdOQ2YvQix1NkZBeUVBOzs0RkQxRGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLHlCQUF5QixpQkFHcEIsaUJBQWlCLENBQUMsSUFBSTs4TUFHNUIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFZ0IsT0FBTztzQkFBNUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSwgVXhMaW5rIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aVRhYkNvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktdGFicyc7XG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXNhbXBsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jLXNhbXBsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvY1NhbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIGlkID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzID0gJyc7XG4gICAgQElucHV0KCkgcmVuZGVyUGxheWdyb3VuZCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXMgPSAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnO1xuXG4gICAgaXNDb2RlTG9hZGVkID0gZmFsc2U7XG4gICAgaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgIGlzQ29kZUV4cGFuZGVkID0gZmFsc2U7XG4gICAgcGxheWdyb3VuZF9hY3RpdmF0ZWQgPSBmYWxzZTtcblxuICAgIHRzQ29udGVudDtcbiAgICBodG1sQ29udGVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5Q3VycmVudFVybFRvQ2xpcGJvYXJkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VEb21haW4gPSB3aW5kb3c/LmxvY2F0aW9uPy5vcmlnaW47XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcjJyk7XG4gICAgICAgICAgICBjb25zdCBmdWxsVXJsID0gYmFzZURvbWFpbiArIGN1cnJlbnRVcmxbMF0gKyAnIycgKyBpZDtcbiAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoZnVsbFVybCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2woeyBzZXZlcml0eTogJ2RhbmdlcicsIHN1bW1hcnk6ICdDbGlwYm9hcmQgc2VydmljZSBub3QgYXZhaWxhYmxlJyB9KTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmdyb3dsKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ0xpbmsgVVJMIGNvcGllZCB0byBjbGlwYm9hcmQnIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ub2dnbGVDb2RlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0NvZGVMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb2RlRXhwYW5kZWQgPSAhdGhpcy5pc0NvZGVFeHBhbmRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0NvZGVMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhOYW1lID0gdXJsLnBhdGhuYW1lO1xuICAgICAgICAgICAgY29uc3QgcGF0aE5hbWVBcnJheSA9IHBhdGhOYW1lLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgICAgIGxldCBzYW1wbGVQYXRoQXJyYXkgPSBbXTtcblxuICAgICAgICAgICAgY29uc3QgY21wSWQgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBjb25zdCBjbXAgPSB0aGlzLl9nZXRDb21wb25lbnQoY21wSWQpO1xuXG4gICAgICAgICAgICBpZiAoY21wICYmIGNtcC5hbHRlcm5hdGVTYW1wbGVMb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheSA9IGNtcC5hbHRlcm5hdGVTYW1wbGVMb2NhdGlvbi5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IHBhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhdGhOYW1lQXJyYXlbaV0uaW5kZXhPZignZXVpLXNob3djYXNlLScpID4gLTEgfHwgcGF0aE5hbWVBcnJheVtpXS5pbmRleE9mKCdsb2NhbGhvc3QnKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGF0aE5hbWVBcnJheVtpXSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheS5wdXNoKHBhdGhOYW1lQXJyYXlbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhzYW1wbGVQYXRoQXJyYXkpO1xuXG4gICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkgPSBzYW1wbGVQYXRoQXJyYXkucmV2ZXJzZSgpO1xuICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5LnB1c2goJ3NhbXBsZXMnKTtcbiAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheS5wdXNoKHRoaXMuaWQpO1xuXG4gICAgICAgICAgICBjb25zdCBzYW1wbGVzUGF0aCA9IGBhc3NldHMvc2FtcGxlcy8ke3NhbXBsZVBhdGhBcnJheS5qb2luKCcvJyl9YDtcblxuICAgICAgICAgICAgZm9ya0pvaW4oe1xuICAgICAgICAgICAgICAgIHR5cGVzY3JpcHQ6IHRoaXMuX2h0dHAuZ2V0KGAke3NhbXBsZXNQYXRofS9jb21wb25lbnQudHNgLCB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGh0bWw6IHRoaXMuX2h0dHAuZ2V0KGAke3NhbXBsZXNQYXRofS9jb21wb25lbnQuaHRtbGAsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlczogeyB0eXBlc2NyaXB0OiBzdHJpbmc7IGh0bWw6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZXNjcmlwdDogcmVzcG9uc2VzLnR5cGVzY3JpcHQsIGh0bWw6IHJlc3BvbnNlcy5odG1sIH07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmdyb3dsRXJyb3IoYElzc3VlIHdoaWxlIGZldGNoaW5nIDogJHtlcnJvci51cmx9IDogJHtlcnJvci5zdGF0dXN9LSR7ZXJyb3Iuc3RhdHVzVGV4dH1gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFJlc3BvbnNlPigoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxSZXNwb25zZT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChkZW1vOiB7IHR5cGVzY3JpcHQ6IHN0cmluZzsgaHRtbDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50c0NvbnRlbnQgPSBkZW1vLnR5cGVzY3JpcHQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaHRtbENvbnRlbnQgPSBkZW1vLmh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIG9uIHBsYXlncm91bmQgdGFiIHNlbGVjdGVkIGluZm9ybSB0aGUgcGxheWdyb3VuZCBjb21wb25lbnQgdGhhdCBpdHMgY29udGVudCBpcyByZW5kZXJlZFxuICAgICAqIFRPRE86IGZpeCB0aGUgYnVnIG9uIGV1aS10YWIgaW1wbGVtZW50YXRpb24gd2hlcmUgdGhlIG5nQWZ0ZXJWaWV3SW5pdCBpcyBjYWxsZWQgd2l0aG91dCB0aGUgdmlldyBhY3R1YWxseVxuICAgICAqICBiZWluZyByZW5kZXJlZCBvbiBzY3JlZW4uIElzc3VlIGlzIHRoYXQgaW5pdGlhbGx5IHRoZSB2aWV3IGlzIGJlaW5nIHJlbmRlcmVkIGFuZCB0aGVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAqICBJbnRlcm5hbGx5IGV1aS10YWJzIGlzIG1vdmluZyB0aGUgcHJvamVjdGVkIGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWQgVGhlIHNlbGVjdGVkIHRhYiBjb21wb25lbnQgcmVmZXJlbmNlIGFuZCBpdHMgaW5kZXggaW4gdGhlIHRhYnMgYXJyYXkuXG4gICAgICovXG4gICAgb25TZWxlY3RlZFRhYihzZWxlY3RlZDogeyB0YWI6IEV1aVRhYkNvbXBvbmVudDsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGxheWdyb3VuZF9hY3RpdmF0ZWQgPSBzZWxlY3RlZC5pbmRleCA9PT0gMjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaWx0ZXIgb3V0IHRoZSBleHRyYSBpbXBvcnQgYW5kIG1vZHVsZSBmcm9tIHRoZSBjb2RlIHNhbXBsZVxuICAgICAqXG4gICAgICogQHBhcmFtIGNvZGVcbiAgICAgKi9cbiAgICBmaWx0ZXJPdXRNb2R1bGVBbmRJbXBvcnRzKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIGZpbHRlciBvdXQgbW9kdWxlXG4gICAgICAgIGNvbnN0IG1vZHVsZVJlZ2V4ID0gL0BOZ01vZHVsZVxcKChbXFxzXFxTXSo/KVxcKVxcbmV4cG9ydCBjbGFzcyBcXHcrIFxceyhbXFxzXFxTXSo/KVxcfS9nO1xuICAgICAgICBjb2RlID0gY29kZS5yZXBsYWNlKG1vZHVsZVJlZ2V4LCAnJyk7XG4gICAgICAgIC8vIGZpbHRlciBvdXQgZXh0cmEgaW1wb3J0c1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgY29kZSA9IGNvZGUucmVwbGFjZShcImltcG9ydCB7IEV1aUFsbE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cyc7XFxuXCIsICcnKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIGNvZGUgPSBjb2RlLnJlcGxhY2UoXCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xcblwiLCAnJyk7XG4gICAgICAgIHJldHVybiBjb2RlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW50KGlkKTogVXhMaW5rIHwgYW55IHtcbiAgICAgICAgY29uc3QgZmxhdExpbmtzID0gdGhpcy5mbGF0dGVuKHRoaXMuYXNTZXJ2aWNlLnN0YXRlLnNpZGViYXJMaW5rcyk7XG5cbiAgICAgICAgcmV0dXJuIGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgZmxhdHRlbihsaW5rczogVXhMaW5rW10pOiBVeExpbmtbXSB8IGFueSB7XG4gICAgICAgIHJldHVybiBsaW5rc1xuICAgICAgICAgICAgPyBsaW5rcy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgaXRlbTogVXhMaW5rIHwgYW55KSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uOiBpdGVtLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5mbGF0dGVuKGl0ZW0uY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IFtdO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkb2Mtc2FtcGxlLXRpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2xhYmVsXCI+XG4gICAgICAgIDxzdHJvbmc+e3sgbGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgIChjbGljayk9XCJjb3B5Q3VycmVudFVybFRvQ2xpcGJvYXJkKGlkKVwiXG4gICAgICAgICAgICBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2xpbmtcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwibGlua1wiIHNldD1cIm91dGxpbmVcIiBzaXplPVwibFwiIGZpbGxDb2xvcj1cImdyZXktNzVcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2l0ZW1zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBbZXVpT3V0bGluZV09XCIhaXNDb2RlRXhwYW5kZWRcIlxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNvZGUoKVwiXG4gICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzQ29kZUxvYWRpbmdcIlxuICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cImlzQ29kZUxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzQ29kZUV4cGFuZGVkXCIgZXVpTGFiZWw+Q29kZTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNDb2RlRXhwYW5kZWRcIiBldWlMYWJlbD5IaWRlIENvZGU8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBldWlJY29uIGljb25DbGFzcz1cImV1aS1pY29uLWNvZGVcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpc0NvZGVFeHBhbmRlZFwiPlxuICAgIDxldWktY2FyZCBldWlOb0NvbnRlbnRQYWRkaW5nPlxuICAgICAgICA8ZXVpLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxldWktdGFicyAodGFiU2VsZWN0KT1cIm9uU2VsZWN0ZWRUYWIoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxldWktdGFiIFtpc1Zpc2libGVdPVwiaHRtbENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgSFRNTFxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYlN1YkxhYmVsPkh5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2U8L2V1aVRhYlN1YkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1tYXJrdXBcIiBldWlDb2RlPnt7aHRtbENvbnRlbnR9fTwvY29kZT48L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYiBbaXNWaXNpYmxlXT1cInRzQ29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICBUU1xuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYlN1YkxhYmVsPlR5cGVzY3JpcHQ8L2V1aVRhYlN1YkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1qYXZhc2NyaXB0XCIgZXVpQ29kZT57e2ZpbHRlck91dE1vZHVsZUFuZEltcG9ydHModHNDb250ZW50KX19PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuICAgICAgICAgICAgICAgIDxldWktdGFiIGV1aVdhcm5pbmcgW2lzVmlzaWJsZV09XCJodG1sQ29udGVudCAmJiB0c0NvbnRlbnQgJiYgcmVuZGVyUGxheWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF5Z3JvdW5kXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiU3ViTGFiZWw+U3RhY2tibGl0eiA8ZXVpLWNoaXAgZXVpU2l6ZVMgZXVpV2FybmluZz5FeHBlcmltZW50YWw8L2V1aS1jaGlwPjwvZXVpVGFiU3ViTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1wbGF5Z3JvdW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVzY3JpcHRDb250ZW50XT1cInRzQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2h0bWxDb250ZW50XT1cImh0bWxDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZhdGVkXT1cInBsYXlncm91bmRfYWN0aXZhdGVkXCI+PC9ldWktcGxheWdyb3VuZD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgIDwvZXVpLXRhYnM+XG4gICAgICAgIDwvZXVpLWNhcmQtY29udGVudD5cbiAgICA8L2V1aS1jYXJkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -171,7 +171,7 @@ export class PlaygroundComponent {
171
171
  appendVitalNgModules(contents) {
172
172
  // const imports = contents.match(/imports: \[([\s\S]*?)\]/);
173
173
  // appends BrowserModule to imports
174
- contents = contents.replace(/imports: \[([\s\S]*?)\]/, `imports: [BrowserModule, $1]`);
174
+ contents = contents.replace(/imports: \[([\s\S]*?)\]/, 'imports: [BrowserModule, $1]');
175
175
  // appends import of BrowserModule
176
176
  return `import { BrowserModule } from '@angular/platform-browser';\n${contents}`;
177
177
  }
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
195
195
  type: ViewChild,
196
196
  args: ['container', { read: ElementRef, static: true }]
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxHQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTXJILE1BQU0sT0FBTyxtQkFBbUI7SUFpQjVCLFlBQ1ksUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsSUFBZ0I7UUFIaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFuQnJCLFVBQUssR0FBRyxnQkFBZ0IsQ0FBQztRQU16QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFXckIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNI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Q0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUN2RixrQ0FBa0M7UUFDbEMsT0FBTywrREFBK0QsUUFBUSxFQUFFLENBQUM7SUFDckYsQ0FBQztrSUEvTVEsbUJBQW1CO3NIQUFuQixtQkFBbUIsK1JBWUksVUFBVSxnRUN2QjlDLDJIQUdBOzs0RkRRYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0ksZ0JBQWdCO2tMQUtuQixLQUFLO3NCQURYLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFJRSxtQkFBbUI7c0JBRDFCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBzZGssIHsgUHJvamVjdERlcGVuZGVuY2llcywgVk0gfSBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYW5ndWxhckpzb25GaWxlLCBpbmRleEh0bWxGaWxlLCBtYWluRmlsZSwgUEFDS0FHRV9KU09OLCBwb2x5ZmlsbHNGaWxlLCB0c0NvbmZpZyB9IGZyb20gJy4vc3RhY2tibGl0ei5maWxlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXBsYXlncm91bmQnLFxuICAgIHRlbXBsYXRlVXJsOiBgcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbGAsXG59KVxuZXhwb3J0IGNsYXNzIFBsYXlncm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRpdGxlID0gJ2VVSSBQbGF5Z3JvdW5kJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGVzY3JpcHRDb250ZW50OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZhdGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9kdWxlczogW3sgbmFtZTogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfV07XG4gICAgcHVibGljIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIHN0YWNrYmxpdHpFbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTElGcmFtZUVsZW1lbnQ+O1xuICAgIC8qKiBpbnN0YW5jZSB0aGF0IGhvbGRzIHRoZSBzdGFja2JsaXR6IFZNIG9iamVjdCAqL1xuICAgIHByaXZhdGUgc3RhY2tibGl0ekluc3RhbmNlOiBWTTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBhcHBTaGVsbDogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuYWN0aXZhdGVkKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5hY3RpdmF0ZWQuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U3RhY2tibGl0eigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTdGFja2JsaXR6KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFN0YWNrYmxpdHpEZXBlbmRlbmNpZXMoKVxuICAgICAgICAgICAgLnRoZW4oKGRlcHMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzIH0gPSBkZXBzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0b3IgfSA9IHRoaXMuZXh0cmFjdENvbXBvbmVudE1ldGFkYXRhKHRoaXMudHlwZXNjcmlwdENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0aGlzLmV4dHJhY3RNb2R1bGVOYW1lKHRoaXMudHlwZXNjcmlwdENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzZGsuZW1iZWRQcm9qZWN0KFxuICAgICAgICAgICAgICAgICAgICAnc3RhY2tibGl0eicsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBBbiBlVUkgZXhhbXBsZSBmb3IgdGhlICR7dGhpcy50aXRsZX0uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAnYW5ndWxhci1jbGknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL2NvbXBvbmVudC5odG1sJzogdGhpcy5odG1sQ29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL2NvbXBvbmVudC50cyc6IHRoaXMuYXBwZW5kVml0YWxOZ01vZHVsZXModGhpcy50eXBlc2NyaXB0Q29udGVudCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJ3NyYy9hcHAubW9kdWxlLnRzJzogbW9kdWxlRmlsZShjbGFzc05hbWUsIHRoaXMubW9kdWxlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9tYWluLnRzJzogbWFpbkZpbGUobW9kdWxlTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9wb2x5ZmlsbHMudHMnOiBwb2x5ZmlsbHNGaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvaW5kZXguaHRtbCc6IGluZGV4SHRtbEZpbGUoc2VsZWN0b3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmd1bGFyLmpzb24nOiBhbmd1bGFySnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhY2thZ2UuanNvbic6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5QQUNLQUdFX0pTT04sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZEZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0c2NvbmZpZy5qc29uJzogdHNDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZpbGU6IFsnY29tcG9uZW50LnRzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwMCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKGluc3RhbmNlOiBWTSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2tibGl0ekluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgdGhhdCBzdGFja2JsaXR6IHdpbGwgbmVlZCBmaWx0ZXJlZCBmcm9tIEBldWkvZGVwcy1iYXNlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U3RhY2tibGl0ekRlcGVuZGVuY2llcygpOiBQcm9taXNlPHtcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBQcm9qZWN0RGVwZW5kZW5jaWVzO1xuICAgICAgICBkZXZEZXBlbmRlbmNpZXM6IFByb2plY3REZXBlbmRlbmNpZXM7XG4gICAgfT4ge1xuICAgICAgICAvLyBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIG9ubHkgc3RhY2tibGl0eiBuZWVkc1xuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGVwZW5kZW5jaWVzID0gW1xuICAgICAgICAgICAgJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NkaycsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tbW9uJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jb21waWxlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29yZScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvZm9ybXMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL21hdGVyaWFsJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9yb3V0ZXInLFxuICAgICAgICAgICAgJ0BldWkvYmFzZScsXG4gICAgICAgICAgICAnQGV1aS9jb21wb25lbnRzJyxcbiAgICAgICAgICAgICdAZXVpL2NvcmUnLFxuICAgICAgICAgICAgJ0BldWkvc3R5bGVzJyxcbiAgICAgICAgICAgICdAZXVpL3N0eWxlcy1iYXNlJyxcbiAgICAgICAgICAgICdAbmdyeC9lZmZlY3RzJyxcbiAgICAgICAgICAgICdAbmdyeC9zdG9yZScsXG4gICAgICAgICAgICAnQG5neC10cmFuc2xhdGUvY29yZScsXG4gICAgICAgICAgICAnbG9jYWxmb3JhZ2UnLFxuICAgICAgICAgICAgJ2xvZGFzaC1lcycsXG4gICAgICAgICAgICAncmVzZWxlY3QnLFxuICAgICAgICAgICAgJ3J4anMnLFxuICAgICAgICAgICAgJ3RzbGliJyxcbiAgICAgICAgICAgICd6b25lLmpzJyxcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGV2RGVwZW5kZW5jaWVzID0gWydAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcicsICdAYW5ndWxhci9jbGknLCAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJywgJ3R5cGVzY3JpcHQnXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50U2hvd2Nhc2VFdWlWZXJzaW9uKClcbiAgICAgICAgICAgIC50aGVuKCh2ZXJzaW9uKSA9PiB0aGlzLnJldHJpZXZlUGFja2FnZURlcGVuZGVuY2llcyh2ZXJzaW9uKSlcbiAgICAgICAgICAgIC50aGVuKChkZXBlbmRlbmNpZXMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkQXJyID0gT2JqZWN0LmVudHJpZXMoZGVwZW5kZW5jaWVzKS5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXBlbmRlbmNpZXMuZmluZCgocykgPT4gcyA9PT0gdlswXSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKGZpbHRlcmVkQXJyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYURlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdXVpZDogJzguMy4yJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1kZXZpY2UtZGV0ZWN0b3InOiAnMy4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1vbWVudCc6ICd+Ni4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1hc2snOiAnXjE0LjAuMCcsXG4gICAgICAgICAgICAgICAgICAgICdjbGVhdmUuanMnOiAnXjEuNi4wJyxcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50OiAnXjIuMTkuMycsXG4gICAgICAgICAgICAgICAgICAgIGV4dGVuZDogJ14zLjAuMicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGV2RGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpLmZpbHRlcigodikgPT4gc3RhY2tibGl0ekRldkRlcGVuZGVuY2llcy5maW5kKChzKSA9PiBzID09PSB2WzBdKSk7XG4gICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzID0geyAuLi5leHRyYURlcGVuZGVuY2llcywgLi4uZmlsdGVyZWRPYmogfTtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXZEZXBlbmRlbmNpZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoZmlsdGVyZWRBcnIpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVwZW5kZW5jaWVzLCBkZXZEZXBlbmRlbmNpZXMgfTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgcGFja2FnZS5qc29uIGZpbGUgb2YgQGV1aS9kZXBzLWJhc2UgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcnNpb25cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pOiBQcm9taXNlPFByb2plY3REZXBlbmRlbmNpZXM+IHtcbiAgICAgICAgcmV0dXJuIGZldGNoKGBodHRwczovL3VucGtnLmNvbS9AZXVpL2RlcHMtYmFzZUAke3ZlcnNpb259L3BhY2thZ2UuanNvbmApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgICAgICAgIC50aGVuKChwa2cpID0+IHBrZz8uZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZVVJIHZlcnNpb24gdXNlZCB0byBidWlsZCB0aGUgc2hvd2Nhc2UgZnJvbSBhcHBsaWNhdGlvbiBhcHAtbWV0YWRhdGEuanNvblxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDx7IGFwcFZlcnNpb246IHN0cmluZyB9PignYXNzZXRzL2FwcC1tZXRhZGF0YS5qc29uJywgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KSkudGhlbihcbiAgICAgICAgICAgIChyZXMpID0+IHJlcz8uYXBwVmVyc2lvbiB8fCAnbGF0ZXN0J1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4dHJhY3QgdGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudCBjbGFzcyBuYW1lIGFuZCBzZWxlY3RvciBuYW1lIGZyb20gdGhlIHR5cGVzY3JpcHQgY29udGVudFxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRzXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4dHJhY3RDb21wb25lbnRNZXRhZGF0YShjb250ZW50czogc3RyaW5nKToge1xuICAgICAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgICAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICB9IHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gY29udGVudHMubWF0Y2goL2V4cG9ydCBjbGFzcyAoW1xcd1xcZF0rKS8pO1xuICAgICAgICBjb25zdCBzZWxlY3Rvck5hbWUgPSBjb250ZW50cy5tYXRjaCgvc2VsZWN0b3I6ICcoW1xcd1xcZC1dKyknLyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSA/IGNsYXNzTmFtZVsxXSA6ICcnLFxuICAgICAgICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yTmFtZSA/IHNlbGVjdG9yTmFtZVsxXSA6ICcnLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4dHJhY3QgbW9kdWxlIGNsYXNzIG5hbWUgZnJvbSB0aGUgdHlwZXNjcmlwdCBjb250ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudHNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXh0cmFjdE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUNsYXNzID0gY29udGVudHMubWF0Y2goL2V4cG9ydCBjbGFzcyAoXFx3K01vZHVsZSkvKTtcbiAgICAgICAgcmV0dXJuIG1vZHVsZUNsYXNzID8gbW9kdWxlQ2xhc3NbMV0gOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZFZpdGFsTmdNb2R1bGVzKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBjb25zdCBpbXBvcnRzID0gY29udGVudHMubWF0Y2goL2ltcG9ydHM6IFxcWyhbXFxzXFxTXSo/KVxcXS8pO1xuICAgICAgICAvLyBhcHBlbmRzIEJyb3dzZXJNb2R1bGUgdG8gaW1wb3J0c1xuICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoL2ltcG9ydHM6IFxcWyhbXFxzXFxTXSo/KVxcXS8sIGBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgJDFdYCk7XG4gICAgICAgIC8vIGFwcGVuZHMgaW1wb3J0IG9mIEJyb3dzZXJNb2R1bGVcbiAgICAgICAgcmV0dXJuIGBpbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XFxuJHtjb250ZW50c31gO1xuICAgIH1cbn1cbiIsIjxldWktYmxvY2stY29udGVudCBbaXNCbG9ja2VkXT1cIiFpc0xvYWRlZFwiPlxuICAgIDxpZnJhbWUgI2NvbnRhaW5lciBpZD1cInN0YWNrYmxpdHpcIj48L2lmcmFtZT5cbjwvZXVpLWJsb2NrLWNvbnRlbnQ+XG4iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxHQUFnQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTXJILE1BQU0sT0FBTyxtQkFBbUI7SUFpQjVCLFlBQ1ksUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsSUFBZ0I7UUFIaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFuQnJCLFVBQUssR0FBRyxnQkFBZ0IsQ0FBQztRQU16QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFXckIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3pCO1NBQ0o7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLENBQUMseUJBQXlCLEVBQUU7YUFDM0IsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztZQUMvQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQ25CLFlBQVksRUFDWjtnQkFDSSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFdBQVcsRUFBRSwwQkFBMEIsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDcEQsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLEtBQUssRUFBRTtvQkFDSCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDdEMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDckUsNERBQTREO29CQUM1RCxhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFDbkMsa0JBQWtCLEVBQUUsYUFBYTtvQkFDakMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQztvQkFDekMsY0FBYyxFQUFFLGVBQWU7b0JBQy9CLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUMxQjt3QkFDSSxHQUFHLFlBQVk7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3FCQUNsQixFQUNELElBQUksRUFDSixDQUFDLENBQ0o7b0JBQ0QsZUFBZSxFQUFFLFFBQVE7aUJBQzVCO2dCQUNELFFBQVEsRUFBRTtvQkFDTixPQUFPLEVBQUU7d0JBQ0wsT0FBTyxFQUFFLE1BQU07d0JBQ2YsWUFBWSxFQUFFLEtBQUs7cUJBQ3RCO2lCQUNKO2dCQUNELFlBQVk7YUFDZixFQUNEO2dCQUNJLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDMUIsTUFBTSxFQUFFLEdBQUc7YUFDZCxDQUNKLENBQUM7UUFDTixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFZLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx5QkFBeUI7UUFJN0IsK0NBQStDO1FBQy9DLE1BQU0sc0JBQXNCLEdBQUc7WUFDM0IscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGtDQUFrQztZQUNsQywyQkFBMkI7WUFDM0IsbUNBQW1DO1lBQ25DLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLGFBQWE7WUFDYixXQUFXO1lBQ1gsVUFBVTtZQUNWLE1BQU07WUFDTixPQUFPO1lBQ1AsU0FBUztTQUNaLENBQUM7UUFFRixNQUFNLHlCQUF5QixHQUFHLENBQUMsK0JBQStCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTNILE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFO2FBQ3JDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVELElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ25CLG9EQUFvRDtZQUNwRCxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BELE1BQU0saUJBQWlCLEdBQUc7Z0JBQ3RCLElBQUksRUFBRSxPQUFPO2dCQUNiLHFCQUFxQixFQUFFLE9BQU87Z0JBQzlCLFlBQVksRUFBRSxRQUFRO2dCQUN0QixVQUFVLEVBQUUsU0FBUztnQkFDckIsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDO1lBQ0YsdURBQXVEO1lBQ3ZELFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RyxZQUFZLEdBQUcsRUFBRSxHQUFHLGlCQUFpQixFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDeEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssMkJBQTJCLENBQUMsT0FBTztRQUN2QyxPQUFPLEtBQUssQ0FBQyxvQ0FBb0MsT0FBTyxlQUFlLENBQUM7YUFDbkUsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDbkMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyw0QkFBNEI7UUFDaEMsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlCLDBCQUEwQixFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2xILENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxJQUFJLFFBQVEsQ0FDdkMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHdCQUF3QixDQUFDLFFBQWdCO1FBSTdDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMzRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUQsT0FBTztZQUNILFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDaEQsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGlCQUFpQixDQUFDLFFBQWdCO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMvRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFFBQWdCO1FBQ3pDLDZEQUE2RDtRQUM3RCxtQ0FBbUM7UUFDbkMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUN2RixrQ0FBa0M7UUFDbEMsT0FBTywrREFBK0QsUUFBUSxFQUFFLENBQUM7SUFDckYsQ0FBQztrSUEvTVEsbUJBQW1CO3NIQUFuQixtQkFBbUIsK1JBWUksVUFBVSxnRUN2QjlDLDJIQUdBOzs0RkRRYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0ksZ0JBQWdCO2tMQUtuQixLQUFLO3NCQURYLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFJRSxtQkFBbUI7c0JBRDFCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBzZGssIHsgUHJvamVjdERlcGVuZGVuY2llcywgVk0gfSBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYW5ndWxhckpzb25GaWxlLCBpbmRleEh0bWxGaWxlLCBtYWluRmlsZSwgUEFDS0FHRV9KU09OLCBwb2x5ZmlsbHNGaWxlLCB0c0NvbmZpZyB9IGZyb20gJy4vc3RhY2tibGl0ei5maWxlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXBsYXlncm91bmQnLFxuICAgIHRlbXBsYXRlVXJsOiAncGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBsYXlncm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRpdGxlID0gJ2VVSSBQbGF5Z3JvdW5kJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGVzY3JpcHRDb250ZW50OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZhdGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9kdWxlczogW3sgbmFtZTogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfV07XG4gICAgcHVibGljIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIHN0YWNrYmxpdHpFbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTElGcmFtZUVsZW1lbnQ+O1xuICAgIC8qKiBpbnN0YW5jZSB0aGF0IGhvbGRzIHRoZSBzdGFja2JsaXR6IFZNIG9iamVjdCAqL1xuICAgIHByaXZhdGUgc3RhY2tibGl0ekluc3RhbmNlOiBWTTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBhcHBTaGVsbDogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmFjdGl2YXRlZCkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXMuYWN0aXZhdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN0YWNrYmxpdHooKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U3RhY2tibGl0eigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRTdGFja2JsaXR6RGVwZW5kZW5jaWVzKClcbiAgICAgICAgICAgIC50aGVuKChkZXBzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBkZXBlbmRlbmNpZXMsIGRldkRlcGVuZGVuY2llcyB9ID0gZGVwcztcbiAgICAgICAgICAgICAgICBjb25zdCB7IHNlbGVjdG9yIH0gPSB0aGlzLmV4dHJhY3RDb21wb25lbnRNZXRhZGF0YSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5leHRyYWN0TW9kdWxlTmFtZSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2RrLmVtYmVkUHJvamVjdChcbiAgICAgICAgICAgICAgICAgICAgJ3N0YWNrYmxpdHonLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQW4gZVVJIGV4YW1wbGUgZm9yIHRoZSAke3RoaXMudGl0bGV9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJ2FuZ3VsYXItY2xpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQuaHRtbCc6IHRoaXMuaHRtbENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQudHMnOiB0aGlzLmFwcGVuZFZpdGFsTmdNb2R1bGVzKHRoaXMudHlwZXNjcmlwdENvbnRlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICdzcmMvYXBwLm1vZHVsZS50cyc6IG1vZHVsZUZpbGUoY2xhc3NOYW1lLCB0aGlzLm1vZHVsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvbWFpbi50cyc6IG1haW5GaWxlKG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvcG9seWZpbGxzLnRzJzogcG9seWZpbGxzRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL2luZGV4Lmh0bWwnOiBpbmRleEh0bWxGaWxlKHNlbGVjdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5ndWxhci5qc29uJzogYW5ndWxhckpzb25GaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWNrYWdlLmpzb24nOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uUEFDS0FHRV9KU09OLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2RGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RzY29uZmlnLmpzb24nOiB0c0NvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZTogWydjb21wb25lbnQudHMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKGluc3RhbmNlOiBWTSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2tibGl0ekluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgdGhhdCBzdGFja2JsaXR6IHdpbGwgbmVlZCBmaWx0ZXJlZCBmcm9tIEBldWkvZGVwcy1iYXNlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U3RhY2tibGl0ekRlcGVuZGVuY2llcygpOiBQcm9taXNlPHtcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBQcm9qZWN0RGVwZW5kZW5jaWVzO1xuICAgICAgICBkZXZEZXBlbmRlbmNpZXM6IFByb2plY3REZXBlbmRlbmNpZXM7XG4gICAgfT4ge1xuICAgICAgICAvLyBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIG9ubHkgc3RhY2tibGl0eiBuZWVkc1xuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGVwZW5kZW5jaWVzID0gW1xuICAgICAgICAgICAgJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NkaycsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tbW9uJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jb21waWxlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29yZScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvZm9ybXMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL21hdGVyaWFsJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9yb3V0ZXInLFxuICAgICAgICAgICAgJ0BldWkvYmFzZScsXG4gICAgICAgICAgICAnQGV1aS9jb21wb25lbnRzJyxcbiAgICAgICAgICAgICdAZXVpL2NvcmUnLFxuICAgICAgICAgICAgJ0BldWkvc3R5bGVzJyxcbiAgICAgICAgICAgICdAZXVpL3N0eWxlcy1iYXNlJyxcbiAgICAgICAgICAgICdAbmdyeC9lZmZlY3RzJyxcbiAgICAgICAgICAgICdAbmdyeC9zdG9yZScsXG4gICAgICAgICAgICAnQG5neC10cmFuc2xhdGUvY29yZScsXG4gICAgICAgICAgICAnbG9jYWxmb3JhZ2UnLFxuICAgICAgICAgICAgJ2xvZGFzaC1lcycsXG4gICAgICAgICAgICAncmVzZWxlY3QnLFxuICAgICAgICAgICAgJ3J4anMnLFxuICAgICAgICAgICAgJ3RzbGliJyxcbiAgICAgICAgICAgICd6b25lLmpzJyxcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGV2RGVwZW5kZW5jaWVzID0gWydAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcicsICdAYW5ndWxhci9jbGknLCAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJywgJ3R5cGVzY3JpcHQnXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50U2hvd2Nhc2VFdWlWZXJzaW9uKClcbiAgICAgICAgICAgIC50aGVuKCh2ZXJzaW9uKSA9PiB0aGlzLnJldHJpZXZlUGFja2FnZURlcGVuZGVuY2llcyh2ZXJzaW9uKSlcbiAgICAgICAgICAgIC50aGVuKChkZXBlbmRlbmNpZXMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkQXJyID0gT2JqZWN0LmVudHJpZXMoZGVwZW5kZW5jaWVzKS5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXBlbmRlbmNpZXMuZmluZCgocykgPT4gcyA9PT0gdlswXSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKGZpbHRlcmVkQXJyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYURlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdXVpZDogJzguMy4yJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1kZXZpY2UtZGV0ZWN0b3InOiAnMy4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1vbWVudCc6ICd+Ni4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1hc2snOiAnXjE0LjAuMCcsXG4gICAgICAgICAgICAgICAgICAgICdjbGVhdmUuanMnOiAnXjEuNi4wJyxcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50OiAnXjIuMTkuMycsXG4gICAgICAgICAgICAgICAgICAgIGV4dGVuZDogJ14zLjAuMicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGV2RGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpLmZpbHRlcigodikgPT4gc3RhY2tibGl0ekRldkRlcGVuZGVuY2llcy5maW5kKChzKSA9PiBzID09PSB2WzBdKSk7XG4gICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzID0geyAuLi5leHRyYURlcGVuZGVuY2llcywgLi4uZmlsdGVyZWRPYmogfTtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXZEZXBlbmRlbmNpZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoZmlsdGVyZWRBcnIpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVwZW5kZW5jaWVzLCBkZXZEZXBlbmRlbmNpZXMgfTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgcGFja2FnZS5qc29uIGZpbGUgb2YgQGV1aS9kZXBzLWJhc2UgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcnNpb25cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pOiBQcm9taXNlPFByb2plY3REZXBlbmRlbmNpZXM+IHtcbiAgICAgICAgcmV0dXJuIGZldGNoKGBodHRwczovL3VucGtnLmNvbS9AZXVpL2RlcHMtYmFzZUAke3ZlcnNpb259L3BhY2thZ2UuanNvbmApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgICAgICAgIC50aGVuKChwa2cpID0+IHBrZz8uZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZVVJIHZlcnNpb24gdXNlZCB0byBidWlsZCB0aGUgc2hvd2Nhc2UgZnJvbSBhcHBsaWNhdGlvbiBhcHAtbWV0YWRhdGEuanNvblxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDx7IGFwcFZlcnNpb246IHN0cmluZyB9PignYXNzZXRzL2FwcC1tZXRhZGF0YS5qc29uJywgeyByZXNwb25zZVR5cGU6ICdqc29uJyB9KSkudGhlbihcbiAgICAgICAgICAgIChyZXMpID0+IHJlcz8uYXBwVmVyc2lvbiB8fCAnbGF0ZXN0JyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHRyYWN0IHRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQgY2xhc3MgbmFtZSBhbmQgc2VsZWN0b3IgbmFtZSBmcm9tIHRoZSB0eXBlc2NyaXB0IGNvbnRlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHRyYWN0Q29tcG9uZW50TWV0YWRhdGEoY29udGVudHM6IHN0cmluZyk6IHtcbiAgICAgICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNvbnRlbnRzLm1hdGNoKC9leHBvcnQgY2xhc3MgKFtcXHdcXGRdKykvKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0b3JOYW1lID0gY29udGVudHMubWF0Y2goL3NlbGVjdG9yOiAnKFtcXHdcXGQtXSspJy8pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUgPyBjbGFzc05hbWVbMV0gOiAnJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiBzZWxlY3Rvck5hbWUgPyBzZWxlY3Rvck5hbWVbMV0gOiAnJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHRyYWN0IG1vZHVsZSBjbGFzcyBuYW1lIGZyb20gdGhlIHR5cGVzY3JpcHQgY29udGVudFxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRzXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4dHJhY3RNb2R1bGVOYW1lKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtb2R1bGVDbGFzcyA9IGNvbnRlbnRzLm1hdGNoKC9leHBvcnQgY2xhc3MgKFxcdytNb2R1bGUpLyk7XG4gICAgICAgIHJldHVybiBtb2R1bGVDbGFzcyA/IG1vZHVsZUNsYXNzWzFdIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRWaXRhbE5nTW9kdWxlcyhjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gY29uc3QgaW1wb3J0cyA9IGNvbnRlbnRzLm1hdGNoKC9pbXBvcnRzOiBcXFsoW1xcc1xcU10qPylcXF0vKTtcbiAgICAgICAgLy8gYXBwZW5kcyBCcm93c2VyTW9kdWxlIHRvIGltcG9ydHNcbiAgICAgICAgY29udGVudHMgPSBjb250ZW50cy5yZXBsYWNlKC9pbXBvcnRzOiBcXFsoW1xcc1xcU10qPylcXF0vLCAnaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsICQxXScpO1xuICAgICAgICAvLyBhcHBlbmRzIGltcG9ydCBvZiBCcm93c2VyTW9kdWxlXG4gICAgICAgIHJldHVybiBgaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xcbiR7Y29udGVudHN9YDtcbiAgICB9XG59XG4iLCI8ZXVpLWJsb2NrLWNvbnRlbnQgW2lzQmxvY2tlZF09XCIhaXNMb2FkZWRcIj5cbiAgICA8aWZyYW1lICNjb250YWluZXIgaWQ9XCJzdGFja2JsaXR6XCI+PC9pZnJhbWU+XG48L2V1aS1ibG9jay1jb250ZW50PlxuIl19
@@ -1,4 +1,4 @@
1
- export const polyfillsFile = `import 'zone.js/dist/zone';`;
1
+ export const polyfillsFile = 'import \'zone.js/dist/zone\';';
2
2
  export const mainFile = (moduleName) => `
3
3
  import './polyfills';
4
4
  import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
@@ -207,4 +207,4 @@ export const tsConfig = `
207
207
  "strictInjectionParameters": true
208
208
  }
209
209
  }`;
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tibGl0ei5maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3N0YWNrYmxpdHouZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUFDOzs7O1dBSTdDLFVBQVU7O3NGQUVpRSxVQUFVOzs7Ozs7Ozs7OztDQVcvRixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBcUIsRUFBRSxJQUFzQyxFQUFFLEVBQVUsRUFBRSxDQUNsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBcUJPLGFBQWE7Q0FDdkI7SUFDRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQkM7SUFDRCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkM7O21CQUVlLGFBQWE7Ozs7Ozs7Ozs7Ozs7OztnQkFlaEIsYUFBYTs7O0NBRzVCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThFOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDOzs7OztHQUt4RCxRQUFROzs7O0lBSVAsUUFBUTtDQUNYLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsT0FBTztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFlBQVksRUFBRSxFQUFFO0NBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkJ0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHBvbHlmaWxsc0ZpbGUgPSBgaW1wb3J0ICd6b25lLmpzL2Rpc3Qvem9uZSc7YDtcbmV4cG9ydCBjb25zdCBtYWluRmlsZSA9IChtb2R1bGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4gYFxuaW1wb3J0ICcuL3BvbHlmaWxscyc7XG5pbXBvcnQgeyBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcbmltcG9ydCB7IHByZUluaXRBcHAgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgJHttb2R1bGVOYW1lfSB9IGZyb20gJy4vY29tcG9uZW50JztcblxucHJlSW5pdEFwcCh7cHJvZHVjdGlvbjogZmFsc2V9KS50aGVuKCgpID0+IHBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoJHttb2R1bGVOYW1lfSkudGhlbihyZWYgPT4ge1xuICAgICAgLy8gRW5zdXJlIEFuZ3VsYXIgZGVzdHJveXMgaXRzZWxmIG9uIGhvdCByZWxvYWRzLlxuICAgICAgaWYgKHdpbmRvd1snbmdSZWYnXSkge1xuICAgICAgICB3aW5kb3dbJ25nUmVmJ10uZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgd2luZG93WyduZ1JlZiddID0gcmVmO1xuXG4gICAgICAvLyBPdGhlcndpc2UsIGxvZyB0aGUgYm9vdCBlcnJvclxuICAgIH0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXG4pO1xuXG5gO1xuZXhwb3J0IGNvbnN0IG1vZHVsZUZpbGUgPSAoY29tcG9uZW50TmFtZTogc3RyaW5nLCBtOiB7IG5hbWU6IHN0cmluZzsgcGF0aDogc3RyaW5nIH1bXSA9IFtdKTogc3RyaW5nID0+XG4gICAgYFxuaW1wb3J0IHsgTmdNb2R1bGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVBQX0JBU0VfSFJFRiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV1aUFsbE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIHJlZHVjZXJzIGFzIGNvcmVSZWR1Y2VycyxcbiAgICBDb3JlTW9kdWxlIGFzIEV1aUNvcmVNb2R1bGUsXG4gICAgdHJhbnNsYXRlQ29uZmlnLFxuICAgIENvcmVNb2R1bGVFZmZlY3RzLFxuICAgIEVVSV9DT05GSUdfVE9LRU4sXG59IGZyb20gJ0BldWkvY29yZSc7XG5cbmltcG9ydCB7ICR7Y29tcG9uZW50TmFtZX0gfSBmcm9tICcuL2NvbXBvbmVudCc7XG5gICtcbiAgICBtLm1hcCgoaSkgPT4gYGltcG9ydCB7ICR7aS5uYW1lfSB9IGZyb20gJyR7aS5wYXRofSc7XFxuYCkuam9pbignJykgK1xuICAgIGBcblxuZXhwb3J0IGNvbnN0IFJFRFVDRVJfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignUmVnaXN0ZXJlZCBSZWR1Y2VycycpO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRXVpQWxsTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLmZvclJvb3QoW10pLFxuICAgIEV1aUNvcmVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yUm9vdChbLi4uQ29yZU1vZHVsZUVmZmVjdHNdKSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh0cmFuc2xhdGVDb25maWcpLFxuICAgIFN0b3JlTW9kdWxlLmZvclJvb3QoUkVEVUNFUl9UT0tFTiwgeyB9KVxuICAgIGAgK1xuICAgIG0ubWFwKChpKSA9PiBgJHtpLm5hbWV9LGApLmpvaW4oJycpICtcbiAgICBgXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogWyR7Y29tcG9uZW50TmFtZX1dLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFJFRFVDRVJfVE9LRU4sXG4gICAgICAgIGRlcHM6IFtdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBPYmplY3QuYXNzaWduKHt9LCBjb3JlUmVkdWNlcnMpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBFVUlfQ09ORklHX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogeyBhcHBDb25maWc6IHt9LCBlbnZpcm9ubWVudDoge30gfVxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBBUFBfQkFTRV9IUkVGLCB1c2VWYWx1ZTogJy8nXG4gICAgfVxuICBdLFxuICBib290c3RyYXA6IFske2NvbXBvbmVudE5hbWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG5gO1xuZXhwb3J0IGNvbnN0IGFuZ3VsYXJKc29uRmlsZSA9IGBcbntcbiAgXCJ2ZXJzaW9uXCI6IDEsXG4gIFwibmV3UHJvamVjdFJvb3RcIjogXCJwcm9qZWN0c1wiLFxuICBcInByb2plY3RzXCI6IHtcbiAgICBcImRlbW9cIjoge1xuICAgICAgXCJyb290XCI6IFwiXCIsXG4gICAgICBcInNvdXJjZVJvb3RcIjogXCJcIixcbiAgICAgIFwicHJvamVjdFR5cGVcIjogXCJhcHBsaWNhdGlvblwiLFxuICAgICAgXCJwcmVmaXhcIjogXCJhcHBcIixcbiAgICAgIFwic2NoZW1hdGljc1wiOiB7fSxcbiAgICAgIFwiYXJjaGl0ZWN0XCI6IHtcbiAgICAgICAgXCJidWlsZFwiOiB7XG4gICAgICAgICAgXCJidWlsZGVyXCI6IFwiQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YnJvd3NlclwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcIm91dHB1dFBhdGhcIjogXCJkaXN0L2RlbW9cIixcbiAgICAgICAgICAgIFwiaW5kZXhcIjogXCJzcmMvaW5kZXguaHRtbFwiLFxuICAgICAgICAgICAgXCJtYWluXCI6IFwic3JjL21haW4udHNcIixcbiAgICAgICAgICAgIFwicG9seWZpbGxzXCI6IFwic3JjL3BvbHlmaWxscy50c1wiLFxuICAgICAgICAgICAgXCJ0c0NvbmZpZ1wiOiBcInRzY29uZmlnLmpzb25cIixcbiAgICAgICAgICAgIFwiYXNzZXRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiZ2xvYlwiOiBcIioqLypcIixcbiAgICAgICAgICAgICAgICBcImlucHV0XCI6IFwiLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMtYmFzZS9zcmMvYXNzZXRzL1wiLFxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImdsb2JcIjogXCIqKi8qXCIsXG4gICAgICAgICAgICAgICAgXCJpbnB1dFwiOiBcIi4vbm9kZV9tb2R1bGVzL0BldWkvY29yZS9hc3NldHMvXCIsXG4gICAgICAgICAgICAgICAgXCJvdXRwdXRcIjogXCJzcmMvYXNzZXRzXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwic3R5bGVzXCI6IFtcbiAgICAgICAgICAgICAgXCIuL25vZGVfbW9kdWxlcy9AZXVpL3N0eWxlcy9kaXN0L3N0eWxlcy9ldWkuY3NzXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInNjcmlwdHNcIjogW10sXG4gICAgICAgICAgICBcInByZXNlcnZlU3ltbGlua3NcIjogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJjb25maWd1cmF0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInByb2R1Y3Rpb25cIjoge1xuICAgICAgICAgICAgICBcIm9wdGltaXphdGlvblwiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm91dHB1dEhhc2hpbmdcIjogXCJhbGxcIixcbiAgICAgICAgICAgICAgXCJzb3VyY2VNYXBcIjogZmFsc2UsXG4gICAgICAgICAgICAgIFwiZXh0cmFjdENzc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcIm5hbWVkQ2h1bmtzXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImFvdFwiOiB0cnVlLFxuICAgICAgICAgICAgICBcImV4dHJhY3RMaWNlbnNlc1wiOiB0cnVlLFxuICAgICAgICAgICAgICBcInZlbmRvckNodW5rXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImJ1aWxkT3B0aW1pemVyXCI6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmVcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmRldi1zZXJ2ZXJcIixcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJicm93c2VyVGFyZ2V0XCI6IFwiZGVtbzpidWlsZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImNvbmZpZ3VyYXRpb25zXCI6IHtcbiAgICAgICAgICAgIFwicHJvZHVjdGlvblwiOiB7XG4gICAgICAgICAgICAgIFwiYnJvd3NlclRhcmdldFwiOiBcImRlbW86YnVpbGQ6cHJvZHVjdGlvblwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImxpbnRcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOnRzbGludFwiLFxuICAgICAgICAgIFwib3B0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInRzQ29uZmlnXCI6IFtcInRzY29uZmlnLmpzb25cIl0sXG4gICAgICAgICAgICBcImV4Y2x1ZGVcIjogW1wiKiovbm9kZV9tb2R1bGVzLyoqXCJdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBcImRlZmF1bHRQcm9qZWN0XCI6IFwiZGVtb1wiLFxuICBcImNsaVwiOiB7XG4gICAgXCJhbmFseXRpY3NcIjogXCIwZjk0NGFiYi1lNzg3LTRjMWYtOTA5Mi1lMzQyOTIzNjFjOTFcIlxuICB9XG59XG5gO1xuZXhwb3J0IGNvbnN0IGluZGV4SHRtbEZpbGUgPSAoc2VsZWN0b3I6IHN0cmluZyk6IHN0cmluZyA9PiBgXG48IS0tIFRPRE86IEZpbmQgYSB3b3JrYXJvdW5kIC0tPlxuPG1ldGEgaHR0cC1lcXVpdj1cIkNvbnRlbnQtVHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIiAvPlxuPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJhc3NldHMvZXVpLmNzc1wiIC8+XG48IS0tIEVORCBUT0RPIC0tPlxuPCR7c2VsZWN0b3J9PlxuICAgIDxkaXYgaWQ9XCJsb2FkZXItd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGlkPVwibG9hZGVyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48LyR7c2VsZWN0b3J9PlxuYDtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX0pTT04gPSB7XG4gICAgbmFtZTogJ2RlbW8nLFxuICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgcHJpdmF0ZTogdHJ1ZSxcbiAgICBkZXBlbmRlbmNpZXM6IHt9LFxufTtcbmV4cG9ydCBjb25zdCB0c0NvbmZpZyA9IGBcbntcbiAgXCJjb21waWxlT25TYXZlXCI6IGZhbHNlLFxuICBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJiYXNlVXJsXCI6IFwiLi9cIixcbiAgICBcIm91dERpclwiOiBcIi4vZGlzdC9vdXQtdHNjXCIsXG4gICAgXCJzb3VyY2VNYXBcIjogdHJ1ZSxcbiAgICBcImRlY2xhcmF0aW9uXCI6IGZhbHNlLFxuICAgIFwiZG93bmxldmVsSXRlcmF0aW9uXCI6IHRydWUsXG4gICAgXCJleHBlcmltZW50YWxEZWNvcmF0b3JzXCI6IHRydWUsXG4gICAgXCJtb2R1bGVcIjogXCJlc25leHRcIixcbiAgICBcIm1vZHVsZVJlc29sdXRpb25cIjogXCJub2RlXCIsXG4gICAgXCJpbXBvcnRIZWxwZXJzXCI6IHRydWUsXG4gICAgXCJ0YXJnZXRcIjogXCJlczIwMTZcIixcbiAgICBcImFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHNcIjogdHJ1ZSxcbiAgICBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiOiB0cnVlLFxuICAgIFwidHlwZVJvb3RzXCI6IFtcbiAgICAgIFwibm9kZV9tb2R1bGVzL0B0eXBlc1wiXG4gICAgXSxcbiAgICBcImxpYlwiOiBbXG4gICAgICBcImVzMjAyMFwiLFxuICAgICAgXCJkb21cIlxuICAgIF1cbiAgfSxcbiAgXCJhbmd1bGFyQ29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICBcImVuYWJsZUl2eVwiOiB0cnVlLFxuICAgIFwiZnVsbFRlbXBsYXRlVHlwZUNoZWNrXCI6IHRydWUsXG4gICAgXCJzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzXCI6IHRydWVcbiAgfVxufWA7XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tibGl0ei5maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3N0YWNrYmxpdHouZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLCtCQUErQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUFDOzs7O1dBSTdDLFVBQVU7O3NGQUVpRSxVQUFVOzs7Ozs7Ozs7OztDQVcvRixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBcUIsRUFBRSxJQUFzQyxFQUFFLEVBQVUsRUFBRSxDQUNsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBcUJPLGFBQWE7Q0FDdkI7SUFDRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQkM7SUFDRCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkM7O21CQUVlLGFBQWE7Ozs7Ozs7Ozs7Ozs7OztnQkFlaEIsYUFBYTs7O0NBRzVCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThFOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDOzs7OztHQUt4RCxRQUFROzs7O0lBSVAsUUFBUTtDQUNYLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsT0FBTztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFlBQVksRUFBRSxFQUFFO0NBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkJ0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHBvbHlmaWxsc0ZpbGUgPSAnaW1wb3J0IFxcJ3pvbmUuanMvZGlzdC96b25lXFwnOyc7XG5leHBvcnQgY29uc3QgbWFpbkZpbGUgPSAobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IGBcbmltcG9ydCAnLi9wb2x5ZmlsbHMnO1xuaW1wb3J0IHsgcGxhdGZvcm1Ccm93c2VyRHluYW1pYyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5pbXBvcnQgeyBwcmVJbml0QXBwIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7ICR7bW9kdWxlTmFtZX0gfSBmcm9tICcuL2NvbXBvbmVudCc7XG5cbnByZUluaXRBcHAoe3Byb2R1Y3Rpb246IGZhbHNlfSkudGhlbigoKSA9PiBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljKCkuYm9vdHN0cmFwTW9kdWxlKCR7bW9kdWxlTmFtZX0pLnRoZW4ocmVmID0+IHtcbiAgICAgIC8vIEVuc3VyZSBBbmd1bGFyIGRlc3Ryb3lzIGl0c2VsZiBvbiBob3QgcmVsb2Fkcy5cbiAgICAgIGlmICh3aW5kb3dbJ25nUmVmJ10pIHtcbiAgICAgICAgd2luZG93WyduZ1JlZiddLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHdpbmRvd1snbmdSZWYnXSA9IHJlZjtcblxuICAgICAgLy8gT3RoZXJ3aXNlLCBsb2cgdGhlIGJvb3QgZXJyb3JcbiAgICB9KS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKVxuKTtcblxuYDtcbmV4cG9ydCBjb25zdCBtb2R1bGVGaWxlID0gKGNvbXBvbmVudE5hbWU6IHN0cmluZywgbTogeyBuYW1lOiBzdHJpbmc7IHBhdGg6IHN0cmluZyB9W10gPSBbXSk6IHN0cmluZyA9PlxuICAgIGBcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFQUF9CQVNFX0hSRUYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdWlBbGxNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgICByZWR1Y2VycyBhcyBjb3JlUmVkdWNlcnMsXG4gICAgQ29yZU1vZHVsZSBhcyBFdWlDb3JlTW9kdWxlLFxuICAgIHRyYW5zbGF0ZUNvbmZpZyxcbiAgICBDb3JlTW9kdWxlRWZmZWN0cyxcbiAgICBFVUlfQ09ORklHX1RPS0VOLFxufSBmcm9tICdAZXVpL2NvcmUnO1xuXG5pbXBvcnQgeyAke2NvbXBvbmVudE5hbWV9IH0gZnJvbSAnLi9jb21wb25lbnQnO1xuYCArXG4gICAgbS5tYXAoKGkpID0+IGBpbXBvcnQgeyAke2kubmFtZX0gfSBmcm9tICcke2kucGF0aH0nO1xcbmApLmpvaW4oJycpICtcbiAgICBgXG5cbmV4cG9ydCBjb25zdCBSRURVQ0VSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1JlZ2lzdGVyZWQgUmVkdWNlcnMnKTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEV1aUFsbE1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdKSxcbiAgICBFdWlDb3JlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvclJvb3QoWy4uLkNvcmVNb2R1bGVFZmZlY3RzXSksXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QodHJhbnNsYXRlQ29uZmlnKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JSb290KFJFRFVDRVJfVE9LRU4sIHsgfSlcbiAgICBgICtcbiAgICBtLm1hcCgoaSkgPT4gYCR7aS5uYW1lfSxgKS5qb2luKCcnKSArXG4gICAgYFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFske2NvbXBvbmVudE5hbWV9XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgICBwcm92aWRlOiBSRURVQ0VSX1RPS0VOLFxuICAgICAgICBkZXBzOiBbXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gT2JqZWN0LmFzc2lnbih7fSwgY29yZVJlZHVjZXJzKSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogRVVJX0NPTkZJR19UT0tFTixcbiAgICAgICAgdXNlVmFsdWU6IHsgYXBwQ29uZmlnOiB7fSwgZW52aXJvbm1lbnQ6IHt9IH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfSFJFRiwgdXNlVmFsdWU6ICcvJ1xuICAgIH1cbiAgXSxcbiAgYm9vdHN0cmFwOiBbJHtjb21wb25lbnROYW1lfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7fVxuYDtcbmV4cG9ydCBjb25zdCBhbmd1bGFySnNvbkZpbGUgPSBgXG57XG4gIFwidmVyc2lvblwiOiAxLFxuICBcIm5ld1Byb2plY3RSb290XCI6IFwicHJvamVjdHNcIixcbiAgXCJwcm9qZWN0c1wiOiB7XG4gICAgXCJkZW1vXCI6IHtcbiAgICAgIFwicm9vdFwiOiBcIlwiLFxuICAgICAgXCJzb3VyY2VSb290XCI6IFwiXCIsXG4gICAgICBcInByb2plY3RUeXBlXCI6IFwiYXBwbGljYXRpb25cIixcbiAgICAgIFwicHJlZml4XCI6IFwiYXBwXCIsXG4gICAgICBcInNjaGVtYXRpY3NcIjoge30sXG4gICAgICBcImFyY2hpdGVjdFwiOiB7XG4gICAgICAgIFwiYnVpbGRcIjoge1xuICAgICAgICAgIFwiYnVpbGRlclwiOiBcIkBhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmJyb3dzZXJcIixcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJvdXRwdXRQYXRoXCI6IFwiZGlzdC9kZW1vXCIsXG4gICAgICAgICAgICBcImluZGV4XCI6IFwic3JjL2luZGV4Lmh0bWxcIixcbiAgICAgICAgICAgIFwibWFpblwiOiBcInNyYy9tYWluLnRzXCIsXG4gICAgICAgICAgICBcInBvbHlmaWxsc1wiOiBcInNyYy9wb2x5ZmlsbHMudHNcIixcbiAgICAgICAgICAgIFwidHNDb25maWdcIjogXCJ0c2NvbmZpZy5qc29uXCIsXG4gICAgICAgICAgICBcImFzc2V0c1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImdsb2JcIjogXCIqKi8qXCIsXG4gICAgICAgICAgICAgICAgXCJpbnB1dFwiOiBcIi4vbm9kZV9tb2R1bGVzL0BldWkvc3R5bGVzLWJhc2Uvc3JjL2Fzc2V0cy9cIixcbiAgICAgICAgICAgICAgICBcIm91dHB1dFwiOiBcInNyYy9hc3NldHNcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJnbG9iXCI6IFwiKiovKlwiLFxuICAgICAgICAgICAgICAgIFwiaW5wdXRcIjogXCIuL25vZGVfbW9kdWxlcy9AZXVpL2NvcmUvYXNzZXRzL1wiLFxuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IFwic3JjL2Fzc2V0c1wiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInN0eWxlc1wiOiBbXG4gICAgICAgICAgICAgIFwiLi9ub2RlX21vZHVsZXMvQGV1aS9zdHlsZXMvZGlzdC9zdHlsZXMvZXVpLmNzc1wiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJzY3JpcHRzXCI6IFtdLFxuICAgICAgICAgICAgXCJwcmVzZXJ2ZVN5bWxpbmtzXCI6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiY29uZmlndXJhdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJwcm9kdWN0aW9uXCI6IHtcbiAgICAgICAgICAgICAgXCJvcHRpbWl6YXRpb25cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJvdXRwdXRIYXNoaW5nXCI6IFwiYWxsXCIsXG4gICAgICAgICAgICAgIFwic291cmNlTWFwXCI6IGZhbHNlLFxuICAgICAgICAgICAgICBcImV4dHJhY3RDc3NcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJuYW1lZENodW5rc1wiOiBmYWxzZSxcbiAgICAgICAgICAgICAgXCJhb3RcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJleHRyYWN0TGljZW5zZXNcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJ2ZW5kb3JDaHVua1wiOiBmYWxzZSxcbiAgICAgICAgICAgICAgXCJidWlsZE9wdGltaXplclwiOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlcnZlXCI6IHtcbiAgICAgICAgICBcImJ1aWxkZXJcIjogXCJAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpkZXYtc2VydmVyXCIsXG4gICAgICAgICAgXCJvcHRpb25zXCI6IHtcbiAgICAgICAgICAgIFwiYnJvd3NlclRhcmdldFwiOiBcImRlbW86YnVpbGRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJjb25maWd1cmF0aW9uc1wiOiB7XG4gICAgICAgICAgICBcInByb2R1Y3Rpb25cIjoge1xuICAgICAgICAgICAgICBcImJyb3dzZXJUYXJnZXRcIjogXCJkZW1vOmJ1aWxkOnByb2R1Y3Rpb25cIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJsaW50XCI6IHtcbiAgICAgICAgICBcImJ1aWxkZXJcIjogXCJAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjp0c2xpbnRcIixcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJ0c0NvbmZpZ1wiOiBbXCJ0c2NvbmZpZy5qc29uXCJdLFxuICAgICAgICAgICAgXCJleGNsdWRlXCI6IFtcIioqL25vZGVfbW9kdWxlcy8qKlwiXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgXCJkZWZhdWx0UHJvamVjdFwiOiBcImRlbW9cIixcbiAgXCJjbGlcIjoge1xuICAgIFwiYW5hbHl0aWNzXCI6IFwiMGY5NDRhYmItZTc4Ny00YzFmLTkwOTItZTM0MjkyMzYxYzkxXCJcbiAgfVxufVxuYDtcbmV4cG9ydCBjb25zdCBpbmRleEh0bWxGaWxlID0gKHNlbGVjdG9yOiBzdHJpbmcpOiBzdHJpbmcgPT4gYFxuPCEtLSBUT0RPOiBGaW5kIGEgd29ya2Fyb3VuZCAtLT5cbjxtZXRhIGh0dHAtZXF1aXY9XCJDb250ZW50LVR5cGVcIiBjb250ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04XCIgLz5cbjxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiYXNzZXRzL2V1aS5jc3NcIiAvPlxuPCEtLSBFTkQgVE9ETyAtLT5cbjwke3NlbGVjdG9yfT5cbiAgICA8ZGl2IGlkPVwibG9hZGVyLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlclwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC8ke3NlbGVjdG9yfT5cbmA7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9KU09OID0ge1xuICAgIG5hbWU6ICdkZW1vJyxcbiAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICAgIHByaXZhdGU6IHRydWUsXG4gICAgZGVwZW5kZW5jaWVzOiB7fSxcbn07XG5leHBvcnQgY29uc3QgdHNDb25maWcgPSBgXG57XG4gIFwiY29tcGlsZU9uU2F2ZVwiOiBmYWxzZSxcbiAgXCJjb21waWxlck9wdGlvbnNcIjoge1xuICAgIFwiYmFzZVVybFwiOiBcIi4vXCIsXG4gICAgXCJvdXREaXJcIjogXCIuL2Rpc3Qvb3V0LXRzY1wiLFxuICAgIFwic291cmNlTWFwXCI6IHRydWUsXG4gICAgXCJkZWNsYXJhdGlvblwiOiBmYWxzZSxcbiAgICBcImRvd25sZXZlbEl0ZXJhdGlvblwiOiB0cnVlLFxuICAgIFwiZXhwZXJpbWVudGFsRGVjb3JhdG9yc1wiOiB0cnVlLFxuICAgIFwibW9kdWxlXCI6IFwiZXNuZXh0XCIsXG4gICAgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwibm9kZVwiLFxuICAgIFwiaW1wb3J0SGVscGVyc1wiOiB0cnVlLFxuICAgIFwidGFyZ2V0XCI6IFwiZXMyMDE2XCIsXG4gICAgXCJhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzXCI6IHRydWUsXG4gICAgXCJlbWl0RGVjb3JhdG9yTWV0YWRhdGFcIjogdHJ1ZSxcbiAgICBcInR5cGVSb290c1wiOiBbXG4gICAgICBcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIlxuICAgIF0sXG4gICAgXCJsaWJcIjogW1xuICAgICAgXCJlczIwMjBcIixcbiAgICAgIFwiZG9tXCJcbiAgICBdXG4gIH0sXG4gIFwiYW5ndWxhckNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJlbmFibGVJdnlcIjogdHJ1ZSxcbiAgICBcImZ1bGxUZW1wbGF0ZVR5cGVDaGVja1wiOiB0cnVlLFxuICAgIFwic3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyc1wiOiB0cnVlXG4gIH1cbn1gO1xuIl19
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
53
53
  }]
54
54
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
55
55
 
56
- const polyfillsFile = `import 'zone.js/dist/zone';`;
56
+ const polyfillsFile = 'import \'zone.js/dist/zone\';';
57
57
  const mainFile = (moduleName) => `
58
58
  import './polyfills';
59
59
  import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
@@ -428,7 +428,7 @@ class PlaygroundComponent {
428
428
  appendVitalNgModules(contents) {
429
429
  // const imports = contents.match(/imports: \[([\s\S]*?)\]/);
430
430
  // appends BrowserModule to imports
431
- contents = contents.replace(/imports: \[([\s\S]*?)\]/, `imports: [BrowserModule, $1]`);
431
+ contents = contents.replace(/imports: \[([\s\S]*?)\]/, 'imports: [BrowserModule, $1]');
432
432
  // appends import of BrowserModule
433
433
  return `import { BrowserModule } from '@angular/platform-browser';\n${contents}`;
434
434
  }
@@ -483,10 +483,10 @@ class DocSampleComponent {
483
483
  this.clipboard.copy(fullUrl);
484
484
  }
485
485
  catch (err) {
486
- this.asService.growl({ severity: 'danger', summary: `Clipboard service not available` });
486
+ this.asService.growl({ severity: 'danger', summary: 'Clipboard service not available' });
487
487
  }
488
488
  finally {
489
- this.asService.growl({ severity: 'info', summary: `Link URL copied to clipboard` });
489
+ this.asService.growl({ severity: 'info', summary: 'Link URL copied to clipboard' });
490
490
  }
491
491
  }
492
492
  onToggleCode() {
@@ -842,7 +842,7 @@ class DocPageComponent {
842
842
  const pathNameArray = pathName.split('/');
843
843
  const name = pathNameArray[pathNameArray.length - 1];
844
844
  let category = pathNameArray[pathNameArray.length - 2];
845
- let showcaseType = pathNameArray[pathNameArray.length - 3];
845
+ const showcaseType = pathNameArray[pathNameArray.length - 3];
846
846
  let protocolGen = protocol;
847
847
  let hostGen = host;
848
848
  if (host.indexOf('localhost') > -1) {