@tiba-spark/client-shared-lib 25.3.0-392 → 25.3.0-393

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.
@@ -486,4 +486,4 @@ export { SessionState };
486
486
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SessionState, decorators: [{
487
487
  type: Injectable
488
488
  }], ctorParameters: () => [{ type: i1.SessionStorageService }, { type: i2.LocalStorageService }, { type: i3.AppConfigService }, { type: i4.AuthService }, { type: i5.ConfigurationServiceProxy }, { type: i6.BackofficeServiceProxy }, { type: i7.Router }, { type: i8.HttpCancelService }, { type: i9.TranslateService }, { type: i10.MsalService }, { type: i5.UsersServiceProxy }, { type: i11.OpenIdAuthService }, { type: i12.MessageBarService }, { type: i5.MobileServiceProxy }, { type: i13.MobileServiceProxyIdentity }], propDecorators: { onLogin: [], onSetTenantUserAction: [], onUpdateAuthTokenAction: [], setSessionState: [], SetUserNameAction: [], AuditLogoutAction: [], AuditLogoutMobileAction: [], onMobileLogoutAction: [], onLogout: [], onTenantLoadAction: [], onTenantClearAction: [], onHealthActionAction: [], onUpdateUserSettings: [], onUpdateTenantInfoProps: [], onAuthenticate2FAforUser: [], onLoadSessionFromLocalStorageAction: [], onBackofficeAppConfigurationAction: [], onAppConfigurationAction: [], onLoadAppConfigurationMobileAction: [] } });
489
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvbW9kdWxlcy9hdXRoL3Nlc3Npb24uc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFnQixNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBbUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sMkNBQTJDLENBQUM7QUFPdkwsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJB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QUdhO0lBRGIsUUFBUSxFQUFFOzBDQUlWO0FBR2E7SUFEYixRQUFRLEVBQUU7c0NBSVY7QUFHYTtJQURiLFFBQVEsRUFBRTs0Q0FVVjtBQUdhO0lBRGIsUUFBUSxFQUFFOzBDQUlWO0FBR2E7SUFEYixRQUFRLEVBQUU7d0NBSVY7QUE5RlUsWUFBWTtJQUx4QixLQUFLLENBQW9CO1FBQ3hCLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QixDQUFDO0dBRVcsWUFBWSxDQXFieEI7OzRGQXJiWSxZQUFZO2tCQUR4QixVQUFVOzhoQkFrR0YsT0FBTyxNQWFQLHFCQUFxQixNQTJCckIsdUJBQXVCLE1BTXZCLGVBQWUsTUFlZixpQkFBaUIsTUFRakIsaUJBQWlCLE1BeUJqQix1QkFBdUIsTUFZdkIsb0JBQW9CLE1BOENwQixRQUFRLE1Ba0VSLGtCQUFrQixNQWFsQixtQkFBbUIsTUFnQm5CLG9CQUFvQixNQVNwQixvQkFBb0IsTUFPcEIsdUJBQXVCLE1BT3ZCLHdCQUF3QixNQVN4QixtQ0FBbUMsTUFpQm5DLGtDQUFrQyxNQVlsQyx3QkFBd0IsTUFZeEIsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQgeyBDbGVhckNhY2hlUmVxdWVzdCB9IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21lc3NhZ2UtYmFyL21lc3NhZ2UtYmFyLXBvc2l0aW9uLmVudW0nO1xuaW1wb3J0IHsgTWVzc2FnZUJhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21lc3NhZ2UtYmFyL21lc3NhZ2UtYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTE9DQUxfRU5HTElTSF9MQU5HVUFHRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9nbG9iYWwtY29uc3RhbnRzJztcbmltcG9ydCB7IEVOVklST05NRU5ULCBMT0dHRURfVEVOQU5UX0tFWSwgU0VTU0lPTiwgVEVOQU5UX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9rZXlzLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBWRVJTSU9OX1YxIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3ZlcnNpb24tY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IFNwYXJrU2Vzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3Bhcmstc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2VQcm94eSwgTW9iaWxlU2VydmljZVByb3h5LCBTZXR0aW5nc0NhdGVnb3J5LCBTaW5nbGVTaWduT25Qcm92aWRlciwgU3BhcmtTZXR0aW5nc0R0bywgVXNlcnNTZXJ2aWNlUHJveHkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBNb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENhbmNlbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLWNhbmNlbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3BlbklkQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcGVuaWQtYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IHBhcnNlQXBpRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXBpLWhlbHBlci51dGlsJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL3V0aWxzL2xhbmcudXRpbCc7XG5pbXBvcnQgeyBnZXROYXZpZ2F0aW9uUm91dGUgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS51dGlsJztcbmltcG9ydCB7IFVubG9hZFBhcmtpbmdMb3RBY3Rpb24gfSBmcm9tICcuLi9mYWNpbGl0eS9mYWNpbGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IEJhY2tvZmZpY2VTZXJ2aWNlUHJveHkgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvIH0gZnJvbSAnLi9tb2RlbC9hcHBsaWNhdGlvbi1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUZW5hbnRJbmZvIH0gZnJvbSAnLi9tb2RlbC90ZW5hbnQtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQXVkaXRMb2dvdXRBY3Rpb24sIEF1ZGl0TG9nb3V0TW9iaWxlQWN0aW9uLCBBdXRoZW50aWNhdGUyRkFmb3JVc2VyLFxuICBIZWFsdGhBY3Rpb24sIEluaXRTZXNzaW9uRnJvbUxvY2FsU3RvcmFnZUFjdGlvbiwgTG9hZEFwcENvbmZpZ3VyYXRpb25BY3Rpb24sXG4gIExvYWRBcHBDb25maWd1cmF0aW9uTW9iaWxlQWN0aW9uLFxuICBMb2FkQmFja29mZmljZUFwcENvbmZpZ3VyYXRpb25BY3Rpb24sXG4gIExvZ2luUmVxdWVzdEFjdGlvbiwgTG9nb3V0QWN0aW9uLCBMb2dvdXRNb2JpbGVBY3Rpb24sIE1vYmlsZUxvZ291dEFjdGlvbiwgU2V0U3RhdGVBY3Rpb24sIFNldFRlbmFudFVzZXJBY3Rpb24sIFNldFVzZXJOYW1lQWN0aW9uLFxuICBUZW5hbnRDbGVhckFjdGlvbiwgVGVuYW50TG9hZEFjdGlvbiwgVXBkYXRlQXV0aFRva2VuQWN0aW9uLCBVcGRhdGVUZW5hbnRJbmZvUHJvcHMsIFVwZGF0ZVVzZXJTZXR0aW5nc0luU2Vzc2lvbkFjdGlvblxufSBmcm9tICcuL3Nlc3Npb24uYWN0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvblN0YXRlTW9kZWwge1xuICBzcGFya1Nlc3Npb25zOiBTdHJpbmdNYXA8U3BhcmtTZXNzaW9uPjtcbiAgYXBwbGljYXRpb24/OiBBcHBsaWNhdGlvbkluZm87XG4gIHNlcnZlckVudmlyb25tZW50TW9kZT86IHN0cmluZztcbn1cblxuY29uc3QgZGVmYXVsdFNlc3Npb25TdGF0ZSA9IHtcbiAgc3BhcmtTZXNzaW9uczoge30sXG4gIGFwcGxpY2F0aW9uOiB7IHZlcnNpb246IG51bGwsIHJlbGVhc2VEYXRlOiBudWxsLCBmZWF0dXJlczoge30gfSxcbn07XG5cbkBTdGF0ZTxTZXNzaW9uU3RhdGVNb2RlbD4oe1xuICBuYW1lOiAnc2Vzc2lvbicsXG4gIGRlZmF1bHRzOiBkZWZhdWx0U2Vzc2lvblN0YXRlLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlUHJveHk6IENvbmZpZ3VyYXRpb25TZXJ2aWNlUHJveHksXG4gICAgcHJpdmF0ZSBiYWNrb2ZmaWNlU2VydmljZVByb3h5OiBCYWNrb2ZmaWNlU2VydmljZVByb3h5LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBodHRwQ2FuY2VsU2VydmljZTogSHR0cENhbmNlbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXNhbFNlcnZpY2U6IE1zYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcnNTZXJ2aWNlUHJveHk6IFVzZXJzU2VydmljZVByb3h5LFxuICAgIHByaXZhdGUgb3BlbklkQXV0aFNlcnZpY2U6IE9wZW5JZEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZUJhclNlcnZpY2U6IE1lc3NhZ2VCYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9iaWxlU2VydmljZVByb3h5OiBNb2JpbGVTZXJ2aWNlUHJveHksXG4gICAgcHJpdmF0ZSBtb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eTogTW9iaWxlU2VydmljZVByb3h5SWRlbnRpdHkpIHtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHB1YmxpYyBzdGF0aWMgaXNVc2VyQXV0aGVudGljYXRlZFdpdGhTU08oc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKSB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVEVOQU5UX0tFWSk7XG4gICAgcmV0dXJuIHN0YXRlLnNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0/LnVzZXI/LnNzb0F1dGhlbnRpY2F0ZWQ7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIGlzVXNlckF1dGhlbnRpY2F0ZWRXaXRoMkZBKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy51c2VyLmF1dGhlbnRpY2F0ZWQyRkE7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIHNlcnZlckVudmlyb25tZW50TW9kZShzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICByZXR1cm4gc3RhdGUuc2VydmVyRW52aXJvbm1lbnRNb2RlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyB1c2VySW5mbyhzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlcjtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHB1YmxpYyBzdGF0aWMgbG9nZ2VkVXNlckluZm8oc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKSB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oTE9HR0VEX1RFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy51c2VyO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyB0ZW5hbnRJbmZvKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy50ZW5hbnQ7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIHRoaXJkUGFydHlUb2tlbihzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGhpcmRQYXJ0eVRva2VuO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBsb2dnZWRUZW5hbnRJbmZvKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyB1c2VyU2V0dGluZ3Moc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKTogU3BhcmtTZXR0aW5nc0R0b1tdIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlci5zZXR0aW5ncyBhcyBTcGFya1NldHRpbmdzRHRvW107XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIG1hcHBlZFVzZXJTZXR0aW5ncyhzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlci5zZXR0aW5ncy5yZWR1Y2UoKHNldHRpbmdzTWFwLCB1c2VyU2V0dGluZykgPT5cbiAgICAgIHNldHRpbmdzTWFwLnNldChcbiAgICAgICAgdXNlclNldHRpbmcuY2F0ZWdvcnksXG4gICAgICAgIHR5cGVvZiB1c2VyU2V0dGluZy5zZXR0aW5nc0pzb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBKU09OLnBhcnNlKHVzZXJTZXR0aW5nLnNldHRpbmdzSnNvbilcbiAgICAgICAgICA6IHVzZXJTZXR0aW5nLnNldHRpbmdzSnNvblxuICAgICAgKSwgbmV3IE1hcDxTZXR0aW5nc0NhdGVnb3J5LCBhbnk+KCkpO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBhcHBDb25maWd1cmF0aW9uKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8uYXBwQ29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHB1YmxpYyBzdGF0aWMga2VlcE1lTG9nZ2VkSW4oc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVEVOQU5UX0tFWSk7XG4gICAgcmV0dXJuIHN0YXRlLnNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0/LnVzZXIua2VlcE1lTG9nZ2VkSW4gPz8gZmFsc2U7XG4gIH1cblxuICBAQWN0aW9uKExvZ2luUmVxdWVzdEFjdGlvbilcbiAgcHVibGljIG9uTG9naW4oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhY3Rpb246IExvZ2luUmVxdWVzdEFjdGlvbikge1xuICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKGFjdGlvbikucGlwZSh0YXAoe1xuICAgICAgbmV4dDogc3BhcmtTZXNzaW9uID0+IHtcbiAgICAgICAgdGhpcy5TZXRUZW5hbnRVc2VyQWN0aW9uKGN0eCwgc3BhcmtTZXNzaW9uKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogZSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBwYXJzZUFwaUVycm9yTWVzc2FnZShlKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5lcnJvcih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlKSwgeyBwb3NpdGlvbjogTWVzc2FnZUJhclBvc2l0aW9uLlN0YXRpYyB9KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBAQWN0aW9uKFNldFRlbmFudFVzZXJBY3Rpb24pXG4gIHB1YmxpYyBvblNldFRlbmFudFVzZXJBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IHNwYXJrU2Vzc2lvbiB9OiBTZXRUZW5hbnRVc2VyQWN0aW9uKSB7XG4gICAgdGhpcy5TZXRUZW5hbnRVc2VyQWN0aW9uKGN0eCwgc3BhcmtTZXNzaW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgU2V0VGVuYW50VXNlckFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIHNwYXJrU2Vzc2lvbjogU3BhcmtTZXNzaW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGNvbnN0IHsgdXNlciwgYXV0aFRva2VuLCByZWZyZXNoLCB0aGlyZFBhcnR5VG9rZW4gfSA9IHNwYXJrU2Vzc2lvbjtcbiAgICB1c2VyLnNldHRpbmdzID0gdXNlci5zZXR0aW5ncy5tYXAocyA9PiB7XG4gICAgICByZXR1cm4gbmV3IFNwYXJrU2V0dGluZ3NEdG8oe1xuICAgICAgICBjYXRlZ29yeTogcy5jYXRlZ29yeSxcbiAgICAgICAgc2V0dGluZ3NKc29uOiBKU09OLnBhcnNlKHMuc2V0dGluZ3NKc29uKVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XSkge1xuICAgICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdID0geyB1c2VyLCBhdXRoVG9rZW4sIHJlZnJlc2gsIHRlbmFudDogbnVsbCwgdGhpcmRQYXJ0eVRva2VuIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS51c2VyID0gdXNlcjtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS5hdXRoVG9rZW4gPSBhdXRoVG9rZW47XG4gICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0ucmVmcmVzaCA9IHJlZnJlc2g7XG4gICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0udGhpcmRQYXJ0eVRva2VuID0gdGhpcmRQYXJ0eVRva2VuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVBdXRoVG9rZW5BY3Rpb24pXG4gIHB1YmxpYyBvblVwZGF0ZUF1dGhUb2tlbkFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogVXBkYXRlQXV0aFRva2VuQWN0aW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS5hdXRoVG9rZW4gPSBhY3Rpb24uYXV0aFRva2VuO1xuICB9XG5cbiAgQEFjdGlvbihTZXRTdGF0ZUFjdGlvbilcbiAgcHVibGljIHNldFNlc3Npb25TdGF0ZShjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogU2V0U3RhdGVBY3Rpb24pIHtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLmF1dGhUb2tlbiA9IGFjdGlvbi5hdXRoVG9rZW47XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLnJlZnJlc2ggPSBhY3Rpb24ucmVmcmVzaDtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uOiBBcHBsaWNhdGlvbkluZm8gPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbixcbiAgICAgIHJlbGVhc2VEYXRlOiBudWxsLFxuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH07XG4gICAgY3R4LnBhdGNoU3RhdGUoeyBhcHBsaWNhdGlvbiB9KTtcbiAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0VXNlck5hbWVBY3Rpb24pXG4gIHB1YmxpYyBTZXRVc2VyTmFtZUFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogU2V0VXNlck5hbWVBY3Rpb24pIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXS51c2VyLmRpc3BsYXlOYW1lID0gYWN0aW9uLnVzZXJOYW1lO1xuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihBdWRpdExvZ291dEFjdGlvbilcbiAgcHVibGljIEF1ZGl0TG9nb3V0QWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBBdWRpdExvZ291dEFjdGlvbikge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICAgIGlmICh0aGlzLmlzVGVuYW50VW5kZWZpbmVkKHRlbmFudEluZm8sIHNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0pKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7IC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0ZW5hbnQgb3Igc3BhcmtTZXNzaW9ucyBhcmUgdW5kZWZpbmVkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXJzU2VydmljZVByb3h5LmF1ZGl0TG9nb3V0KCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7IH0pKTtcbiAgfVxuXG4gIC8vVE9ETyAsIGVuYWJsZSBiYWNrb2ZmaWNlIGxvZ291dCB3aGVuICwgQkUgQXVkaXQgZm9yIGJhY2tvZmZpY2UgaXMgaW1wbGVtZW50ZWQgXG4gIC8vIEBBY3Rpb24oQXVkaXRCYWNrb2ZmaWNlQWN0aW9uKVxuICAvLyBwdWJsaWMgb25BdWRpdEJhY2tvZmZpY2VBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhY3Rpb246IEF1ZGl0QmFja29mZmljZUFjdGlvbikge1xuICAvLyAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgLy8gICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgLy8gICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXS50ZW5hbnQ7XG4gIC8vICAgaWYgKHRoaXMuaXNUZW5hbnRVbmRlZmluZWQodGVuYW50SW5mbywgc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXSkpIHtcbiAgLy8gICAgIHJldHVybiBvZihudWxsKTsgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRlbmFudCBvciBzcGFya1Nlc3Npb25zIGFyZSB1bmRlZmluZWRcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIHRoaXMuYmFja29mZmljZVNlcnZpY2VQcm94eS5iYWNrb2ZmaWNlQXVkaXRMb2dvdXQoKS5waXBlKFxuICAvLyAgICAgdGFwKCgpID0+IHsgfSkpO1xuICAvLyB9XG5cbiAgQEFjdGlvbihBdWRpdExvZ291dE1vYmlsZUFjdGlvbilcbiAgcHVibGljIEF1ZGl0TG9nb3V0TW9iaWxlQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBBdWRpdExvZ291dE1vYmlsZUFjdGlvbikge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICAgIGlmICh0aGlzLmlzVGVuYW50VW5kZWZpbmVkKHRlbmFudEluZm8sIHNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0pKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7IC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0ZW5hbnQgb3Igc3BhcmtTZXNzaW9ucyBhcmUgdW5kZWZpbmVkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vYmlsZVNlcnZpY2VQcm94eS5tb2JpbGVBdWRpdExvZ291dChWRVJTSU9OX1YxKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHsgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihNb2JpbGVMb2dvdXRBY3Rpb24pXG4gIHB1YmxpYyBvbk1vYmlsZUxvZ291dEFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIHsgbG9nb3V0QXVkaXQgfTogTW9iaWxlTG9nb3V0QWN0aW9uKSB7XG4gICAgY29uc3QgYXBwVHlwZSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIHRoaXMuaHR0cENhbmNlbFNlcnZpY2UuY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7XG5cbiAgICBpZiAoYXBwVHlwZSA9PT0gQXBwVHlwZS5Nb2JpbGUpIHtcbiAgICAgIGN0eC5kaXNwYXRjaChuZXcgTG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShwYXRoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvZ291dEF1ZGl0KSB7XG4gICAgICBjdHguZGlzcGF0Y2gobmV3IEF1ZGl0TG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJvdXRlci5ldmVudHMucGlwZSggLy8gb2JzZXJ2ZSBhbGwgcm91dGUgZXZlbnRzXG4gICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCAmJiBlLnVybC5pbmNsdWRlcygnL2FjY291bnQvbG9naW4nKSksIC8vIGZpbHRlciBvbmx5IE5hdmlnYXRpb25FbmQgZXZlbnRzXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpLnBpcGUoXG4gICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IHRlbmFudCA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICAgICAgICAgIGNvbnN0IHNzb0VuYWJsZWQgPSB0ZW5hbnQ/LnVzZXI/LnNzb0F1dGhlbnRpY2F0ZWQ7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKExPQ0FMX0VOR0xJU0hfTEFOR1VBR0UpO1xuICAgICAgICAgICAgY3R4LmRpc3BhdGNoKG5ldyBUZW5hbnRDbGVhckFjdGlvbigpKTtcbiAgICAgICAgICAgIGN0eC5kaXNwYXRjaChuZXcgVW5sb2FkUGFya2luZ0xvdEFjdGlvbigpKTtcbiAgICAgICAgICAgIGlmIChzc29FbmFibGVkKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHRlbmFudE5hbWUgPSB0ZW5hbnQ/LnRlbmFudD8udGVuYW50TmFtZTtcbiAgICAgICAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0ZW5hbnQ/LnRlbmFudC5wcm9wcz8uc3NvPy5wcm92aWRlcjtcbiAgICAgICAgICAgICAgaWYgKHByb3ZpZGVyID09IFNpbmdsZVNpZ25PblByb3ZpZGVyLk1pY3Jvc29mdCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9nb3V0UmVkaXJlY3Qoe1xuICAgICAgICAgICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiBgLyR7dGVuYW50TmFtZX1gXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZWxzZSBpZiAocHJvdmlkZXIgPT0gU2luZ2xlU2lnbk9uUHJvdmlkZXIuUGluZ0ZlZGVyYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuSWRBdXRoU2VydmljZS5zaWduT3V0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy90aGlzLnNpbGVudExvZ091dE1zbChjdHgsIGFwcFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIEBBY3Rpb24oTG9nb3V0QWN0aW9uKVxuICBwdWJsaWMgb25Mb2dvdXQoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IGxvZ291dEF1ZGl0LCBsb2dvdXRCYWNrb2ZmaWNlQXVkaXQgfTogTG9nb3V0QWN0aW9uKSB7XG4gICAgY29uc3QgYXBwVHlwZSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIHRoaXMuaHR0cENhbmNlbFNlcnZpY2UuY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7XG5cbiAgICBpZiAoYXBwVHlwZSA9PT0gQXBwVHlwZS5Nb2JpbGUpIHtcbiAgICAgIGN0eC5kaXNwYXRjaChuZXcgTG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShwYXRoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvZ291dEF1ZGl0KSB7XG4gICAgICBjdHguZGlzcGF0Y2gobmV3IEF1ZGl0TG9nb3V0QWN0aW9uKCkpO1xuICAgIH1cblxuICAgIC8vVE9ETyAsIGVuYWJsZSBiYWNrb2ZmaWNlIGxvZ291dCB3aGVuICwgQkUgQXVkaXQgZm9yIGJhY2tvZmZpY2UgaXMgaW1wbGVtZW50ZWQgXG4gICAgLy8gaWYgKGxvZ291dEJhY2tvZmZpY2VBdWRpdCkge1xuICAgIC8vICAgY3R4LmRpc3BhdGNoKG5ldyBBdWRpdEJhY2tvZmZpY2VBY3Rpb24oKSk7XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKCAvLyBvYnNlcnZlIGFsbCByb3V0ZSBldmVudHNcbiAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGUudXJsLmluY2x1ZGVzKCcvYWNjb3VudC9sb2dpbicpKSwgLy8gZmlsdGVyIG9ubHkgTmF2aWdhdGlvbkVuZCBldmVudHNcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCkucGlwZShcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgICAgICAgY29uc3QgdGVuYW50ID0gc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdO1xuICAgICAgICAgICAgY29uc3Qgc3NvRW5hYmxlZCA9IHRlbmFudD8udXNlcj8uc3NvQXV0aGVudGljYXRlZDtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UoTE9DQUxfRU5HTElTSF9MQU5HVUFHRSk7XG4gICAgICAgICAgICBjdHguZGlzcGF0Y2gobmV3IFRlbmFudENsZWFyQWN0aW9uKCkpO1xuICAgICAgICAgICAgY3R4LmRpc3BhdGNoKG5ldyBVbmxvYWRQYXJraW5nTG90QWN0aW9uKCkpO1xuICAgICAgICAgICAgaWYgKHNzb0VuYWJsZWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdGVuYW50TmFtZSA9IHRlbmFudD8udGVuYW50Py50ZW5hbnROYW1lO1xuICAgICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IHRlbmFudD8udGVuYW50LnByb3BzPy5zc28/LnByb3ZpZGVyO1xuICAgICAgICAgICAgICBpZiAocHJvdmlkZXIgPT0gU2luZ2xlU2lnbk9uUHJvdmlkZXIuTWljcm9zb2Z0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRSZWRpcmVjdCh7XG4gICAgICAgICAgICAgICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGAvJHt0ZW5hbnROYW1lfWBcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChwcm92aWRlciA9PSBTaW5nbGVTaWduT25Qcm92aWRlci5QaW5nRmVkZXJhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5JZEF1dGhTZXJ2aWNlLnNpZ25PdXQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvL3RoaXMuc2lsZW50TG9nT3V0TXNsKGN0eCwgYXBwVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RlbmFudFVuZGVmaW5lZCA9ICh0ZW5hbnQ6IFRlbmFudEluZm8sIHNlc3Npb246IFNwYXJrU2Vzc2lvbikgPT4gIXRlbmFudCB8fCAhc2Vzc2lvbjtcblxuICBzaWxlbnRMb2dPdXRNc2woY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhcHBUeXBlOiBBcHBUeXBlKSB7XG4gICAgY29uc3QgY2xlYXJDYWNoZVJlcXVlc3Q6IENsZWFyQ2FjaGVSZXF1ZXN0ID0ge1xuICAgICAgYWNjb3VudDogdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBbGxBY2NvdW50cygpWzBdLFxuICAgIH07XG5cbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmNsZWFyQ2FjaGUoY2xlYXJDYWNoZVJlcXVlc3QpO1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG5cbiAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgIGN0eC5kaXNwYXRjaChuZXcgTmF2aWdhdGUocGF0aCkpO1xuICB9XG5cbiAgQEFjdGlvbihUZW5hbnRMb2FkQWN0aW9uKVxuICBwdWJsaWMgb25UZW5hbnRMb2FkQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBUZW5hbnRMb2FkQWN0aW9uKSB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IGFjdGlvbi50ZW5hbnQ/LnRlbmFudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgaWYgKCFzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdKSB7XG4gICAgICBzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdID0geyB1c2VyOiBudWxsLCBhdXRoVG9rZW46IG51bGwsIHJlZnJlc2g6IG51bGwsIHRlbmFudDogYWN0aW9uLnRlbmFudCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdLnRlbmFudCA9IGFjdGlvbi50ZW5hbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gIH1cblxuICBAQWN0aW9uKFRlbmFudENsZWFyQWN0aW9uKVxuICBwdWJsaWMgb25UZW5hbnRDbGVhckFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIF86IFRlbmFudENsZWFyQWN0aW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbiA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICBpZiAoc3BhcmtTZXNzaW9uKSB7XG4gICAgICBzcGFya1Nlc3Npb24udXNlciA9IG51bGw7XG4gICAgICBzcGFya1Nlc3Npb24ucmVmcmVzaCA9IG51bGw7XG4gICAgICBzcGFya1Nlc3Npb24uYXV0aFRva2VuID0gbnVsbDtcbiAgICAgIGlmIChzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbikge1xuICAgICAgICBzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbi5hbmFseXRpY3NUb2tlbiA9ICcnO1xuICAgICAgICBzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbi5mZWVkYmFja1Rva2VuID0gJyc7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgICB9XG4gIH1cblxuICBAQWN0aW9uKEhlYWx0aEFjdGlvbilcbiAgcHVibGljIG9uSGVhbHRoQWN0aW9uQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPikge1xuICAgIGNvbnN0IGVudmlyb25tZW50VmFyaWFibGUkID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZVByb3h5LmdldEhlYWx0aCgpO1xuICAgIHJldHVybiBlbnZpcm9ubWVudFZhcmlhYmxlJC5waXBlKHRhcChlbnZpcm9ubWVudFZhcmlhYmxlID0+IHtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oRU5WSVJPTk1FTlQsIEpTT04uc3RyaW5naWZ5KGVudmlyb25tZW50VmFyaWFibGUuZGF0YS5lbnZpcm9ubWVudCkpO1xuICAgICAgY3R4LnBhdGNoU3RhdGUoeyBzZXJ2ZXJFbnZpcm9ubWVudE1vZGU6IGVudmlyb25tZW50VmFyaWFibGUuZGF0YS5lbnZpcm9ubWVudCB9KTtcbiAgICB9KSk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVVzZXJTZXR0aW5nc0luU2Vzc2lvbkFjdGlvbilcbiAgcHVibGljIG9uVXBkYXRlVXNlclNldHRpbmdzKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgeyB1c2VyU2V0dGluZ3MgfSkge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0udXNlci5zZXR0aW5ncyA9IHVzZXJTZXR0aW5ncztcbiAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgfVxuXG4gIEBBY3Rpb24oVXBkYXRlVGVuYW50SW5mb1Byb3BzKVxuICBwdWJsaWMgb25VcGRhdGVUZW5hbnRJbmZvUHJvcHMoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IHByb3BzIH0pIHtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLnRlbmFudC5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihBdXRoZW50aWNhdGUyRkFmb3JVc2VyKVxuICBwdWJsaWMgb25BdXRoZW50aWNhdGUyRkFmb3JVc2VyKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgeyB9KSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGlmIChzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0/LnVzZXIpIHtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS51c2VyLmF1dGhlbnRpY2F0ZWQyRkEgPSB0cnVlO1xuICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgfVxuICB9XG5cbiAgQEFjdGlvbihJbml0U2Vzc2lvbkZyb21Mb2NhbFN0b3JhZ2VBY3Rpb24pXG4gIHB1YmxpYyBvbkxvYWRTZXNzaW9uRnJvbUxvY2FsU3RvcmFnZUFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIF86IEluaXRTZXNzaW9uRnJvbUxvY2FsU3RvcmFnZUFjdGlvbikge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShTRVNTSU9OKTtcbiAgICBjb25zdCBzZXNzaW9uOiB7XG4gICAgICBhcHBsaWNhdGlvbjogQXBwbGljYXRpb25JbmZvLFxuICAgICAgc3BhcmtTZXNzaW9uczogU3RyaW5nTWFwPFNwYXJrU2Vzc2lvbj4sXG4gICAgfSA9IGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogZGVmYXVsdFNlc3Npb25TdGF0ZTtcbiAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICBhcHBsaWNhdGlvbjogc2Vzc2lvbi5hcHBsaWNhdGlvbixcbiAgICAgIHNwYXJrU2Vzc2lvbnM6IHNlc3Npb24uc3BhcmtTZXNzaW9uc1xuICAgIH0pO1xuICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnQpIHtcbiAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbiA9IHNlc3Npb24uc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdO1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0QXV0aFNlc3Npb24oc3BhcmtTZXNzaW9uPy5hdXRoVG9rZW4sIHNwYXJrU2Vzc2lvbj8ucmVmcmVzaCk7XG4gICAgfVxuICB9XG5cbiAgQEFjdGlvbihMb2FkQmFja29mZmljZUFwcENvbmZpZ3VyYXRpb25BY3Rpb24pXG4gIHB1YmxpYyBvbkJhY2tvZmZpY2VBcHBDb25maWd1cmF0aW9uQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPikge1xuICAgIGNvbnN0IGFwcENvbmZpZ3VyYXRpb24kID0gdGhpcy5iYWNrb2ZmaWNlU2VydmljZVByb3h5LmdldEJhY2tvZmZpY2VBcHBDb25maWd1cmF0aW9uKCk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihMb2FkQXBwQ29uZmlndXJhdGlvbkFjdGlvbilcbiAgcHVibGljIG9uQXBwQ29uZmlndXJhdGlvbkFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4pIHtcbiAgICBjb25zdCBhcHBDb25maWd1cmF0aW9uJCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2VQcm94eS5nZXRBcHBDb25maWd1cmF0aW9uKCk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihMb2FkQXBwQ29uZmlndXJhdGlvbk1vYmlsZUFjdGlvbilcbiAgcHVibGljIG9uTG9hZEFwcENvbmZpZ3VyYXRpb25Nb2JpbGVBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+KSB7XG4gICAgY29uc3QgYXBwQ29uZmlndXJhdGlvbiQgPSB0aGlzLm1vYmlsZVNlcnZpY2VQcm94eUlkZW50aXR5LmdldEFwcENvbmZpZ3VyYXRpb25Nb2JpbGUoVkVSU0lPTl9WMSk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTcGFya1Nlc3Npb25zID0gKCk6IFN0cmluZ01hcDxTcGFya1Nlc3Npb24+ID0+IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oU0VTU0lPTikpPy5zcGFya1Nlc3Npb25zID8/IHt9O1xuICBwcml2YXRlIHNldFNwYXJrU2Vzc2lvbnMgPSAoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBzcGFya1Nlc3Npb25zOiBTdHJpbmdNYXA8U3BhcmtTZXNzaW9uPik6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gY3R4LmdldFN0YXRlKCkuYXBwbGljYXRpb247XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU0VTU0lPTiwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgYXBwbGljYXRpb24sXG4gICAgICBzcGFya1Nlc3Npb25zOiBzcGFya1Nlc3Npb25zXG4gICAgfSkpO1xuICAgIGN0eC5wYXRjaFN0YXRlKHsgc3BhcmtTZXNzaW9ucyB9KTtcbiAgfTtcbn1cbiJdfQ==
489
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvbW9kdWxlcy9hdXRoL3Nlc3Npb24uc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFnQixNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBbUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sMkNBQTJDLENBQUM7QUFPdkwsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJB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QUdhO0lBRGIsUUFBUSxFQUFFOzBDQUlWO0FBR2E7SUFEYixRQUFRLEVBQUU7c0NBSVY7QUFHYTtJQURiLFFBQVEsRUFBRTs0Q0FVVjtBQUdhO0lBRGIsUUFBUSxFQUFFOzBDQUlWO0FBR2E7SUFEYixRQUFRLEVBQUU7d0NBSVY7QUE5RlUsWUFBWTtJQUx4QixLQUFLLENBQW9CO1FBQ3hCLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QixDQUFDO0dBRVcsWUFBWSxDQXFieEI7OzRGQXJiWSxZQUFZO2tCQUR4QixVQUFVOzhoQkFrR0YsT0FBTyxNQWFQLHFCQUFxQixNQTJCckIsdUJBQXVCLE1BTXZCLGVBQWUsTUFlZixpQkFBaUIsTUFRakIsaUJBQWlCLE1BeUJqQix1QkFBdUIsTUFZdkIsb0JBQW9CLE1BOENwQixRQUFRLE1Ba0VSLGtCQUFrQixNQWFsQixtQkFBbUIsTUFnQm5CLG9CQUFvQixNQVNwQixvQkFBb0IsTUFPcEIsdUJBQXVCLE1BT3ZCLHdCQUF3QixNQVN4QixtQ0FBbUMsTUFpQm5DLGtDQUFrQyxNQVlsQyx3QkFBd0IsTUFZeEIsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQgeyBDbGVhckNhY2hlUmVxdWVzdCB9IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGUgfSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luJztcbmltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21lc3NhZ2UtYmFyL21lc3NhZ2UtYmFyLXBvc2l0aW9uLmVudW0nO1xuaW1wb3J0IHsgTWVzc2FnZUJhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21lc3NhZ2UtYmFyL21lc3NhZ2UtYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTE9DQUxfRU5HTElTSF9MQU5HVUFHRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9nbG9iYWwtY29uc3RhbnRzJztcbmltcG9ydCB7IEVOVklST05NRU5ULCBMT0dHRURfVEVOQU5UX0tFWSwgU0VTU0lPTiwgVEVOQU5UX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9rZXlzLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBWRVJTSU9OX1YxIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3ZlcnNpb24tY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IFNwYXJrU2Vzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3Bhcmstc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2VQcm94eSwgTW9iaWxlU2VydmljZVByb3h5LCBTZXR0aW5nc0NhdGVnb3J5LCBTaW5nbGVTaWduT25Qcm92aWRlciwgU3BhcmtTZXR0aW5nc0R0bywgVXNlcnNTZXJ2aWNlUHJveHkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBNb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENhbmNlbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLWNhbmNlbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3BlbklkQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcGVuaWQtYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IHBhcnNlQXBpRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXBpLWhlbHBlci51dGlsJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL3V0aWxzL2xhbmcudXRpbCc7XG5pbXBvcnQgeyBnZXROYXZpZ2F0aW9uUm91dGUgfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS51dGlsJztcbmltcG9ydCB7IFVubG9hZFBhcmtpbmdMb3RBY3Rpb24gfSBmcm9tICcuLi9mYWNpbGl0eS9mYWNpbGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IEJhY2tvZmZpY2VTZXJ2aWNlUHJveHkgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuL21vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbyB9IGZyb20gJy4vbW9kZWwvYXBwbGljYXRpb24taW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGVuYW50SW5mbyB9IGZyb20gJy4vbW9kZWwvdGVuYW50LWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEF1ZGl0TG9nb3V0QWN0aW9uLCBBdWRpdExvZ291dE1vYmlsZUFjdGlvbiwgQXV0aGVudGljYXRlMkZBZm9yVXNlcixcbiAgSGVhbHRoQWN0aW9uLCBJbml0U2Vzc2lvbkZyb21Mb2NhbFN0b3JhZ2VBY3Rpb24sIExvYWRBcHBDb25maWd1cmF0aW9uQWN0aW9uLFxuICBMb2FkQXBwQ29uZmlndXJhdGlvbk1vYmlsZUFjdGlvbixcbiAgTG9hZEJhY2tvZmZpY2VBcHBDb25maWd1cmF0aW9uQWN0aW9uLFxuICBMb2dpblJlcXVlc3RBY3Rpb24sIExvZ291dEFjdGlvbiwgTG9nb3V0TW9iaWxlQWN0aW9uLCBNb2JpbGVMb2dvdXRBY3Rpb24sIFNldFN0YXRlQWN0aW9uLCBTZXRUZW5hbnRVc2VyQWN0aW9uLCBTZXRVc2VyTmFtZUFjdGlvbixcbiAgVGVuYW50Q2xlYXJBY3Rpb24sIFRlbmFudExvYWRBY3Rpb24sIFVwZGF0ZUF1dGhUb2tlbkFjdGlvbiwgVXBkYXRlVGVuYW50SW5mb1Byb3BzLCBVcGRhdGVVc2VyU2V0dGluZ3NJblNlc3Npb25BY3Rpb25cbn0gZnJvbSAnLi9zZXNzaW9uLmFjdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb25TdGF0ZU1vZGVsIHtcbiAgc3BhcmtTZXNzaW9uczogU3RyaW5nTWFwPFNwYXJrU2Vzc2lvbj47XG4gIGFwcGxpY2F0aW9uPzogQXBwbGljYXRpb25JbmZvO1xuICBzZXJ2ZXJFbnZpcm9ubWVudE1vZGU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IGRlZmF1bHRTZXNzaW9uU3RhdGUgPSB7XG4gIHNwYXJrU2Vzc2lvbnM6IHt9LFxuICBhcHBsaWNhdGlvbjogeyB2ZXJzaW9uOiBudWxsLCByZWxlYXNlRGF0ZTogbnVsbCwgZmVhdHVyZXM6IHt9IH0sXG59O1xuXG5AU3RhdGU8U2Vzc2lvblN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3Nlc3Npb24nLFxuICBkZWZhdWx0czogZGVmYXVsdFNlc3Npb25TdGF0ZSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZVByb3h5OiBDb25maWd1cmF0aW9uU2VydmljZVByb3h5LFxuICAgIHByaXZhdGUgYmFja29mZmljZVNlcnZpY2VQcm94eTogQmFja29mZmljZVNlcnZpY2VQcm94eSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgaHR0cENhbmNlbFNlcnZpY2U6IEh0dHBDYW5jZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIG1zYWxTZXJ2aWNlOiBNc2FsU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJzU2VydmljZVByb3h5OiBVc2Vyc1NlcnZpY2VQcm94eSxcbiAgICBwcml2YXRlIG9wZW5JZEF1dGhTZXJ2aWNlOiBPcGVuSWRBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VCYXJTZXJ2aWNlOiBNZXNzYWdlQmFyU2VydmljZSxcbiAgICBwcml2YXRlIG1vYmlsZVNlcnZpY2VQcm94eTogTW9iaWxlU2VydmljZVByb3h5LFxuICAgIHByaXZhdGUgbW9iaWxlU2VydmljZVByb3h5SWRlbnRpdHk6IE1vYmlsZVNlcnZpY2VQcm94eUlkZW50aXR5KSB7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIGlzVXNlckF1dGhlbnRpY2F0ZWRXaXRoU1NPKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy51c2VyPy5zc29BdXRoZW50aWNhdGVkO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBpc1VzZXJBdXRoZW50aWNhdGVkV2l0aDJGQShzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlci5hdXRoZW50aWNhdGVkMkZBO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBzZXJ2ZXJFbnZpcm9ubWVudE1vZGUoc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKSB7XG4gICAgcmV0dXJuIHN0YXRlLnNlcnZlckVudmlyb25tZW50TW9kZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHB1YmxpYyBzdGF0aWMgdXNlckluZm8oc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKTogVXNlckluZm8ge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy51c2VyO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBsb2dnZWRVc2VySW5mbyhzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpOiBVc2VySW5mbyB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oTE9HR0VEX1RFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy51c2VyO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyB0ZW5hbnRJbmZvKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRFTkFOVF9LRVkpO1xuICAgIHJldHVybiBzdGF0ZS5zcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdPy50ZW5hbnQ7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIHRoaXJkUGFydHlUb2tlbihzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGhpcmRQYXJ0eVRva2VuO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBsb2dnZWRUZW5hbnRJbmZvKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyB1c2VyU2V0dGluZ3Moc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKTogU3BhcmtTZXR0aW5nc0R0b1tdIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlci5zZXR0aW5ncyBhcyBTcGFya1NldHRpbmdzRHRvW107XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIG1hcHBlZFVzZXJTZXR0aW5ncyhzdGF0ZTogU2Vzc2lvblN0YXRlTW9kZWwpIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udXNlci5zZXR0aW5ncy5yZWR1Y2UoKHNldHRpbmdzTWFwLCB1c2VyU2V0dGluZykgPT5cbiAgICAgIHNldHRpbmdzTWFwLnNldChcbiAgICAgICAgdXNlclNldHRpbmcuY2F0ZWdvcnksXG4gICAgICAgIHR5cGVvZiB1c2VyU2V0dGluZy5zZXR0aW5nc0pzb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBKU09OLnBhcnNlKHVzZXJTZXR0aW5nLnNldHRpbmdzSnNvbilcbiAgICAgICAgICA6IHVzZXJTZXR0aW5nLnNldHRpbmdzSnNvblxuICAgICAgKSwgbmV3IE1hcDxTZXR0aW5nc0NhdGVnb3J5LCBhbnk+KCkpO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBhcHBDb25maWd1cmF0aW9uKHN0YXRlOiBTZXNzaW9uU3RhdGVNb2RlbCkge1xuICAgIGNvbnN0IHRlbmFudE5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKTtcbiAgICByZXR1cm4gc3RhdGUuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8uYXBwQ29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHB1YmxpYyBzdGF0aWMga2VlcE1lTG9nZ2VkSW4oc3RhdGU6IFNlc3Npb25TdGF0ZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVEVOQU5UX0tFWSk7XG4gICAgcmV0dXJuIHN0YXRlLnNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0/LnVzZXIua2VlcE1lTG9nZ2VkSW4gPz8gZmFsc2U7XG4gIH1cblxuICBAQWN0aW9uKExvZ2luUmVxdWVzdEFjdGlvbilcbiAgcHVibGljIG9uTG9naW4oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhY3Rpb246IExvZ2luUmVxdWVzdEFjdGlvbikge1xuICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKGFjdGlvbikucGlwZSh0YXAoe1xuICAgICAgbmV4dDogc3BhcmtTZXNzaW9uID0+IHtcbiAgICAgICAgdGhpcy5TZXRUZW5hbnRVc2VyQWN0aW9uKGN0eCwgc3BhcmtTZXNzaW9uKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogZSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBwYXJzZUFwaUVycm9yTWVzc2FnZShlKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5lcnJvcih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlKSwgeyBwb3NpdGlvbjogTWVzc2FnZUJhclBvc2l0aW9uLlN0YXRpYyB9KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBAQWN0aW9uKFNldFRlbmFudFVzZXJBY3Rpb24pXG4gIHB1YmxpYyBvblNldFRlbmFudFVzZXJBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IHNwYXJrU2Vzc2lvbiB9OiBTZXRUZW5hbnRVc2VyQWN0aW9uKSB7XG4gICAgdGhpcy5TZXRUZW5hbnRVc2VyQWN0aW9uKGN0eCwgc3BhcmtTZXNzaW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgU2V0VGVuYW50VXNlckFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIHNwYXJrU2Vzc2lvbjogU3BhcmtTZXNzaW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGNvbnN0IHsgdXNlciwgYXV0aFRva2VuLCByZWZyZXNoLCB0aGlyZFBhcnR5VG9rZW4gfSA9IHNwYXJrU2Vzc2lvbjtcbiAgICB1c2VyLnNldHRpbmdzID0gdXNlci5zZXR0aW5ncy5tYXAocyA9PiB7XG4gICAgICByZXR1cm4gbmV3IFNwYXJrU2V0dGluZ3NEdG8oe1xuICAgICAgICBjYXRlZ29yeTogcy5jYXRlZ29yeSxcbiAgICAgICAgc2V0dGluZ3NKc29uOiBKU09OLnBhcnNlKHMuc2V0dGluZ3NKc29uKVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XSkge1xuICAgICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdID0geyB1c2VyLCBhdXRoVG9rZW4sIHJlZnJlc2gsIHRlbmFudDogbnVsbCwgdGhpcmRQYXJ0eVRva2VuIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS51c2VyID0gdXNlcjtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS5hdXRoVG9rZW4gPSBhdXRoVG9rZW47XG4gICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0ucmVmcmVzaCA9IHJlZnJlc2g7XG4gICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0udGhpcmRQYXJ0eVRva2VuID0gdGhpcmRQYXJ0eVRva2VuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihVcGRhdGVBdXRoVG9rZW5BY3Rpb24pXG4gIHB1YmxpYyBvblVwZGF0ZUF1dGhUb2tlbkFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogVXBkYXRlQXV0aFRva2VuQWN0aW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS5hdXRoVG9rZW4gPSBhY3Rpb24uYXV0aFRva2VuO1xuICB9XG5cbiAgQEFjdGlvbihTZXRTdGF0ZUFjdGlvbilcbiAgcHVibGljIHNldFNlc3Npb25TdGF0ZShjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogU2V0U3RhdGVBY3Rpb24pIHtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLmF1dGhUb2tlbiA9IGFjdGlvbi5hdXRoVG9rZW47XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLnJlZnJlc2ggPSBhY3Rpb24ucmVmcmVzaDtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uOiBBcHBsaWNhdGlvbkluZm8gPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbixcbiAgICAgIHJlbGVhc2VEYXRlOiBudWxsLFxuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH07XG4gICAgY3R4LnBhdGNoU3RhdGUoeyBhcHBsaWNhdGlvbiB9KTtcbiAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0VXNlck5hbWVBY3Rpb24pXG4gIHB1YmxpYyBTZXRVc2VyTmFtZUFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIGFjdGlvbjogU2V0VXNlck5hbWVBY3Rpb24pIHtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXS51c2VyLmRpc3BsYXlOYW1lID0gYWN0aW9uLnVzZXJOYW1lO1xuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihBdWRpdExvZ291dEFjdGlvbilcbiAgcHVibGljIEF1ZGl0TG9nb3V0QWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBBdWRpdExvZ291dEFjdGlvbikge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICAgIGlmICh0aGlzLmlzVGVuYW50VW5kZWZpbmVkKHRlbmFudEluZm8sIHNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0pKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7IC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0ZW5hbnQgb3Igc3BhcmtTZXNzaW9ucyBhcmUgdW5kZWZpbmVkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXJzU2VydmljZVByb3h5LmF1ZGl0TG9nb3V0KCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7IH0pKTtcbiAgfVxuXG4gIC8vVE9ETyAsIGVuYWJsZSBiYWNrb2ZmaWNlIGxvZ291dCB3aGVuICwgQkUgQXVkaXQgZm9yIGJhY2tvZmZpY2UgaXMgaW1wbGVtZW50ZWQgXG4gIC8vIEBBY3Rpb24oQXVkaXRCYWNrb2ZmaWNlQWN0aW9uKVxuICAvLyBwdWJsaWMgb25BdWRpdEJhY2tvZmZpY2VBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhY3Rpb246IEF1ZGl0QmFja29mZmljZUFjdGlvbikge1xuICAvLyAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgLy8gICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgLy8gICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXS50ZW5hbnQ7XG4gIC8vICAgaWYgKHRoaXMuaXNUZW5hbnRVbmRlZmluZWQodGVuYW50SW5mbywgc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXSkpIHtcbiAgLy8gICAgIHJldHVybiBvZihudWxsKTsgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRlbmFudCBvciBzcGFya1Nlc3Npb25zIGFyZSB1bmRlZmluZWRcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIHRoaXMuYmFja29mZmljZVNlcnZpY2VQcm94eS5iYWNrb2ZmaWNlQXVkaXRMb2dvdXQoKS5waXBlKFxuICAvLyAgICAgdGFwKCgpID0+IHsgfSkpO1xuICAvLyB9XG5cbiAgQEFjdGlvbihBdWRpdExvZ291dE1vYmlsZUFjdGlvbilcbiAgcHVibGljIEF1ZGl0TG9nb3V0TW9iaWxlQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBBdWRpdExvZ291dE1vYmlsZUFjdGlvbikge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBjb25zdCB0ZW5hbnROYW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKTtcbiAgICBjb25zdCB0ZW5hbnRJbmZvID0gY3R4LmdldFN0YXRlKCkuc3BhcmtTZXNzaW9uc1t0ZW5hbnROYW1lXT8udGVuYW50O1xuICAgIGlmICh0aGlzLmlzVGVuYW50VW5kZWZpbmVkKHRlbmFudEluZm8sIHNwYXJrU2Vzc2lvbnNbdGVuYW50TmFtZV0pKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7IC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0ZW5hbnQgb3Igc3BhcmtTZXNzaW9ucyBhcmUgdW5kZWZpbmVkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vYmlsZVNlcnZpY2VQcm94eS5tb2JpbGVBdWRpdExvZ291dChWRVJTSU9OX1YxKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHsgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihNb2JpbGVMb2dvdXRBY3Rpb24pXG4gIHB1YmxpYyBvbk1vYmlsZUxvZ291dEFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIHsgbG9nb3V0QXVkaXQgfTogTW9iaWxlTG9nb3V0QWN0aW9uKSB7XG4gICAgY29uc3QgYXBwVHlwZSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIHRoaXMuaHR0cENhbmNlbFNlcnZpY2UuY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7XG5cbiAgICBpZiAoYXBwVHlwZSA9PT0gQXBwVHlwZS5Nb2JpbGUpIHtcbiAgICAgIGN0eC5kaXNwYXRjaChuZXcgTG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShwYXRoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvZ291dEF1ZGl0KSB7XG4gICAgICBjdHguZGlzcGF0Y2gobmV3IEF1ZGl0TG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJvdXRlci5ldmVudHMucGlwZSggLy8gb2JzZXJ2ZSBhbGwgcm91dGUgZXZlbnRzXG4gICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCAmJiBlLnVybC5pbmNsdWRlcygnL2FjY291bnQvbG9naW4nKSksIC8vIGZpbHRlciBvbmx5IE5hdmlnYXRpb25FbmQgZXZlbnRzXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpLnBpcGUoXG4gICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICAgICAgICAgIGNvbnN0IHRlbmFudCA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICAgICAgICAgIGNvbnN0IHNzb0VuYWJsZWQgPSB0ZW5hbnQ/LnVzZXI/LnNzb0F1dGhlbnRpY2F0ZWQ7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKExPQ0FMX0VOR0xJU0hfTEFOR1VBR0UpO1xuICAgICAgICAgICAgY3R4LmRpc3BhdGNoKG5ldyBUZW5hbnRDbGVhckFjdGlvbigpKTtcbiAgICAgICAgICAgIGN0eC5kaXNwYXRjaChuZXcgVW5sb2FkUGFya2luZ0xvdEFjdGlvbigpKTtcbiAgICAgICAgICAgIGlmIChzc29FbmFibGVkKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHRlbmFudE5hbWUgPSB0ZW5hbnQ/LnRlbmFudD8udGVuYW50TmFtZTtcbiAgICAgICAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0ZW5hbnQ/LnRlbmFudC5wcm9wcz8uc3NvPy5wcm92aWRlcjtcbiAgICAgICAgICAgICAgaWYgKHByb3ZpZGVyID09IFNpbmdsZVNpZ25PblByb3ZpZGVyLk1pY3Jvc29mdCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXNhbFNlcnZpY2UubG9nb3V0UmVkaXJlY3Qoe1xuICAgICAgICAgICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiBgLyR7dGVuYW50TmFtZX1gXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZWxzZSBpZiAocHJvdmlkZXIgPT0gU2luZ2xlU2lnbk9uUHJvdmlkZXIuUGluZ0ZlZGVyYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuSWRBdXRoU2VydmljZS5zaWduT3V0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy90aGlzLnNpbGVudExvZ091dE1zbChjdHgsIGFwcFR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIEBBY3Rpb24oTG9nb3V0QWN0aW9uKVxuICBwdWJsaWMgb25Mb2dvdXQoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IGxvZ291dEF1ZGl0LCBsb2dvdXRCYWNrb2ZmaWNlQXVkaXQgfTogTG9nb3V0QWN0aW9uKSB7XG4gICAgY29uc3QgYXBwVHlwZSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIHRoaXMuaHR0cENhbmNlbFNlcnZpY2UuY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7XG5cbiAgICBpZiAoYXBwVHlwZSA9PT0gQXBwVHlwZS5Nb2JpbGUpIHtcbiAgICAgIGN0eC5kaXNwYXRjaChuZXcgTG9nb3V0TW9iaWxlQWN0aW9uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgICAgY3R4LmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShwYXRoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvZ291dEF1ZGl0KSB7XG4gICAgICBjdHguZGlzcGF0Y2gobmV3IEF1ZGl0TG9nb3V0QWN0aW9uKCkpO1xuICAgIH1cblxuICAgIC8vVE9ETyAsIGVuYWJsZSBiYWNrb2ZmaWNlIGxvZ291dCB3aGVuICwgQkUgQXVkaXQgZm9yIGJhY2tvZmZpY2UgaXMgaW1wbGVtZW50ZWQgXG4gICAgLy8gaWYgKGxvZ291dEJhY2tvZmZpY2VBdWRpdCkge1xuICAgIC8vICAgY3R4LmRpc3BhdGNoKG5ldyBBdWRpdEJhY2tvZmZpY2VBY3Rpb24oKSk7XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKCAvLyBvYnNlcnZlIGFsbCByb3V0ZSBldmVudHNcbiAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGUudXJsLmluY2x1ZGVzKCcvYWNjb3VudC9sb2dpbicpKSwgLy8gZmlsdGVyIG9ubHkgTmF2aWdhdGlvbkVuZCBldmVudHNcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCkucGlwZShcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgICAgICAgY29uc3QgdGVuYW50ID0gc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdO1xuICAgICAgICAgICAgY29uc3Qgc3NvRW5hYmxlZCA9IHRlbmFudD8udXNlcj8uc3NvQXV0aGVudGljYXRlZDtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UoTE9DQUxfRU5HTElTSF9MQU5HVUFHRSk7XG4gICAgICAgICAgICBjdHguZGlzcGF0Y2gobmV3IFRlbmFudENsZWFyQWN0aW9uKCkpO1xuICAgICAgICAgICAgY3R4LmRpc3BhdGNoKG5ldyBVbmxvYWRQYXJraW5nTG90QWN0aW9uKCkpO1xuICAgICAgICAgICAgaWYgKHNzb0VuYWJsZWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdGVuYW50TmFtZSA9IHRlbmFudD8udGVuYW50Py50ZW5hbnROYW1lO1xuICAgICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IHRlbmFudD8udGVuYW50LnByb3BzPy5zc28/LnByb3ZpZGVyO1xuICAgICAgICAgICAgICBpZiAocHJvdmlkZXIgPT0gU2luZ2xlU2lnbk9uUHJvdmlkZXIuTWljcm9zb2Z0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tc2FsU2VydmljZS5sb2dvdXRSZWRpcmVjdCh7XG4gICAgICAgICAgICAgICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGAvJHt0ZW5hbnROYW1lfWBcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChwcm92aWRlciA9PSBTaW5nbGVTaWduT25Qcm92aWRlci5QaW5nRmVkZXJhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5JZEF1dGhTZXJ2aWNlLnNpZ25PdXQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvL3RoaXMuc2lsZW50TG9nT3V0TXNsKGN0eCwgYXBwVHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RlbmFudFVuZGVmaW5lZCA9ICh0ZW5hbnQ6IFRlbmFudEluZm8sIHNlc3Npb246IFNwYXJrU2Vzc2lvbikgPT4gIXRlbmFudCB8fCAhc2Vzc2lvbjtcblxuICBzaWxlbnRMb2dPdXRNc2woY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBhcHBUeXBlOiBBcHBUeXBlKSB7XG4gICAgY29uc3QgY2xlYXJDYWNoZVJlcXVlc3Q6IENsZWFyQ2FjaGVSZXF1ZXN0ID0ge1xuICAgICAgYWNjb3VudDogdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5nZXRBbGxBY2NvdW50cygpWzBdLFxuICAgIH07XG5cbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLmNsZWFyQ2FjaGUoY2xlYXJDYWNoZVJlcXVlc3QpO1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG5cbiAgICBjb25zdCBwYXRoID0gZ2V0TmF2aWdhdGlvblJvdXRlKFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKGN0eC5nZXRTdGF0ZSgpKSwgYXBwVHlwZSwgWydhY2NvdW50JywgJ2xvZ2luJ10pO1xuICAgIGN0eC5kaXNwYXRjaChuZXcgTmF2aWdhdGUocGF0aCkpO1xuICB9XG5cbiAgQEFjdGlvbihUZW5hbnRMb2FkQWN0aW9uKVxuICBwdWJsaWMgb25UZW5hbnRMb2FkQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgYWN0aW9uOiBUZW5hbnRMb2FkQWN0aW9uKSB7XG4gICAgY29uc3QgdGVuYW50TmFtZSA9IGFjdGlvbi50ZW5hbnQ/LnRlbmFudE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgaWYgKCFzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdKSB7XG4gICAgICBzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdID0geyB1c2VyOiBudWxsLCBhdXRoVG9rZW46IG51bGwsIHJlZnJlc2g6IG51bGwsIHRlbmFudDogYWN0aW9uLnRlbmFudCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzcGFya1Nlc3Npb25zW3RlbmFudE5hbWVdLnRlbmFudCA9IGFjdGlvbi50ZW5hbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gIH1cblxuICBAQWN0aW9uKFRlbmFudENsZWFyQWN0aW9uKVxuICBwdWJsaWMgb25UZW5hbnRDbGVhckFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIF86IFRlbmFudENsZWFyQWN0aW9uKSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbiA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICBpZiAoc3BhcmtTZXNzaW9uKSB7XG4gICAgICBzcGFya1Nlc3Npb24udXNlciA9IG51bGw7XG4gICAgICBzcGFya1Nlc3Npb24ucmVmcmVzaCA9IG51bGw7XG4gICAgICBzcGFya1Nlc3Npb24uYXV0aFRva2VuID0gbnVsbDtcbiAgICAgIGlmIChzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbikge1xuICAgICAgICBzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbi5hbmFseXRpY3NUb2tlbiA9ICcnO1xuICAgICAgICBzcGFya1Nlc3Npb24uYXBwQ29uZmlndXJhdGlvbi5mZWVkYmFja1Rva2VuID0gJyc7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgICB9XG4gIH1cblxuICBAQWN0aW9uKEhlYWx0aEFjdGlvbilcbiAgcHVibGljIG9uSGVhbHRoQWN0aW9uQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPikge1xuICAgIGNvbnN0IGVudmlyb25tZW50VmFyaWFibGUkID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZVByb3h5LmdldEhlYWx0aCgpO1xuICAgIHJldHVybiBlbnZpcm9ubWVudFZhcmlhYmxlJC5waXBlKHRhcChlbnZpcm9ubWVudFZhcmlhYmxlID0+IHtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oRU5WSVJPTk1FTlQsIEpTT04uc3RyaW5naWZ5KGVudmlyb25tZW50VmFyaWFibGUuZGF0YS5lbnZpcm9ubWVudCkpO1xuICAgICAgY3R4LnBhdGNoU3RhdGUoeyBzZXJ2ZXJFbnZpcm9ubWVudE1vZGU6IGVudmlyb25tZW50VmFyaWFibGUuZGF0YS5lbnZpcm9ubWVudCB9KTtcbiAgICB9KSk7XG4gIH1cblxuICBAQWN0aW9uKFVwZGF0ZVVzZXJTZXR0aW5nc0luU2Vzc2lvbkFjdGlvbilcbiAgcHVibGljIG9uVXBkYXRlVXNlclNldHRpbmdzKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgeyB1c2VyU2V0dGluZ3MgfSkge1xuICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0udXNlci5zZXR0aW5ncyA9IHVzZXJTZXR0aW5ncztcbiAgICB0aGlzLnNldFNwYXJrU2Vzc2lvbnMoY3R4LCBzcGFya1Nlc3Npb25zKTtcbiAgfVxuXG4gIEBBY3Rpb24oVXBkYXRlVGVuYW50SW5mb1Byb3BzKVxuICBwdWJsaWMgb25VcGRhdGVUZW5hbnRJbmZvUHJvcHMoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCB7IHByb3BzIH0pIHtcbiAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdLnRlbmFudC5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuc2V0U3BhcmtTZXNzaW9ucyhjdHgsIHNwYXJrU2Vzc2lvbnMpO1xuICB9XG5cbiAgQEFjdGlvbihBdXRoZW50aWNhdGUyRkFmb3JVc2VyKVxuICBwdWJsaWMgb25BdXRoZW50aWNhdGUyRkFmb3JVc2VyKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPiwgeyB9KSB7XG4gICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgIGlmIChzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0/LnVzZXIpIHtcbiAgICAgIHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XS51c2VyLmF1dGhlbnRpY2F0ZWQyRkEgPSB0cnVlO1xuICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgfVxuICB9XG5cbiAgQEFjdGlvbihJbml0U2Vzc2lvbkZyb21Mb2NhbFN0b3JhZ2VBY3Rpb24pXG4gIHB1YmxpYyBvbkxvYWRTZXNzaW9uRnJvbUxvY2FsU3RvcmFnZUFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4sIF86IEluaXRTZXNzaW9uRnJvbUxvY2FsU3RvcmFnZUFjdGlvbikge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShTRVNTSU9OKTtcbiAgICBjb25zdCBzZXNzaW9uOiB7XG4gICAgICBhcHBsaWNhdGlvbjogQXBwbGljYXRpb25JbmZvLFxuICAgICAgc3BhcmtTZXNzaW9uczogU3RyaW5nTWFwPFNwYXJrU2Vzc2lvbj4sXG4gICAgfSA9IGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogZGVmYXVsdFNlc3Npb25TdGF0ZTtcbiAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICBhcHBsaWNhdGlvbjogc2Vzc2lvbi5hcHBsaWNhdGlvbixcbiAgICAgIHNwYXJrU2Vzc2lvbnM6IHNlc3Npb24uc3BhcmtTZXNzaW9uc1xuICAgIH0pO1xuICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnQpIHtcbiAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbiA9IHNlc3Npb24uc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdO1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0QXV0aFNlc3Npb24oc3BhcmtTZXNzaW9uPy5hdXRoVG9rZW4sIHNwYXJrU2Vzc2lvbj8ucmVmcmVzaCk7XG4gICAgfVxuICB9XG5cbiAgQEFjdGlvbihMb2FkQmFja29mZmljZUFwcENvbmZpZ3VyYXRpb25BY3Rpb24pXG4gIHB1YmxpYyBvbkJhY2tvZmZpY2VBcHBDb25maWd1cmF0aW9uQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PFNlc3Npb25TdGF0ZU1vZGVsPikge1xuICAgIGNvbnN0IGFwcENvbmZpZ3VyYXRpb24kID0gdGhpcy5iYWNrb2ZmaWNlU2VydmljZVByb3h5LmdldEJhY2tvZmZpY2VBcHBDb25maWd1cmF0aW9uKCk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihMb2FkQXBwQ29uZmlndXJhdGlvbkFjdGlvbilcbiAgcHVibGljIG9uQXBwQ29uZmlndXJhdGlvbkFjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxTZXNzaW9uU3RhdGVNb2RlbD4pIHtcbiAgICBjb25zdCBhcHBDb25maWd1cmF0aW9uJCA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2VQcm94eS5nZXRBcHBDb25maWd1cmF0aW9uKCk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQEFjdGlvbihMb2FkQXBwQ29uZmlndXJhdGlvbk1vYmlsZUFjdGlvbilcbiAgcHVibGljIG9uTG9hZEFwcENvbmZpZ3VyYXRpb25Nb2JpbGVBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+KSB7XG4gICAgY29uc3QgYXBwQ29uZmlndXJhdGlvbiQgPSB0aGlzLm1vYmlsZVNlcnZpY2VQcm94eUlkZW50aXR5LmdldEFwcENvbmZpZ3VyYXRpb25Nb2JpbGUoVkVSU0lPTl9WMSk7XG4gICAgcmV0dXJuIGFwcENvbmZpZ3VyYXRpb24kLnBpcGUodGFwKGFwcENvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudCkge1xuICAgICAgICBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF0uYXBwQ29uZmlndXJhdGlvbiA9IGFwcENvbmZpZ3VyYXRpb24uZGF0YTtcbiAgICAgICAgdGhpcy5zZXRTcGFya1Nlc3Npb25zKGN0eCwgc3BhcmtTZXNzaW9ucyk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTcGFya1Nlc3Npb25zID0gKCk6IFN0cmluZ01hcDxTcGFya1Nlc3Npb24+ID0+IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oU0VTU0lPTikpPy5zcGFya1Nlc3Npb25zID8/IHt9O1xuICBwcml2YXRlIHNldFNwYXJrU2Vzc2lvbnMgPSAoY3R4OiBTdGF0ZUNvbnRleHQ8U2Vzc2lvblN0YXRlTW9kZWw+LCBzcGFya1Nlc3Npb25zOiBTdHJpbmdNYXA8U3BhcmtTZXNzaW9uPik6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gY3R4LmdldFN0YXRlKCkuYXBwbGljYXRpb247XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oU0VTU0lPTiwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgYXBwbGljYXRpb24sXG4gICAgICBzcGFya1Nlc3Npb25zOiBzcGFya1Nlc3Npb25zXG4gICAgfSkpO1xuICAgIGN0eC5wYXRjaFN0YXRlKHsgc3BhcmtTZXNzaW9ucyB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -31,20 +31,6 @@ let EmailServerState = class EmailServerState {
31
31
  loading: false,
32
32
  });
33
33
  }
34
- // @Action(LoadSMTPDetailsAction)
35
- // async onLoadSMTPDetailsAction(ctx: StateContext<EmailServerStateModel>) {
36
- // ctx.patchState({ loading: true });
37
- // try {
38
- // const serverDetails = await this.smtpdetailsServiceProxy.getSmtpDetails().toPromise();
39
- // ctx.patchState({
40
- // smtpDetails: serverDetails.data || null,
41
- // });
42
- // } catch (e) {
43
- // console.debug(e.message);
44
- // } finally {
45
- // ctx.patchState({ loading: false });
46
- // }
47
- // }
48
34
  onLoadSMTPDetailsAction(ctx) {
49
35
  ctx.patchState({ loading: true });
50
36
  return this.smtpdetailsServiceProxy.getSmtpDetails().pipe(tap(serverDetails => {
@@ -133,4 +119,4 @@ export { EmailServerState };
133
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailServerState, decorators: [{
134
120
  type: Injectable
135
121
  }], ctorParameters: () => [{ type: i1.SMTPDetailsServiceProxy }, { type: i2.Store }, { type: i3.MessageBarService }], propDecorators: { onInitUsersAction: [], onLoadSMTPDetailsAction: [], onCreateOrUpdateSMTPDetailsAction: [], onSendTestEmailAction: [], onSendEmailFromEntityAction: [] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VydmVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9tb2R1bGVzL2VtYWlsLXNlcnZlci9lbWFpbC1zZXJ2ZXIuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUF1QixNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUEyQixZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUNMLCtCQUErQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUM3RSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFDL0MsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFlekIsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFFM0IsWUFBb0IsdUJBQWdELEVBQVUsS0FBWSxFQUFVLGlCQUFvQztRQUFwSCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7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a0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQztZQUNGLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztZQUNoRixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7U0FDN0UsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOytHQTlHVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7QUFnQjNCO0lBREMsTUFBTSxDQUFDLHFCQUFxQixDQUFDO3lEQU83QjtBQWtCRDtJQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQzsrREFrQjdCO0FBR0Q7SUFEQyxNQUFNLENBQUMsK0JBQStCLENBQUM7eUVBOEJ2QztBQUdEO0lBREMsTUFBTSxDQUFDLG1CQUFtQixDQUFDOzZEQVUzQjtBQUdEO0lBREMsTUFBTSxDQUFDLHlCQUF5QixDQUFDO21FQU9qQztBQXhHYTtJQURiLFFBQVEsRUFBRTt5Q0FHVjtBQUdhO0lBRGIsUUFBUSxFQUFFO3FDQUdWO0FBYlUsZ0JBQWdCO0lBUDVCLEtBQUssQ0FBd0I7UUFDNUIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTyxFQUFFLEtBQUs7U0FDZjtLQUNGLENBQUM7R0FDVyxnQkFBZ0IsQ0ErRzVCOzs0RkEvR1ksZ0JBQWdCO2tCQVI1QixVQUFVO2dKQXdCVCxpQkFBaUIsTUF3QmpCLHVCQUF1QixNQW9CdkIsaUNBQWlDLE1BZ0NqQyxxQkFBcUIsTUFZckIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBTZWxlY3RvciwgU3RhdGUsIFN0YXRlQ29udGV4dCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBFTVBUWSwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lc3NhZ2VCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tZXNzYWdlLWJhci9tZXNzYWdlLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsaXphdGlvbiB9IGZyb20gJy4uLy4uL2VudW1zL2xvY2FsaXphdGlvbi5lbnVtJztcbmltcG9ydCB7IFNNVFBEZXRhaWxEdG8sIFNNVFBEZXRhaWxzU2VydmljZVByb3h5LCBUZXN0RW1haWxEdG8gfSBmcm9tICcuLi8uLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBwYXJzZUFwaUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL3V0aWxzL2FwaS1oZWxwZXIudXRpbCc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL2F1dGgvbW9kZWwvdXNlci1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVUZW5hbnRJbmZvUHJvcHMgfSBmcm9tICcuLi9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9hdXRoL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlT3JVcGRhdGVTTVRQRGV0YWlsc0FjdGlvbiwgSW5pdFNNVFBEZXRhaWxzQWN0aW9uLCBMb2FkU01UUERldGFpbHNBY3Rpb24sXG4gIFNlbmRFbWFpbEZyb21FbnRpdHlBY3Rpb24sIFNlbmRUZXN0RW1haWxBY3Rpb25cbn0gZnJvbSAnLi9lbWFpbC1zZXJ2ZXIuYWN0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxTZXJ2ZXJTdGF0ZU1vZGVsIHtcbiAgc210cERldGFpbHM6IFNNVFBEZXRhaWxEdG87XG4gIGxvYWRpbmc6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbkBTdGF0ZTxFbWFpbFNlcnZlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ2VtYWlsU2VydmVyJyxcbiAgZGVmYXVsdHM6IHtcbiAgICBzbXRwRGV0YWlsczogbnVsbCxcbiAgICBsb2FkaW5nOiBmYWxzZSxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRW1haWxTZXJ2ZXJTdGF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbXRwZGV0YWlsc1NlcnZpY2VQcm94eTogU01UUERldGFpbHNTZXJ2aWNlUHJveHksIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIG1lc3NhZ2VCYXJTZXJ2aWNlOiBNZXNzYWdlQmFyU2VydmljZSkge1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBzbXRwRGV0YWlscyhzdGF0ZTogRW1haWxTZXJ2ZXJTdGF0ZU1vZGVsKTogU01UUERldGFpbER0byB7XG4gICAgcmV0dXJuIHN0YXRlLnNtdHBEZXRhaWxzO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgcHVibGljIHN0YXRpYyBsb2FkaW5nKHN0YXRlOiBFbWFpbFNlcnZlclN0YXRlTW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdGUubG9hZGluZztcbiAgfVxuXG4gIEBBY3Rpb24oSW5pdFNNVFBEZXRhaWxzQWN0aW9uKVxuICBvbkluaXRVc2Vyc0FjdGlvbihjdHg6IFN0YXRlQ29udGV4dDxFbWFpbFNlcnZlclN0YXRlTW9kZWw+LCBhY3Rpb246IEluaXRTTVRQRGV0YWlsc0FjdGlvbikge1xuICAgIGN0eC5wYXRjaFN0YXRlKHtcbiAgICAgIHNtdHBEZXRhaWxzOiBudWxsLFxuICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gQEFjdGlvbihMb2FkU01UUERldGFpbHNBY3Rpb24pXG4gIC8vIGFzeW5jIG9uTG9hZFNNVFBEZXRhaWxzQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4pIHtcbiAgLy8gICBjdHgucGF0Y2hTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XG4gIC8vICAgdHJ5IHtcbiAgLy8gICAgIGNvbnN0IHNlcnZlckRldGFpbHMgPSBhd2FpdCB0aGlzLnNtdHBkZXRhaWxzU2VydmljZVByb3h5LmdldFNtdHBEZXRhaWxzKCkudG9Qcm9taXNlKCk7XG4gIC8vICAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gIC8vICAgICAgIHNtdHBEZXRhaWxzOiBzZXJ2ZXJEZXRhaWxzLmRhdGEgfHwgbnVsbCxcbiAgLy8gICAgIH0pO1xuICAvLyAgIH0gY2F0Y2ggKGUpIHtcbiAgLy8gICAgIGNvbnNvbGUuZGVidWcoZS5tZXNzYWdlKTtcbiAgLy8gICB9IGZpbmFsbHkge1xuICAvLyAgICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBAQWN0aW9uKExvYWRTTVRQRGV0YWlsc0FjdGlvbilcbiAgb25Mb2FkU01UUERldGFpbHNBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8RW1haWxTZXJ2ZXJTdGF0ZU1vZGVsPikge1xuICAgIGN0eC5wYXRjaFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcblxuICAgIHJldHVybiB0aGlzLnNtdHBkZXRhaWxzU2VydmljZVByb3h5LmdldFNtdHBEZXRhaWxzKCkucGlwZShcbiAgICAgIHRhcChzZXJ2ZXJEZXRhaWxzID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNtdHBEZXRhaWxzOiBzZXJ2ZXJEZXRhaWxzLmRhdGEgfHwgbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oQ3JlYXRlT3JVcGRhdGVTTVRQRGV0YWlsc0FjdGlvbilcbiAgb25DcmVhdGVPclVwZGF0ZVNNVFBEZXRhaWxzQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgc210cERldGFpbHMgfTogQ3JlYXRlT3JVcGRhdGVTTVRQRGV0YWlsc0FjdGlvbikge1xuICAgIGNvbnN0IGN0eFNtdHBEZXRhaWxzID0gY3R4LmdldFN0YXRlKCkuc210cERldGFpbHM7XG4gICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xuXG4gICAgY29uc3Qgc2VydmljZUNhbGwgPSBjdHhTbXRwRGV0YWlsc1xuICAgICAgPyAoKCkgPT4ge1xuICAgICAgICBzbXRwRGV0YWlscy5pZCA9IGN0eFNtdHBEZXRhaWxzLmlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zbXRwZGV0YWlsc1NlcnZpY2VQcm94eS51cGRhdGVTTVRQRGV0YWlsKHNtdHBEZXRhaWxzKTtcbiAgICAgIH0pKClcbiAgICAgIDogdGhpcy5zbXRwZGV0YWlsc1NlcnZpY2VQcm94eS5jcmVhdGVTTVRQRGV0YWlsKHNtdHBEZXRhaWxzKTtcblxuICAgIHJldHVybiBzZXJ2aWNlQ2FsbC5waXBlKFxuICAgICAgdGFwKHNlcnZlckRldGFpbHMgPT4ge1xuICAgICAgICBzZXJ2ZXJEZXRhaWxzLmRhdGEucGFzc3dvcmQgPSBzbXRwRGV0YWlscy5wYXNzd29yZDtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5zdWNjZXNzKExvY2FsaXphdGlvbi5lbWFpbF9zYXZlX3N1Y2Nlc3NfbXNnKTtcblxuICAgICAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgc210cERldGFpbHM6IHNlcnZlckRldGFpbHM/LmRhdGEgfHwgbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGN0eC5kaXNwYXRjaChuZXcgVXBkYXRlVGVuYW50SW5mb1Byb3BzKHsgaGFzU210cERldGFpbHM6IHRydWUgfSkpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5lcnJvcihwYXJzZUFwaUVycm9yTWVzc2FnZShlcnJvcikpO1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2VuZFRlc3RFbWFpbEFjdGlvbilcbiAgb25TZW5kVGVzdEVtYWlsQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgc210cERldGFpbHMsIGVtYWlsIH06IFNlbmRUZXN0RW1haWxBY3Rpb24pIHtcbiAgICBjb25zdCB1c2VyOiBVc2VySW5mbyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKTtcbiAgICBjb25zdCBlbWFpbERhdGEgPSBuZXcgVGVzdEVtYWlsRHRvKHsgc210cERldGFpbHM6IG51bGwsIHRvOiBlbWFpbCwgbmFtZTogdXNlci5kaXNwbGF5TmFtZSB9KTtcbiAgICBlbWFpbERhdGEuc210cERldGFpbHMgPSBzbXRwRGV0YWlscyA/IG5ldyBTTVRQRGV0YWlsRHRvKHNtdHBEZXRhaWxzKSA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuc210cGRldGFpbHNTZXJ2aWNlUHJveHkuc2VuZFRlc3RFbWFpbChlbWFpbERhdGEpLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLm1lc3NhZ2VCYXJTZXJ2aWNlLnN1Y2Nlc3MoTG9jYWxpemF0aW9uLmVtYWlsX3NlbnRfc3VjY2Vzc2Z1bGx5KSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMubWVzc2FnZUJhclNlcnZpY2UuZXJyb3IoTG9jYWxpemF0aW9uLmVtYWlsX3NlbmRpbmdfZmFpbGVkKSxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2VuZEVtYWlsRnJvbUVudGl0eUFjdGlvbilcbiAgb25TZW5kRW1haWxGcm9tRW50aXR5QWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgZGF0YSB9OiBTZW5kRW1haWxGcm9tRW50aXR5QWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc210cGRldGFpbHNTZXJ2aWNlUHJveHkuc2VuZE1haWxGcm9tRW50aXR5KGRhdGEpLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLm1lc3NhZ2VCYXJTZXJ2aWNlLnN1Y2Nlc3MoTG9jYWxpemF0aW9uLmVtYWlsX3NlbnRfc3VjY2Vzc2Z1bGx5KSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMubWVzc2FnZUJhclNlcnZpY2UuZXJyb3IoTG9jYWxpemF0aW9uLmVtYWlsX3NlbmRpbmdfZmFpbGVkKSxcbiAgICAgIH0pKTtcbiAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VydmVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9tb2R1bGVzL2VtYWlsLXNlcnZlci9lbWFpbC1zZXJ2ZXIuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUF1QixNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUEyQixZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUNMLCtCQUErQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUM3RSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFDL0MsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFlekIsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFFM0IsWUFBb0IsdUJBQWdELEVBQVUsS0FBWSxFQUFVLGlCQUFvQztRQUFwSCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7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QkFBaUIsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1NBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzsrR0EvRlUsZ0JBQWdCO21IQUFoQixnQkFBZ0I7O0FBZ0IzQjtJQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQzt5REFPN0I7QUFHRDtJQURDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQzsrREFrQjdCO0FBR0Q7SUFEQyxNQUFNLENBQUMsK0JBQStCLENBQUM7eUVBOEJ2QztBQUdEO0lBREMsTUFBTSxDQUFDLG1CQUFtQixDQUFDOzZEQVUzQjtBQUdEO0lBREMsTUFBTSxDQUFDLHlCQUF5QixDQUFDO21FQU9qQztBQXpGYTtJQURiLFFBQVEsRUFBRTt5Q0FHVjtBQUdhO0lBRGIsUUFBUSxFQUFFO3FDQUdWO0FBYlUsZ0JBQWdCO0lBUDVCLEtBQUssQ0FBd0I7UUFDNUIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTyxFQUFFLEtBQUs7U0FDZjtLQUNGLENBQUM7R0FDVyxnQkFBZ0IsQ0FnRzVCOzs0RkFoR1ksZ0JBQWdCO2tCQVI1QixVQUFVO2dKQXdCVCxpQkFBaUIsTUFTakIsdUJBQXVCLE1Bb0J2QixpQ0FBaUMsTUFnQ2pDLHFCQUFxQixNQVlyQiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEVNUFRZLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWVzc2FnZUJhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21lc3NhZ2UtYmFyL21lc3NhZ2UtYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uIH0gZnJvbSAnLi4vLi4vZW51bXMvbG9jYWxpemF0aW9uLmVudW0nO1xuaW1wb3J0IHsgU01UUERldGFpbER0bywgU01UUERldGFpbHNTZXJ2aWNlUHJveHksIFRlc3RFbWFpbER0byB9IGZyb20gJy4uLy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IHBhcnNlQXBpRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXBpLWhlbHBlci51dGlsJztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vYXV0aC9tb2RlbC91c2VyLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVRlbmFudEluZm9Qcm9wcyB9IGZyb20gJy4uL2F1dGgvc2Vzc2lvbi5hY3Rpb25zJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL2F1dGgvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQge1xuICBDcmVhdGVPclVwZGF0ZVNNVFBEZXRhaWxzQWN0aW9uLCBJbml0U01UUERldGFpbHNBY3Rpb24sIExvYWRTTVRQRGV0YWlsc0FjdGlvbixcbiAgU2VuZEVtYWlsRnJvbUVudGl0eUFjdGlvbiwgU2VuZFRlc3RFbWFpbEFjdGlvblxufSBmcm9tICcuL2VtYWlsLXNlcnZlci5hY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBFbWFpbFNlcnZlclN0YXRlTW9kZWwge1xuICBzbXRwRGV0YWlsczogU01UUERldGFpbER0bztcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuQFN0YXRlPEVtYWlsU2VydmVyU3RhdGVNb2RlbD4oe1xuICBuYW1lOiAnZW1haWxTZXJ2ZXInLFxuICBkZWZhdWx0czoge1xuICAgIHNtdHBEZXRhaWxzOiBudWxsLFxuICAgIGxvYWRpbmc6IGZhbHNlLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbFNlcnZlclN0YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNtdHBkZXRhaWxzU2VydmljZVByb3h5OiBTTVRQRGV0YWlsc1NlcnZpY2VQcm94eSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgbWVzc2FnZUJhclNlcnZpY2U6IE1lc3NhZ2VCYXJTZXJ2aWNlKSB7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIHNtdHBEZXRhaWxzKHN0YXRlOiBFbWFpbFNlcnZlclN0YXRlTW9kZWwpOiBTTVRQRGV0YWlsRHRvIHtcbiAgICByZXR1cm4gc3RhdGUuc210cERldGFpbHM7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBwdWJsaWMgc3RhdGljIGxvYWRpbmcoc3RhdGU6IEVtYWlsU2VydmVyU3RhdGVNb2RlbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0ZS5sb2FkaW5nO1xuICB9XG5cbiAgQEFjdGlvbihJbml0U01UUERldGFpbHNBY3Rpb24pXG4gIG9uSW5pdFVzZXJzQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIGFjdGlvbjogSW5pdFNNVFBEZXRhaWxzQWN0aW9uKSB7XG4gICAgY3R4LnBhdGNoU3RhdGUoe1xuICAgICAgc210cERldGFpbHM6IG51bGwsXG4gICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICB9LFxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKExvYWRTTVRQRGV0YWlsc0FjdGlvbilcbiAgb25Mb2FkU01UUERldGFpbHNBY3Rpb24oY3R4OiBTdGF0ZUNvbnRleHQ8RW1haWxTZXJ2ZXJTdGF0ZU1vZGVsPikge1xuICAgIGN0eC5wYXRjaFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcblxuICAgIHJldHVybiB0aGlzLnNtdHBkZXRhaWxzU2VydmljZVByb3h5LmdldFNtdHBEZXRhaWxzKCkucGlwZShcbiAgICAgIHRhcChzZXJ2ZXJEZXRhaWxzID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoe1xuICAgICAgICAgIHNtdHBEZXRhaWxzOiBzZXJ2ZXJEZXRhaWxzLmRhdGEgfHwgbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oQ3JlYXRlT3JVcGRhdGVTTVRQRGV0YWlsc0FjdGlvbilcbiAgb25DcmVhdGVPclVwZGF0ZVNNVFBEZXRhaWxzQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgc210cERldGFpbHMgfTogQ3JlYXRlT3JVcGRhdGVTTVRQRGV0YWlsc0FjdGlvbikge1xuICAgIGNvbnN0IGN0eFNtdHBEZXRhaWxzID0gY3R4LmdldFN0YXRlKCkuc210cERldGFpbHM7XG4gICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xuXG4gICAgY29uc3Qgc2VydmljZUNhbGwgPSBjdHhTbXRwRGV0YWlsc1xuICAgICAgPyAoKCkgPT4ge1xuICAgICAgICBzbXRwRGV0YWlscy5pZCA9IGN0eFNtdHBEZXRhaWxzLmlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zbXRwZGV0YWlsc1NlcnZpY2VQcm94eS51cGRhdGVTTVRQRGV0YWlsKHNtdHBEZXRhaWxzKTtcbiAgICAgIH0pKClcbiAgICAgIDogdGhpcy5zbXRwZGV0YWlsc1NlcnZpY2VQcm94eS5jcmVhdGVTTVRQRGV0YWlsKHNtdHBEZXRhaWxzKTtcblxuICAgIHJldHVybiBzZXJ2aWNlQ2FsbC5waXBlKFxuICAgICAgdGFwKHNlcnZlckRldGFpbHMgPT4ge1xuICAgICAgICBzZXJ2ZXJEZXRhaWxzLmRhdGEucGFzc3dvcmQgPSBzbXRwRGV0YWlscy5wYXNzd29yZDtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5zdWNjZXNzKExvY2FsaXphdGlvbi5lbWFpbF9zYXZlX3N1Y2Nlc3NfbXNnKTtcblxuICAgICAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICAgICAgc210cERldGFpbHM6IHNlcnZlckRldGFpbHM/LmRhdGEgfHwgbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGN0eC5kaXNwYXRjaChuZXcgVXBkYXRlVGVuYW50SW5mb1Byb3BzKHsgaGFzU210cERldGFpbHM6IHRydWUgfSkpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS5lcnJvcihwYXJzZUFwaUVycm9yTWVzc2FnZShlcnJvcikpO1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgY3R4LnBhdGNoU3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2VuZFRlc3RFbWFpbEFjdGlvbilcbiAgb25TZW5kVGVzdEVtYWlsQWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgc210cERldGFpbHMsIGVtYWlsIH06IFNlbmRUZXN0RW1haWxBY3Rpb24pIHtcbiAgICBjb25zdCB1c2VyOiBVc2VySW5mbyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKTtcbiAgICBjb25zdCBlbWFpbERhdGEgPSBuZXcgVGVzdEVtYWlsRHRvKHsgc210cERldGFpbHM6IG51bGwsIHRvOiBlbWFpbCwgbmFtZTogdXNlci5kaXNwbGF5TmFtZSB9KTtcbiAgICBlbWFpbERhdGEuc210cERldGFpbHMgPSBzbXRwRGV0YWlscyA/IG5ldyBTTVRQRGV0YWlsRHRvKHNtdHBEZXRhaWxzKSA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuc210cGRldGFpbHNTZXJ2aWNlUHJveHkuc2VuZFRlc3RFbWFpbChlbWFpbERhdGEpLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLm1lc3NhZ2VCYXJTZXJ2aWNlLnN1Y2Nlc3MoTG9jYWxpemF0aW9uLmVtYWlsX3NlbnRfc3VjY2Vzc2Z1bGx5KSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMubWVzc2FnZUJhclNlcnZpY2UuZXJyb3IoTG9jYWxpemF0aW9uLmVtYWlsX3NlbmRpbmdfZmFpbGVkKSxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2VuZEVtYWlsRnJvbUVudGl0eUFjdGlvbilcbiAgb25TZW5kRW1haWxGcm9tRW50aXR5QWN0aW9uKGN0eDogU3RhdGVDb250ZXh0PEVtYWlsU2VydmVyU3RhdGVNb2RlbD4sIHsgZGF0YSB9OiBTZW5kRW1haWxGcm9tRW50aXR5QWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc210cGRldGFpbHNTZXJ2aWNlUHJveHkuc2VuZE1haWxGcm9tRW50aXR5KGRhdGEpLnBpcGUoXG4gICAgICB0YXAoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLm1lc3NhZ2VCYXJTZXJ2aWNlLnN1Y2Nlc3MoTG9jYWxpemF0aW9uLmVtYWlsX3NlbnRfc3VjY2Vzc2Z1bGx5KSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMubWVzc2FnZUJhclNlcnZpY2UuZXJyb3IoTG9jYWxpemF0aW9uLmVtYWlsX3NlbmRpbmdfZmFpbGVkKSxcbiAgICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -109107,20 +109107,6 @@ let EmailServerState = class EmailServerState {
109107
109107
  loading: false,
109108
109108
  });
109109
109109
  }
109110
- // @Action(LoadSMTPDetailsAction)
109111
- // async onLoadSMTPDetailsAction(ctx: StateContext<EmailServerStateModel>) {
109112
- // ctx.patchState({ loading: true });
109113
- // try {
109114
- // const serverDetails = await this.smtpdetailsServiceProxy.getSmtpDetails().toPromise();
109115
- // ctx.patchState({
109116
- // smtpDetails: serverDetails.data || null,
109117
- // });
109118
- // } catch (e) {
109119
- // console.debug(e.message);
109120
- // } finally {
109121
- // ctx.patchState({ loading: false });
109122
- // }
109123
- // }
109124
109110
  onLoadSMTPDetailsAction(ctx) {
109125
109111
  ctx.patchState({ loading: true });
109126
109112
  return this.smtpdetailsServiceProxy.getSmtpDetails().pipe(tap(serverDetails => {