@skyux/modals 10.44.0 → 10.44.2

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.
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
284
284
  type: HostListener,
285
285
  args: ['document:keydown', ['$event']]
286
286
  }] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEVBQ2QsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMsd0JBQXdCLEdBRXpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJB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LENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEb2NrTG9jYXRpb24sXG4gIFNreURvY2tTZXJ2aWNlLFxuICBTa3lJZE1vZHVsZSxcbiAgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVNjcm9sbFNoYWRvd0RpcmVjdGl2ZSxcbiAgU2t5U2Nyb2xsU2hhZG93RXZlbnRBcmdzLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lTW9kdWxlIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUaGVtZSwgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvciB9IGZyb20gJy4vbW9kYWwtZXJyb3InO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuXG5jb25zdCBBUklBX1JPTEVfREVGQVVMVCA9ICdkaWFsb2cnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UsXG4gICAgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlLFxuICAgIFNreURvY2tTZXJ2aWNlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgICBTa3lTY3JvbGxTaGFkb3dEaXJlY3RpdmUsXG4gICAgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGZvcm0tbGV2ZWwgZXJyb3JzIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcm1FcnJvcnModmFsdWU6IFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2Vycm9yc1N2Yy51cGRhdGVFcnJvcnModmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIG1vZGFsJ3MgaGVhZGluZy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkaW5nVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGhlbHAga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgZ2xvYmFsIGhlbHAgY29udGVudCB0byBkaXNwbGF5LiBXaGVuIHNwZWNpZmllZCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSBtb2RhbCBoZWFkZXIuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBnbG9iYWwgaGVscCBhcyBjb25maWd1cmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgYWRkZWQgdG8gdGhlIG1vZGFsIGhlYWRlci4gVGhlIGhlbHAgaW5saW5lIGJ1dHRvbiBkaXNwbGF5cyBhIFtwb3BvdmVyXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcG9wb3ZlcilcbiAgICogd2hlbiBjbGlja2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udGVudCBhbmQgb3B0aW9uYWwgdGl0bGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJDb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBoZWxwIHBvcG92ZXIuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlbHBQb3BvdmVyQ29udGVudGAgaXNcbiAgICogYWxzbyBzcGVjaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscFBvcG92ZXJUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHRoZSBjb25maXJtIGNvbXBvbmVudCB0byBzZXQgYSBkaWZmZXJlbnQgcm9sZSBmb3IgdGhlIG1vZGFsLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYXJpYVJvbGVPckRlZmF1bHQgPSB2YWx1ZSB8fCBBUklBX1JPTEVfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhUm9sZU9yRGVmYXVsdCA9IEFSSUFfUk9MRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aWxlZEJvZHk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIGNvbmZpcm0gY29tcG9uZW50IHRvIHNldCBkZXNjcmlwdGl2ZSB0ZXh0IHdpdGhvdXQgdXNpbmcgYVxuICAgKiBtb2RhbCBoZWFkZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhRGVzY3JpYmVkQnkoaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hcmlhRGVzY3JpYmVkQnkgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYURlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19hcmlhRGVzY3JpYmVkQnk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgY29uZmlybSBjb21wb25lbnQgdG8gc2V0IGRlc2NyaXB0aXZlIHRleHQgd2l0aG91dCB1c2luZyBhXG4gICAqIG1vZGFsIGhlYWRlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFMYWJlbGxlZEJ5KGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYUxhYmVsbGVkQnkgPSBpZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FyaWFMYWJlbGxlZEJ5O1xuICB9XG5cbiAgcHVibGljIGFyaWFPd25zOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBsZWdhY3lIZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1vZGFsU3RhdGUgPSAnaW4nO1xuXG4gIHB1YmxpYyBtb2RhbFpJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3c6IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyA9IHtcbiAgICBib3R0b21TaGFkb3c6ICdub25lJyxcbiAgICB0b3BTaGFkb3c6ICdub25lJyxcbiAgfTtcblxuICBwdWJsaWMgc2l6ZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBzY3JvbGxTaGFkb3dFbmFibGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfYXJpYURlc2NyaWJlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNfYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjY29tcG9uZW50QWRhcHRlciA9IGluamVjdChTa3lNb2RhbENvbXBvbmVudEFkYXB0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2NvcmVBZGFwdGVyID0gaW5qZWN0KFNreUNvcmVBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkb2NrU2VydmljZSA9IGluamVjdChTa3lEb2NrU2VydmljZSwgeyBob3N0OiB0cnVlIH0pO1xuICByZWFkb25seSAjZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5ICNlcnJvcnNTdmMgPSBpbmplY3QoU2t5TW9kYWxFcnJvcnNTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2hvc3RTZXJ2aWNlID0gaW5qZWN0KFNreU1vZGFsSG9zdFNlcnZpY2UpO1xuICByZWFkb25seSAjbGl2ZUFubm91bmNlclN2YyA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNtZWRpYVF1ZXJ5U2VydmljZSA9IGluamVjdChTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuICByZWFkb25seSAjd2luZG93UmVmID0gaW5qZWN0KFNreUFwcFdpbmRvd1JlZik7XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvdmlkZXIgaXMgb3B0aW9uYWwgdG8gYWNjb3VudCBmb3Igc2l0dWF0aW9ucyB3aGVyZSBhIG1vZGFsIGNvbXBvbmVudFxuICAgKiBpcyBpbXBsZW1lbnRlZCB3aXRob3V0IHRoZSBtb2RhbCBzZXJ2aWNlLiBGb3IgZXhhbXBsZSwgd2hlbiBhIGNvbnN1bWVyIHRlc3RzXG4gICAqIGEgY29tcG9uZW50IHRoYXQgdXNlcyB0aGUgbW9kYWwgY29tcG9uZW50IGJ1dCBkb2Vzbid0IGxhdW5jaCB0aGUgbW9kYWwgZnJvbVxuICAgKiB0aGUgbW9kYWwgc2VydmljZSBiZWZvcmUgZXhlY3V0aW5nIGFzc2VydGlvbnMuXG4gICAqL1xuICByZWFkb25seSAjY29uZmlnID1cbiAgICBpbmplY3QoU2t5TW9kYWxDb25maWd1cmF0aW9uLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/XG4gICAgbmV3IFNreU1vZGFsQ29uZmlndXJhdGlvbigpO1xuICByZWFkb25seSAjdGhlbWVTdmMgPSBpbmplY3QoU2t5VGhlbWVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZEJ5ID0gdGhpcy4jY29uZmlnLmFyaWFEZXNjcmliZWRCeTtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZEJ5ID0gdGhpcy4jY29uZmlnLmFyaWFMYWJlbGxlZEJ5O1xuICAgIHRoaXMuYXJpYVJvbGUgPSB0aGlzLiNjb25maWcuYXJpYVJvbGU7XG4gICAgdGhpcy5sZWdhY3lIZWxwS2V5ID0gdGhpcy4jY29uZmlnLmhlbHBLZXk7XG4gICAgdGhpcy50aWxlZEJvZHkgPSB0aGlzLiNjb25maWcudGlsZWRCb2R5O1xuICAgIHRoaXMud3JhcHBlckNsYXNzID0gdGhpcy4jY29uZmlnLndyYXBwZXJDbGFzcztcblxuICAgIHRoaXMuc2l6ZSA9IHRoaXMuI2NvbmZpZy5mdWxsUGFnZVxuICAgICAgPyAnZnVsbC1wYWdlJ1xuICAgICAgOiB0aGlzLiNjb25maWcuc2l6ZT8udG9Mb3dlckNhc2UoKSB8fCAnbWVkaXVtJztcblxuICAgIHRoaXMubW9kYWxaSW5kZXggPSB0aGlzLiNob3N0U2VydmljZS56SW5kZXg7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLiNob3N0U2VydmljZSkge1xuICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDI3KSB7XG4gICAgICAgICAgLy8gRXNjYXBlIGtleSB1cFxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5jbG9zZUJ1dHRvbkNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRG9jdW1lbnRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSA5KSB7XG4gICAgICAgICAgLy8gVGFiIHByZXNzZWRcbiAgICAgICAgICBsZXQgZm9jdXNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBmb2N1c0VsZW1lbnRMaXN0ID0gdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAgICAgICB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgKHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdCxcbiAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5pc01vZGFsRm9jdXNlZChldmVudCwgdGhpcy4jZWxSZWYpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5mb2N1c0xhc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAhZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luTGFzdEl0ZW0oZXZlbnQsIGZvY3VzRWxlbWVudExpc3QpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBmb2N1c0NoYW5nZWQgPVxuICAgICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmb2N1c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jbGl2ZUFubm91bmNlclN2Yy5hbm5vdW5jZXJFbGVtZW50Q2hhbmdlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudD8uaWQpIHtcbiAgICAgICAgICB0aGlzLmFyaWFPd25zID0gZWxlbWVudC5pZDtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsU2hhZG93RW5hYmxlZCA9XG4gICAgICAgICAgICB0aGVtZVNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncy50aGVtZSA9PT0gU2t5VGhlbWUucHJlc2V0cy5tb2Rlcm47XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy4jZWxSZWYpO1xuXG4gICAgLy8gQWRkaW5nIGEgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQwNTYyODQ1XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIubW9kYWxPcGVuZWQodGhpcy4jZWxSZWYpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jZG9ja1NlcnZpY2Uuc2V0RG9ja09wdGlvbnMoe1xuICAgICAgbG9jYXRpb246IFNreURvY2tMb2NhdGlvbi5FbGVtZW50Qm90dG9tLFxuICAgICAgcmVmZXJlbmNlRWw6IHRoaXMubW9kYWxDb250ZW50V3JhcHBlckVsZW1lbnQhLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZSkge1xuICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2Uub2JzZXJ2ZSh0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50ISwge1xuICAgICAgICB1cGRhdGVSZXNwb25zaXZlQ2xhc3NlczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZSkge1xuICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UudW5vYnNlcnZlKCk7XG4gICAgfVxuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sZWdhY3lIZWxwS2V5KSB7XG4gICAgICB0aGlzLiNob3N0U2VydmljZS5vbk9wZW5IZWxwKHRoaXMubGVnYWN5SGVscEtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy4jaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmhhbmRsZVdpbmRvd0NoYW5nZSh0aGlzLiNlbFJlZik7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93Q2hhbmdlKGFyZ3M6IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jY29tcG9uZW50QWRhcHRlci5tb2RhbENvbnRlbnRIYXNEaXJlY3RDaGlsZFZpZXdrZWVwZXIoXG4gICAgICB0aGlzLiNlbFJlZixcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWRpYWxvZ1wiXG4gIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgfHwgbW9kYWxDb250ZW50SWQuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgfHwgaGVhZGVySWQuaWRcIlxuICBbYXR0ci5hcmlhLW93bnNdPVwiYXJpYU93bnNcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlT3JEZWZhdWx0XCJcbiAgKHdpbmRvdzpyZXNpemUpPVwid2luZG93UmVzaXplKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktbW9kYWwgc2t5LXNoYWRvdyBza3ktYm94IHNreS1lbGV2YXRpb24tMTYgc2t5LW1vZGFsLXt7IHNpemUgfX1cIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktbW9kYWwtdGlsZWQnOiB0aWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgIHNreUlkXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWZvbnQtaGVhZGluZy0yJzogc2l6ZSA9PT0gJ2Z1bGwtcGFnZSdcbiAgICAgICAgfVwiXG4gICAgICAgICNoZWFkZXJJZD1cInNreUlkXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChoZWFkaW5nVGV4dCkge1xuICAgICAgICAgIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgICAgICAgICAge3sgaGVhZGluZ1RleHQgfX1cbiAgICAgICAgICAgIEBpZiAoaGVscEtleSB8fCBoZWxwUG9wb3ZlckNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPHNreS1oZWxwLWlubGluZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscFwiXG4gICAgICAgICAgICAgICAgW2hlbHBLZXldPVwiaGVscEtleVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJoZWFkaW5nVGV4dFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1oZWFkZXJcIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwibGVnYWN5SGVscEtleVwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1tb2RhbC1idG4taGVscFwiXG4gICAgICAgICAgbmFtZT1cImhlbHAtYnV0dG9uXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9vcGVuX2hlbHAnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGVscEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJxdWVzdGlvbi1jaXJjbGVcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1tb2RhbC1idG4tY2xvc2VcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X21vZGFsX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImNsb3NlXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1jb250ZW50IHNreS1wYWRkaW5nLWV2ZW4tbGFyZ2VcIlxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgc2t5SWRcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJoZWFkZXJJZC5pZFwiXG4gICAgICAoc2t5U2Nyb2xsU2hhZG93KT1cInNjcm9sbFNoYWRvd0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtza3lTY3JvbGxTaGFkb3dFbmFibGVkXT1cInNjcm9sbFNoYWRvd0VuYWJsZWRcIlxuICAgICAgI21vZGFsQ29udGVudElkPVwic2t5SWRcIlxuICAgICAgI21vZGFsQ29udGVudFdyYXBwZXJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtY29udGVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtZm9vdGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LmJvdHRvbVNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LW1vZGFsLWZvb3RlclwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixjQUFjLEVBQ2QsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMsd0JBQXdCLEdBRXpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJB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LENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEb2NrTG9jYXRpb24sXG4gIFNreURvY2tTZXJ2aWNlLFxuICBTa3lJZE1vZHVsZSxcbiAgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVNjcm9sbFNoYWRvd0RpcmVjdGl2ZSxcbiAgU2t5U2Nyb2xsU2hhZG93RXZlbnRBcmdzLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lTW9kdWxlIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUaGVtZSwgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbHNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvciB9IGZyb20gJy4vbW9kYWwtZXJyb3InO1xuaW1wb3J0IHsgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1lcnJvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuXG5jb25zdCBBUklBX1JPTEVfREVGQVVMVCA9ICdkaWFsb2cnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UsXG4gICAgU2t5TW9kYWxFcnJvcnNTZXJ2aWNlLFxuICAgIFNreURvY2tTZXJ2aWNlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgICBTa3lTY3JvbGxTaGFkb3dEaXJlY3RpdmUsXG4gICAgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGZvcm0tbGV2ZWwgZXJyb3JzIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcm1FcnJvcnModmFsdWU6IFNreU1vZGFsRXJyb3JbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2Vycm9yc1N2Yy51cGRhdGVFcnJvcnModmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIG1vZGFsJ3MgaGVhZGluZy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkaW5nVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGhlbHAga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgZ2xvYmFsIGhlbHAgY29udGVudCB0byBkaXNwbGF5LiBXaGVuIHNwZWNpZmllZCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSBtb2RhbCBoZWFkZXIuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBnbG9iYWwgaGVscCBhcyBjb25maWd1cmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVhZGluZ1RleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgbW9kYWwgaGVhZGVyLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVhZGluZ1RleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgY29uZmlybSBjb21wb25lbnQgdG8gc2V0IGEgZGlmZmVyZW50IHJvbGUgZm9yIHRoZSBtb2RhbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmFyaWFSb2xlT3JEZWZhdWx0ID0gdmFsdWUgfHwgQVJJQV9ST0xFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgYXJpYVJvbGVPckRlZmF1bHQgPSBBUklBX1JPTEVfREVGQVVMVDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGlsZWRCb2R5OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IHRoZSBjb25maXJtIGNvbXBvbmVudCB0byBzZXQgZGVzY3JpcHRpdmUgdGV4dCB3aXRob3V0IHVzaW5nIGFcbiAgICogbW9kYWwgaGVhZGVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYURlc2NyaWJlZEJ5KGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYURlc2NyaWJlZEJ5ID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYURlc2NyaWJlZEJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIGNvbmZpcm0gY29tcG9uZW50IHRvIHNldCBkZXNjcmlwdGl2ZSB0ZXh0IHdpdGhvdXQgdXNpbmcgYVxuICAgKiBtb2RhbCBoZWFkZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhTGFiZWxsZWRCeShpZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFMYWJlbGxlZEJ5ID0gaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19hcmlhTGFiZWxsZWRCeTtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhT3duczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgbGVnYWN5SGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBtb2RhbFN0YXRlID0gJ2luJztcblxuICBwdWJsaWMgbW9kYWxaSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93OiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MgPSB7XG4gICAgYm90dG9tU2hhZG93OiAnbm9uZScsXG4gICAgdG9wU2hhZG93OiAnbm9uZScsXG4gIH07XG5cbiAgcHVibGljIHNpemU6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnRXcmFwcGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc2Nyb2xsU2hhZG93RW5hYmxlZCA9IGZhbHNlO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2FyaWFEZXNjcmliZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2FyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2NvbXBvbmVudEFkYXB0ZXIgPSBpbmplY3QoU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjb3JlQWRhcHRlciA9IGluamVjdChTa3lDb3JlQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjZG9ja1NlcnZpY2UgPSBpbmplY3QoU2t5RG9ja1NlcnZpY2UsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjZXJyb3JzU3ZjID0gaW5qZWN0KFNreU1vZGFsRXJyb3JzU2VydmljZSk7XG4gIHJlYWRvbmx5ICNob3N0U2VydmljZSA9IGluamVjdChTa3lNb2RhbEhvc3RTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xpdmVBbm5vdW5jZXJTdmMgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuICByZWFkb25seSAjbWVkaWFRdWVyeVNlcnZpY2UgPSBpbmplY3QoU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcmVhZG9ubHkgI3dpbmRvd1JlZiA9IGluamVjdChTa3lBcHBXaW5kb3dSZWYpO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3ZpZGVyIGlzIG9wdGlvbmFsIHRvIGFjY291bnQgZm9yIHNpdHVhdGlvbnMgd2hlcmUgYSBtb2RhbCBjb21wb25lbnRcbiAgICogaXMgaW1wbGVtZW50ZWQgd2l0aG91dCB0aGUgbW9kYWwgc2VydmljZS4gRm9yIGV4YW1wbGUsIHdoZW4gYSBjb25zdW1lciB0ZXN0c1xuICAgKiBhIGNvbXBvbmVudCB0aGF0IHVzZXMgdGhlIG1vZGFsIGNvbXBvbmVudCBidXQgZG9lc24ndCBsYXVuY2ggdGhlIG1vZGFsIGZyb21cbiAgICogdGhlIG1vZGFsIHNlcnZpY2UgYmVmb3JlIGV4ZWN1dGluZyBhc3NlcnRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgI2NvbmZpZyA9XG4gICAgaW5qZWN0KFNreU1vZGFsQ29uZmlndXJhdGlvbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/P1xuICAgIG5ldyBTa3lNb2RhbENvbmZpZ3VyYXRpb24oKTtcbiAgcmVhZG9ubHkgI3RoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhRGVzY3JpYmVkQnk7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IHRoaXMuI2NvbmZpZy5hcmlhTGFiZWxsZWRCeTtcbiAgICB0aGlzLmFyaWFSb2xlID0gdGhpcy4jY29uZmlnLmFyaWFSb2xlO1xuICAgIHRoaXMubGVnYWN5SGVscEtleSA9IHRoaXMuI2NvbmZpZy5oZWxwS2V5O1xuICAgIHRoaXMudGlsZWRCb2R5ID0gdGhpcy4jY29uZmlnLnRpbGVkQm9keTtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IHRoaXMuI2NvbmZpZy53cmFwcGVyQ2xhc3M7XG5cbiAgICB0aGlzLnNpemUgPSB0aGlzLiNjb25maWcuZnVsbFBhZ2VcbiAgICAgID8gJ2Z1bGwtcGFnZSdcbiAgICAgIDogdGhpcy4jY29uZmlnLnNpemU/LnRvTG93ZXJDYXNlKCkgfHwgJ21lZGl1bSc7XG5cbiAgICB0aGlzLm1vZGFsWkluZGV4ID0gdGhpcy4jaG9zdFNlcnZpY2UuekluZGV4O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgICAgIC8vIEVzY2FwZSBrZXkgdXBcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25DbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKSB7XG4gICAgICBjb25zdCB0b3BNb2RhbCA9IFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWw7XG4gICAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwgPT09IHRoaXMuI2hvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkZpcnN0SXRlbShcbiAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgIGZvY3VzRWxlbWVudExpc3QsXG4gICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuI2VsUmVmKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGZvY3VzQ2hhbmdlZCA9XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuZm9jdXNMYXN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgIWV2ZW50LnNoaWZ0S2V5ICYmXG4gICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5mb2N1c0ZpcnN0RWxlbWVudChmb2N1c0VsZW1lbnRMaXN0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZm9jdXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2xpdmVBbm5vdW5jZXJTdmMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQ/LmlkKSB7XG4gICAgICAgICAgdGhpcy5hcmlhT3ducyA9IGVsZW1lbnQuaWQ7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFNoYWRvd0VuYWJsZWQgPVxuICAgICAgICAgICAgdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MudGhlbWUgPT09IFNreVRoZW1lLnByZXNldHMubW9kZXJuO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuI2VsUmVmKTtcblxuICAgIC8vIEFkZGluZyBhIHRpbWVvdXQgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MDU2Mjg0NVxuICAgIHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLm1vZGFsT3BlbmVkKHRoaXMuI2VsUmVmKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2RvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50IS5uYXRpdmVFbGVtZW50LFxuICAgICAgekluZGV4OiA1LFxuICAgIH0pO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLm9ic2VydmUodGhpcy5tb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudCEsIHtcbiAgICAgICAgdXBkYXRlUmVzcG9uc2l2ZUNsYXNzZXM6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnVub2JzZXJ2ZSgpO1xuICAgIH1cbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBoZWxwQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGVnYWN5SGVscEtleSkge1xuICAgICAgdGhpcy4jaG9zdFNlcnZpY2Uub25PcGVuSGVscCh0aGlzLmxlZ2FjeUhlbHBLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuI2hvc3RTZXJ2aWNlLm9uQ2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyB3aW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy4jZWxSZWYpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFNoYWRvd0NoYW5nZShhcmdzOiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFNoYWRvdyA9IGFyZ3M7XG4gIH1cblxuICBwdWJsaWMgdmlld2tlZXBlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIubW9kYWxDb250ZW50SGFzRGlyZWN0Q2hpbGRWaWV3a2VlcGVyKFxuICAgICAgdGhpcy4jZWxSZWYsXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1tb2RhbC1kaWFsb2dcIlxuICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5IHx8IG1vZGFsQ29udGVudElkLmlkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5IHx8IGhlYWRlcklkLmlkXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImFyaWFPd25zXCJcbiAgW2F0dHIucm9sZV09XCJhcmlhUm9sZU9yRGVmYXVsdFwiXG4gICh3aW5kb3c6cmVzaXplKT1cIndpbmRvd1Jlc2l6ZSgpXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LW1vZGFsIHNreS1zaGFkb3cgc2t5LWJveCBza3ktZWxldmF0aW9uLTE2IHNreS1tb2RhbC17eyBzaXplIH19XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LW1vZGFsLXRpbGVkJzogdGlsZWRCb2R5LFxuICAgICAgJ3NreS1tb2RhbC12aWV3a2VlcGVyJzogdmlld2tlZXBlckVuYWJsZWQoKVxuICAgIH1cIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIHpJbmRleDogbW9kYWxaSW5kZXhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py50b3BTaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyLWNvbnRlbnRcIlxuICAgICAgICBza3lJZFxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1mb250LWhlYWRpbmctMic6IHNpemUgPT09ICdmdWxsLXBhZ2UnXG4gICAgICAgIH1cIlxuICAgICAgICAjaGVhZGVySWQ9XCJza3lJZFwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoaGVhZGluZ1RleHQpIHtcbiAgICAgICAgICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICAgICAgICAgIHt7IGhlYWRpbmdUZXh0IH19XG4gICAgICAgICAgICBAaWYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSB7XG4gICAgICAgICAgICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWhlbHBcIlxuICAgICAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiaGVhZGluZ1RleHRcIlxuICAgICAgICAgICAgICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtaGVhZGVyXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImxlZ2FjeUhlbHBLZXlcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWhlbHBcIlxuICAgICAgICAgIG5hbWU9XCJoZWxwLWJ1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfb3Blbl9oZWxwJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImhlbHBCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwicXVlc3Rpb24tY2lyY2xlXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWNsb3NlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjbG9zZVwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtY29udGVudCBza3ktcGFkZGluZy1ldmVuLWxhcmdlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIHNreUlkXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaGVhZGVySWQuaWRcIlxuICAgICAgKHNreVNjcm9sbFNoYWRvdyk9XCJzY3JvbGxTaGFkb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbc2t5U2Nyb2xsU2hhZG93RW5hYmxlZF09XCJzY3JvbGxTaGFkb3dFbmFibGVkXCJcbiAgICAgICNtb2RhbENvbnRlbnRJZD1cInNreUlkXCJcbiAgICAgICNtb2RhbENvbnRlbnRXcmFwcGVyXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LW1vZGFsLWNvbnRlbnRcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3RlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py5ib3R0b21TaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1mb290ZXJcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19