angular-oauth2-oidc
Advanced tools
Comparing version 8.0.1 to 8.0.2
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"OAuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":20,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":21,"character":12}],"declarations":[],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config","validationHandlerClass"],"defaults":[null,{"__symbolic":"reference","name":"NullValidationHandler"}],"value":{"ngModule":{"__symbolic":"reference","name":"OAuthModule"},"providers":[{"__symbolic":"reference","name":"OAuthService"},{"__symbolic":"reference","name":"UrlHelperService"},{"provide":{"__symbolic":"reference","name":"OAuthLogger"},"useFactory":{"__symbolic":"reference","name":"ɵb"}},{"provide":{"__symbolic":"reference","name":"OAuthStorage"},"useFactory":{"__symbolic":"reference","name":"ɵc"}},{"provide":{"__symbolic":"reference","name":"ValidationHandler"},"useClass":{"__symbolic":"reference","name":"validationHandlerClass"}},{"provide":{"__symbolic":"reference","name":"ɵa"},"useClass":{"__symbolic":"reference","name":"JwksValidationHandler"}},{"provide":{"__symbolic":"reference","name":"OAuthResourceServerErrorHandler"},"useClass":{"__symbolic":"reference","name":"OAuthNoopResourceServerErrorHandler"}},{"provide":{"__symbolic":"reference","name":"OAuthModuleConfig"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":45,"character":19},"useClass":{"__symbolic":"reference","name":"DefaultOAuthInterceptor"},"multi":true}]}}}},"OAuthService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AuthConfig"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":86,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":88,"character":9}}],null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":91,"character":9}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":84,"character":26},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":85,"character":24},{"__symbolic":"reference","name":"OAuthStorage"},{"__symbolic":"reference","name":"ValidationHandler"},{"__symbolic":"reference","name":"AuthConfig"},{"__symbolic":"reference","name":"UrlHelperService"},{"__symbolic":"reference","name":"OAuthLogger"},{"__symbolic":"reference","name":"ɵa"}]}],"configure":[{"__symbolic":"method"}],"configChanged":[{"__symbolic":"method"}],"restartSessionChecksIfStillLoggedIn":[{"__symbolic":"method"}],"restartRefreshTimerIfStillLoggedIn":[{"__symbolic":"method"}],"setupSessionCheck":[{"__symbolic":"method"}],"setupAutomaticSilentRefresh":[{"__symbolic":"method"}],"refreshInternal":[{"__symbolic":"method"}],"loadDiscoveryDocumentAndTryLogin":[{"__symbolic":"method"}],"loadDiscoveryDocumentAndLogin":[{"__symbolic":"method"}],"debug":[{"__symbolic":"method"}],"validateUrlFromDiscoveryDocument":[{"__symbolic":"method"}],"validateUrlForHttps":[{"__symbolic":"method"}],"validateUrlAgainstIssuer":[{"__symbolic":"method"}],"setupRefreshTimer":[{"__symbolic":"method"}],"setupExpirationTimers":[{"__symbolic":"method"}],"setupAccessTokenTimer":[{"__symbolic":"method"}],"setupIdTokenTimer":[{"__symbolic":"method"}],"clearAccessTokenTimer":[{"__symbolic":"method"}],"clearIdTokenTimer":[{"__symbolic":"method"}],"calcTimeout":[{"__symbolic":"method"}],"setStorage":[{"__symbolic":"method"}],"loadDiscoveryDocument":[{"__symbolic":"method"}],"loadJwks":[{"__symbolic":"method"}],"validateDiscoveryDocument":[{"__symbolic":"method"}],"fetchTokenUsingPasswordFlowAndLoadUserProfile":[{"__symbolic":"method"}],"loadUserProfile":[{"__symbolic":"method"}],"fetchTokenUsingPasswordFlow":[{"__symbolic":"method"}],"refreshToken":[{"__symbolic":"method"}],"removeSilentRefreshEventListener":[{"__symbolic":"method"}],"setupSilentRefreshEventListener":[{"__symbolic":"method"}],"silentRefresh":[{"__symbolic":"method"}],"initImplicitFlowInPopup":[{"__symbolic":"method"}],"calculatePopupFeatures":[{"__symbolic":"method"}],"processMessageEventMessage":[{"__symbolic":"method"}],"canPerformSessionCheck":[{"__symbolic":"method"}],"setupSessionCheckEventListener":[{"__symbolic":"method"}],"handleSessionUnchanged":[{"__symbolic":"method"}],"handleSessionChange":[{"__symbolic":"method"}],"waitForSilentRefreshAfterSessionChange":[{"__symbolic":"method"}],"handleSessionError":[{"__symbolic":"method"}],"removeSessionCheckEventListener":[{"__symbolic":"method"}],"initSessionCheck":[{"__symbolic":"method"}],"startSessionCheckTimer":[{"__symbolic":"method"}],"stopSessionCheckTimer":[{"__symbolic":"method"}],"checkSession":[{"__symbolic":"method"}],"createLoginUrl":[{"__symbolic":"method"}],"initImplicitFlowInternal":[{"__symbolic":"method"}],"initImplicitFlow":[{"__symbolic":"method"}],"resetImplicitFlow":[{"__symbolic":"method"}],"callOnTokenReceivedIfExists":[{"__symbolic":"method"}],"storeAccessTokenResponse":[{"__symbolic":"method"}],"tryLogin":[{"__symbolic":"method"}],"parseQueryString":[{"__symbolic":"method"}],"tryLoginCodeFlow":[{"__symbolic":"method"}],"getTokenFromCode":[{"__symbolic":"method"}],"fetchAndProcessToken":[{"__symbolic":"method"}],"tryLoginImplicitFlow":[{"__symbolic":"method"}],"parseState":[{"__symbolic":"method"}],"validateNonce":[{"__symbolic":"method"}],"storeIdToken":[{"__symbolic":"method"}],"storeSessionState":[{"__symbolic":"method"}],"getSessionState":[{"__symbolic":"method"}],"handleLoginError":[{"__symbolic":"method"}],"processIdToken":[{"__symbolic":"method"}],"getIdentityClaims":[{"__symbolic":"method"}],"getGrantedScopes":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}],"padBase64":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"getRefreshToken":[{"__symbolic":"method"}],"getAccessTokenExpiration":[{"__symbolic":"method"}],"getAccessTokenStoredAt":[{"__symbolic":"method"}],"getIdTokenStoredAt":[{"__symbolic":"method"}],"getIdTokenExpiration":[{"__symbolic":"method"}],"hasValidAccessToken":[{"__symbolic":"method"}],"hasValidIdToken":[{"__symbolic":"method"}],"authorizationHeader":[{"__symbolic":"method"}],"logOut":[{"__symbolic":"method"}],"createAndSaveNonce":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createNonce":[{"__symbolic":"method"}],"checkAtHash":[{"__symbolic":"method"}],"checkSignature":[{"__symbolic":"method"}],"initLoginFlow":[{"__symbolic":"method"}],"initCodeFlow":[{"__symbolic":"method"}],"initCodeFlowInternal":[{"__symbolic":"method"}],"createChallangeVerifierPairForPKCE":[{"__symbolic":"method"}]}},"JwksValidationHandler":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractValidationHandler"},"members":{"validateSignature":[{"__symbolic":"method"}],"alg2kty":[{"__symbolic":"method"}],"calcHash":[{"__symbolic":"method"}],"toByteArrayAsString":[{"__symbolic":"method"}]}},"NullValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}]}},"ValidationParams":{"__symbolic":"interface"},"ValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}]}},"AbstractValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}],"inferHashAlgorithm":[{"__symbolic":"method"}],"calcHash":[{"__symbolic":"method"}]}},"UrlHelperService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"getHashFragmentParams":[{"__symbolic":"method"}],"parseQueryString":[{"__symbolic":"method"}]}},"AuthConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":230,"character":21,"context":{"typeName":"Partial"},"module":"./auth.config"}]}]}},"LoginOptions":{"__symbolic":"class","members":{}},"OAuthLogger":{"__symbolic":"class","members":{"debug":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}]}},"OAuthStorage":{"__symbolic":"class","members":{"getItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"setItem":[{"__symbolic":"method"}]}},"ReceivedTokens":{"__symbolic":"class","members":{}},"ParsedIdToken":{"__symbolic":"interface"},"TokenResponse":{"__symbolic":"interface"},"UserInfo":{"__symbolic":"interface"},"OidcDiscoveryDoc":{"__symbolic":"interface"},"AUTH_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":31},"arguments":["AUTH_CONFIG"]},"EventType":{"__symbolic":"interface"},"OAuthEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":29,"context":{"typeName":"EventType"},"module":"./events"}]}]}},"OAuthSuccessEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":20,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"reference","name":"any"}]}]}},"OAuthInfoEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":35,"character":20,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"reference","name":"any"}]}]}},"OAuthErrorEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":10,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"error","message":"Expression form not supported","line":43,"character":21,"module":"./events"},{"__symbolic":"error","message":"Expression form not supported","line":44,"character":21,"module":"./events"}]}]}},"DefaultOAuthInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":24,"character":9}}]],"parameters":[{"__symbolic":"reference","name":"OAuthStorage"},{"__symbolic":"reference","name":"OAuthService"},{"__symbolic":"reference","name":"OAuthResourceServerErrorHandler"},{"__symbolic":"reference","name":"OAuthModuleConfig"}]}],"checkUrl":[{"__symbolic":"method"}],"intercept":[{"__symbolic":"method"}]}},"OAuthResourceServerErrorHandler":{"__symbolic":"class","members":{"handleError":[{"__symbolic":"method"}]}},"OAuthNoopResourceServerErrorHandler":{"__symbolic":"class","members":{"handleError":[{"__symbolic":"method"}]}},"OAuthModuleConfig":{"__symbolic":"class","members":{}},"OAuthResourceServerConfig":{"__symbolic":"class","members":{}},"ɵa":{"__symbolic":"class","members":{"calcHash":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"reference","name":"console"}},"ɵc":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":5,"character":11,"module":"./factories"},"right":"undefined"},"thenExpression":{"__symbolic":"reference","name":"sessionStorage"},"elseExpression":null}}},"origins":{"OAuthModule":"./angular-oauth-oidic.module","OAuthService":"./oauth-service","JwksValidationHandler":"./token-validation/jwks-validation-handler","NullValidationHandler":"./token-validation/null-validation-handler","ValidationParams":"./token-validation/validation-handler","ValidationHandler":"./token-validation/validation-handler","AbstractValidationHandler":"./token-validation/validation-handler","UrlHelperService":"./url-helper.service","AuthConfig":"./auth.config","LoginOptions":"./types","OAuthLogger":"./types","OAuthStorage":"./types","ReceivedTokens":"./types","ParsedIdToken":"./types","TokenResponse":"./types","UserInfo":"./types","OidcDiscoveryDoc":"./types","AUTH_CONFIG":"./tokens","EventType":"./events","OAuthEvent":"./events","OAuthSuccessEvent":"./events","OAuthInfoEvent":"./events","OAuthErrorEvent":"./events","DefaultOAuthInterceptor":"./interceptors/default-oauth.interceptor","OAuthResourceServerErrorHandler":"./interceptors/resource-server-error-handler","OAuthNoopResourceServerErrorHandler":"./interceptors/resource-server-error-handler","OAuthModuleConfig":"./oauth-module.config","OAuthResourceServerConfig":"./oauth-module.config","ɵa":"./token-validation/crypto-handler","ɵb":"./factories","ɵc":"./factories"},"importAs":"angular-oauth2-oidc"} | ||
{"__symbolic":"module","version":4,"metadata":{"OAuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":20,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":21,"character":12}],"declarations":[],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config","validationHandlerClass"],"defaults":[null,{"__symbolic":"reference","name":"NullValidationHandler"}],"value":{"ngModule":{"__symbolic":"reference","name":"OAuthModule"},"providers":[{"__symbolic":"reference","name":"OAuthService"},{"__symbolic":"reference","name":"UrlHelperService"},{"provide":{"__symbolic":"reference","name":"OAuthLogger"},"useFactory":{"__symbolic":"reference","name":"ɵb"}},{"provide":{"__symbolic":"reference","name":"OAuthStorage"},"useFactory":{"__symbolic":"reference","name":"ɵc"}},{"provide":{"__symbolic":"reference","name":"ValidationHandler"},"useClass":{"__symbolic":"reference","name":"validationHandlerClass"}},{"provide":{"__symbolic":"reference","name":"ɵa"},"useClass":{"__symbolic":"reference","name":"JwksValidationHandler"}},{"provide":{"__symbolic":"reference","name":"OAuthResourceServerErrorHandler"},"useClass":{"__symbolic":"reference","name":"OAuthNoopResourceServerErrorHandler"}},{"provide":{"__symbolic":"reference","name":"OAuthModuleConfig"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":45,"character":19},"useClass":{"__symbolic":"reference","name":"DefaultOAuthInterceptor"},"multi":true}]}}}},"OAuthService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AuthConfig"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":86,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":9}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":88,"character":9}}],null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":91,"character":9}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":84,"character":26},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":85,"character":24},{"__symbolic":"reference","name":"OAuthStorage"},{"__symbolic":"reference","name":"ValidationHandler"},{"__symbolic":"reference","name":"AuthConfig"},{"__symbolic":"reference","name":"UrlHelperService"},{"__symbolic":"reference","name":"OAuthLogger"},{"__symbolic":"reference","name":"ɵa"}]}],"configure":[{"__symbolic":"method"}],"configChanged":[{"__symbolic":"method"}],"restartSessionChecksIfStillLoggedIn":[{"__symbolic":"method"}],"restartRefreshTimerIfStillLoggedIn":[{"__symbolic":"method"}],"setupSessionCheck":[{"__symbolic":"method"}],"setupAutomaticSilentRefresh":[{"__symbolic":"method"}],"refreshInternal":[{"__symbolic":"method"}],"loadDiscoveryDocumentAndTryLogin":[{"__symbolic":"method"}],"loadDiscoveryDocumentAndLogin":[{"__symbolic":"method"}],"debug":[{"__symbolic":"method"}],"validateUrlFromDiscoveryDocument":[{"__symbolic":"method"}],"validateUrlForHttps":[{"__symbolic":"method"}],"validateUrlAgainstIssuer":[{"__symbolic":"method"}],"setupRefreshTimer":[{"__symbolic":"method"}],"setupExpirationTimers":[{"__symbolic":"method"}],"setupAccessTokenTimer":[{"__symbolic":"method"}],"setupIdTokenTimer":[{"__symbolic":"method"}],"clearAccessTokenTimer":[{"__symbolic":"method"}],"clearIdTokenTimer":[{"__symbolic":"method"}],"calcTimeout":[{"__symbolic":"method"}],"setStorage":[{"__symbolic":"method"}],"loadDiscoveryDocument":[{"__symbolic":"method"}],"loadJwks":[{"__symbolic":"method"}],"validateDiscoveryDocument":[{"__symbolic":"method"}],"fetchTokenUsingPasswordFlowAndLoadUserProfile":[{"__symbolic":"method"}],"loadUserProfile":[{"__symbolic":"method"}],"fetchTokenUsingPasswordFlow":[{"__symbolic":"method"}],"refreshToken":[{"__symbolic":"method"}],"removeSilentRefreshEventListener":[{"__symbolic":"method"}],"setupSilentRefreshEventListener":[{"__symbolic":"method"}],"silentRefresh":[{"__symbolic":"method"}],"initImplicitFlowInPopup":[{"__symbolic":"method"}],"calculatePopupFeatures":[{"__symbolic":"method"}],"processMessageEventMessage":[{"__symbolic":"method"}],"canPerformSessionCheck":[{"__symbolic":"method"}],"setupSessionCheckEventListener":[{"__symbolic":"method"}],"handleSessionUnchanged":[{"__symbolic":"method"}],"handleSessionChange":[{"__symbolic":"method"}],"waitForSilentRefreshAfterSessionChange":[{"__symbolic":"method"}],"handleSessionError":[{"__symbolic":"method"}],"removeSessionCheckEventListener":[{"__symbolic":"method"}],"initSessionCheck":[{"__symbolic":"method"}],"startSessionCheckTimer":[{"__symbolic":"method"}],"stopSessionCheckTimer":[{"__symbolic":"method"}],"checkSession":[{"__symbolic":"method"}],"createLoginUrl":[{"__symbolic":"method"}],"initImplicitFlowInternal":[{"__symbolic":"method"}],"initImplicitFlow":[{"__symbolic":"method"}],"resetImplicitFlow":[{"__symbolic":"method"}],"callOnTokenReceivedIfExists":[{"__symbolic":"method"}],"storeAccessTokenResponse":[{"__symbolic":"method"}],"tryLogin":[{"__symbolic":"method"}],"parseQueryString":[{"__symbolic":"method"}],"tryLoginCodeFlow":[{"__symbolic":"method"}],"getTokenFromCode":[{"__symbolic":"method"}],"fetchAndProcessToken":[{"__symbolic":"method"}],"tryLoginImplicitFlow":[{"__symbolic":"method"}],"parseState":[{"__symbolic":"method"}],"validateNonce":[{"__symbolic":"method"}],"storeIdToken":[{"__symbolic":"method"}],"storeSessionState":[{"__symbolic":"method"}],"getSessionState":[{"__symbolic":"method"}],"handleLoginError":[{"__symbolic":"method"}],"processIdToken":[{"__symbolic":"method"}],"getIdentityClaims":[{"__symbolic":"method"}],"getGrantedScopes":[{"__symbolic":"method"}],"getIdToken":[{"__symbolic":"method"}],"padBase64":[{"__symbolic":"method"}],"getAccessToken":[{"__symbolic":"method"}],"getRefreshToken":[{"__symbolic":"method"}],"getAccessTokenExpiration":[{"__symbolic":"method"}],"getAccessTokenStoredAt":[{"__symbolic":"method"}],"getIdTokenStoredAt":[{"__symbolic":"method"}],"getIdTokenExpiration":[{"__symbolic":"method"}],"hasValidAccessToken":[{"__symbolic":"method"}],"hasValidIdToken":[{"__symbolic":"method"}],"authorizationHeader":[{"__symbolic":"method"}],"logOut":[{"__symbolic":"method"}],"createAndSaveNonce":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createNonce":[{"__symbolic":"method"}],"checkAtHash":[{"__symbolic":"method"}],"checkSignature":[{"__symbolic":"method"}],"initLoginFlow":[{"__symbolic":"method"}],"initCodeFlow":[{"__symbolic":"method"}],"initCodeFlowInternal":[{"__symbolic":"method"}],"createChallangeVerifierPairForPKCE":[{"__symbolic":"method"}]}},"JwksValidationHandler":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractValidationHandler"},"members":{"validateSignature":[{"__symbolic":"method"}],"alg2kty":[{"__symbolic":"method"}],"calcHash":[{"__symbolic":"method"}],"toByteArrayAsString":[{"__symbolic":"method"}]}},"NullValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}]}},"ValidationParams":{"__symbolic":"interface"},"ValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}]}},"AbstractValidationHandler":{"__symbolic":"class","members":{"validateSignature":[{"__symbolic":"method"}],"validateAtHash":[{"__symbolic":"method"}],"inferHashAlgorithm":[{"__symbolic":"method"}],"calcHash":[{"__symbolic":"method"}]}},"UrlHelperService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"getHashFragmentParams":[{"__symbolic":"method"}],"parseQueryString":[{"__symbolic":"method"}]}},"AuthConfig":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":235,"character":21,"context":{"typeName":"Partial"},"module":"./auth.config"}]}]}},"LoginOptions":{"__symbolic":"class","members":{}},"OAuthLogger":{"__symbolic":"class","members":{"debug":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"warn":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}]}},"OAuthStorage":{"__symbolic":"class","members":{"getItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"setItem":[{"__symbolic":"method"}]}},"ReceivedTokens":{"__symbolic":"class","members":{}},"ParsedIdToken":{"__symbolic":"interface"},"TokenResponse":{"__symbolic":"interface"},"UserInfo":{"__symbolic":"interface"},"OidcDiscoveryDoc":{"__symbolic":"interface"},"AUTH_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":31},"arguments":["AUTH_CONFIG"]},"EventType":{"__symbolic":"interface"},"OAuthEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":29,"context":{"typeName":"EventType"},"module":"./events"}]}]}},"OAuthSuccessEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":20,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"reference","name":"any"}]}]}},"OAuthInfoEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":35,"character":20,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"reference","name":"any"}]}]}},"OAuthErrorEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"OAuthEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":10,"context":{"typeName":"EventType"},"module":"./events"},{"__symbolic":"error","message":"Expression form not supported","line":43,"character":21,"module":"./events"},{"__symbolic":"error","message":"Expression form not supported","line":44,"character":21,"module":"./events"}]}]}},"DefaultOAuthInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":9}}]],"parameters":[{"__symbolic":"reference","name":"OAuthStorage"},{"__symbolic":"reference","name":"OAuthService"},{"__symbolic":"reference","name":"OAuthResourceServerErrorHandler"},{"__symbolic":"reference","name":"OAuthModuleConfig"}]}],"checkUrl":[{"__symbolic":"method"}],"intercept":[{"__symbolic":"method"}]}},"OAuthResourceServerErrorHandler":{"__symbolic":"class","members":{"handleError":[{"__symbolic":"method"}]}},"OAuthNoopResourceServerErrorHandler":{"__symbolic":"class","members":{"handleError":[{"__symbolic":"method"}]}},"OAuthModuleConfig":{"__symbolic":"class","members":{}},"OAuthResourceServerConfig":{"__symbolic":"class","members":{}},"ɵa":{"__symbolic":"class","members":{"calcHash":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"reference","name":"console"}},"ɵc":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":5,"character":11,"module":"./factories"},"right":"undefined"},"thenExpression":{"__symbolic":"reference","name":"sessionStorage"},"elseExpression":null}}},"origins":{"OAuthModule":"./angular-oauth-oidic.module","OAuthService":"./oauth-service","JwksValidationHandler":"./token-validation/jwks-validation-handler","NullValidationHandler":"./token-validation/null-validation-handler","ValidationParams":"./token-validation/validation-handler","ValidationHandler":"./token-validation/validation-handler","AbstractValidationHandler":"./token-validation/validation-handler","UrlHelperService":"./url-helper.service","AuthConfig":"./auth.config","LoginOptions":"./types","OAuthLogger":"./types","OAuthStorage":"./types","ReceivedTokens":"./types","ParsedIdToken":"./types","TokenResponse":"./types","UserInfo":"./types","OidcDiscoveryDoc":"./types","AUTH_CONFIG":"./tokens","EventType":"./events","OAuthEvent":"./events","OAuthSuccessEvent":"./events","OAuthInfoEvent":"./events","OAuthErrorEvent":"./events","DefaultOAuthInterceptor":"./interceptors/default-oauth.interceptor","OAuthResourceServerErrorHandler":"./interceptors/resource-server-error-handler","OAuthNoopResourceServerErrorHandler":"./interceptors/resource-server-error-handler","OAuthModuleConfig":"./oauth-module.config","OAuthResourceServerConfig":"./oauth-module.config","ɵa":"./token-validation/crypto-handler","ɵb":"./factories","ɵc":"./factories"},"importAs":"angular-oauth2-oidc"} |
@@ -184,2 +184,6 @@ export declare class AuthConfig { | ||
/** | ||
* The interceptors waits this time span if there is no token | ||
*/ | ||
waitForTokenInMsec: number; | ||
/** | ||
* Code Flow is by defauld used together with PKCI which is also higly recommented. | ||
@@ -186,0 +190,0 @@ * You can disbale it here by setting this flag to true. |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/common/http"),require("rxjs"),require("rxjs/operators"),require("jsrsasign")):"function"==typeof define&&define.amd?define("angular-oauth2-oidc",["exports","@angular/core","@angular/common","@angular/common/http","rxjs","rxjs/operators","jsrsasign"],t):t((e=e||self)["angular-oauth2-oidc"]={},e.ng.core,e.ng.common,e.ng.common.http,e.rxjs,e.rxjs.operators,e.jsrsasign)}(this,function(e,t,r,n,o,i,s){"use strict";var a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function c(e,t){function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function u(e,t,r,n){return new(r||(r=Promise))(function(o,i){function s(e){try{c(n.next(e))}catch(t){i(t)}}function a(e){try{c(n["throw"](e))}catch(t){i(t)}}function c(e){e.done?o(e.value):new r(function(t){t(e.value)}).then(s,a)}c((n=n.apply(e,t||[])).next())})}function h(e,t){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),"throw":a(1),"return":a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n["return"]:i[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(a){i=[6,a],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function l(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function d(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return s}var p=function(){return function(){this.preventClearHashAfterLogin=!1}}(),f=function(){return function(){}}(),g=function(){return function(){}}(),m=function(){return function(){}}();function v(e){var t=e.replace(/\-/g,"+").replace(/\_/g,"/");return decodeURIComponent(atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}function y(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var k=function(){return function(){}}(),_=function(){function e(){}return e.prototype.validateAtHash=function(e){return u(this,void 0,void 0,function(){var t,r,n,o,i;return h(this,function(s){switch(s.label){case 0:return t=this.inferHashAlgorithm(e.idTokenHeader),[4,this.calcHash(e.accessToken,t)];case 1:return r=s.sent(),n=r.substr(0,r.length/2),o=y(n),i=e.idTokenClaims.at_hash.replace(/=/g,""),o!==i&&(console.error("exptected at_hash: "+o),console.error("actual at_hash: "+i)),[2,o===i]}})})},e.prototype.inferHashAlgorithm=function(e){var t=e.alg;if(!t.match(/^.S[0-9]{3}$/))throw new Error("Algorithm not supported: "+t);return"sha-"+t.substr(2)},e}(),w=function(){function e(){}return e.prototype.getHashFragmentParams=function(e){var t=e||window.location.hash;if(0!==(t=decodeURIComponent(t)).indexOf("#"))return{};var r=t.indexOf("?");return t=r>-1?t.substr(r+1):t.substr(1),this.parseQueryString(t)},e.prototype.parseQueryString=function(e){var t,r,n,o,i,s,a,c={};if(null===e)return c;t=e.split("&");for(var u=0;u<t.length;u++)-1===(n=(r=t[u]).indexOf("="))?(o=r,i=null):(o=r.substr(0,n),i=r.substr(n+1)),s=decodeURIComponent(o),a=decodeURIComponent(i),"/"===s.substr(0,1)&&(s=s.substr(1)),c[s]=a;return c},e.decorators=[{type:t.Injectable}],e}(),b=function(){return function(e){this.type=e}}(),S=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t)||this;return n.info=r,n}return c(t,e),t}(b),T=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t)||this;return n.info=r,n}return c(t,e),t}(b),I=function(e){function t(t,r,n){void 0===n&&(n=null);var o=e.call(this,t)||this;return o.reason=r,o.params=n,o}return c(t,e),t}(b),C=function(){return function(e){this.clientId="",this.redirectUri="",this.postLogoutRedirectUri="",this.loginUrl="",this.scope="openid profile",this.resource="",this.rngUrl="",this.oidc=!0,this.requestAccessToken=!0,this.options=null,this.issuer="",this.logoutUrl="",this.clearHashAfterLogin=!0,this.tokenEndpoint=null,this.userinfoEndpoint=null,this.responseType="",this.showDebugInformation=!1,this.silentRefreshRedirectUri="",this.silentRefreshMessagePrefix="",this.silentRefreshShowIFrame=!1,this.siletRefreshTimeout=2e4,this.silentRefreshTimeout=2e4,this.dummyClientSecret=null,this.requireHttps="remoteOnly",this.strictDiscoveryDocumentValidation=!0,this.jwks=null,this.customQueryParams=null,this.silentRefreshIFrameName="angular-oauth-oidc-silent-refresh-iframe",this.timeoutFactor=.75,this.sessionChecksEnabled=!1,this.sessionCheckIntervall=3e3,this.sessionCheckIFrameUrl=null,this.sessionCheckIFrameName="angular-oauth-oidc-check-session-iframe",this.disableAtHashCheck=!1,this.skipSubjectCheck=!1,this.useIdTokenHintForSilentRefresh=!1,this.skipIssuerCheck=!1,this.nonceStateSeparator=";",this.useHttpBasicAuth=!1,this.disablePKCE=!1,this.openUri=function(e){location.href=e},e&&Object.assign(this,e)}}(),A=function(){function e(){}return e.prototype.encodeKey=function(e){return encodeURIComponent(e)},e.prototype.encodeValue=function(e){return encodeURIComponent(e)},e.prototype.decodeKey=function(e){return decodeURIComponent(e)},e.prototype.decodeValue=function(e){return decodeURIComponent(e)},e}(),E=function(){return function(){}}(),j=function(e){function r(t,r,n,i,s,a,c,u){var h=e.call(this)||this;h.ngZone=t,h.http=r,h.config=s,h.urlHelper=a,h.logger=c,h.crypto=u,h.discoveryDocumentLoaded=!1,h.state="",h.eventsSubject=new o.Subject,h.discoveryDocumentLoadedSubject=new o.Subject,h.grantTypesSupported=[],h.inImplicitFlow=!1,h.debug("angular-oauth2-oidc v8-beta"),h.discoveryDocumentLoaded$=h.discoveryDocumentLoadedSubject.asObservable(),h.events=h.eventsSubject.asObservable(),i&&(h.tokenValidationHandler=i),s&&h.configure(s);try{n?h.setStorage(n):"undefined"!=typeof sessionStorage&&h.setStorage(sessionStorage)}catch(l){console.error("No OAuthStorage provided and cannot access default (sessionStorage).Consider providing a custom OAuthStorage implementation in your module.",l)}return h.setupRefreshTimer(),h}return c(r,e),r.prototype.configure=function(e){Object.assign(this,new C,e),this.config=Object.assign({},new C,e),this.sessionChecksEnabled&&this.setupSessionCheck(),this.configChanged()},r.prototype.configChanged=function(){this.setupRefreshTimer()},r.prototype.restartSessionChecksIfStillLoggedIn=function(){this.hasValidIdToken()&&this.initSessionCheck()},r.prototype.restartRefreshTimerIfStillLoggedIn=function(){this.setupExpirationTimers()},r.prototype.setupSessionCheck=function(){var e=this;this.events.pipe(i.filter(function(e){return"token_received"===e.type})).subscribe(function(t){e.initSessionCheck()})},r.prototype.setupAutomaticSilentRefresh=function(e,t,r){var n=this;void 0===e&&(e={}),void 0===r&&(r=!0);var o=!0;this.events.pipe(i.tap(function(e){"token_received"===e.type?o=!0:"logout"===e.type&&(o=!1)}),i.filter(function(e){return"token_expires"===e.type})).subscribe(function(i){null!=t&&"any"!==t&&i.info!==t||!o||n.refreshInternal(e,r)["catch"](function(e){n.debug("Automatic silent refresh did not work")})}),this.restartRefreshTimerIfStillLoggedIn()},r.prototype.refreshInternal=function(e,t){return"code"===this.responseType?this.refreshToken():this.silentRefresh(e,t)},r.prototype.loadDiscoveryDocumentAndTryLogin=function(e){var t=this;return void 0===e&&(e=null),this.loadDiscoveryDocument().then(function(r){return t.tryLogin(e)})},r.prototype.loadDiscoveryDocumentAndLogin=function(e){var t=this;return void 0===e&&(e=null),this.loadDiscoveryDocumentAndTryLogin(e).then(function(e){return!(!t.hasValidIdToken()||!t.hasValidAccessToken())||(t.initImplicitFlow(),!1)})},r.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.showDebugInformation&&this.logger.debug.apply(console,e)},r.prototype.validateUrlFromDiscoveryDocument=function(e){var t=[],r=this.validateUrlForHttps(e),n=this.validateUrlAgainstIssuer(e);return r||t.push("https for all urls required. Also for urls received by discovery."),n||t.push("Every url in discovery document has to start with the issuer url.Also see property strictDiscoveryDocumentValidation."),t},r.prototype.validateUrlForHttps=function(e){if(!e)return!0;var t=e.toLowerCase();return!1===this.requireHttps||(!(!t.match(/^http:\/\/localhost($|[:\/])/)&&!t.match(/^http:\/\/localhost($|[:\/])/)||"remoteOnly"!==this.requireHttps)||t.startsWith("https://"))},r.prototype.validateUrlAgainstIssuer=function(e){return!this.strictDiscoveryDocumentValidation||(!e||e.toLowerCase().startsWith(this.issuer.toLowerCase()))},r.prototype.setupRefreshTimer=function(){var e=this;"undefined"!=typeof window?(this.hasValidIdToken()&&(this.clearAccessTokenTimer(),this.clearIdTokenTimer(),this.setupExpirationTimers()),this.events.pipe(i.filter(function(e){return"token_received"===e.type})).subscribe(function(t){e.clearAccessTokenTimer(),e.clearIdTokenTimer(),e.setupExpirationTimers()})):this.debug("timer not supported on this plattform")},r.prototype.setupExpirationTimers=function(){var e=this.getIdTokenExpiration()||Number.MAX_VALUE,t=(this.getAccessTokenExpiration()||Number.MAX_VALUE)<=e;this.hasValidAccessToken()&&t&&this.setupAccessTokenTimer(),this.hasValidIdToken()&&!t&&this.setupIdTokenTimer()},r.prototype.setupAccessTokenTimer=function(){var e=this,t=this.getAccessTokenExpiration(),r=this.getAccessTokenStoredAt(),n=this.calcTimeout(r,t);this.ngZone.runOutsideAngular(function(){e.accessTokenTimeoutSubscription=o.of(new T("token_expires","access_token")).pipe(i.delay(n)).subscribe(function(t){e.ngZone.run(function(){e.eventsSubject.next(t)})})})},r.prototype.setupIdTokenTimer=function(){var e=this,t=this.getIdTokenExpiration(),r=this.getIdTokenStoredAt(),n=this.calcTimeout(r,t);this.ngZone.runOutsideAngular(function(){e.idTokenTimeoutSubscription=o.of(new T("token_expires","id_token")).pipe(i.delay(n)).subscribe(function(t){e.ngZone.run(function(){e.eventsSubject.next(t)})})})},r.prototype.clearAccessTokenTimer=function(){this.accessTokenTimeoutSubscription&&this.accessTokenTimeoutSubscription.unsubscribe()},r.prototype.clearIdTokenTimer=function(){this.idTokenTimeoutSubscription&&this.idTokenTimeoutSubscription.unsubscribe()},r.prototype.calcTimeout=function(e,t){var r=Date.now(),n=(t-e)*this.timeoutFactor-(r-e);return Math.max(0,n)},r.prototype.setStorage=function(e){this._storage=e,this.configChanged()},r.prototype.loadDiscoveryDocument=function(e){var t=this;return void 0===e&&(e=null),new Promise(function(r,n){e||((e=t.issuer||"").endsWith("/")||(e+="/"),e+=".well-known/openid-configuration"),t.validateUrlForHttps(e)?t.http.get(e).subscribe(function(e){if(!t.validateDiscoveryDocument(e))return t.eventsSubject.next(new I("discovery_document_validation_error",null)),void n("discovery_document_validation_error");t.loginUrl=e.authorization_endpoint,t.logoutUrl=e.end_session_endpoint||t.logoutUrl,t.grantTypesSupported=e.grant_types_supported,t.issuer=e.issuer,t.tokenEndpoint=e.token_endpoint,t.userinfoEndpoint=e.userinfo_endpoint,t.jwksUri=e.jwks_uri,t.sessionCheckIFrameUrl=e.check_session_iframe||t.sessionCheckIFrameUrl,t.discoveryDocumentLoaded=!0,t.discoveryDocumentLoadedSubject.next(e),t.sessionChecksEnabled&&t.restartSessionChecksIfStillLoggedIn(),t.loadJwks().then(function(n){var o=new S("discovery_document_loaded",{discoveryDocument:e,jwks:n});t.eventsSubject.next(o),r(o)})["catch"](function(e){t.eventsSubject.next(new I("discovery_document_load_error",e)),n(e)})},function(e){t.logger.error("error loading discovery document",e),t.eventsSubject.next(new I("discovery_document_load_error",e)),n(e)}):n("issuer must use https, or config value for property requireHttps must allow http")})},r.prototype.loadJwks=function(){var e=this;return new Promise(function(t,r){e.jwksUri?e.http.get(e.jwksUri).subscribe(function(r){e.jwks=r,e.eventsSubject.next(new S("discovery_document_loaded")),t(r)},function(t){e.logger.error("error loading jwks",t),e.eventsSubject.next(new I("jwks_load_error",t)),r(t)}):t(null)})},r.prototype.validateDiscoveryDocument=function(e){var t;return this.skipIssuerCheck||e.issuer===this.issuer?(t=this.validateUrlFromDiscoveryDocument(e.authorization_endpoint)).length>0?(this.logger.error("error validating authorization_endpoint in discovery document",t),!1):(t=this.validateUrlFromDiscoveryDocument(e.end_session_endpoint)).length>0?(this.logger.error("error validating end_session_endpoint in discovery document",t),!1):((t=this.validateUrlFromDiscoveryDocument(e.token_endpoint)).length>0&&this.logger.error("error validating token_endpoint in discovery document",t),(t=this.validateUrlFromDiscoveryDocument(e.userinfo_endpoint)).length>0?(this.logger.error("error validating userinfo_endpoint in discovery document",t),!1):(t=this.validateUrlFromDiscoveryDocument(e.jwks_uri)).length>0?(this.logger.error("error validating jwks_uri in discovery document",t),!1):(this.sessionChecksEnabled&&!e.check_session_iframe&&this.logger.warn("sessionChecksEnabled is activated but discovery document does not contain a check_session_iframe field"),!0)):(this.logger.error("invalid issuer in discovery document","expected: "+this.issuer,"current: "+e.issuer),!1)},r.prototype.fetchTokenUsingPasswordFlowAndLoadUserProfile=function(e,t,r){var o=this;return void 0===r&&(r=new n.HttpHeaders),this.fetchTokenUsingPasswordFlow(e,t,r).then(function(){return o.loadUserProfile()})},r.prototype.loadUserProfile=function(){var e=this;if(!this.hasValidAccessToken())throw new Error("Can not load User Profile without access_token");if(!this.validateUrlForHttps(this.userinfoEndpoint))throw new Error("userinfoEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(t,r){var o=(new n.HttpHeaders).set("Authorization","Bearer "+e.getAccessToken());e.http.get(e.userinfoEndpoint,{headers:o}).subscribe(function(n){e.debug("userinfo received",n);var o=e.getIdentityClaims()||{};if(e.skipSubjectCheck||!e.oidc||o.sub&&n.sub===o.sub)n=Object.assign({},o,n),e._storage.setItem("id_token_claims_obj",JSON.stringify(n)),e.eventsSubject.next(new S("user_profile_loaded")),t(n);else{r("if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\nif you are not using oidc but just oauth2 password flow set oidc to false")}},function(t){e.logger.error("error loading user info",t),e.eventsSubject.next(new I("user_profile_load_error",t)),r(t)})})},r.prototype.fetchTokenUsingPasswordFlow=function(e,t,r){var o=this;if(void 0===r&&(r=new n.HttpHeaders),!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(i,s){var a,c,u=new n.HttpParams({encoder:new A}).set("grant_type","password").set("scope",o.scope).set("username",e).set("password",t);if(o.useHttpBasicAuth){var h=btoa(o.clientId+":"+o.dummyClientSecret);r=r.set("Authorization","Basic "+h)}if(o.useHttpBasicAuth||(u=u.set("client_id",o.clientId)),!o.useHttpBasicAuth&&o.dummyClientSecret&&(u=u.set("client_secret",o.dummyClientSecret)),o.customQueryParams)try{for(var d=l(Object.getOwnPropertyNames(o.customQueryParams)),p=d.next();!p.done;p=d.next()){var f=p.value;u=u.set(f,o.customQueryParams[f])}}catch(g){a={error:g}}finally{try{p&&!p.done&&(c=d["return"])&&c.call(d)}finally{if(a)throw a.error}}r=r.set("Content-Type","application/x-www-form-urlencoded"),o.http.post(o.tokenEndpoint,u,{headers:r}).subscribe(function(e){o.debug("tokenResponse",e),o.storeAccessTokenResponse(e.access_token,e.refresh_token,e.expires_in,e.scope),o.eventsSubject.next(new S("token_received")),i(e)},function(e){o.logger.error("Error performing password flow",e),o.eventsSubject.next(new I("token_error",e)),s(e)})})},r.prototype.refreshToken=function(){var e=this;if(!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(t,r){var s,a,c=(new n.HttpParams).set("grant_type","refresh_token").set("client_id",e.clientId).set("scope",e.scope).set("refresh_token",e._storage.getItem("refresh_token"));if(e.dummyClientSecret&&(c=c.set("client_secret",e.dummyClientSecret)),e.customQueryParams)try{for(var u=l(Object.getOwnPropertyNames(e.customQueryParams)),h=u.next();!h.done;h=u.next()){var d=h.value;c=c.set(d,e.customQueryParams[d])}}catch(f){s={error:f}}finally{try{h&&!h.done&&(a=u["return"])&&a.call(u)}finally{if(s)throw s.error}}var p=(new n.HttpHeaders).set("Content-Type","application/x-www-form-urlencoded");e.http.post(e.tokenEndpoint,c,{headers:p}).pipe(i.switchMap(function(t){return t.id_token?o.from(e.processIdToken(t.id_token,t.access_token,!0)).pipe(i.tap(function(t){return e.storeIdToken(t)}),i.map(function(e){return t})):o.of(t)})).subscribe(function(r){e.debug("refresh tokenResponse",r),e.storeAccessTokenResponse(r.access_token,r.refresh_token,r.expires_in,r.scope),e.eventsSubject.next(new S("token_received")),e.eventsSubject.next(new S("token_refreshed")),t(r)},function(t){e.logger.error("Error performing password flow",t),e.eventsSubject.next(new I("token_refresh_error",t)),r(t)})})},r.prototype.removeSilentRefreshEventListener=function(){this.silentRefreshPostMessageEventListener&&(window.removeEventListener("message",this.silentRefreshPostMessageEventListener),this.silentRefreshPostMessageEventListener=null)},r.prototype.setupSilentRefreshEventListener=function(){var e=this;this.removeSilentRefreshEventListener(),this.silentRefreshPostMessageEventListener=function(t){var r=e.processMessageEventMessage(t);e.tryLogin({customHashFragment:r,preventClearHashAfterLogin:!0,onLoginError:function(t){e.eventsSubject.next(new I("silent_refresh_error",t))},onTokenReceived:function(){e.eventsSubject.next(new S("silently_refreshed"))}})["catch"](function(t){return e.debug("tryLogin during silent refresh failed",t)})},window.addEventListener("message",this.silentRefreshPostMessageEventListener)},r.prototype.silentRefresh=function(e,t){var r=this;void 0===e&&(e={}),void 0===t&&(t=!0);var n=this.getIdentityClaims()||{};if(this.useIdTokenHintForSilentRefresh&&this.hasValidIdToken()&&(e.id_token_hint=this.getIdToken()),!this.validateUrlForHttps(this.loginUrl))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");if("undefined"==typeof document)throw new Error("silent refresh is not supported on this platform");var s=document.getElementById(this.silentRefreshIFrameName);s&&document.body.removeChild(s),this.silentRefreshSubject=n.sub;var a=document.createElement("iframe");a.id=this.silentRefreshIFrameName,this.setupSilentRefreshEventListener();var c=this.silentRefreshRedirectUri||this.redirectUri;this.createLoginUrl(null,null,c,t,e).then(function(e){a.setAttribute("src",e),r.silentRefreshShowIFrame||(a.style.display="none"),document.body.appendChild(a)});var u=this.events.pipe(i.filter(function(e){return e instanceof I}),i.first()),h=this.events.pipe(i.filter(function(e){return"silently_refreshed"===e.type}),i.first()),l=o.of(new I("silent_refresh_timeout",null)).pipe(i.delay(this.silentRefreshTimeout));return o.race([u,h,l]).pipe(i.tap(function(e){"silent_refresh_timeout"===e.type&&r.eventsSubject.next(e)}),i.map(function(e){if(e instanceof I)throw e;return e})).toPromise()},r.prototype.initImplicitFlowInPopup=function(e){var t=this;return e=e||{},this.createLoginUrl(null,null,this.silentRefreshRedirectUri,!1,{display:"popup"}).then(function(r){return new Promise(function(n,o){var i=window.open(r,"_blank",t.calculatePopupFeatures(e)),s=function(){window.removeEventListener("message",a),i.close(),i=null},a=function(e){var r=t.processMessageEventMessage(e);t.tryLogin({customHashFragment:r,preventClearHashAfterLogin:!0}).then(function(){s(),n()},function(e){s(),o(e)})};window.addEventListener("message",a)})})},r.prototype.calculatePopupFeatures=function(e){var t=e.height||470,r=e.width||500,n=screen.width/2-r/2;return"location=no,toolbar=no,width="+r+",height="+t+",top="+(screen.height/2-t/2)+",left="+n},r.prototype.processMessageEventMessage=function(e){var t="#";if(this.silentRefreshMessagePrefix&&(t+=this.silentRefreshMessagePrefix),e&&e.data&&"string"==typeof e.data){var r=e.data;if(r.startsWith(t))return"#"+r.substr(t.length)}},r.prototype.canPerformSessionCheck=function(){return!!this.sessionChecksEnabled&&(this.sessionCheckIFrameUrl?this.getSessionState()?"undefined"!=typeof document:(console.warn("sessionChecksEnabled is activated but there is no session_state"),!1):(console.warn("sessionChecksEnabled is activated but there is no sessionCheckIFrameUrl"),!1))},r.prototype.setupSessionCheckEventListener=function(){var e=this;this.removeSessionCheckEventListener(),this.sessionCheckEventListener=function(t){var r=t.origin.toLowerCase(),n=e.issuer.toLowerCase();switch(e.debug("sessionCheckEventListener"),n.startsWith(r)||e.debug("sessionCheckEventListener","wrong origin",r,"expected",n),t.data){case"unchanged":e.handleSessionUnchanged();break;case"changed":e.ngZone.run(function(){e.handleSessionChange()});break;case"error":e.ngZone.run(function(){e.handleSessionError()})}e.debug("got info from session check inframe",t)},this.ngZone.runOutsideAngular(function(){window.addEventListener("message",e.sessionCheckEventListener)})},r.prototype.handleSessionUnchanged=function(){this.debug("session check","session unchanged")},r.prototype.handleSessionChange=function(){var e=this;this.eventsSubject.next(new T("session_changed")),this.stopSessionCheckTimer(),this.silentRefreshRedirectUri?(this.silentRefresh()["catch"](function(t){return e.debug("silent refresh failed after session changed")}),this.waitForSilentRefreshAfterSessionChange()):(this.eventsSubject.next(new T("session_terminated")),this.logOut(!0))},r.prototype.waitForSilentRefreshAfterSessionChange=function(){var e=this;this.events.pipe(i.filter(function(e){return"silently_refreshed"===e.type||"silent_refresh_timeout"===e.type||"silent_refresh_error"===e.type}),i.first()).subscribe(function(t){"silently_refreshed"!==t.type&&(e.debug("silent refresh did not work after session changed"),e.eventsSubject.next(new T("session_terminated")),e.logOut(!0))})},r.prototype.handleSessionError=function(){this.stopSessionCheckTimer(),this.eventsSubject.next(new T("session_error"))},r.prototype.removeSessionCheckEventListener=function(){this.sessionCheckEventListener&&(window.removeEventListener("message",this.sessionCheckEventListener),this.sessionCheckEventListener=null)},r.prototype.initSessionCheck=function(){if(this.canPerformSessionCheck()){var e=document.getElementById(this.sessionCheckIFrameName);e&&document.body.removeChild(e);var t=document.createElement("iframe");t.id=this.sessionCheckIFrameName,this.setupSessionCheckEventListener();var r=this.sessionCheckIFrameUrl;t.setAttribute("src",r),t.style.display="none",document.body.appendChild(t),this.startSessionCheckTimer()}},r.prototype.startSessionCheckTimer=function(){var e=this;this.stopSessionCheckTimer(),this.ngZone.runOutsideAngular(function(){e.sessionCheckTimer=setInterval(e.checkSession.bind(e),e.sessionCheckIntervall)})},r.prototype.stopSessionCheckTimer=function(){this.sessionCheckTimer&&(clearInterval(this.sessionCheckTimer),this.sessionCheckTimer=null)},r.prototype.checkSession=function(){var e=document.getElementById(this.sessionCheckIFrameName);e||this.logger.warn("checkSession did not find iframe",this.sessionCheckIFrameName);var t=this.getSessionState();t||this.stopSessionCheckTimer();var r=this.clientId+" "+t;e.contentWindow.postMessage(r,this.issuer)},r.prototype.createLoginUrl=function(e,t,r,n,o){return void 0===e&&(e=""),void 0===t&&(t=""),void 0===r&&(r=""),void 0===n&&(n=!1),void 0===o&&(o={}),u(this,void 0,void 0,function(){var i,s,a,c,u,p,f,g,m,v,y,k,_,w,b,S,T,I;return h(this,function(h){switch(h.label){case 0:return u=this,p=r||this.redirectUri,[4,this.createAndSaveNonce()];case 1:if(f=h.sent(),e=e?f+this.config.nonceStateSeparator+e:f,!this.requestAccessToken&&!this.oidc)throw new Error("Either requestAccessToken or oidc or both must be true");return this.config.responseType?this.responseType=this.config.responseType:this.oidc&&this.requestAccessToken?this.responseType="id_token token":this.oidc&&!this.requestAccessToken?this.responseType="id_token":this.responseType="token",g=u.loginUrl.indexOf("?")>-1?"&":"?",m=u.scope,this.oidc&&!m.match(/(^|\s)openid($|\s)/)&&(m="openid "+m),v=u.loginUrl+g+"response_type="+encodeURIComponent(u.responseType)+"&client_id="+encodeURIComponent(u.clientId)+"&state="+encodeURIComponent(e)+"&redirect_uri="+encodeURIComponent(p)+"&scope="+encodeURIComponent(m),"code"!==this.responseType||this.disablePKCE?[3,3]:[4,this.createChallangeVerifierPairForPKCE()];case 2:y=d.apply(void 0,[h.sent(),2]),k=y[0],_=y[1],this._storage.setItem("PKCI_verifier",_),v+="&code_challenge="+k,v+="&code_challenge_method=S256",h.label=3;case 3:t&&(v+="&login_hint="+encodeURIComponent(t)),u.resource&&(v+="&resource="+encodeURIComponent(u.resource)),u.oidc&&(v+="&nonce="+encodeURIComponent(f)),n&&(v+="&prompt=none");try{for(w=l(Object.keys(o)),b=w.next();!b.done;b=w.next())I=b.value,v+="&"+encodeURIComponent(I)+"="+encodeURIComponent(o[I])}catch(C){i={error:C}}finally{try{b&&!b.done&&(s=w["return"])&&s.call(w)}finally{if(i)throw i.error}}if(this.customQueryParams)try{for(S=l(Object.getOwnPropertyNames(this.customQueryParams)),T=S.next();!T.done;T=S.next())I=T.value,v+="&"+I+"="+encodeURIComponent(this.customQueryParams[I])}catch(A){a={error:A}}finally{try{T&&!T.done&&(c=S["return"])&&c.call(S)}finally{if(a)throw a.error}}return[2,v]}})})},r.prototype.initImplicitFlowInternal=function(e,t){var r=this;if(void 0===e&&(e=""),void 0===t&&(t=""),!this.inImplicitFlow){if(this.inImplicitFlow=!0,!this.validateUrlForHttps(this.loginUrl))throw new Error("loginUrl must use https, or config value for property requireHttps must allow http");var n={},o=null;"string"==typeof t?o=t:"object"==typeof t&&(n=t),this.createLoginUrl(e,o,null,!1,n).then(this.config.openUri)["catch"](function(e){console.error("Error in initImplicitFlow",e),r.inImplicitFlow=!1})}},r.prototype.initImplicitFlow=function(e,t){var r=this;void 0===e&&(e=""),void 0===t&&(t=""),""!==this.loginUrl?this.initImplicitFlowInternal(e,t):this.events.pipe(i.filter(function(e){return"discovery_document_loaded"===e.type})).subscribe(function(n){return r.initImplicitFlowInternal(e,t)})},r.prototype.resetImplicitFlow=function(){this.inImplicitFlow=!1},r.prototype.callOnTokenReceivedIfExists=function(e){if(e.onTokenReceived){var t={idClaims:this.getIdentityClaims(),idToken:this.getIdToken(),accessToken:this.getAccessToken(),state:this.state};e.onTokenReceived(t)}},r.prototype.storeAccessTokenResponse=function(e,t,r,n){if(this._storage.setItem("access_token",e),n&&this._storage.setItem("granted_scopes",JSON.stringify(n.split("+"))),this._storage.setItem("access_token_stored_at",""+Date.now()),r){var o=1e3*r,i=(new Date).getTime()+o;this._storage.setItem("expires_at",""+i)}t&&this._storage.setItem("refresh_token",t)},r.prototype.tryLogin=function(e){return void 0===e&&(e=null),"code"===this.config.responseType?this.tryLoginCodeFlow().then(function(e){return!0}):this.tryLoginImplicitFlow(e)},r.prototype.parseQueryString=function(e){return e&&0!==e.length?("?"===e.charAt(0)&&(e=e.substr(1)),this.urlHelper.parseQueryString(e)):{}},r.prototype.tryLoginCodeFlow=function(){var e=this,t=this.parseQueryString(window.location.search),r=t.code,n=t.state,o=location.href.replace(/[&\?]code=[^&\$]*/,"").replace(/[&\?]scope=[^&\$]*/,"").replace(/[&\?]state=[^&\$]*/,"").replace(/[&\?]session_state=[^&\$]*/,"");history.replaceState(null,window.name,o);var i=d(this.parseState(n),2),s=i[0],a=i[1];if(this.state=a,t.error){this.debug("error trying to login"),this.handleLoginError({},t);var c=new I("code_error",{},t);return this.eventsSubject.next(c),Promise.reject(c)}if(!s)return Promise.resolve();if(!this.validateNonce(s)){var u=new I("invalid_nonce_in_state",null);return this.eventsSubject.next(u),Promise.reject(u)}return r?new Promise(function(t,n){e.getTokenFromCode(r).then(function(e){t()})["catch"](function(e){n(e)})}):Promise.resolve()},r.prototype.getTokenFromCode=function(e){var t=(new n.HttpParams).set("grant_type","authorization_code").set("code",e).set("redirect_uri",this.redirectUri);if(!this.disablePKCE){var r=this._storage.getItem("PKCI_verifier");r?t=t.set("code_verifier",r):console.warn("No PKCI verifier found in oauth storage!")}return this.fetchAndProcessToken(t)},r.prototype.fetchAndProcessToken=function(e){var t=this,r=(new n.HttpHeaders).set("Content-Type","application/x-www-form-urlencoded");if(!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use Http. Also check property requireHttps.");if(this.useHttpBasicAuth){var o=btoa(this.clientId+":"+this.dummyClientSecret);r=r.set("Authorization","Basic "+o)}return this.useHttpBasicAuth||(e=e.set("client_id",this.clientId)),!this.useHttpBasicAuth&&this.dummyClientSecret&&(e=e.set("client_secret",this.dummyClientSecret)),new Promise(function(n,o){var i,s;if(t.customQueryParams)try{for(var a=l(Object.getOwnPropertyNames(t.customQueryParams)),c=a.next();!c.done;c=a.next()){var u=c.value;e=e.set(u,t.customQueryParams[u])}}catch(h){i={error:h}}finally{try{c&&!c.done&&(s=a["return"])&&s.call(a)}finally{if(i)throw i.error}}t.http.post(t.tokenEndpoint,e,{headers:r}).subscribe(function(e){t.debug("refresh tokenResponse",e),t.storeAccessTokenResponse(e.access_token,e.refresh_token,e.expires_in,e.scope),t.oidc&&e.id_token?t.processIdToken(e.id_token,e.access_token).then(function(r){t.storeIdToken(r),t.eventsSubject.next(new S("token_received")),t.eventsSubject.next(new S("token_refreshed")),n(e)})["catch"](function(e){t.eventsSubject.next(new I("token_validation_error",e)),console.error("Error validating tokens"),console.error(e),o(e)}):(t.eventsSubject.next(new S("token_received")),t.eventsSubject.next(new S("token_refreshed")),n(e))},function(e){console.error("Error getting token",e),t.eventsSubject.next(new I("token_refresh_error",e)),o(e)})})},r.prototype.tryLoginImplicitFlow=function(e){var t,r=this;void 0===e&&(e=null),t=(e=e||{}).customHashFragment?this.urlHelper.getHashFragmentParams(e.customHashFragment):this.urlHelper.getHashFragmentParams(),this.debug("parsed url",t);var n=t.state,o=d(this.parseState(n),2),i=o[0],s=o[1];if(this.state=s,t.error){this.debug("error trying to login"),this.handleLoginError(e,t);var a=new I("token_error",{},t);return this.eventsSubject.next(a),Promise.reject(a)}var c=t.access_token,u=t.id_token,h=t.session_state,l=t.scope;if(!this.requestAccessToken&&!this.oidc)return Promise.reject("Either requestAccessToken or oidc (or both) must be true.");if(this.requestAccessToken&&!c)return Promise.resolve(!1);if(this.requestAccessToken&&!e.disableOAuth2StateCheck&&!n)return Promise.resolve(!1);if(this.oidc&&!u)return Promise.resolve(!1);if((this.sessionChecksEnabled&&!h&&this.logger.warn("session checks (Session Status Change Notification) were activated in the configuration but the id_token does not contain a session_state claim"),this.requestAccessToken&&!e.disableOAuth2StateCheck)&&!this.validateNonce(i)){var p=new I("invalid_nonce_in_state",null);return this.eventsSubject.next(p),Promise.reject(p)}return this.requestAccessToken&&this.storeAccessTokenResponse(c,null,t.expires_in||this.fallbackAccessTokenExpirationTimeInSec,l),this.oidc?this.processIdToken(u,c).then(function(t){return e.validationHandler?e.validationHandler({accessToken:c,idClaims:t.idTokenClaims,idToken:t.idToken,state:n}).then(function(e){return t}):t}).then(function(t){return r.storeIdToken(t),r.storeSessionState(h),r.clearHashAfterLogin&&(location.hash=""),r.eventsSubject.next(new S("token_received")),r.callOnTokenReceivedIfExists(e),r.inImplicitFlow=!1,!0})["catch"](function(e){return r.eventsSubject.next(new I("token_validation_error",e)),r.logger.error("Error validating tokens"),r.logger.error(e),Promise.reject(e)}):(this.eventsSubject.next(new S("token_received")),this.clearHashAfterLogin&&!e.preventClearHashAfterLogin&&(location.hash=""),this.callOnTokenReceivedIfExists(e),Promise.resolve(!0))},r.prototype.parseState=function(e){var t=e,r="";if(e){var n=e.indexOf(this.config.nonceStateSeparator);n>-1&&(t=e.substr(0,n),r=e.substr(n+this.config.nonceStateSeparator.length))}return[t,r]},r.prototype.validateNonce=function(e){var t=this._storage.getItem("nonce");if(t!==e){return console.error("Validating access_token failed, wrong state/nonce.",t,e),!1}return!0},r.prototype.storeIdToken=function(e){this._storage.setItem("id_token",e.idToken),this._storage.setItem("id_token_claims_obj",e.idTokenClaimsJson),this._storage.setItem("id_token_expires_at",""+e.idTokenExpiresAt),this._storage.setItem("id_token_stored_at",""+Date.now())},r.prototype.storeSessionState=function(e){this._storage.setItem("session_state",e)},r.prototype.getSessionState=function(){return this._storage.getItem("session_state")},r.prototype.handleLoginError=function(e,t){e.onLoginError&&e.onLoginError(t),this.clearHashAfterLogin&&(location.hash="")},r.prototype.processIdToken=function(e,t,r){var n=this;void 0===r&&(r=!1);var o=e.split("."),i=v(this.padBase64(o[0])),s=JSON.parse(i),a=v(this.padBase64(o[1])),c=JSON.parse(a),u=this._storage.getItem("nonce");if(Array.isArray(c.aud)){if(c.aud.every(function(e){return e!==n.clientId})){var h="Wrong audience: "+c.aud.join(",");return this.logger.warn(h),Promise.reject(h)}}else if(c.aud!==this.clientId){h="Wrong audience: "+c.aud;return this.logger.warn(h),Promise.reject(h)}if(!c.sub){h="No sub claim in id_token";return this.logger.warn(h),Promise.reject(h)}if(this.sessionChecksEnabled&&this.silentRefreshSubject&&this.silentRefreshSubject!==c.sub){h="After refreshing, we got an id_token for another user (sub). Expected sub: "+this.silentRefreshSubject+", received sub: "+c.sub;return this.logger.warn(h),Promise.reject(h)}if(!c.iat){h="No iat claim in id_token";return this.logger.warn(h),Promise.reject(h)}if(!this.skipIssuerCheck&&c.iss!==this.issuer){h="Wrong issuer: "+c.iss;return this.logger.warn(h),Promise.reject(h)}if(!r&&c.nonce!==u){h="Wrong nonce: "+c.nonce;return this.logger.warn(h),Promise.reject(h)}if(!this.disableAtHashCheck&&this.requestAccessToken&&!c.at_hash){h="An at_hash is needed!";return this.logger.warn(h),Promise.reject(h)}var l=Date.now(),d=1e3*c.iat,p=1e3*c.exp,f=1e3*(this.clockSkewInSec||600);if(d-f>=l||p+f<=l){h="Token has expired";return console.error(h),console.error({now:l,issuedAtMSec:d,expiresAtMSec:p}),Promise.reject(h)}var g={accessToken:t,idToken:e,jwks:this.jwks,idTokenClaims:c,idTokenHeader:s,loadKeys:function(){return n.loadJwks()}};return this.checkAtHash(g).then(function(t){if(!n.disableAtHashCheck&&n.requestAccessToken&&!t){var r="Wrong at_hash";return n.logger.warn(r),Promise.reject(r)}return n.checkSignature(g).then(function(t){return{idToken:e,idTokenClaims:c,idTokenClaimsJson:a,idTokenHeader:s,idTokenHeaderJson:i,idTokenExpiresAt:p}})})},r.prototype.getIdentityClaims=function(){var e=this._storage.getItem("id_token_claims_obj");return e?JSON.parse(e):null},r.prototype.getGrantedScopes=function(){var e=this._storage.getItem("granted_scopes");return e?JSON.parse(e):null},r.prototype.getIdToken=function(){return this._storage?this._storage.getItem("id_token"):null},r.prototype.padBase64=function(e){for(;e.length%4!=0;)e+="=";return e},r.prototype.getAccessToken=function(){return this._storage?this._storage.getItem("access_token"):null},r.prototype.getRefreshToken=function(){return this._storage?this._storage.getItem("refresh_token"):null},r.prototype.getAccessTokenExpiration=function(){return this._storage.getItem("expires_at")?parseInt(this._storage.getItem("expires_at"),10):null},r.prototype.getAccessTokenStoredAt=function(){return parseInt(this._storage.getItem("access_token_stored_at"),10)},r.prototype.getIdTokenStoredAt=function(){return parseInt(this._storage.getItem("id_token_stored_at"),10)},r.prototype.getIdTokenExpiration=function(){return this._storage.getItem("id_token_expires_at")?parseInt(this._storage.getItem("id_token_expires_at"),10):null},r.prototype.hasValidAccessToken=function(){if(this.getAccessToken()){var e=this._storage.getItem("expires_at"),t=new Date;return!(e&&parseInt(e,10)<t.getTime())}return!1},r.prototype.hasValidIdToken=function(){if(this.getIdToken()){var e=this._storage.getItem("id_token_expires_at"),t=new Date;return!(e&&parseInt(e,10)<t.getTime())}return!1},r.prototype.authorizationHeader=function(){return"Bearer "+this.getAccessToken()},r.prototype.logOut=function(e){void 0===e&&(e=!1);var t=this.getIdToken();if(this._storage.removeItem("access_token"),this._storage.removeItem("id_token"),this._storage.removeItem("refresh_token"),this._storage.removeItem("nonce"),this._storage.removeItem("expires_at"),this._storage.removeItem("id_token_claims_obj"),this._storage.removeItem("id_token_expires_at"),this._storage.removeItem("id_token_stored_at"),this._storage.removeItem("access_token_stored_at"),this._storage.removeItem("granted_scopes"),this._storage.removeItem("session_state"),this.silentRefreshSubject=null,this.eventsSubject.next(new T("logout")),this.logoutUrl&&!e&&(t||this.postLogoutRedirectUri)){var r;if(!this.validateUrlForHttps(this.logoutUrl))throw new Error("logoutUrl must use https, or config value for property requireHttps must allow http");if(this.logoutUrl.indexOf("{{")>-1)r=this.logoutUrl.replace(/\{\{id_token\}\}/,t).replace(/\{\{client_id\}\}/,this.clientId);else{var o=new n.HttpParams;t&&(o=o.set("id_token_hint",t));var i=this.postLogoutRedirectUri||this.redirectUri;i&&(o=o.set("post_logout_redirect_uri",i)),r=this.logoutUrl+(this.logoutUrl.indexOf("?")>-1?"&":"?")+o.toString()}this.config.openUri(r)}},r.prototype.createAndSaveNonce=function(){var e=this;return this.createNonce().then(function(t){return e._storage.setItem("nonce",t),t})},r.prototype.ngOnDestroy=function(){this.clearAccessTokenTimer(),this.clearIdTokenTimer()},r.prototype.createNonce=function(){var e=this;return new Promise(function(t){if(e.rngUrl)throw new Error("createNonce with rng-web-api has not been implemented so far");var r="Uint8ArdomValuesObj012345679BCDEFGHIJKLMNPQRSTWXYZ_cfghkpqvwxyz-",n=45,o="",i=self.crypto||self.msCrypto;if(i)for(var s=i.getRandomValues(new Uint8Array(n));0<n--;)o+=r[63&s[n]];else for(;0<n--;)o+=r[64*Math.random()|0];t(o)})},r.prototype.checkAtHash=function(e){return u(this,void 0,void 0,function(){return h(this,function(t){return this.tokenValidationHandler?[2,this.tokenValidationHandler.validateAtHash(e)]:(this.logger.warn("No tokenValidationHandler configured. Cannot check at_hash."),[2,!0])})})},r.prototype.checkSignature=function(e){return this.tokenValidationHandler?this.tokenValidationHandler.validateSignature(e):(this.logger.warn("No tokenValidationHandler configured. Cannot check signature."),Promise.resolve(null))},r.prototype.initLoginFlow=function(e,t){return void 0===e&&(e=""),void 0===t&&(t={}),"code"===this.responseType?this.initCodeFlow(e,t):this.initImplicitFlow(e,t)},r.prototype.initCodeFlow=function(e,t){var r=this;void 0===e&&(e=""),void 0===t&&(t={}),""!==this.loginUrl?this.initCodeFlowInternal(e,t):this.events.pipe(i.filter(function(e){return"discovery_document_loaded"===e.type})).subscribe(function(n){return r.initCodeFlowInternal(e,t)})},r.prototype.initCodeFlowInternal=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t={}),!this.validateUrlForHttps(this.loginUrl))throw new Error("loginUrl must use Http. Also check property requireHttps.");this.createLoginUrl(e,"",null,!1,t).then(function(e){location.href=e})["catch"](function(e){console.error("Error in initAuthorizationCodeFlow"),console.error(e)})},r.prototype.createChallangeVerifierPairForPKCE=function(){return u(this,void 0,void 0,function(){var e,t;return h(this,function(r){switch(r.label){case 0:if(!this.crypto)throw new Error("PKCI support for code flow needs a CryptoHander. Did you import the OAuthModule using forRoot() ?");return[4,this.createNonce()];case 1:return e=r.sent(),[4,this.crypto.calcHash(e,"sha-256")];case 2:return t=r.sent(),[2,[y(t),e]]}})})},r.decorators=[{type:t.Injectable}],r.ctorParameters=function(){return[{type:t.NgZone},{type:n.HttpClient},{type:g,decorators:[{type:t.Optional}]},{type:k,decorators:[{type:t.Optional}]},{type:C,decorators:[{type:t.Optional}]},{type:w},{type:f},{type:E,decorators:[{type:t.Optional}]}]},r}(C),x=function(){return function(){}}(),H=function(){return function(){}}(),P=function(){return function(){}}(),U=function(){function e(){}return e.prototype.handleError=function(e){return o.throwError(e)},e}(),R=function(){function e(e,t,r,n){this.authStorage=e,this.oAuthService=t,this.errorHandler=r,this.moduleConfig=n}return e.prototype.checkUrl=function(e){return this.moduleConfig.resourceServer.customUrlValidation?this.moduleConfig.resourceServer.customUrlValidation(e):!this.moduleConfig.resourceServer.allowedUrls||!!this.moduleConfig.resourceServer.allowedUrls.find(function(t){return e.startsWith(t)})},e.prototype.intercept=function(e,t){var r=this,n=e.url.toLowerCase();return this.moduleConfig&&this.moduleConfig.resourceServer?this.moduleConfig.resourceServer.allowedUrls&&!this.checkUrl(n)?t.handle(e):this.moduleConfig.resourceServer.sendAccessToken?o.merge(o.of(this.oAuthService.getAccessToken()).pipe(i.filter(function(e){return!!e})),this.oAuthService.events.pipe(i.filter(function(e){return"token_received"===e.type}),i.timeout(1e3),i.map(function(e){return r.oAuthService.getAccessToken()}))).pipe(i.take(1),i.mergeMap(function(n){if(n){var o="Bearer "+n,s=e.headers.set("Authorization",o);e=e.clone({headers:s})}return t.handle(e).pipe(i.catchError(function(e){return r.errorHandler.handleError(e)}))})):t.handle(e).pipe(i.catchError(function(e){return r.errorHandler.handleError(e)})):t.handle(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:g},{type:j},{type:P},{type:x,decorators:[{type:t.Optional}]}]},e}(),F=function(){function e(){}return e.prototype.validateSignature=function(e){return Promise.resolve(null)},e.prototype.validateAtHash=function(e){return Promise.resolve(!0)},e}();function L(){return console}function O(){return"undefined"!=typeof sessionStorage?sessionStorage:null}var D=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allowedAlgorithms=["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512"],t.gracePeriodInSec=600,t}return c(t,e),t.prototype.validateSignature=function(e,t){var r=this;if(void 0===t&&(t=!1),!e.idToken)throw new Error("Parameter idToken expected!");if(!e.idTokenHeader)throw new Error("Parameter idTokenHandler expected.");if(!e.jwks)throw new Error("Parameter jwks expected!");if(!e.jwks.keys||!Array.isArray(e.jwks.keys)||0===e.jwks.keys.length)throw new Error("Array keys in jwks missing!");var n,o=e.idTokenHeader.kid,i=e.jwks.keys,a=e.idTokenHeader.alg;if(o)n=i.find(function(e){return e.kid===o});else{var c=this.alg2kty(a),u=i.filter(function(e){return e.kty===c&&"sig"===e.use});if(u.length>1){var h="More than one matching key found. Please specify a kid in the id_token header.";return console.error(h),Promise.reject(h)}1===u.length&&(n=u[0])}if(!n&&!t&&e.loadKeys)return e.loadKeys().then(function(t){return e.jwks=t}).then(function(t){return r.validateSignature(e,!0)});if(!n&&t&&!o){h="No matching key found.";return console.error(h),Promise.reject(h)}if(!n&&t&&o){h="expected key not found in property jwks. This property is most likely loaded with the discovery document. Expected key id (kid): "+o;return console.error(h),Promise.reject(h)}var l=s.KEYUTIL.getKey(n),d={alg:this.allowedAlgorithms,gracePeriod:this.gracePeriodInSec};return s.KJUR.jws.JWS.verifyJWT(e.idToken,l,d)?Promise.resolve():Promise.reject("Signature not valid")},t.prototype.alg2kty=function(e){switch(e.charAt(0)){case"R":return"RSA";case"E":return"EC";default:throw new Error("Cannot infer kty from alg: "+e)}},t.prototype.calcHash=function(e,t){var r=new s.KJUR.crypto.MessageDigest({alg:t}).digestString(e),n=this.toByteArrayAsString(r);return Promise.resolve(n)},t.prototype.toByteArrayAsString=function(e){for(var t="",r=0;r<e.length;r+=2){var n=e.charAt(r)+e.charAt(r+1),o=parseInt(n,16);t+=String.fromCharCode(o)}return t},t}(_),N=function(){function e(){}return e.forRoot=function(t,r){return void 0===t&&(t=null),void 0===r&&(r=F),{ngModule:e,providers:[j,w,{provide:f,useFactory:L},{provide:g,useFactory:O},{provide:k,useClass:r},{provide:E,useClass:D},{provide:P,useClass:U},{provide:x,useValue:t},{provide:n.HTTP_INTERCEPTORS,useClass:R,multi:!0}]}},e.decorators=[{type:t.NgModule,args:[{imports:[r.CommonModule],declarations:[],exports:[]}]}],e}(),V=new t.InjectionToken("AUTH_CONFIG");e.AUTH_CONFIG=V,e.AbstractValidationHandler=_,e.AuthConfig=C,e.DefaultOAuthInterceptor=R,e.JwksValidationHandler=D,e.LoginOptions=p,e.NullValidationHandler=F,e.OAuthErrorEvent=I,e.OAuthEvent=b,e.OAuthInfoEvent=T,e.OAuthLogger=f,e.OAuthModule=N,e.OAuthModuleConfig=x,e.OAuthNoopResourceServerErrorHandler=U,e.OAuthResourceServerConfig=H,e.OAuthResourceServerErrorHandler=P,e.OAuthService=j,e.OAuthStorage=g,e.OAuthSuccessEvent=S,e.ReceivedTokens=m,e.UrlHelperService=w,e.ValidationHandler=k,e.ɵa=E,e.ɵb=L,e.ɵc=O,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/common/http"),require("rxjs"),require("rxjs/operators"),require("jsrsasign")):"function"==typeof define&&define.amd?define("angular-oauth2-oidc",["exports","@angular/core","@angular/common","@angular/common/http","rxjs","rxjs/operators","jsrsasign"],t):t((e=e||self)["angular-oauth2-oidc"]={},e.ng.core,e.ng.common,e.ng.common.http,e.rxjs,e.rxjs.operators,e.jsrsasign)}(this,function(e,t,r,n,o,i,s){"use strict";var a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function c(e,t){function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function u(e,t,r,n){return new(r||(r=Promise))(function(o,i){function s(e){try{c(n.next(e))}catch(t){i(t)}}function a(e){try{c(n["throw"](e))}catch(t){i(t)}}function c(e){e.done?o(e.value):new r(function(t){t(e.value)}).then(s,a)}c((n=n.apply(e,t||[])).next())})}function h(e,t){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),"throw":a(1),"return":a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n["return"]:i[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(a){i=[6,a],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function l(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function d(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return s}var p=function(){return function(){this.preventClearHashAfterLogin=!1}}(),f=function(){return function(){}}(),g=function(){return function(){}}(),m=function(){return function(){}}();function v(e){var t=e.replace(/\-/g,"+").replace(/\_/g,"/");return decodeURIComponent(atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}function y(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var k=function(){return function(){}}(),_=function(){function e(){}return e.prototype.validateAtHash=function(e){return u(this,void 0,void 0,function(){var t,r,n,o,i;return h(this,function(s){switch(s.label){case 0:return t=this.inferHashAlgorithm(e.idTokenHeader),[4,this.calcHash(e.accessToken,t)];case 1:return r=s.sent(),n=r.substr(0,r.length/2),o=y(n),i=e.idTokenClaims.at_hash.replace(/=/g,""),o!==i&&(console.error("exptected at_hash: "+o),console.error("actual at_hash: "+i)),[2,o===i]}})})},e.prototype.inferHashAlgorithm=function(e){var t=e.alg;if(!t.match(/^.S[0-9]{3}$/))throw new Error("Algorithm not supported: "+t);return"sha-"+t.substr(2)},e}(),w=function(){function e(){}return e.prototype.getHashFragmentParams=function(e){var t=e||window.location.hash;if(0!==(t=decodeURIComponent(t)).indexOf("#"))return{};var r=t.indexOf("?");return t=r>-1?t.substr(r+1):t.substr(1),this.parseQueryString(t)},e.prototype.parseQueryString=function(e){var t,r,n,o,i,s,a,c={};if(null===e)return c;t=e.split("&");for(var u=0;u<t.length;u++)-1===(n=(r=t[u]).indexOf("="))?(o=r,i=null):(o=r.substr(0,n),i=r.substr(n+1)),s=decodeURIComponent(o),a=decodeURIComponent(i),"/"===s.substr(0,1)&&(s=s.substr(1)),c[s]=a;return c},e.decorators=[{type:t.Injectable}],e}(),b=function(){return function(e){this.type=e}}(),S=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t)||this;return n.info=r,n}return c(t,e),t}(b),T=function(e){function t(t,r){void 0===r&&(r=null);var n=e.call(this,t)||this;return n.info=r,n}return c(t,e),t}(b),I=function(e){function t(t,r,n){void 0===n&&(n=null);var o=e.call(this,t)||this;return o.reason=r,o.params=n,o}return c(t,e),t}(b),C=function(){return function(e){this.clientId="",this.redirectUri="",this.postLogoutRedirectUri="",this.loginUrl="",this.scope="openid profile",this.resource="",this.rngUrl="",this.oidc=!0,this.requestAccessToken=!0,this.options=null,this.issuer="",this.logoutUrl="",this.clearHashAfterLogin=!0,this.tokenEndpoint=null,this.userinfoEndpoint=null,this.responseType="",this.showDebugInformation=!1,this.silentRefreshRedirectUri="",this.silentRefreshMessagePrefix="",this.silentRefreshShowIFrame=!1,this.siletRefreshTimeout=2e4,this.silentRefreshTimeout=2e4,this.dummyClientSecret=null,this.requireHttps="remoteOnly",this.strictDiscoveryDocumentValidation=!0,this.jwks=null,this.customQueryParams=null,this.silentRefreshIFrameName="angular-oauth-oidc-silent-refresh-iframe",this.timeoutFactor=.75,this.sessionChecksEnabled=!1,this.sessionCheckIntervall=3e3,this.sessionCheckIFrameUrl=null,this.sessionCheckIFrameName="angular-oauth-oidc-check-session-iframe",this.disableAtHashCheck=!1,this.skipSubjectCheck=!1,this.useIdTokenHintForSilentRefresh=!1,this.skipIssuerCheck=!1,this.nonceStateSeparator=";",this.useHttpBasicAuth=!1,this.waitForTokenInMsec=0,this.disablePKCE=!1,this.openUri=function(e){location.href=e},e&&Object.assign(this,e)}}(),A=function(){function e(){}return e.prototype.encodeKey=function(e){return encodeURIComponent(e)},e.prototype.encodeValue=function(e){return encodeURIComponent(e)},e.prototype.decodeKey=function(e){return decodeURIComponent(e)},e.prototype.decodeValue=function(e){return decodeURIComponent(e)},e}(),E=function(){return function(){}}(),j=function(e){function r(t,r,n,i,s,a,c,u){var h=e.call(this)||this;h.ngZone=t,h.http=r,h.config=s,h.urlHelper=a,h.logger=c,h.crypto=u,h.discoveryDocumentLoaded=!1,h.state="",h.eventsSubject=new o.Subject,h.discoveryDocumentLoadedSubject=new o.Subject,h.grantTypesSupported=[],h.inImplicitFlow=!1,h.debug("angular-oauth2-oidc v8-beta"),h.discoveryDocumentLoaded$=h.discoveryDocumentLoadedSubject.asObservable(),h.events=h.eventsSubject.asObservable(),i&&(h.tokenValidationHandler=i),s&&h.configure(s);try{n?h.setStorage(n):"undefined"!=typeof sessionStorage&&h.setStorage(sessionStorage)}catch(l){console.error("No OAuthStorage provided and cannot access default (sessionStorage).Consider providing a custom OAuthStorage implementation in your module.",l)}return h.setupRefreshTimer(),h}return c(r,e),r.prototype.configure=function(e){Object.assign(this,new C,e),this.config=Object.assign({},new C,e),this.sessionChecksEnabled&&this.setupSessionCheck(),this.configChanged()},r.prototype.configChanged=function(){this.setupRefreshTimer()},r.prototype.restartSessionChecksIfStillLoggedIn=function(){this.hasValidIdToken()&&this.initSessionCheck()},r.prototype.restartRefreshTimerIfStillLoggedIn=function(){this.setupExpirationTimers()},r.prototype.setupSessionCheck=function(){var e=this;this.events.pipe(i.filter(function(e){return"token_received"===e.type})).subscribe(function(t){e.initSessionCheck()})},r.prototype.setupAutomaticSilentRefresh=function(e,t,r){var n=this;void 0===e&&(e={}),void 0===r&&(r=!0);var o=!0;this.events.pipe(i.tap(function(e){"token_received"===e.type?o=!0:"logout"===e.type&&(o=!1)}),i.filter(function(e){return"token_expires"===e.type})).subscribe(function(i){null!=t&&"any"!==t&&i.info!==t||!o||n.refreshInternal(e,r)["catch"](function(e){n.debug("Automatic silent refresh did not work")})}),this.restartRefreshTimerIfStillLoggedIn()},r.prototype.refreshInternal=function(e,t){return"code"===this.responseType?this.refreshToken():this.silentRefresh(e,t)},r.prototype.loadDiscoveryDocumentAndTryLogin=function(e){var t=this;return void 0===e&&(e=null),this.loadDiscoveryDocument().then(function(r){return t.tryLogin(e)})},r.prototype.loadDiscoveryDocumentAndLogin=function(e){var t=this;return void 0===e&&(e=null),this.loadDiscoveryDocumentAndTryLogin(e).then(function(e){return!(!t.hasValidIdToken()||!t.hasValidAccessToken())||(t.initImplicitFlow(),!1)})},r.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.showDebugInformation&&this.logger.debug.apply(console,e)},r.prototype.validateUrlFromDiscoveryDocument=function(e){var t=[],r=this.validateUrlForHttps(e),n=this.validateUrlAgainstIssuer(e);return r||t.push("https for all urls required. Also for urls received by discovery."),n||t.push("Every url in discovery document has to start with the issuer url.Also see property strictDiscoveryDocumentValidation."),t},r.prototype.validateUrlForHttps=function(e){if(!e)return!0;var t=e.toLowerCase();return!1===this.requireHttps||(!(!t.match(/^http:\/\/localhost($|[:\/])/)&&!t.match(/^http:\/\/localhost($|[:\/])/)||"remoteOnly"!==this.requireHttps)||t.startsWith("https://"))},r.prototype.validateUrlAgainstIssuer=function(e){return!this.strictDiscoveryDocumentValidation||(!e||e.toLowerCase().startsWith(this.issuer.toLowerCase()))},r.prototype.setupRefreshTimer=function(){var e=this;"undefined"!=typeof window?(this.hasValidIdToken()&&(this.clearAccessTokenTimer(),this.clearIdTokenTimer(),this.setupExpirationTimers()),this.events.pipe(i.filter(function(e){return"token_received"===e.type})).subscribe(function(t){e.clearAccessTokenTimer(),e.clearIdTokenTimer(),e.setupExpirationTimers()})):this.debug("timer not supported on this plattform")},r.prototype.setupExpirationTimers=function(){var e=this.getIdTokenExpiration()||Number.MAX_VALUE,t=(this.getAccessTokenExpiration()||Number.MAX_VALUE)<=e;this.hasValidAccessToken()&&t&&this.setupAccessTokenTimer(),this.hasValidIdToken()&&!t&&this.setupIdTokenTimer()},r.prototype.setupAccessTokenTimer=function(){var e=this,t=this.getAccessTokenExpiration(),r=this.getAccessTokenStoredAt(),n=this.calcTimeout(r,t);this.ngZone.runOutsideAngular(function(){e.accessTokenTimeoutSubscription=o.of(new T("token_expires","access_token")).pipe(i.delay(n)).subscribe(function(t){e.ngZone.run(function(){e.eventsSubject.next(t)})})})},r.prototype.setupIdTokenTimer=function(){var e=this,t=this.getIdTokenExpiration(),r=this.getIdTokenStoredAt(),n=this.calcTimeout(r,t);this.ngZone.runOutsideAngular(function(){e.idTokenTimeoutSubscription=o.of(new T("token_expires","id_token")).pipe(i.delay(n)).subscribe(function(t){e.ngZone.run(function(){e.eventsSubject.next(t)})})})},r.prototype.clearAccessTokenTimer=function(){this.accessTokenTimeoutSubscription&&this.accessTokenTimeoutSubscription.unsubscribe()},r.prototype.clearIdTokenTimer=function(){this.idTokenTimeoutSubscription&&this.idTokenTimeoutSubscription.unsubscribe()},r.prototype.calcTimeout=function(e,t){var r=Date.now(),n=(t-e)*this.timeoutFactor-(r-e);return Math.max(0,n)},r.prototype.setStorage=function(e){this._storage=e,this.configChanged()},r.prototype.loadDiscoveryDocument=function(e){var t=this;return void 0===e&&(e=null),new Promise(function(r,n){e||((e=t.issuer||"").endsWith("/")||(e+="/"),e+=".well-known/openid-configuration"),t.validateUrlForHttps(e)?t.http.get(e).subscribe(function(e){if(!t.validateDiscoveryDocument(e))return t.eventsSubject.next(new I("discovery_document_validation_error",null)),void n("discovery_document_validation_error");t.loginUrl=e.authorization_endpoint,t.logoutUrl=e.end_session_endpoint||t.logoutUrl,t.grantTypesSupported=e.grant_types_supported,t.issuer=e.issuer,t.tokenEndpoint=e.token_endpoint,t.userinfoEndpoint=e.userinfo_endpoint,t.jwksUri=e.jwks_uri,t.sessionCheckIFrameUrl=e.check_session_iframe||t.sessionCheckIFrameUrl,t.discoveryDocumentLoaded=!0,t.discoveryDocumentLoadedSubject.next(e),t.sessionChecksEnabled&&t.restartSessionChecksIfStillLoggedIn(),t.loadJwks().then(function(n){var o=new S("discovery_document_loaded",{discoveryDocument:e,jwks:n});t.eventsSubject.next(o),r(o)})["catch"](function(e){t.eventsSubject.next(new I("discovery_document_load_error",e)),n(e)})},function(e){t.logger.error("error loading discovery document",e),t.eventsSubject.next(new I("discovery_document_load_error",e)),n(e)}):n("issuer must use https, or config value for property requireHttps must allow http")})},r.prototype.loadJwks=function(){var e=this;return new Promise(function(t,r){e.jwksUri?e.http.get(e.jwksUri).subscribe(function(r){e.jwks=r,e.eventsSubject.next(new S("discovery_document_loaded")),t(r)},function(t){e.logger.error("error loading jwks",t),e.eventsSubject.next(new I("jwks_load_error",t)),r(t)}):t(null)})},r.prototype.validateDiscoveryDocument=function(e){var t;return this.skipIssuerCheck||e.issuer===this.issuer?(t=this.validateUrlFromDiscoveryDocument(e.authorization_endpoint)).length>0?(this.logger.error("error validating authorization_endpoint in discovery document",t),!1):(t=this.validateUrlFromDiscoveryDocument(e.end_session_endpoint)).length>0?(this.logger.error("error validating end_session_endpoint in discovery document",t),!1):((t=this.validateUrlFromDiscoveryDocument(e.token_endpoint)).length>0&&this.logger.error("error validating token_endpoint in discovery document",t),(t=this.validateUrlFromDiscoveryDocument(e.userinfo_endpoint)).length>0?(this.logger.error("error validating userinfo_endpoint in discovery document",t),!1):(t=this.validateUrlFromDiscoveryDocument(e.jwks_uri)).length>0?(this.logger.error("error validating jwks_uri in discovery document",t),!1):(this.sessionChecksEnabled&&!e.check_session_iframe&&this.logger.warn("sessionChecksEnabled is activated but discovery document does not contain a check_session_iframe field"),!0)):(this.logger.error("invalid issuer in discovery document","expected: "+this.issuer,"current: "+e.issuer),!1)},r.prototype.fetchTokenUsingPasswordFlowAndLoadUserProfile=function(e,t,r){var o=this;return void 0===r&&(r=new n.HttpHeaders),this.fetchTokenUsingPasswordFlow(e,t,r).then(function(){return o.loadUserProfile()})},r.prototype.loadUserProfile=function(){var e=this;if(!this.hasValidAccessToken())throw new Error("Can not load User Profile without access_token");if(!this.validateUrlForHttps(this.userinfoEndpoint))throw new Error("userinfoEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(t,r){var o=(new n.HttpHeaders).set("Authorization","Bearer "+e.getAccessToken());e.http.get(e.userinfoEndpoint,{headers:o}).subscribe(function(n){e.debug("userinfo received",n);var o=e.getIdentityClaims()||{};if(e.skipSubjectCheck||!e.oidc||o.sub&&n.sub===o.sub)n=Object.assign({},o,n),e._storage.setItem("id_token_claims_obj",JSON.stringify(n)),e.eventsSubject.next(new S("user_profile_loaded")),t(n);else{r("if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\nif you are not using oidc but just oauth2 password flow set oidc to false")}},function(t){e.logger.error("error loading user info",t),e.eventsSubject.next(new I("user_profile_load_error",t)),r(t)})})},r.prototype.fetchTokenUsingPasswordFlow=function(e,t,r){var o=this;if(void 0===r&&(r=new n.HttpHeaders),!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(i,s){var a,c,u=new n.HttpParams({encoder:new A}).set("grant_type","password").set("scope",o.scope).set("username",e).set("password",t);if(o.useHttpBasicAuth){var h=btoa(o.clientId+":"+o.dummyClientSecret);r=r.set("Authorization","Basic "+h)}if(o.useHttpBasicAuth||(u=u.set("client_id",o.clientId)),!o.useHttpBasicAuth&&o.dummyClientSecret&&(u=u.set("client_secret",o.dummyClientSecret)),o.customQueryParams)try{for(var d=l(Object.getOwnPropertyNames(o.customQueryParams)),p=d.next();!p.done;p=d.next()){var f=p.value;u=u.set(f,o.customQueryParams[f])}}catch(g){a={error:g}}finally{try{p&&!p.done&&(c=d["return"])&&c.call(d)}finally{if(a)throw a.error}}r=r.set("Content-Type","application/x-www-form-urlencoded"),o.http.post(o.tokenEndpoint,u,{headers:r}).subscribe(function(e){o.debug("tokenResponse",e),o.storeAccessTokenResponse(e.access_token,e.refresh_token,e.expires_in,e.scope),o.eventsSubject.next(new S("token_received")),i(e)},function(e){o.logger.error("Error performing password flow",e),o.eventsSubject.next(new I("token_error",e)),s(e)})})},r.prototype.refreshToken=function(){var e=this;if(!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");return new Promise(function(t,r){var s,a,c=(new n.HttpParams).set("grant_type","refresh_token").set("client_id",e.clientId).set("scope",e.scope).set("refresh_token",e._storage.getItem("refresh_token"));if(e.dummyClientSecret&&(c=c.set("client_secret",e.dummyClientSecret)),e.customQueryParams)try{for(var u=l(Object.getOwnPropertyNames(e.customQueryParams)),h=u.next();!h.done;h=u.next()){var d=h.value;c=c.set(d,e.customQueryParams[d])}}catch(f){s={error:f}}finally{try{h&&!h.done&&(a=u["return"])&&a.call(u)}finally{if(s)throw s.error}}var p=(new n.HttpHeaders).set("Content-Type","application/x-www-form-urlencoded");e.http.post(e.tokenEndpoint,c,{headers:p}).pipe(i.switchMap(function(t){return t.id_token?o.from(e.processIdToken(t.id_token,t.access_token,!0)).pipe(i.tap(function(t){return e.storeIdToken(t)}),i.map(function(e){return t})):o.of(t)})).subscribe(function(r){e.debug("refresh tokenResponse",r),e.storeAccessTokenResponse(r.access_token,r.refresh_token,r.expires_in,r.scope),e.eventsSubject.next(new S("token_received")),e.eventsSubject.next(new S("token_refreshed")),t(r)},function(t){e.logger.error("Error performing password flow",t),e.eventsSubject.next(new I("token_refresh_error",t)),r(t)})})},r.prototype.removeSilentRefreshEventListener=function(){this.silentRefreshPostMessageEventListener&&(window.removeEventListener("message",this.silentRefreshPostMessageEventListener),this.silentRefreshPostMessageEventListener=null)},r.prototype.setupSilentRefreshEventListener=function(){var e=this;this.removeSilentRefreshEventListener(),this.silentRefreshPostMessageEventListener=function(t){var r=e.processMessageEventMessage(t);e.tryLogin({customHashFragment:r,preventClearHashAfterLogin:!0,onLoginError:function(t){e.eventsSubject.next(new I("silent_refresh_error",t))},onTokenReceived:function(){e.eventsSubject.next(new S("silently_refreshed"))}})["catch"](function(t){return e.debug("tryLogin during silent refresh failed",t)})},window.addEventListener("message",this.silentRefreshPostMessageEventListener)},r.prototype.silentRefresh=function(e,t){var r=this;void 0===e&&(e={}),void 0===t&&(t=!0);var n=this.getIdentityClaims()||{};if(this.useIdTokenHintForSilentRefresh&&this.hasValidIdToken()&&(e.id_token_hint=this.getIdToken()),!this.validateUrlForHttps(this.loginUrl))throw new Error("tokenEndpoint must use https, or config value for property requireHttps must allow http");if("undefined"==typeof document)throw new Error("silent refresh is not supported on this platform");var s=document.getElementById(this.silentRefreshIFrameName);s&&document.body.removeChild(s),this.silentRefreshSubject=n.sub;var a=document.createElement("iframe");a.id=this.silentRefreshIFrameName,this.setupSilentRefreshEventListener();var c=this.silentRefreshRedirectUri||this.redirectUri;this.createLoginUrl(null,null,c,t,e).then(function(e){a.setAttribute("src",e),r.silentRefreshShowIFrame||(a.style.display="none"),document.body.appendChild(a)});var u=this.events.pipe(i.filter(function(e){return e instanceof I}),i.first()),h=this.events.pipe(i.filter(function(e){return"silently_refreshed"===e.type}),i.first()),l=o.of(new I("silent_refresh_timeout",null)).pipe(i.delay(this.silentRefreshTimeout));return o.race([u,h,l]).pipe(i.tap(function(e){"silent_refresh_timeout"===e.type&&r.eventsSubject.next(e)}),i.map(function(e){if(e instanceof I)throw e;return e})).toPromise()},r.prototype.initImplicitFlowInPopup=function(e){var t=this;return e=e||{},this.createLoginUrl(null,null,this.silentRefreshRedirectUri,!1,{display:"popup"}).then(function(r){return new Promise(function(n,o){var i=window.open(r,"_blank",t.calculatePopupFeatures(e)),s=function(){window.removeEventListener("message",a),i.close(),i=null},a=function(e){var r=t.processMessageEventMessage(e);t.tryLogin({customHashFragment:r,preventClearHashAfterLogin:!0}).then(function(){s(),n()},function(e){s(),o(e)})};window.addEventListener("message",a)})})},r.prototype.calculatePopupFeatures=function(e){var t=e.height||470,r=e.width||500,n=screen.width/2-r/2;return"location=no,toolbar=no,width="+r+",height="+t+",top="+(screen.height/2-t/2)+",left="+n},r.prototype.processMessageEventMessage=function(e){var t="#";if(this.silentRefreshMessagePrefix&&(t+=this.silentRefreshMessagePrefix),e&&e.data&&"string"==typeof e.data){var r=e.data;if(r.startsWith(t))return"#"+r.substr(t.length)}},r.prototype.canPerformSessionCheck=function(){return!!this.sessionChecksEnabled&&(this.sessionCheckIFrameUrl?this.getSessionState()?"undefined"!=typeof document:(console.warn("sessionChecksEnabled is activated but there is no session_state"),!1):(console.warn("sessionChecksEnabled is activated but there is no sessionCheckIFrameUrl"),!1))},r.prototype.setupSessionCheckEventListener=function(){var e=this;this.removeSessionCheckEventListener(),this.sessionCheckEventListener=function(t){var r=t.origin.toLowerCase(),n=e.issuer.toLowerCase();switch(e.debug("sessionCheckEventListener"),n.startsWith(r)||e.debug("sessionCheckEventListener","wrong origin",r,"expected",n),t.data){case"unchanged":e.handleSessionUnchanged();break;case"changed":e.ngZone.run(function(){e.handleSessionChange()});break;case"error":e.ngZone.run(function(){e.handleSessionError()})}e.debug("got info from session check inframe",t)},this.ngZone.runOutsideAngular(function(){window.addEventListener("message",e.sessionCheckEventListener)})},r.prototype.handleSessionUnchanged=function(){this.debug("session check","session unchanged")},r.prototype.handleSessionChange=function(){var e=this;this.eventsSubject.next(new T("session_changed")),this.stopSessionCheckTimer(),this.silentRefreshRedirectUri?(this.silentRefresh()["catch"](function(t){return e.debug("silent refresh failed after session changed")}),this.waitForSilentRefreshAfterSessionChange()):(this.eventsSubject.next(new T("session_terminated")),this.logOut(!0))},r.prototype.waitForSilentRefreshAfterSessionChange=function(){var e=this;this.events.pipe(i.filter(function(e){return"silently_refreshed"===e.type||"silent_refresh_timeout"===e.type||"silent_refresh_error"===e.type}),i.first()).subscribe(function(t){"silently_refreshed"!==t.type&&(e.debug("silent refresh did not work after session changed"),e.eventsSubject.next(new T("session_terminated")),e.logOut(!0))})},r.prototype.handleSessionError=function(){this.stopSessionCheckTimer(),this.eventsSubject.next(new T("session_error"))},r.prototype.removeSessionCheckEventListener=function(){this.sessionCheckEventListener&&(window.removeEventListener("message",this.sessionCheckEventListener),this.sessionCheckEventListener=null)},r.prototype.initSessionCheck=function(){if(this.canPerformSessionCheck()){var e=document.getElementById(this.sessionCheckIFrameName);e&&document.body.removeChild(e);var t=document.createElement("iframe");t.id=this.sessionCheckIFrameName,this.setupSessionCheckEventListener();var r=this.sessionCheckIFrameUrl;t.setAttribute("src",r),t.style.display="none",document.body.appendChild(t),this.startSessionCheckTimer()}},r.prototype.startSessionCheckTimer=function(){var e=this;this.stopSessionCheckTimer(),this.ngZone.runOutsideAngular(function(){e.sessionCheckTimer=setInterval(e.checkSession.bind(e),e.sessionCheckIntervall)})},r.prototype.stopSessionCheckTimer=function(){this.sessionCheckTimer&&(clearInterval(this.sessionCheckTimer),this.sessionCheckTimer=null)},r.prototype.checkSession=function(){var e=document.getElementById(this.sessionCheckIFrameName);e||this.logger.warn("checkSession did not find iframe",this.sessionCheckIFrameName);var t=this.getSessionState();t||this.stopSessionCheckTimer();var r=this.clientId+" "+t;e.contentWindow.postMessage(r,this.issuer)},r.prototype.createLoginUrl=function(e,t,r,n,o){return void 0===e&&(e=""),void 0===t&&(t=""),void 0===r&&(r=""),void 0===n&&(n=!1),void 0===o&&(o={}),u(this,void 0,void 0,function(){var i,s,a,c,u,p,f,g,m,v,y,k,_,w,b,S,T,I;return h(this,function(h){switch(h.label){case 0:return u=this,p=r||this.redirectUri,[4,this.createAndSaveNonce()];case 1:if(f=h.sent(),e=e?f+this.config.nonceStateSeparator+e:f,!this.requestAccessToken&&!this.oidc)throw new Error("Either requestAccessToken or oidc or both must be true");return this.config.responseType?this.responseType=this.config.responseType:this.oidc&&this.requestAccessToken?this.responseType="id_token token":this.oidc&&!this.requestAccessToken?this.responseType="id_token":this.responseType="token",g=u.loginUrl.indexOf("?")>-1?"&":"?",m=u.scope,this.oidc&&!m.match(/(^|\s)openid($|\s)/)&&(m="openid "+m),v=u.loginUrl+g+"response_type="+encodeURIComponent(u.responseType)+"&client_id="+encodeURIComponent(u.clientId)+"&state="+encodeURIComponent(e)+"&redirect_uri="+encodeURIComponent(p)+"&scope="+encodeURIComponent(m),"code"!==this.responseType||this.disablePKCE?[3,3]:[4,this.createChallangeVerifierPairForPKCE()];case 2:y=d.apply(void 0,[h.sent(),2]),k=y[0],_=y[1],this._storage.setItem("PKCI_verifier",_),v+="&code_challenge="+k,v+="&code_challenge_method=S256",h.label=3;case 3:t&&(v+="&login_hint="+encodeURIComponent(t)),u.resource&&(v+="&resource="+encodeURIComponent(u.resource)),u.oidc&&(v+="&nonce="+encodeURIComponent(f)),n&&(v+="&prompt=none");try{for(w=l(Object.keys(o)),b=w.next();!b.done;b=w.next())I=b.value,v+="&"+encodeURIComponent(I)+"="+encodeURIComponent(o[I])}catch(C){i={error:C}}finally{try{b&&!b.done&&(s=w["return"])&&s.call(w)}finally{if(i)throw i.error}}if(this.customQueryParams)try{for(S=l(Object.getOwnPropertyNames(this.customQueryParams)),T=S.next();!T.done;T=S.next())I=T.value,v+="&"+I+"="+encodeURIComponent(this.customQueryParams[I])}catch(A){a={error:A}}finally{try{T&&!T.done&&(c=S["return"])&&c.call(S)}finally{if(a)throw a.error}}return[2,v]}})})},r.prototype.initImplicitFlowInternal=function(e,t){var r=this;if(void 0===e&&(e=""),void 0===t&&(t=""),!this.inImplicitFlow){if(this.inImplicitFlow=!0,!this.validateUrlForHttps(this.loginUrl))throw new Error("loginUrl must use https, or config value for property requireHttps must allow http");var n={},o=null;"string"==typeof t?o=t:"object"==typeof t&&(n=t),this.createLoginUrl(e,o,null,!1,n).then(this.config.openUri)["catch"](function(e){console.error("Error in initImplicitFlow",e),r.inImplicitFlow=!1})}},r.prototype.initImplicitFlow=function(e,t){var r=this;void 0===e&&(e=""),void 0===t&&(t=""),""!==this.loginUrl?this.initImplicitFlowInternal(e,t):this.events.pipe(i.filter(function(e){return"discovery_document_loaded"===e.type})).subscribe(function(n){return r.initImplicitFlowInternal(e,t)})},r.prototype.resetImplicitFlow=function(){this.inImplicitFlow=!1},r.prototype.callOnTokenReceivedIfExists=function(e){if(e.onTokenReceived){var t={idClaims:this.getIdentityClaims(),idToken:this.getIdToken(),accessToken:this.getAccessToken(),state:this.state};e.onTokenReceived(t)}},r.prototype.storeAccessTokenResponse=function(e,t,r,n){if(this._storage.setItem("access_token",e),n&&this._storage.setItem("granted_scopes",JSON.stringify(n.split("+"))),this._storage.setItem("access_token_stored_at",""+Date.now()),r){var o=1e3*r,i=(new Date).getTime()+o;this._storage.setItem("expires_at",""+i)}t&&this._storage.setItem("refresh_token",t)},r.prototype.tryLogin=function(e){return void 0===e&&(e=null),"code"===this.config.responseType?this.tryLoginCodeFlow().then(function(e){return!0}):this.tryLoginImplicitFlow(e)},r.prototype.parseQueryString=function(e){return e&&0!==e.length?("?"===e.charAt(0)&&(e=e.substr(1)),this.urlHelper.parseQueryString(e)):{}},r.prototype.tryLoginCodeFlow=function(){var e=this,t=this.parseQueryString(window.location.search),r=t.code,n=t.state,o=location.href.replace(/[&\?]code=[^&\$]*/,"").replace(/[&\?]scope=[^&\$]*/,"").replace(/[&\?]state=[^&\$]*/,"").replace(/[&\?]session_state=[^&\$]*/,"");history.replaceState(null,window.name,o);var i=d(this.parseState(n),2),s=i[0],a=i[1];if(this.state=a,t.error){this.debug("error trying to login"),this.handleLoginError({},t);var c=new I("code_error",{},t);return this.eventsSubject.next(c),Promise.reject(c)}if(!s)return Promise.resolve();if(!this.validateNonce(s)){var u=new I("invalid_nonce_in_state",null);return this.eventsSubject.next(u),Promise.reject(u)}return r?new Promise(function(t,n){e.getTokenFromCode(r).then(function(e){t()})["catch"](function(e){n(e)})}):Promise.resolve()},r.prototype.getTokenFromCode=function(e){var t=(new n.HttpParams).set("grant_type","authorization_code").set("code",e).set("redirect_uri",this.redirectUri);if(!this.disablePKCE){var r=this._storage.getItem("PKCI_verifier");r?t=t.set("code_verifier",r):console.warn("No PKCI verifier found in oauth storage!")}return this.fetchAndProcessToken(t)},r.prototype.fetchAndProcessToken=function(e){var t=this,r=(new n.HttpHeaders).set("Content-Type","application/x-www-form-urlencoded");if(!this.validateUrlForHttps(this.tokenEndpoint))throw new Error("tokenEndpoint must use Http. Also check property requireHttps.");if(this.useHttpBasicAuth){var o=btoa(this.clientId+":"+this.dummyClientSecret);r=r.set("Authorization","Basic "+o)}return this.useHttpBasicAuth||(e=e.set("client_id",this.clientId)),!this.useHttpBasicAuth&&this.dummyClientSecret&&(e=e.set("client_secret",this.dummyClientSecret)),new Promise(function(n,o){var i,s;if(t.customQueryParams)try{for(var a=l(Object.getOwnPropertyNames(t.customQueryParams)),c=a.next();!c.done;c=a.next()){var u=c.value;e=e.set(u,t.customQueryParams[u])}}catch(h){i={error:h}}finally{try{c&&!c.done&&(s=a["return"])&&s.call(a)}finally{if(i)throw i.error}}t.http.post(t.tokenEndpoint,e,{headers:r}).subscribe(function(e){t.debug("refresh tokenResponse",e),t.storeAccessTokenResponse(e.access_token,e.refresh_token,e.expires_in,e.scope),t.oidc&&e.id_token?t.processIdToken(e.id_token,e.access_token).then(function(r){t.storeIdToken(r),t.eventsSubject.next(new S("token_received")),t.eventsSubject.next(new S("token_refreshed")),n(e)})["catch"](function(e){t.eventsSubject.next(new I("token_validation_error",e)),console.error("Error validating tokens"),console.error(e),o(e)}):(t.eventsSubject.next(new S("token_received")),t.eventsSubject.next(new S("token_refreshed")),n(e))},function(e){console.error("Error getting token",e),t.eventsSubject.next(new I("token_refresh_error",e)),o(e)})})},r.prototype.tryLoginImplicitFlow=function(e){var t,r=this;void 0===e&&(e=null),t=(e=e||{}).customHashFragment?this.urlHelper.getHashFragmentParams(e.customHashFragment):this.urlHelper.getHashFragmentParams(),this.debug("parsed url",t);var n=t.state,o=d(this.parseState(n),2),i=o[0],s=o[1];if(this.state=s,t.error){this.debug("error trying to login"),this.handleLoginError(e,t);var a=new I("token_error",{},t);return this.eventsSubject.next(a),Promise.reject(a)}var c=t.access_token,u=t.id_token,h=t.session_state,l=t.scope;if(!this.requestAccessToken&&!this.oidc)return Promise.reject("Either requestAccessToken or oidc (or both) must be true.");if(this.requestAccessToken&&!c)return Promise.resolve(!1);if(this.requestAccessToken&&!e.disableOAuth2StateCheck&&!n)return Promise.resolve(!1);if(this.oidc&&!u)return Promise.resolve(!1);if((this.sessionChecksEnabled&&!h&&this.logger.warn("session checks (Session Status Change Notification) were activated in the configuration but the id_token does not contain a session_state claim"),this.requestAccessToken&&!e.disableOAuth2StateCheck)&&!this.validateNonce(i)){var p=new I("invalid_nonce_in_state",null);return this.eventsSubject.next(p),Promise.reject(p)}return this.requestAccessToken&&this.storeAccessTokenResponse(c,null,t.expires_in||this.fallbackAccessTokenExpirationTimeInSec,l),this.oidc?this.processIdToken(u,c).then(function(t){return e.validationHandler?e.validationHandler({accessToken:c,idClaims:t.idTokenClaims,idToken:t.idToken,state:n}).then(function(e){return t}):t}).then(function(t){return r.storeIdToken(t),r.storeSessionState(h),r.clearHashAfterLogin&&(location.hash=""),r.eventsSubject.next(new S("token_received")),r.callOnTokenReceivedIfExists(e),r.inImplicitFlow=!1,!0})["catch"](function(e){return r.eventsSubject.next(new I("token_validation_error",e)),r.logger.error("Error validating tokens"),r.logger.error(e),Promise.reject(e)}):(this.eventsSubject.next(new S("token_received")),this.clearHashAfterLogin&&!e.preventClearHashAfterLogin&&(location.hash=""),this.callOnTokenReceivedIfExists(e),Promise.resolve(!0))},r.prototype.parseState=function(e){var t=e,r="";if(e){var n=e.indexOf(this.config.nonceStateSeparator);n>-1&&(t=e.substr(0,n),r=e.substr(n+this.config.nonceStateSeparator.length))}return[t,r]},r.prototype.validateNonce=function(e){var t=this._storage.getItem("nonce");if(t!==e){return console.error("Validating access_token failed, wrong state/nonce.",t,e),!1}return!0},r.prototype.storeIdToken=function(e){this._storage.setItem("id_token",e.idToken),this._storage.setItem("id_token_claims_obj",e.idTokenClaimsJson),this._storage.setItem("id_token_expires_at",""+e.idTokenExpiresAt),this._storage.setItem("id_token_stored_at",""+Date.now())},r.prototype.storeSessionState=function(e){this._storage.setItem("session_state",e)},r.prototype.getSessionState=function(){return this._storage.getItem("session_state")},r.prototype.handleLoginError=function(e,t){e.onLoginError&&e.onLoginError(t),this.clearHashAfterLogin&&(location.hash="")},r.prototype.processIdToken=function(e,t,r){var n=this;void 0===r&&(r=!1);var o=e.split("."),i=v(this.padBase64(o[0])),s=JSON.parse(i),a=v(this.padBase64(o[1])),c=JSON.parse(a),u=this._storage.getItem("nonce");if(Array.isArray(c.aud)){if(c.aud.every(function(e){return e!==n.clientId})){var h="Wrong audience: "+c.aud.join(",");return this.logger.warn(h),Promise.reject(h)}}else if(c.aud!==this.clientId){h="Wrong audience: "+c.aud;return this.logger.warn(h),Promise.reject(h)}if(!c.sub){h="No sub claim in id_token";return this.logger.warn(h),Promise.reject(h)}if(this.sessionChecksEnabled&&this.silentRefreshSubject&&this.silentRefreshSubject!==c.sub){h="After refreshing, we got an id_token for another user (sub). Expected sub: "+this.silentRefreshSubject+", received sub: "+c.sub;return this.logger.warn(h),Promise.reject(h)}if(!c.iat){h="No iat claim in id_token";return this.logger.warn(h),Promise.reject(h)}if(!this.skipIssuerCheck&&c.iss!==this.issuer){h="Wrong issuer: "+c.iss;return this.logger.warn(h),Promise.reject(h)}if(!r&&c.nonce!==u){h="Wrong nonce: "+c.nonce;return this.logger.warn(h),Promise.reject(h)}if(!this.disableAtHashCheck&&this.requestAccessToken&&!c.at_hash){h="An at_hash is needed!";return this.logger.warn(h),Promise.reject(h)}var l=Date.now(),d=1e3*c.iat,p=1e3*c.exp,f=1e3*(this.clockSkewInSec||600);if(d-f>=l||p+f<=l){h="Token has expired";return console.error(h),console.error({now:l,issuedAtMSec:d,expiresAtMSec:p}),Promise.reject(h)}var g={accessToken:t,idToken:e,jwks:this.jwks,idTokenClaims:c,idTokenHeader:s,loadKeys:function(){return n.loadJwks()}};return this.checkAtHash(g).then(function(t){if(!n.disableAtHashCheck&&n.requestAccessToken&&!t){var r="Wrong at_hash";return n.logger.warn(r),Promise.reject(r)}return n.checkSignature(g).then(function(t){return{idToken:e,idTokenClaims:c,idTokenClaimsJson:a,idTokenHeader:s,idTokenHeaderJson:i,idTokenExpiresAt:p}})})},r.prototype.getIdentityClaims=function(){var e=this._storage.getItem("id_token_claims_obj");return e?JSON.parse(e):null},r.prototype.getGrantedScopes=function(){var e=this._storage.getItem("granted_scopes");return e?JSON.parse(e):null},r.prototype.getIdToken=function(){return this._storage?this._storage.getItem("id_token"):null},r.prototype.padBase64=function(e){for(;e.length%4!=0;)e+="=";return e},r.prototype.getAccessToken=function(){return this._storage?this._storage.getItem("access_token"):null},r.prototype.getRefreshToken=function(){return this._storage?this._storage.getItem("refresh_token"):null},r.prototype.getAccessTokenExpiration=function(){return this._storage.getItem("expires_at")?parseInt(this._storage.getItem("expires_at"),10):null},r.prototype.getAccessTokenStoredAt=function(){return parseInt(this._storage.getItem("access_token_stored_at"),10)},r.prototype.getIdTokenStoredAt=function(){return parseInt(this._storage.getItem("id_token_stored_at"),10)},r.prototype.getIdTokenExpiration=function(){return this._storage.getItem("id_token_expires_at")?parseInt(this._storage.getItem("id_token_expires_at"),10):null},r.prototype.hasValidAccessToken=function(){if(this.getAccessToken()){var e=this._storage.getItem("expires_at"),t=new Date;return!(e&&parseInt(e,10)<t.getTime())}return!1},r.prototype.hasValidIdToken=function(){if(this.getIdToken()){var e=this._storage.getItem("id_token_expires_at"),t=new Date;return!(e&&parseInt(e,10)<t.getTime())}return!1},r.prototype.authorizationHeader=function(){return"Bearer "+this.getAccessToken()},r.prototype.logOut=function(e){void 0===e&&(e=!1);var t=this.getIdToken();if(this._storage.removeItem("access_token"),this._storage.removeItem("id_token"),this._storage.removeItem("refresh_token"),this._storage.removeItem("nonce"),this._storage.removeItem("expires_at"),this._storage.removeItem("id_token_claims_obj"),this._storage.removeItem("id_token_expires_at"),this._storage.removeItem("id_token_stored_at"),this._storage.removeItem("access_token_stored_at"),this._storage.removeItem("granted_scopes"),this._storage.removeItem("session_state"),this.silentRefreshSubject=null,this.eventsSubject.next(new T("logout")),this.logoutUrl&&!e&&(t||this.postLogoutRedirectUri)){var r;if(!this.validateUrlForHttps(this.logoutUrl))throw new Error("logoutUrl must use https, or config value for property requireHttps must allow http");if(this.logoutUrl.indexOf("{{")>-1)r=this.logoutUrl.replace(/\{\{id_token\}\}/,t).replace(/\{\{client_id\}\}/,this.clientId);else{var o=new n.HttpParams;t&&(o=o.set("id_token_hint",t));var i=this.postLogoutRedirectUri||this.redirectUri;i&&(o=o.set("post_logout_redirect_uri",i)),r=this.logoutUrl+(this.logoutUrl.indexOf("?")>-1?"&":"?")+o.toString()}this.config.openUri(r)}},r.prototype.createAndSaveNonce=function(){var e=this;return this.createNonce().then(function(t){return e._storage.setItem("nonce",t),t})},r.prototype.ngOnDestroy=function(){this.clearAccessTokenTimer(),this.clearIdTokenTimer()},r.prototype.createNonce=function(){var e=this;return new Promise(function(t){if(e.rngUrl)throw new Error("createNonce with rng-web-api has not been implemented so far");var r="Uint8ArdomValuesObj012345679BCDEFGHIJKLMNPQRSTWXYZ_cfghkpqvwxyz-",n=45,o="",i=self.crypto||self.msCrypto;if(i)for(var s=i.getRandomValues(new Uint8Array(n));0<n--;)o+=r[63&s[n]];else for(;0<n--;)o+=r[64*Math.random()|0];t(o)})},r.prototype.checkAtHash=function(e){return u(this,void 0,void 0,function(){return h(this,function(t){return this.tokenValidationHandler?[2,this.tokenValidationHandler.validateAtHash(e)]:(this.logger.warn("No tokenValidationHandler configured. Cannot check at_hash."),[2,!0])})})},r.prototype.checkSignature=function(e){return this.tokenValidationHandler?this.tokenValidationHandler.validateSignature(e):(this.logger.warn("No tokenValidationHandler configured. Cannot check signature."),Promise.resolve(null))},r.prototype.initLoginFlow=function(e,t){return void 0===e&&(e=""),void 0===t&&(t={}),"code"===this.responseType?this.initCodeFlow(e,t):this.initImplicitFlow(e,t)},r.prototype.initCodeFlow=function(e,t){var r=this;void 0===e&&(e=""),void 0===t&&(t={}),""!==this.loginUrl?this.initCodeFlowInternal(e,t):this.events.pipe(i.filter(function(e){return"discovery_document_loaded"===e.type})).subscribe(function(n){return r.initCodeFlowInternal(e,t)})},r.prototype.initCodeFlowInternal=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t={}),!this.validateUrlForHttps(this.loginUrl))throw new Error("loginUrl must use Http. Also check property requireHttps.");this.createLoginUrl(e,"",null,!1,t).then(function(e){location.href=e})["catch"](function(e){console.error("Error in initAuthorizationCodeFlow"),console.error(e)})},r.prototype.createChallangeVerifierPairForPKCE=function(){return u(this,void 0,void 0,function(){var e,t;return h(this,function(r){switch(r.label){case 0:if(!this.crypto)throw new Error("PKCI support for code flow needs a CryptoHander. Did you import the OAuthModule using forRoot() ?");return[4,this.createNonce()];case 1:return e=r.sent(),[4,this.crypto.calcHash(e,"sha-256")];case 2:return t=r.sent(),[2,[y(t),e]]}})})},r.decorators=[{type:t.Injectable}],r.ctorParameters=function(){return[{type:t.NgZone},{type:n.HttpClient},{type:g,decorators:[{type:t.Optional}]},{type:k,decorators:[{type:t.Optional}]},{type:C,decorators:[{type:t.Optional}]},{type:w},{type:f},{type:E,decorators:[{type:t.Optional}]}]},r}(C),x=function(){return function(){}}(),H=function(){return function(){}}(),P=function(){return function(){}}(),U=function(){function e(){}return e.prototype.handleError=function(e){return o.throwError(e)},e}(),R=function(){function e(e,t,r,n){this.authStorage=e,this.oAuthService=t,this.errorHandler=r,this.moduleConfig=n}return e.prototype.checkUrl=function(e){return this.moduleConfig.resourceServer.customUrlValidation?this.moduleConfig.resourceServer.customUrlValidation(e):!this.moduleConfig.resourceServer.allowedUrls||!!this.moduleConfig.resourceServer.allowedUrls.find(function(t){return e.startsWith(t)})},e.prototype.intercept=function(e,t){var r=this,n=e.url.toLowerCase();return this.moduleConfig&&this.moduleConfig.resourceServer?this.moduleConfig.resourceServer.allowedUrls&&!this.checkUrl(n)?t.handle(e):this.moduleConfig.resourceServer.sendAccessToken?o.merge(o.of(this.oAuthService.getAccessToken()).pipe(i.filter(function(e){return!!e})),this.oAuthService.events.pipe(i.filter(function(e){return"token_received"===e.type}),i.timeout(this.oAuthService.waitForTokenInMsec),i.catchError(function(e){return o.of(null)}),i.map(function(e){return r.oAuthService.getAccessToken()}))).pipe(i.take(1),i.mergeMap(function(n){if(n){var o="Bearer "+n,s=e.headers.set("Authorization",o);e=e.clone({headers:s})}return t.handle(e).pipe(i.catchError(function(e){return r.errorHandler.handleError(e)}))})):t.handle(e).pipe(i.catchError(function(e){return r.errorHandler.handleError(e)})):t.handle(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:g},{type:j},{type:P},{type:x,decorators:[{type:t.Optional}]}]},e}(),F=function(){function e(){}return e.prototype.validateSignature=function(e){return Promise.resolve(null)},e.prototype.validateAtHash=function(e){return Promise.resolve(!0)},e}();function L(){return console}function O(){return"undefined"!=typeof sessionStorage?sessionStorage:null}var D=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allowedAlgorithms=["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512"],t.gracePeriodInSec=600,t}return c(t,e),t.prototype.validateSignature=function(e,t){var r=this;if(void 0===t&&(t=!1),!e.idToken)throw new Error("Parameter idToken expected!");if(!e.idTokenHeader)throw new Error("Parameter idTokenHandler expected.");if(!e.jwks)throw new Error("Parameter jwks expected!");if(!e.jwks.keys||!Array.isArray(e.jwks.keys)||0===e.jwks.keys.length)throw new Error("Array keys in jwks missing!");var n,o=e.idTokenHeader.kid,i=e.jwks.keys,a=e.idTokenHeader.alg;if(o)n=i.find(function(e){return e.kid===o});else{var c=this.alg2kty(a),u=i.filter(function(e){return e.kty===c&&"sig"===e.use});if(u.length>1){var h="More than one matching key found. Please specify a kid in the id_token header.";return console.error(h),Promise.reject(h)}1===u.length&&(n=u[0])}if(!n&&!t&&e.loadKeys)return e.loadKeys().then(function(t){return e.jwks=t}).then(function(t){return r.validateSignature(e,!0)});if(!n&&t&&!o){h="No matching key found.";return console.error(h),Promise.reject(h)}if(!n&&t&&o){h="expected key not found in property jwks. This property is most likely loaded with the discovery document. Expected key id (kid): "+o;return console.error(h),Promise.reject(h)}var l=s.KEYUTIL.getKey(n),d={alg:this.allowedAlgorithms,gracePeriod:this.gracePeriodInSec};return s.KJUR.jws.JWS.verifyJWT(e.idToken,l,d)?Promise.resolve():Promise.reject("Signature not valid")},t.prototype.alg2kty=function(e){switch(e.charAt(0)){case"R":return"RSA";case"E":return"EC";default:throw new Error("Cannot infer kty from alg: "+e)}},t.prototype.calcHash=function(e,t){var r=new s.KJUR.crypto.MessageDigest({alg:t}).digestString(e),n=this.toByteArrayAsString(r);return Promise.resolve(n)},t.prototype.toByteArrayAsString=function(e){for(var t="",r=0;r<e.length;r+=2){var n=e.charAt(r)+e.charAt(r+1),o=parseInt(n,16);t+=String.fromCharCode(o)}return t},t}(_),N=function(){function e(){}return e.forRoot=function(t,r){return void 0===t&&(t=null),void 0===r&&(r=F),{ngModule:e,providers:[j,w,{provide:f,useFactory:L},{provide:g,useFactory:O},{provide:k,useClass:r},{provide:E,useClass:D},{provide:P,useClass:U},{provide:x,useValue:t},{provide:n.HTTP_INTERCEPTORS,useClass:R,multi:!0}]}},e.decorators=[{type:t.NgModule,args:[{imports:[r.CommonModule],declarations:[],exports:[]}]}],e}(),V=new t.InjectionToken("AUTH_CONFIG");e.AUTH_CONFIG=V,e.AbstractValidationHandler=_,e.AuthConfig=C,e.DefaultOAuthInterceptor=R,e.JwksValidationHandler=D,e.LoginOptions=p,e.NullValidationHandler=F,e.OAuthErrorEvent=I,e.OAuthEvent=b,e.OAuthInfoEvent=T,e.OAuthLogger=f,e.OAuthModule=N,e.OAuthModuleConfig=x,e.OAuthNoopResourceServerErrorHandler=U,e.OAuthResourceServerConfig=H,e.OAuthResourceServerErrorHandler=P,e.OAuthService=j,e.OAuthStorage=g,e.OAuthSuccessEvent=S,e.ReceivedTokens=m,e.UrlHelperService=w,e.ValidationHandler=k,e.ɵa=E,e.ɵb=L,e.ɵc=O,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-oauth2-oidc.umd.min.js.map |
@@ -182,2 +182,6 @@ /** | ||
/** | ||
* The interceptors waits this time span if there is no token | ||
*/ | ||
this.waitForTokenInMsec = 0; | ||
/** | ||
* Code Flow is by defauld used together with PKCI which is also higly recommented. | ||
@@ -429,2 +433,7 @@ * You can disbale it here by setting this flag to true. | ||
/** | ||
* The interceptors waits this time span if there is no token | ||
* @type {?} | ||
*/ | ||
AuthConfig.prototype.waitForTokenInMsec; | ||
/** | ||
* Code Flow is by defauld used together with PKCI which is also higly recommented. | ||
@@ -444,2 +453,2 @@ * You can disbale it here by setting this flag to true. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW9hdXRoMi1vaWRjLyIsInNvdXJjZXMiOlsiYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU0sT0FBTyxVQUFVOzs7O0lBc09yQixZQUFZLElBQTBCOzs7O1FBbE8vQixhQUFRLEdBQUksRUFBRSxDQUFDOzs7O1FBS2YsZ0JBQVcsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWxCLDBCQUFxQixHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNNUIsYUFBUSxHQUFJLEVBQUUsQ0FBQzs7OztRQUtmLFVBQUssR0FBSSxnQkFBZ0IsQ0FBQztRQUUxQixhQUFRLEdBQUksRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNYixTQUFJLEdBQUksSUFBSSxDQUFDOzs7OztRQU1iLHVCQUFrQixHQUFJLElBQUksQ0FBQztRQUUzQixZQUFPLEdBQVMsSUFBSSxDQUFDOzs7O1FBS3JCLFdBQU0sR0FBSSxFQUFFLENBQUM7Ozs7UUFLYixjQUFTLEdBQUksRUFBRSxDQUFDOzs7O1FBS2hCLHdCQUFtQixHQUFJLElBQUksQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFZLElBQUksQ0FBQzs7OztRQUs5QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsaUJBQVksR0FBSSxFQUFFLENBQUM7Ozs7Ozs7UUFRbEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7O1FBSy9CLDZCQUF3QixHQUFJLEVBQUUsQ0FBQztRQUUvQiwrQkFBMEIsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWpDLDRCQUF1QixHQUFJLEtBQUssQ0FBQzs7Ozs7O1FBT2pDLHdCQUFtQixHQUFZLElBQUksR0FBRyxFQUFFLENBQUM7Ozs7UUFLekMseUJBQW9CLEdBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7O1FBVTFDLHNCQUFpQixHQUFZLElBQUksQ0FBQzs7Ozs7OztRQVFsQyxpQkFBWSxHQUE0QixZQUFZLENBQUM7Ozs7O1FBTXJELHNDQUFpQyxHQUFJLElBQUksQ0FBQzs7Ozs7O1FBTzFDLFNBQUksR0FBWSxJQUFJLENBQUM7Ozs7O1FBTXJCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyw0QkFBdUIsR0FBSSwwQ0FBMEMsQ0FBQzs7Ozs7O1FBT3RFLGtCQUFhLEdBQUksSUFBSSxDQUFDOzs7Ozs7UUFPdEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7OztRQU05QiwwQkFBcUIsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDOzs7O1FBS2xDLDBCQUFxQixHQUFZLElBQUksQ0FBQzs7OztRQUt0QywyQkFBc0IsR0FBSSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7UUFTcEUsdUJBQWtCLEdBQUksS0FBSyxDQUFDOzs7OztRQU01QixxQkFBZ0IsR0FBSSxLQUFLLENBQUM7UUFFMUIsbUNBQThCLEdBQUksS0FBSyxDQUFDOzs7OztRQU14QyxvQkFBZSxHQUFJLEtBQUssQ0FBQzs7Ozs7OztRQWV6Qix3QkFBbUIsR0FBSSxHQUFHLENBQUM7Ozs7UUFLM0IscUJBQWdCLEdBQUksS0FBSyxDQUFDOzs7Ozs7UUFZMUIsZ0JBQVcsR0FBSSxLQUFLLENBQUM7Ozs7OztRQWFyQixZQUFPOzs7O1FBQTZCLEdBQUcsQ0FBQyxFQUFFO1lBQy9DLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLENBQUMsRUFBQTtRQVpDLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0NBVUY7Ozs7OztJQWhQQyw4QkFBc0I7Ozs7O0lBS3RCLGlDQUF5Qjs7Ozs7O0lBTXpCLDJDQUFtQzs7Ozs7O0lBTW5DLDhCQUFzQjs7Ozs7SUFLdEIsMkJBQWlDOztJQUVqQyw4QkFBc0I7O0lBRXRCLDRCQUFvQjs7Ozs7O0lBTXBCLDBCQUFvQjs7Ozs7O0lBTXBCLHdDQUFrQzs7SUFFbEMsNkJBQTRCOzs7OztJQUs1Qiw0QkFBb0I7Ozs7O0lBS3BCLCtCQUF1Qjs7Ozs7SUFLdkIseUNBQW1DOzs7OztJQUtuQyxtQ0FBcUM7Ozs7O0lBS3JDLHNDQUF3Qzs7SUFFeEMsa0NBQTBCOzs7Ozs7OztJQVF6QiwwQ0FBcUM7Ozs7O0lBS3RDLDhDQUFzQzs7SUFFdEMsZ0RBQXdDOzs7Ozs7SUFNeEMsNkNBQXdDOzs7Ozs7O0lBT3hDLHlDQUFnRDs7Ozs7SUFLaEQsMENBQWlEOzs7Ozs7Ozs7O0lBVWpELHVDQUF5Qzs7Ozs7Ozs7SUFRekMsa0NBQTREOzs7Ozs7SUFNNUQsdURBQWlEOzs7Ozs7O0lBT2pELDBCQUE0Qjs7Ozs7O0lBTTVCLHVDQUF5Qzs7SUFFekMsNkNBQTZFOzs7Ozs7O0lBTzdFLG1DQUE2Qjs7Ozs7OztJQU83QiwwQ0FBcUM7Ozs7OztJQU1yQywyQ0FBeUM7Ozs7O0lBS3pDLDJDQUE2Qzs7Ozs7SUFLN0MsNENBQTJFOzs7Ozs7Ozs7SUFTM0Usd0NBQW1DOzs7Ozs7SUFNbkMsc0NBQWlDOztJQUVqQyxvREFBK0M7Ozs7OztJQU0vQyxxQ0FBZ0M7Ozs7Ozs7SUFPaEMsNERBQXVEOzs7Ozs7OztJQVF2RCx5Q0FBa0M7Ozs7O0lBS2xDLHNDQUFpQzs7Ozs7SUFLakMsb0NBQTRCOzs7Ozs7O0lBTzVCLGlDQUE0Qjs7Ozs7OztJQWE1Qiw2QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRoQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBUaGUgY2xpZW50J3MgaWQgYXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdXRoIHNlcnZlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGllbnRJZD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNsaWVudCdzIHJlZGlyZWN0VXJpIGFzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKi9cclxuICBwdWJsaWMgcmVkaXJlY3RVcmk/ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIG9wdGlvbmFsIHNlY29uZCByZWRpcmVjdFVyaSB3aGVyZSB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKiByZWRpcmVjdHMgdGhlIHVzZXIgdG8gYWZ0ZXIgbG9nZ2luZyBvdXQuXHJcbiAgICovXHJcbiAgcHVibGljIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGF1dGggc2VydmVyJ3MgZW5kcG9pbnQgdGhhdCBhbGxvd3MgdG8gbG9nXHJcbiAgICogdGhlIHVzZXIgaW4gd2hlbiB1c2luZyBpbXBsaWNpdCBmbG93LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2dpblVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlcXVlc3RlZCBzY29wZXNcclxuICAgKi9cclxuICBwdWJsaWMgc2NvcGU/ID0gJ29wZW5pZCBwcm9maWxlJztcclxuXHJcbiAgcHVibGljIHJlc291cmNlPyA9ICcnO1xyXG5cclxuICBwdWJsaWMgcm5nVXJsPyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdG8gdXNlIE9wZW5JZCBDb25uZWN0IGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIG9pZGM/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIHJlcXVlc3QgYW4gYWNjZXNzIHRva2VuIGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3RBY2Nlc3NUb2tlbj8gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IGFueSA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpc3N1ZXIncyB1cmkuXHJcbiAgICovXHJcbiAgcHVibGljIGlzc3Vlcj8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGxvZ291dCB1cmwuXHJcbiAgICovXHJcbiAgcHVibGljIGxvZ291dFVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIGNsZWFyIHRoZSBoYXNoIGZyYWdtZW50IGFmdGVyIGxvZ2dpbmcgaW4uXHJcbiAgICovXHJcbiAgcHVibGljIGNsZWFySGFzaEFmdGVyTG9naW4/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB0b2tlbiBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0IGFuZCBPQXV0aCAyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2tlbkVuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB1c2VyaW5mbyBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VyaW5mb0VuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHJlc3BvbnNlVHlwZT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIGFkZGl0aW9uYWwgZGVidWcgaW5mb3JtYXRpb24gc2hvdWxkXHJcbiAgICogYmUgc2hvd24gYXQgdGhlIGNvbnNvbGUuIE5vdGUgdGhhdCBpbiBjZXJ0YWluIGJyb3dzZXJzXHJcbiAgICogdGhlIHZlcmJvc2l0eSBvZiB0aGUgY29uc29sZSBuZWVkcyB0byBiZSBleHBsaWNpdGx5IHNldFxyXG4gICAqIHRvIGluY2x1ZGUgRGVidWcgbGV2ZWwgbWVzc2FnZXMuXHJcbiAgICovXHJcbiAgIHB1YmxpYyBzaG93RGVidWdJbmZvcm1hdGlvbj8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlZGlyZWN0IHVyaSB1c2VkIHdoZW4gZG9pbmcgc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hNZXNzYWdlUHJlZml4PyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyB0byB0cnVlIHRvIGRpc3BsYXkgdGhlIGlmcmFtZSB1c2VkIGZvclxyXG4gICAqIHNpbGVudCByZWZyZXNoIGZvciBkZWJ1Z2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hTaG93SUZyYW1lPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaW1lb3V0IGZvciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBkZXByZWFjdGVkIGIvYyBvZiB0eXBvLCBzZWUgc2lsZW50UmVmcmVzaFRpbWVvdXRcclxuICAgKi9cclxuICBwdWJsaWMgc2lsZXRSZWZyZXNoVGltZW91dD86IG51bWJlciA9IDEwMDAgKiAyMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGltZW91dCBmb3Igc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hUaW1lb3V0PzogbnVtYmVyID0gMTAwMCAqIDIwO1xyXG5cclxuICAvKipcclxuICAgKiBTb21lIGF1dGggc2VydmVycyBkb24ndCBhbGxvdyB1c2luZyBwYXNzd29yZCBmbG93XHJcbiAgICogdy9vIGEgY2xpZW50IHNlY3JldCB3aGlsZSB0aGUgc3RhbmRhcmRzIGRvIG5vdFxyXG4gICAqIGRlbWFuZCBmb3IgaXQuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzZXQgYSBwYXNzd29yZFxyXG4gICAqIGhlcmUuIEFzIHRoaXMgcGFzc3dvcmQgaXMgZXhwb3NlZCB0byB0aGUgcHVibGljXHJcbiAgICogaXQgZG9lcyBub3QgYnJpbmcgYWRkaXRpb25hbCBzZWN1cml0eSBhbmQgaXMgdGhlcmVmb3JlXHJcbiAgICogYXMgZ29vZCBhcyB1c2luZyBubyBwYXNzd29yZC5cclxuICAgKi9cclxuICBwdWJsaWMgZHVtbXlDbGllbnRTZWNyZXQ/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgaHR0cHMgaXMgcmVxdWlyZWQuXHJcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgcmVtb3RlT25seSB3aGljaCBvbmx5IGFsbG93c1xyXG4gICAqIGh0dHAgZm9yIGxvY2FsaG9zdCwgd2hpbGUgZXZlcnkgb3RoZXIgZG9tYWlucyBuZWVkXHJcbiAgICogdG8gYmUgdXNlZCB3aXRoIGh0dHBzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXF1aXJlSHR0cHM/OiBib29sZWFuIHwgJ3JlbW90ZU9ubHknID0gJ3JlbW90ZU9ubHknO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgZXZlcnkgdXJsIHByb3ZpZGVkIGJ5IHRoZSBkaXNjb3ZlcnlcclxuICAgKiBkb2N1bWVudCBoYXMgdG8gc3RhcnQgd2l0aCB0aGUgaXNzdWVyJ3MgdXJsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb24/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSlNPTiBXZWIgS2V5IFNldCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc1MTcpXHJcbiAgICogd2l0aCBrZXlzIHVzZWQgdG8gdmFsaWRhdGUgcmVjZWl2ZWQgaWRfdG9rZW5zLlxyXG4gICAqIFRoaXMgaXMgdGFrZW4gb3V0IG9mIHRoZSBkaXNvdmVyeSBkb2N1bWVudC4gQ2FuIGJlIHNldCBtYW51YWxseSB0b28uXHJcbiAgICovXHJcbiAgcHVibGljIGp3a3M/OiBvYmplY3QgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgd2l0aCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGFyZSBhcHBlbmRlZCB0b1xyXG4gICAqIHRoZSByZXF1ZXN0IHdoZW4gaW5pdGlhbGl6aW5nIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIGN1c3RvbVF1ZXJ5UGFyYW1zPzogb2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hJRnJhbWVOYW1lPyA9ICdhbmd1bGFyLW9hdXRoLW9pZGMtc2lsZW50LXJlZnJlc2gtaWZyYW1lJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGVuIHRoZSB0b2tlbl90aW1lb3V0IGV2ZW50IHNob3VsZCBiZSByYWlzZWQuXHJcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRoZSBkZWZhdWx0IHZhbHVlIDAuNzUsIHRoZSBldmVudFxyXG4gICAqIGlzIHRyaWdnZXJlZCBhZnRlciA3NSUgb2YgdGhlIHRva2VuJ3MgbGlmZSB0aW1lLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0aW1lb3V0RmFjdG9yPyA9IDAuNzU7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRydWUsIHRoZSBsaWIgd2lsbCB0cnkgdG8gY2hlY2sgd2hldGhlciB0aGUgdXNlclxyXG4gICAqIGlzIHN0aWxsIGxvZ2dlZCBpbiBvbiBhIHJlZ3VsYXIgYmFzaXMgYXMgZGVzY3JpYmVkXHJcbiAgICogaW4gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAuaHRtbCNDaGFuZ2VOb3RpZmljYXRpb25cclxuICAgKi9cclxuICBwdWJsaWMgc2Vzc2lvbkNoZWNrc0VuYWJsZWQ/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVydmFsIGluIG1zZWMgZm9yIGNoZWNraW5nIHRoZSBzZXNzaW9uXHJcbiAgICogYWNjb3JkaW5nIHRvIGh0dHA6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLmh0bWwjQ2hhbmdlTm90aWZpY2F0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0ludGVydmFsbD8gPSAzICogMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIGZvciB0aGUgaWZyYW1lIHVzZWQgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZVVybD86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgdGhlIGlmcmFtZSB0byB1c2UgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZU5hbWU/ID0gJ2FuZ3VsYXItb2F1dGgtb2lkYy1jaGVjay1zZXNzaW9uLWlmcmFtZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgaGFzIGJlZW4gaW50cm9kdWNlZCB0byBkaXNhYmxlIGF0X2hhc2ggY2hlY2tzXHJcbiAgICogYW5kIGlzIGluZGVudGVkIGZvciBJZGVudGl0eSBQcm92aWRlciB0aGF0IGRvZXMgbm90IGRlbGl2ZXJcclxuICAgKiBhbiBhdF9oYXNoIEVWRU4gVEhPVUdIIGl0cyByZWNvbW1lbmRlZCBieSB0aGUgT0lEQyBzcGVjcy5cclxuICAgKiBPZiBjb3Vyc2UsIHdoZW4gZGlzYWJsaW5nIHRoZXNlIGNoZWNrcyB0aGUgd2UgYXJlIGJ5cGFzc2luZ1xyXG4gICAqIGEgc2VjdXJpdHkgY2hlY2sgd2hpY2ggbWVhbnMgd2UgYXJlIG1vcmUgdnVsbmVyYWJsZS5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZUF0SGFzaENoZWNrPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdldGhlciB0byBjaGVjayB0aGUgc3ViamVjdCBvZiBhIHJlZnJlc2hlZCB0b2tlbiBhZnRlciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBOb3JtYWxseSwgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGJlZm9yZS5cclxuICAgKi9cclxuICBwdWJsaWMgc2tpcFN1YmplY3RDaGVjaz8gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHVzZUlkVG9rZW5IaW50Rm9yU2lsZW50UmVmcmVzaD8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lZCB3aGV0aGVyIHRvIHNraXAgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGlzc3VlciBpbiB0aGUgZGlzY292ZXJ5IGRvY3VtZW50LlxyXG4gICAqIE5vcm1hbGx5LCB0aGUgZGlzY292ZXkgZG9jdW1lbnQncyB1cmwgc3RhcnRzIHdpdGggdGhlIHVybCBvZiB0aGUgaXNzdWVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBza2lwSXNzdWVyQ2hlY2s/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjY29yZGluZyB0byByZmM2NzQ5IGl0IGlzIHJlY29tbWVuZGVkIChidXQgbm90IHJlcXVpcmVkKSB0aGF0IHRoZSBhdXRoXHJcbiAgICogc2VydmVyIGV4cG9zZXMgdGhlIGFjY2Vzc190b2tlbidzIGxpZmUgdGltZSBpbiBzZWNvbmRzLlxyXG4gICAqIFRoaXMgaXMgYSBmYWxsYmFjayB2YWx1ZSBmb3IgdGhlIGNhc2UgdGhpcyB2YWx1ZSBpcyBub3QgZXhwb3NlZC5cclxuICAgKi9cclxuICBwdWJsaWMgZmFsbGJhY2tBY2Nlc3NUb2tlbkV4cGlyYXRpb25UaW1lSW5TZWM/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIGZpbmFsIHN0YXRlIHNlbnQgdG8gaXNzdWVyIGlzIGJ1aWx0IGFzIGZvbGxvd3M6XHJcbiAgICogc3RhdGUgPSBub25jZSArIG5vbmNlU3RhdGVTZXBhcmF0b3IgKyBhZGRpdGlvbmFsIHN0YXRlXHJcbiAgICogRGVmYXVsdCBzZXBhcmF0b3IgaXMgJzsnIChlbmNvZGVkICUzQikuXHJcbiAgICogSW4gcmFyZSBjYXNlcywgdGhpcyBjaGFyYWN0ZXIgbWlnaHQgYmUgZm9yYmlkZGVuIG9yIGluY29udmVuaWVudCB0byB1c2UgYnkgdGhlIGlzc3VlciBzbyBpdCBjYW4gYmUgY3VzdG9taXplZC5cclxuICAgKi9cclxuICBwdWJsaWMgbm9uY2VTdGF0ZVNlcGFyYXRvcj8gPSAnOyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGlzIHRvIHRydWUgdG8gdXNlIEhUVFAgQkFTSUMgYXV0aCBmb3IgcGFzc3dvcmQgZmxvd1xyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VIdHRwQmFzaWNBdXRoPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgd2luZG93IG9mIHRpbWUgKGluIHNlY29uZHMpIHRvIGFsbG93IHRoZSBjdXJyZW50IHRpbWUgdG8gZGV2aWF0ZSB3aGVuIHZhbGlkYXRpbmcgaWRfdG9rZW4ncyBpYXQgYW5kIGV4cCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgcHVibGljIGNsb2NrU2tld0luU2VjPzogNjAwO1xyXG5cclxuICAvKipcclxuICAgKiBDb2RlIEZsb3cgaXMgYnkgZGVmYXVsZCB1c2VkIHRvZ2V0aGVyIHdpdGggUEtDSSB3aGljaCBpcyBhbHNvIGhpZ2x5IHJlY29tbWVudGVkLlxyXG4gICAqIFlvdSBjYW4gZGlzYmFsZSBpdCBoZXJlIGJ5IHNldHRpbmcgdGhpcyBmbGFnIHRvIHRydWUuXHJcbiAgICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc2MzYjc2VjdGlvbi0xLjFcclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZVBLQ0U/ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGpzb24/OiBQYXJ0aWFsPEF1dGhDb25maWc+KSB7XHJcbiAgICBpZiAoanNvbikge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGpzb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBwcm9wZXJ0eSBhbGxvd3MgeW91IHRvIG92ZXJyaWRlIHRoZSBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIG9wZW4gdGhlIGxvZ2luIHVybCxcclxuICAgKiBhbGxvd2luZyBhIHdheSBmb3IgaW1wbGVtZW50YXRpb25zIHRvIHNwZWNpZnkgdGhlaXIgb3duIG1ldGhvZCBvZiByb3V0aW5nIHRvIG5ld1xyXG4gICAqIHVybHMuXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW5Vcmk/OiAoKHVyaTogc3RyaW5nKSA9PiB2b2lkKSA9IHVyaSA9PiB7XHJcbiAgICBsb2NhdGlvbi5ocmVmID0gdXJpO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW9hdXRoMi1vaWRjLyIsInNvdXJjZXMiOlsiYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU0sT0FBTyxVQUFVOzs7O0lBMk9yQixZQUFZLElBQTBCOzs7O1FBdk8vQixhQUFRLEdBQUksRUFBRSxDQUFDOzs7O1FBS2YsZ0JBQVcsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWxCLDBCQUFxQixHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNNUIsYUFBUSxHQUFJLEVBQUUsQ0FBQzs7OztRQUtmLFVBQUssR0FBSSxnQkFBZ0IsQ0FBQztRQUUxQixhQUFRLEdBQUksRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNYixTQUFJLEdBQUksSUFBSSxDQUFDOzs7OztRQU1iLHVCQUFrQixHQUFJLElBQUksQ0FBQztRQUUzQixZQUFPLEdBQVMsSUFBSSxDQUFDOzs7O1FBS3JCLFdBQU0sR0FBSSxFQUFFLENBQUM7Ozs7UUFLYixjQUFTLEdBQUksRUFBRSxDQUFDOzs7O1FBS2hCLHdCQUFtQixHQUFJLElBQUksQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFZLElBQUksQ0FBQzs7OztRQUs5QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsaUJBQVksR0FBSSxFQUFFLENBQUM7Ozs7Ozs7UUFRbEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7O1FBSy9CLDZCQUF3QixHQUFJLEVBQUUsQ0FBQztRQUUvQiwrQkFBMEIsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWpDLDRCQUF1QixHQUFJLEtBQUssQ0FBQzs7Ozs7O1FBT2pDLHdCQUFtQixHQUFZLElBQUksR0FBRyxFQUFFLENBQUM7Ozs7UUFLekMseUJBQW9CLEdBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7O1FBVTFDLHNCQUFpQixHQUFZLElBQUksQ0FBQzs7Ozs7OztRQVFsQyxpQkFBWSxHQUE0QixZQUFZLENBQUM7Ozs7O1FBTXJELHNDQUFpQyxHQUFJLElBQUksQ0FBQzs7Ozs7O1FBTzFDLFNBQUksR0FBWSxJQUFJLENBQUM7Ozs7O1FBTXJCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyw0QkFBdUIsR0FBSSwwQ0FBMEMsQ0FBQzs7Ozs7O1FBT3RFLGtCQUFhLEdBQUksSUFBSSxDQUFDOzs7Ozs7UUFPdEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7OztRQU05QiwwQkFBcUIsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDOzs7O1FBS2xDLDBCQUFxQixHQUFZLElBQUksQ0FBQzs7OztRQUt0QywyQkFBc0IsR0FBSSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7UUFTcEUsdUJBQWtCLEdBQUksS0FBSyxDQUFDOzs7OztRQU01QixxQkFBZ0IsR0FBSSxLQUFLLENBQUM7UUFFMUIsbUNBQThCLEdBQUksS0FBSyxDQUFDOzs7OztRQU14QyxvQkFBZSxHQUFJLEtBQUssQ0FBQzs7Ozs7OztRQWV6Qix3QkFBbUIsR0FBSSxHQUFHLENBQUM7Ozs7UUFLM0IscUJBQWdCLEdBQUksS0FBSyxDQUFDOzs7O1FBVTFCLHVCQUFrQixHQUFHLENBQUMsQ0FBQzs7Ozs7O1FBT3ZCLGdCQUFXLEdBQUksS0FBSyxDQUFDOzs7Ozs7UUFhckIsWUFBTzs7OztRQUE2QixHQUFHLENBQUMsRUFBRTtZQUMvQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUN0QixDQUFDLEVBQUE7UUFaQyxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztDQVVGOzs7Ozs7SUFyUEMsOEJBQXNCOzs7OztJQUt0QixpQ0FBeUI7Ozs7OztJQU16QiwyQ0FBbUM7Ozs7OztJQU1uQyw4QkFBc0I7Ozs7O0lBS3RCLDJCQUFpQzs7SUFFakMsOEJBQXNCOztJQUV0Qiw0QkFBb0I7Ozs7OztJQU1wQiwwQkFBb0I7Ozs7OztJQU1wQix3Q0FBa0M7O0lBRWxDLDZCQUE0Qjs7Ozs7SUFLNUIsNEJBQW9COzs7OztJQUtwQiwrQkFBdUI7Ozs7O0lBS3ZCLHlDQUFtQzs7Ozs7SUFLbkMsbUNBQXFDOzs7OztJQUtyQyxzQ0FBd0M7O0lBRXhDLGtDQUEwQjs7Ozs7Ozs7SUFRekIsMENBQXFDOzs7OztJQUt0Qyw4Q0FBc0M7O0lBRXRDLGdEQUF3Qzs7Ozs7O0lBTXhDLDZDQUF3Qzs7Ozs7OztJQU94Qyx5Q0FBZ0Q7Ozs7O0lBS2hELDBDQUFpRDs7Ozs7Ozs7OztJQVVqRCx1Q0FBeUM7Ozs7Ozs7O0lBUXpDLGtDQUE0RDs7Ozs7O0lBTTVELHVEQUFpRDs7Ozs7OztJQU9qRCwwQkFBNEI7Ozs7OztJQU01Qix1Q0FBeUM7O0lBRXpDLDZDQUE2RTs7Ozs7OztJQU83RSxtQ0FBNkI7Ozs7Ozs7SUFPN0IsMENBQXFDOzs7Ozs7SUFNckMsMkNBQXlDOzs7OztJQUt6QywyQ0FBNkM7Ozs7O0lBSzdDLDRDQUEyRTs7Ozs7Ozs7O0lBUzNFLHdDQUFtQzs7Ozs7O0lBTW5DLHNDQUFpQzs7SUFFakMsb0RBQStDOzs7Ozs7SUFNL0MscUNBQWdDOzs7Ozs7O0lBT2hDLDREQUF1RDs7Ozs7Ozs7SUFRdkQseUNBQWtDOzs7OztJQUtsQyxzQ0FBaUM7Ozs7O0lBS2pDLG9DQUE0Qjs7Ozs7SUFLNUIsd0NBQThCOzs7Ozs7O0lBTzlCLGlDQUE0Qjs7Ozs7OztJQWE1Qiw2QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRoQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBUaGUgY2xpZW50J3MgaWQgYXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdXRoIHNlcnZlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGllbnRJZD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNsaWVudCdzIHJlZGlyZWN0VXJpIGFzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKi9cclxuICBwdWJsaWMgcmVkaXJlY3RVcmk/ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIG9wdGlvbmFsIHNlY29uZCByZWRpcmVjdFVyaSB3aGVyZSB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKiByZWRpcmVjdHMgdGhlIHVzZXIgdG8gYWZ0ZXIgbG9nZ2luZyBvdXQuXHJcbiAgICovXHJcbiAgcHVibGljIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGF1dGggc2VydmVyJ3MgZW5kcG9pbnQgdGhhdCBhbGxvd3MgdG8gbG9nXHJcbiAgICogdGhlIHVzZXIgaW4gd2hlbiB1c2luZyBpbXBsaWNpdCBmbG93LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2dpblVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlcXVlc3RlZCBzY29wZXNcclxuICAgKi9cclxuICBwdWJsaWMgc2NvcGU/ID0gJ29wZW5pZCBwcm9maWxlJztcclxuXHJcbiAgcHVibGljIHJlc291cmNlPyA9ICcnO1xyXG5cclxuICBwdWJsaWMgcm5nVXJsPyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdG8gdXNlIE9wZW5JZCBDb25uZWN0IGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIG9pZGM/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIHJlcXVlc3QgYW4gYWNjZXNzIHRva2VuIGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3RBY2Nlc3NUb2tlbj8gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IGFueSA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpc3N1ZXIncyB1cmkuXHJcbiAgICovXHJcbiAgcHVibGljIGlzc3Vlcj8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGxvZ291dCB1cmwuXHJcbiAgICovXHJcbiAgcHVibGljIGxvZ291dFVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIGNsZWFyIHRoZSBoYXNoIGZyYWdtZW50IGFmdGVyIGxvZ2dpbmcgaW4uXHJcbiAgICovXHJcbiAgcHVibGljIGNsZWFySGFzaEFmdGVyTG9naW4/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB0b2tlbiBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0IGFuZCBPQXV0aCAyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2tlbkVuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB1c2VyaW5mbyBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VyaW5mb0VuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHJlc3BvbnNlVHlwZT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIGFkZGl0aW9uYWwgZGVidWcgaW5mb3JtYXRpb24gc2hvdWxkXHJcbiAgICogYmUgc2hvd24gYXQgdGhlIGNvbnNvbGUuIE5vdGUgdGhhdCBpbiBjZXJ0YWluIGJyb3dzZXJzXHJcbiAgICogdGhlIHZlcmJvc2l0eSBvZiB0aGUgY29uc29sZSBuZWVkcyB0byBiZSBleHBsaWNpdGx5IHNldFxyXG4gICAqIHRvIGluY2x1ZGUgRGVidWcgbGV2ZWwgbWVzc2FnZXMuXHJcbiAgICovXHJcbiAgIHB1YmxpYyBzaG93RGVidWdJbmZvcm1hdGlvbj8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlZGlyZWN0IHVyaSB1c2VkIHdoZW4gZG9pbmcgc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hNZXNzYWdlUHJlZml4PyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyB0byB0cnVlIHRvIGRpc3BsYXkgdGhlIGlmcmFtZSB1c2VkIGZvclxyXG4gICAqIHNpbGVudCByZWZyZXNoIGZvciBkZWJ1Z2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hTaG93SUZyYW1lPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaW1lb3V0IGZvciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBkZXByZWFjdGVkIGIvYyBvZiB0eXBvLCBzZWUgc2lsZW50UmVmcmVzaFRpbWVvdXRcclxuICAgKi9cclxuICBwdWJsaWMgc2lsZXRSZWZyZXNoVGltZW91dD86IG51bWJlciA9IDEwMDAgKiAyMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGltZW91dCBmb3Igc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hUaW1lb3V0PzogbnVtYmVyID0gMTAwMCAqIDIwO1xyXG5cclxuICAvKipcclxuICAgKiBTb21lIGF1dGggc2VydmVycyBkb24ndCBhbGxvdyB1c2luZyBwYXNzd29yZCBmbG93XHJcbiAgICogdy9vIGEgY2xpZW50IHNlY3JldCB3aGlsZSB0aGUgc3RhbmRhcmRzIGRvIG5vdFxyXG4gICAqIGRlbWFuZCBmb3IgaXQuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzZXQgYSBwYXNzd29yZFxyXG4gICAqIGhlcmUuIEFzIHRoaXMgcGFzc3dvcmQgaXMgZXhwb3NlZCB0byB0aGUgcHVibGljXHJcbiAgICogaXQgZG9lcyBub3QgYnJpbmcgYWRkaXRpb25hbCBzZWN1cml0eSBhbmQgaXMgdGhlcmVmb3JlXHJcbiAgICogYXMgZ29vZCBhcyB1c2luZyBubyBwYXNzd29yZC5cclxuICAgKi9cclxuICBwdWJsaWMgZHVtbXlDbGllbnRTZWNyZXQ/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgaHR0cHMgaXMgcmVxdWlyZWQuXHJcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgcmVtb3RlT25seSB3aGljaCBvbmx5IGFsbG93c1xyXG4gICAqIGh0dHAgZm9yIGxvY2FsaG9zdCwgd2hpbGUgZXZlcnkgb3RoZXIgZG9tYWlucyBuZWVkXHJcbiAgICogdG8gYmUgdXNlZCB3aXRoIGh0dHBzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXF1aXJlSHR0cHM/OiBib29sZWFuIHwgJ3JlbW90ZU9ubHknID0gJ3JlbW90ZU9ubHknO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgZXZlcnkgdXJsIHByb3ZpZGVkIGJ5IHRoZSBkaXNjb3ZlcnlcclxuICAgKiBkb2N1bWVudCBoYXMgdG8gc3RhcnQgd2l0aCB0aGUgaXNzdWVyJ3MgdXJsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb24/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSlNPTiBXZWIgS2V5IFNldCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc1MTcpXHJcbiAgICogd2l0aCBrZXlzIHVzZWQgdG8gdmFsaWRhdGUgcmVjZWl2ZWQgaWRfdG9rZW5zLlxyXG4gICAqIFRoaXMgaXMgdGFrZW4gb3V0IG9mIHRoZSBkaXNvdmVyeSBkb2N1bWVudC4gQ2FuIGJlIHNldCBtYW51YWxseSB0b28uXHJcbiAgICovXHJcbiAgcHVibGljIGp3a3M/OiBvYmplY3QgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgd2l0aCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGFyZSBhcHBlbmRlZCB0b1xyXG4gICAqIHRoZSByZXF1ZXN0IHdoZW4gaW5pdGlhbGl6aW5nIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIGN1c3RvbVF1ZXJ5UGFyYW1zPzogb2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hJRnJhbWVOYW1lPyA9ICdhbmd1bGFyLW9hdXRoLW9pZGMtc2lsZW50LXJlZnJlc2gtaWZyYW1lJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGVuIHRoZSB0b2tlbl90aW1lb3V0IGV2ZW50IHNob3VsZCBiZSByYWlzZWQuXHJcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRoZSBkZWZhdWx0IHZhbHVlIDAuNzUsIHRoZSBldmVudFxyXG4gICAqIGlzIHRyaWdnZXJlZCBhZnRlciA3NSUgb2YgdGhlIHRva2VuJ3MgbGlmZSB0aW1lLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0aW1lb3V0RmFjdG9yPyA9IDAuNzU7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRydWUsIHRoZSBsaWIgd2lsbCB0cnkgdG8gY2hlY2sgd2hldGhlciB0aGUgdXNlclxyXG4gICAqIGlzIHN0aWxsIGxvZ2dlZCBpbiBvbiBhIHJlZ3VsYXIgYmFzaXMgYXMgZGVzY3JpYmVkXHJcbiAgICogaW4gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAuaHRtbCNDaGFuZ2VOb3RpZmljYXRpb25cclxuICAgKi9cclxuICBwdWJsaWMgc2Vzc2lvbkNoZWNrc0VuYWJsZWQ/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVydmFsIGluIG1zZWMgZm9yIGNoZWNraW5nIHRoZSBzZXNzaW9uXHJcbiAgICogYWNjb3JkaW5nIHRvIGh0dHA6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLmh0bWwjQ2hhbmdlTm90aWZpY2F0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0ludGVydmFsbD8gPSAzICogMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIGZvciB0aGUgaWZyYW1lIHVzZWQgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZVVybD86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgdGhlIGlmcmFtZSB0byB1c2UgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZU5hbWU/ID0gJ2FuZ3VsYXItb2F1dGgtb2lkYy1jaGVjay1zZXNzaW9uLWlmcmFtZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgaGFzIGJlZW4gaW50cm9kdWNlZCB0byBkaXNhYmxlIGF0X2hhc2ggY2hlY2tzXHJcbiAgICogYW5kIGlzIGluZGVudGVkIGZvciBJZGVudGl0eSBQcm92aWRlciB0aGF0IGRvZXMgbm90IGRlbGl2ZXJcclxuICAgKiBhbiBhdF9oYXNoIEVWRU4gVEhPVUdIIGl0cyByZWNvbW1lbmRlZCBieSB0aGUgT0lEQyBzcGVjcy5cclxuICAgKiBPZiBjb3Vyc2UsIHdoZW4gZGlzYWJsaW5nIHRoZXNlIGNoZWNrcyB0aGUgd2UgYXJlIGJ5cGFzc2luZ1xyXG4gICAqIGEgc2VjdXJpdHkgY2hlY2sgd2hpY2ggbWVhbnMgd2UgYXJlIG1vcmUgdnVsbmVyYWJsZS5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZUF0SGFzaENoZWNrPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdldGhlciB0byBjaGVjayB0aGUgc3ViamVjdCBvZiBhIHJlZnJlc2hlZCB0b2tlbiBhZnRlciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBOb3JtYWxseSwgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGJlZm9yZS5cclxuICAgKi9cclxuICBwdWJsaWMgc2tpcFN1YmplY3RDaGVjaz8gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHVzZUlkVG9rZW5IaW50Rm9yU2lsZW50UmVmcmVzaD8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lZCB3aGV0aGVyIHRvIHNraXAgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGlzc3VlciBpbiB0aGUgZGlzY292ZXJ5IGRvY3VtZW50LlxyXG4gICAqIE5vcm1hbGx5LCB0aGUgZGlzY292ZXkgZG9jdW1lbnQncyB1cmwgc3RhcnRzIHdpdGggdGhlIHVybCBvZiB0aGUgaXNzdWVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBza2lwSXNzdWVyQ2hlY2s/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjY29yZGluZyB0byByZmM2NzQ5IGl0IGlzIHJlY29tbWVuZGVkIChidXQgbm90IHJlcXVpcmVkKSB0aGF0IHRoZSBhdXRoXHJcbiAgICogc2VydmVyIGV4cG9zZXMgdGhlIGFjY2Vzc190b2tlbidzIGxpZmUgdGltZSBpbiBzZWNvbmRzLlxyXG4gICAqIFRoaXMgaXMgYSBmYWxsYmFjayB2YWx1ZSBmb3IgdGhlIGNhc2UgdGhpcyB2YWx1ZSBpcyBub3QgZXhwb3NlZC5cclxuICAgKi9cclxuICBwdWJsaWMgZmFsbGJhY2tBY2Nlc3NUb2tlbkV4cGlyYXRpb25UaW1lSW5TZWM/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIGZpbmFsIHN0YXRlIHNlbnQgdG8gaXNzdWVyIGlzIGJ1aWx0IGFzIGZvbGxvd3M6XHJcbiAgICogc3RhdGUgPSBub25jZSArIG5vbmNlU3RhdGVTZXBhcmF0b3IgKyBhZGRpdGlvbmFsIHN0YXRlXHJcbiAgICogRGVmYXVsdCBzZXBhcmF0b3IgaXMgJzsnIChlbmNvZGVkICUzQikuXHJcbiAgICogSW4gcmFyZSBjYXNlcywgdGhpcyBjaGFyYWN0ZXIgbWlnaHQgYmUgZm9yYmlkZGVuIG9yIGluY29udmVuaWVudCB0byB1c2UgYnkgdGhlIGlzc3VlciBzbyBpdCBjYW4gYmUgY3VzdG9taXplZC5cclxuICAgKi9cclxuICBwdWJsaWMgbm9uY2VTdGF0ZVNlcGFyYXRvcj8gPSAnOyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGlzIHRvIHRydWUgdG8gdXNlIEhUVFAgQkFTSUMgYXV0aCBmb3IgcGFzc3dvcmQgZmxvd1xyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VIdHRwQmFzaWNBdXRoPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgd2luZG93IG9mIHRpbWUgKGluIHNlY29uZHMpIHRvIGFsbG93IHRoZSBjdXJyZW50IHRpbWUgdG8gZGV2aWF0ZSB3aGVuIHZhbGlkYXRpbmcgaWRfdG9rZW4ncyBpYXQgYW5kIGV4cCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgcHVibGljIGNsb2NrU2tld0luU2VjPzogNjAwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgaW50ZXJjZXB0b3JzIHdhaXRzIHRoaXMgdGltZSBzcGFuIGlmIHRoZXJlIGlzIG5vIHRva2VuXHJcbiAgKi9cclxuICBwdWJsaWMgd2FpdEZvclRva2VuSW5Nc2VjID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29kZSBGbG93IGlzIGJ5IGRlZmF1bGQgdXNlZCB0b2dldGhlciB3aXRoIFBLQ0kgd2hpY2ggaXMgYWxzbyBoaWdseSByZWNvbW1lbnRlZC5cclxuICAgKiBZb3UgY2FuIGRpc2JhbGUgaXQgaGVyZSBieSBzZXR0aW5nIHRoaXMgZmxhZyB0byB0cnVlLlxyXG4gICAqIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3NjM2I3NlY3Rpb24tMS4xXHJcbiAgICovXHJcbiAgcHVibGljIGRpc2FibGVQS0NFPyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihqc29uPzogUGFydGlhbDxBdXRoQ29uZmlnPikge1xyXG4gICAgaWYgKGpzb24pIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBqc29uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgYWxsb3dzIHlvdSB0byBvdmVycmlkZSB0aGUgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBvcGVuIHRoZSBsb2dpbiB1cmwsXHJcbiAgICogYWxsb3dpbmcgYSB3YXkgZm9yIGltcGxlbWVudGF0aW9ucyB0byBzcGVjaWZ5IHRoZWlyIG93biBtZXRob2Qgb2Ygcm91dGluZyB0byBuZXdcclxuICAgKiB1cmxzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvcGVuVXJpPzogKCh1cmk6IHN0cmluZykgPT4gdm9pZCkgPSB1cmkgPT4ge1xyXG4gICAgbG9jYXRpb24uaHJlZiA9IHVyaTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -12,4 +12,2 @@ /** | ||
import { OAuthService } from '../oauth-service'; | ||
/** @type {?} */ | ||
const WAIT_FOR_TOKEN_RECEIVED = 1000; | ||
export class DefaultOAuthInterceptor { | ||
@@ -82,6 +80,11 @@ /** | ||
*/ | ||
e => e.type === 'token_received')), timeout(WAIT_FOR_TOKEN_RECEIVED), map((/** | ||
e => e.type === 'token_received')), timeout(this.oAuthService.waitForTokenInMsec), catchError((/** | ||
* @param {?} _ | ||
* @return {?} | ||
*/ | ||
_ => of(null))), // timeout is not an error | ||
map((/** | ||
* @param {?} _ | ||
* @return {?} | ||
*/ | ||
_ => this.oAuthService.getAccessToken())))).pipe(take(1), mergeMap((/** | ||
@@ -141,2 +144,2 @@ * @param {?} token | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItb2F1dGgyLW9pZGMvIiwic291cmNlcyI6WyJpbnRlcmNlcHRvcnMvZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRckQsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O01BRTFDLHVCQUF1QixHQUFHLElBQUk7QUFHcEMsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7OztJQUVoQyxZQUNZLFdBQXlCLEVBQ3pCLFlBQTBCLEVBQzFCLFlBQTZDLEVBQ2pDLFlBQStCO1FBSDNDLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFpQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFDbkQsQ0FBQzs7Ozs7O0lBRUcsUUFBUSxDQUFDLEdBQVc7UUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFD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QUFpQzs7Ozs7SUFDakMsK0NBQWtDOzs7OztJQUNsQywrQ0FBcUQ7Ozs7O0lBQ3JELCtDQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFJlcXVlc3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIG1lcmdlTWFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPQXV0aFJlc291cmNlU2VydmVyRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9yZXNvdXJjZS1zZXJ2ZXItZXJyb3ItaGFuZGxlcic7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vb2F1dGgtbW9kdWxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IE9BdXRoU3RvcmFnZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vb2F1dGgtc2VydmljZSc7XHJcblxyXG5jb25zdCBXQUlUX0ZPUl9UT0tFTl9SRUNFSVZFRCA9IDEwMDA7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0T0F1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhdXRoU3RvcmFnZTogT0F1dGhTdG9yYWdlLFxyXG4gICAgICAgIHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IE9BdXRoUmVzb3VyY2VTZXJ2ZXJFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBtb2R1bGVDb25maWc6IE9BdXRoTW9kdWxlQ29uZmlnXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbih1cmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzLmZpbmQodSA9PiB1cmwuc3RhcnRzV2l0aCh1KSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgcHVibGljIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgdXJsID0gcmVxLnVybC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHJcbiAgICBpZiAoIXRoaXMubW9kdWxlQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlcikge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5hbGxvd2VkVXJscyAmJiAhdGhpcy5jaGVja1VybCh1cmwpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbmRBY2Nlc3NUb2tlbiA9IHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLnNlbmRBY2Nlc3NUb2tlbjtcclxuXHJcbiAgICBpZiAoIXNlbmRBY2Nlc3NUb2tlbikge1xyXG4gICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgIC5oYW5kbGUocmVxKVxyXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgIG9mKHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHRva2VuID0+IHRva2VuID8gdHJ1ZSA6IGZhbHNlKSxcclxuICAgICAgKSxcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSxcclxuICAgICAgICB0aW1lb3V0KFdBSVRfRk9SX1RPS0VOX1JFQ0VJVkVEKSxcclxuICAgICAgICBtYXAoXyA9PiB0aGlzLm9BdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKSxcclxuICAgICAgKSxcclxuICAgICkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAodG9rZW4gPT4ge1xyXG4gICAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gJ0JlYXJlciAnICsgdG9rZW47XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgaGVhZGVyKTtcclxuICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7IGhlYWRlcnMgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgICAgLmhhbmRsZShyZXEpXHJcbiAgICAgICAgICAucGlwZShjYXRjaEVycm9yKGVyciA9PiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnIpKSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItb2F1dGgyLW9pZGMvIiwic291cmNlcyI6WyJpbnRlcmNlcHRvcnMvZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRckQsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7OztJQUVoQyxZQUNZLFdBQXlCLEVBQ3pCLFlBQTBCLEVBQzFCLFlBQTZDLEVBQ2pDLFlBQStCO1FBSDNDLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFpQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFDbkQsQ0FBQzs7Ozs7O0lBRUcsUUFBUSxDQUFDLEdBQVc7UUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BFO1FB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OztZQUhGLFlBQVk7WUFDWixZQUFZO1lBSFosK0JBQStCO1lBQy9CLGlCQUFpQix1QkFXakIsUUFBUTs7Ozs7OztJQUhULDhDQUFpQzs7Ozs7SUFDakMsK0NBQWtDOzs7OztJQUNsQywrQ0FBcUQ7Ozs7O0lBQ3JELCtDQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFJlcXVlc3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIG1lcmdlTWFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPQXV0aFJlc291cmNlU2VydmVyRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9yZXNvdXJjZS1zZXJ2ZXItZXJyb3ItaGFuZGxlcic7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vb2F1dGgtbW9kdWxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IE9BdXRoU3RvcmFnZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vb2F1dGgtc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0T0F1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhdXRoU3RvcmFnZTogT0F1dGhTdG9yYWdlLFxyXG4gICAgICAgIHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IE9BdXRoUmVzb3VyY2VTZXJ2ZXJFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBtb2R1bGVDb25maWc6IE9BdXRoTW9kdWxlQ29uZmlnXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbih1cmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzLmZpbmQodSA9PiB1cmwuc3RhcnRzV2l0aCh1KSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgcHVibGljIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgdXJsID0gcmVxLnVybC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHJcbiAgICBpZiAoIXRoaXMubW9kdWxlQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlcikge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5hbGxvd2VkVXJscyAmJiAhdGhpcy5jaGVja1VybCh1cmwpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbmRBY2Nlc3NUb2tlbiA9IHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLnNlbmRBY2Nlc3NUb2tlbjtcclxuXHJcbiAgICBpZiAoIXNlbmRBY2Nlc3NUb2tlbikge1xyXG4gICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgIC5oYW5kbGUocmVxKVxyXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgIG9mKHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHRva2VuID0+IHRva2VuID8gdHJ1ZSA6IGZhbHNlKSxcclxuICAgICAgKSxcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSxcclxuICAgICAgICB0aW1lb3V0KHRoaXMub0F1dGhTZXJ2aWNlLndhaXRGb3JUb2tlbkluTXNlYyksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihfID0+IG9mKG51bGwpKSwgLy8gdGltZW91dCBpcyBub3QgYW4gZXJyb3JcclxuICAgICAgICBtYXAoXyA9PiB0aGlzLm9BdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKSxcclxuICAgICAgKSxcclxuICAgICkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAodG9rZW4gPT4ge1xyXG4gICAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gJ0JlYXJlciAnICsgdG9rZW47XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgaGVhZGVyKTtcclxuICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7IGhlYWRlcnMgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgICAgLmhhbmRsZShyZXEpXHJcbiAgICAgICAgICAucGlwZShjYXRjaEVycm9yKGVyciA9PiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnIpKSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -179,2 +179,6 @@ /** | ||
/** | ||
* The interceptors waits this time span if there is no token | ||
*/ | ||
this.waitForTokenInMsec = 0; | ||
/** | ||
* Code Flow is by defauld used together with PKCI which is also higly recommented. | ||
@@ -428,2 +432,7 @@ * You can disbale it here by setting this flag to true. | ||
/** | ||
* The interceptors waits this time span if there is no token | ||
* @type {?} | ||
*/ | ||
AuthConfig.prototype.waitForTokenInMsec; | ||
/** | ||
* Code Flow is by defauld used together with PKCI which is also higly recommented. | ||
@@ -443,2 +452,2 @@ * You can disbale it here by setting this flag to true. | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW9hdXRoMi1vaWRjLyIsInNvdXJjZXMiOlsiYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0lBc09FLG9CQUFZLElBQTBCOzs7O1FBbE8vQixhQUFRLEdBQUksRUFBRSxDQUFDOzs7O1FBS2YsZ0JBQVcsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWxCLDBCQUFxQixHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNNUIsYUFBUSxHQUFJLEVBQUUsQ0FBQzs7OztRQUtmLFVBQUssR0FBSSxnQkFBZ0IsQ0FBQztRQUUxQixhQUFRLEdBQUksRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNYixTQUFJLEdBQUksSUFBSSxDQUFDOzs7OztRQU1iLHVCQUFrQixHQUFJLElBQUksQ0FBQztRQUUzQixZQUFPLEdBQVMsSUFBSSxDQUFDOzs7O1FBS3JCLFdBQU0sR0FBSSxFQUFFLENBQUM7Ozs7UUFLYixjQUFTLEdBQUksRUFBRSxDQUFDOzs7O1FBS2hCLHdCQUFtQixHQUFJLElBQUksQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFZLElBQUksQ0FBQzs7OztRQUs5QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsaUJBQVksR0FBSSxFQUFFLENBQUM7Ozs7Ozs7UUFRbEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7O1FBSy9CLDZCQUF3QixHQUFJLEVBQUUsQ0FBQztRQUUvQiwrQkFBMEIsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWpDLDRCQUF1QixHQUFJLEtBQUssQ0FBQzs7Ozs7O1FBT2pDLHdCQUFtQixHQUFZLElBQUksR0FBRyxFQUFFLENBQUM7Ozs7UUFLekMseUJBQW9CLEdBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7O1FBVTFDLHNCQUFpQixHQUFZLElBQUksQ0FBQzs7Ozs7OztRQVFsQyxpQkFBWSxHQUE0QixZQUFZLENBQUM7Ozs7O1FBTXJELHNDQUFpQyxHQUFJLElBQUksQ0FBQzs7Ozs7O1FBTzFDLFNBQUksR0FBWSxJQUFJLENBQUM7Ozs7O1FBTXJCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyw0QkFBdUIsR0FBSSwwQ0FBMEMsQ0FBQzs7Ozs7O1FBT3RFLGtCQUFhLEdBQUksSUFBSSxDQUFDOzs7Ozs7UUFPdEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7OztRQU05QiwwQkFBcUIsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDOzs7O1FBS2xDLDBCQUFxQixHQUFZLElBQUksQ0FBQzs7OztRQUt0QywyQkFBc0IsR0FBSSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7UUFTcEUsdUJBQWtCLEdBQUksS0FBSyxDQUFDOzs7OztRQU01QixxQkFBZ0IsR0FBSSxLQUFLLENBQUM7UUFFMUIsbUNBQThCLEdBQUksS0FBSyxDQUFDOzs7OztRQU14QyxvQkFBZSxHQUFJLEtBQUssQ0FBQzs7Ozs7OztRQWV6Qix3QkFBbUIsR0FBSSxHQUFHLENBQUM7Ozs7UUFLM0IscUJBQWdCLEdBQUksS0FBSyxDQUFDOzs7Ozs7UUFZMUIsZ0JBQVcsR0FBSSxLQUFLLENBQUM7Ozs7OztRQWFyQixZQUFPOzs7O1FBQTZCLFVBQUEsR0FBRztZQUM1QyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUN0QixDQUFDLEVBQUE7UUFaQyxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQVVILGlCQUFDO0FBQUQsQ0FBQyxBQXBQRCxJQW9QQzs7Ozs7OztJQWhQQyw4QkFBc0I7Ozs7O0lBS3RCLGlDQUF5Qjs7Ozs7O0lBTXpCLDJDQUFtQzs7Ozs7O0lBTW5DLDhCQUFzQjs7Ozs7SUFLdEIsMkJBQWlDOztJQUVqQyw4QkFBc0I7O0lBRXRCLDRCQUFvQjs7Ozs7O0lBTXBCLDBCQUFvQjs7Ozs7O0lBTXBCLHdDQUFrQzs7SUFFbEMsNkJBQTRCOzs7OztJQUs1Qiw0QkFBb0I7Ozs7O0lBS3BCLCtCQUF1Qjs7Ozs7SUFLdkIseUNBQW1DOzs7OztJQUtuQyxtQ0FBcUM7Ozs7O0lBS3JDLHNDQUF3Qzs7SUFFeEMsa0NBQTBCOzs7Ozs7OztJQVF6QiwwQ0FBcUM7Ozs7O0lBS3RDLDhDQUFzQzs7SUFFdEMsZ0RBQXdDOzs7Ozs7SUFNeEMsNkNBQXdDOzs7Ozs7O0lBT3hDLHlDQUFnRDs7Ozs7SUFLaEQsMENBQWlEOzs7Ozs7Ozs7O0lBVWpELHVDQUF5Qzs7Ozs7Ozs7SUFRekMsa0NBQTREOzs7Ozs7SUFNNUQsdURBQWlEOzs7Ozs7O0lBT2pELDBCQUE0Qjs7Ozs7O0lBTTVCLHVDQUF5Qzs7SUFFekMsNkNBQTZFOzs7Ozs7O0lBTzdFLG1DQUE2Qjs7Ozs7OztJQU83QiwwQ0FBcUM7Ozs7OztJQU1yQywyQ0FBeUM7Ozs7O0lBS3pDLDJDQUE2Qzs7Ozs7SUFLN0MsNENBQTJFOzs7Ozs7Ozs7SUFTM0Usd0NBQW1DOzs7Ozs7SUFNbkMsc0NBQWlDOztJQUVqQyxvREFBK0M7Ozs7OztJQU0vQyxxQ0FBZ0M7Ozs7Ozs7SUFPaEMsNERBQXVEOzs7Ozs7OztJQVF2RCx5Q0FBa0M7Ozs7O0lBS2xDLHNDQUFpQzs7Ozs7SUFLakMsb0NBQTRCOzs7Ozs7O0lBTzVCLGlDQUE0Qjs7Ozs7OztJQWE1Qiw2QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRoQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBUaGUgY2xpZW50J3MgaWQgYXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdXRoIHNlcnZlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGllbnRJZD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNsaWVudCdzIHJlZGlyZWN0VXJpIGFzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKi9cclxuICBwdWJsaWMgcmVkaXJlY3RVcmk/ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIG9wdGlvbmFsIHNlY29uZCByZWRpcmVjdFVyaSB3aGVyZSB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKiByZWRpcmVjdHMgdGhlIHVzZXIgdG8gYWZ0ZXIgbG9nZ2luZyBvdXQuXHJcbiAgICovXHJcbiAgcHVibGljIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGF1dGggc2VydmVyJ3MgZW5kcG9pbnQgdGhhdCBhbGxvd3MgdG8gbG9nXHJcbiAgICogdGhlIHVzZXIgaW4gd2hlbiB1c2luZyBpbXBsaWNpdCBmbG93LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2dpblVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlcXVlc3RlZCBzY29wZXNcclxuICAgKi9cclxuICBwdWJsaWMgc2NvcGU/ID0gJ29wZW5pZCBwcm9maWxlJztcclxuXHJcbiAgcHVibGljIHJlc291cmNlPyA9ICcnO1xyXG5cclxuICBwdWJsaWMgcm5nVXJsPyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdG8gdXNlIE9wZW5JZCBDb25uZWN0IGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIG9pZGM/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIHJlcXVlc3QgYW4gYWNjZXNzIHRva2VuIGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3RBY2Nlc3NUb2tlbj8gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IGFueSA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpc3N1ZXIncyB1cmkuXHJcbiAgICovXHJcbiAgcHVibGljIGlzc3Vlcj8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGxvZ291dCB1cmwuXHJcbiAgICovXHJcbiAgcHVibGljIGxvZ291dFVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIGNsZWFyIHRoZSBoYXNoIGZyYWdtZW50IGFmdGVyIGxvZ2dpbmcgaW4uXHJcbiAgICovXHJcbiAgcHVibGljIGNsZWFySGFzaEFmdGVyTG9naW4/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB0b2tlbiBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0IGFuZCBPQXV0aCAyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2tlbkVuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB1c2VyaW5mbyBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VyaW5mb0VuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHJlc3BvbnNlVHlwZT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIGFkZGl0aW9uYWwgZGVidWcgaW5mb3JtYXRpb24gc2hvdWxkXHJcbiAgICogYmUgc2hvd24gYXQgdGhlIGNvbnNvbGUuIE5vdGUgdGhhdCBpbiBjZXJ0YWluIGJyb3dzZXJzXHJcbiAgICogdGhlIHZlcmJvc2l0eSBvZiB0aGUgY29uc29sZSBuZWVkcyB0byBiZSBleHBsaWNpdGx5IHNldFxyXG4gICAqIHRvIGluY2x1ZGUgRGVidWcgbGV2ZWwgbWVzc2FnZXMuXHJcbiAgICovXHJcbiAgIHB1YmxpYyBzaG93RGVidWdJbmZvcm1hdGlvbj8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlZGlyZWN0IHVyaSB1c2VkIHdoZW4gZG9pbmcgc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hNZXNzYWdlUHJlZml4PyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyB0byB0cnVlIHRvIGRpc3BsYXkgdGhlIGlmcmFtZSB1c2VkIGZvclxyXG4gICAqIHNpbGVudCByZWZyZXNoIGZvciBkZWJ1Z2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hTaG93SUZyYW1lPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaW1lb3V0IGZvciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBkZXByZWFjdGVkIGIvYyBvZiB0eXBvLCBzZWUgc2lsZW50UmVmcmVzaFRpbWVvdXRcclxuICAgKi9cclxuICBwdWJsaWMgc2lsZXRSZWZyZXNoVGltZW91dD86IG51bWJlciA9IDEwMDAgKiAyMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGltZW91dCBmb3Igc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hUaW1lb3V0PzogbnVtYmVyID0gMTAwMCAqIDIwO1xyXG5cclxuICAvKipcclxuICAgKiBTb21lIGF1dGggc2VydmVycyBkb24ndCBhbGxvdyB1c2luZyBwYXNzd29yZCBmbG93XHJcbiAgICogdy9vIGEgY2xpZW50IHNlY3JldCB3aGlsZSB0aGUgc3RhbmRhcmRzIGRvIG5vdFxyXG4gICAqIGRlbWFuZCBmb3IgaXQuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzZXQgYSBwYXNzd29yZFxyXG4gICAqIGhlcmUuIEFzIHRoaXMgcGFzc3dvcmQgaXMgZXhwb3NlZCB0byB0aGUgcHVibGljXHJcbiAgICogaXQgZG9lcyBub3QgYnJpbmcgYWRkaXRpb25hbCBzZWN1cml0eSBhbmQgaXMgdGhlcmVmb3JlXHJcbiAgICogYXMgZ29vZCBhcyB1c2luZyBubyBwYXNzd29yZC5cclxuICAgKi9cclxuICBwdWJsaWMgZHVtbXlDbGllbnRTZWNyZXQ/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgaHR0cHMgaXMgcmVxdWlyZWQuXHJcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgcmVtb3RlT25seSB3aGljaCBvbmx5IGFsbG93c1xyXG4gICAqIGh0dHAgZm9yIGxvY2FsaG9zdCwgd2hpbGUgZXZlcnkgb3RoZXIgZG9tYWlucyBuZWVkXHJcbiAgICogdG8gYmUgdXNlZCB3aXRoIGh0dHBzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXF1aXJlSHR0cHM/OiBib29sZWFuIHwgJ3JlbW90ZU9ubHknID0gJ3JlbW90ZU9ubHknO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgZXZlcnkgdXJsIHByb3ZpZGVkIGJ5IHRoZSBkaXNjb3ZlcnlcclxuICAgKiBkb2N1bWVudCBoYXMgdG8gc3RhcnQgd2l0aCB0aGUgaXNzdWVyJ3MgdXJsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb24/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSlNPTiBXZWIgS2V5IFNldCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc1MTcpXHJcbiAgICogd2l0aCBrZXlzIHVzZWQgdG8gdmFsaWRhdGUgcmVjZWl2ZWQgaWRfdG9rZW5zLlxyXG4gICAqIFRoaXMgaXMgdGFrZW4gb3V0IG9mIHRoZSBkaXNvdmVyeSBkb2N1bWVudC4gQ2FuIGJlIHNldCBtYW51YWxseSB0b28uXHJcbiAgICovXHJcbiAgcHVibGljIGp3a3M/OiBvYmplY3QgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgd2l0aCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGFyZSBhcHBlbmRlZCB0b1xyXG4gICAqIHRoZSByZXF1ZXN0IHdoZW4gaW5pdGlhbGl6aW5nIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIGN1c3RvbVF1ZXJ5UGFyYW1zPzogb2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hJRnJhbWVOYW1lPyA9ICdhbmd1bGFyLW9hdXRoLW9pZGMtc2lsZW50LXJlZnJlc2gtaWZyYW1lJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGVuIHRoZSB0b2tlbl90aW1lb3V0IGV2ZW50IHNob3VsZCBiZSByYWlzZWQuXHJcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRoZSBkZWZhdWx0IHZhbHVlIDAuNzUsIHRoZSBldmVudFxyXG4gICAqIGlzIHRyaWdnZXJlZCBhZnRlciA3NSUgb2YgdGhlIHRva2VuJ3MgbGlmZSB0aW1lLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0aW1lb3V0RmFjdG9yPyA9IDAuNzU7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRydWUsIHRoZSBsaWIgd2lsbCB0cnkgdG8gY2hlY2sgd2hldGhlciB0aGUgdXNlclxyXG4gICAqIGlzIHN0aWxsIGxvZ2dlZCBpbiBvbiBhIHJlZ3VsYXIgYmFzaXMgYXMgZGVzY3JpYmVkXHJcbiAgICogaW4gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAuaHRtbCNDaGFuZ2VOb3RpZmljYXRpb25cclxuICAgKi9cclxuICBwdWJsaWMgc2Vzc2lvbkNoZWNrc0VuYWJsZWQ/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVydmFsIGluIG1zZWMgZm9yIGNoZWNraW5nIHRoZSBzZXNzaW9uXHJcbiAgICogYWNjb3JkaW5nIHRvIGh0dHA6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLmh0bWwjQ2hhbmdlTm90aWZpY2F0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0ludGVydmFsbD8gPSAzICogMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIGZvciB0aGUgaWZyYW1lIHVzZWQgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZVVybD86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgdGhlIGlmcmFtZSB0byB1c2UgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZU5hbWU/ID0gJ2FuZ3VsYXItb2F1dGgtb2lkYy1jaGVjay1zZXNzaW9uLWlmcmFtZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgaGFzIGJlZW4gaW50cm9kdWNlZCB0byBkaXNhYmxlIGF0X2hhc2ggY2hlY2tzXHJcbiAgICogYW5kIGlzIGluZGVudGVkIGZvciBJZGVudGl0eSBQcm92aWRlciB0aGF0IGRvZXMgbm90IGRlbGl2ZXJcclxuICAgKiBhbiBhdF9oYXNoIEVWRU4gVEhPVUdIIGl0cyByZWNvbW1lbmRlZCBieSB0aGUgT0lEQyBzcGVjcy5cclxuICAgKiBPZiBjb3Vyc2UsIHdoZW4gZGlzYWJsaW5nIHRoZXNlIGNoZWNrcyB0aGUgd2UgYXJlIGJ5cGFzc2luZ1xyXG4gICAqIGEgc2VjdXJpdHkgY2hlY2sgd2hpY2ggbWVhbnMgd2UgYXJlIG1vcmUgdnVsbmVyYWJsZS5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZUF0SGFzaENoZWNrPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdldGhlciB0byBjaGVjayB0aGUgc3ViamVjdCBvZiBhIHJlZnJlc2hlZCB0b2tlbiBhZnRlciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBOb3JtYWxseSwgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGJlZm9yZS5cclxuICAgKi9cclxuICBwdWJsaWMgc2tpcFN1YmplY3RDaGVjaz8gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHVzZUlkVG9rZW5IaW50Rm9yU2lsZW50UmVmcmVzaD8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lZCB3aGV0aGVyIHRvIHNraXAgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGlzc3VlciBpbiB0aGUgZGlzY292ZXJ5IGRvY3VtZW50LlxyXG4gICAqIE5vcm1hbGx5LCB0aGUgZGlzY292ZXkgZG9jdW1lbnQncyB1cmwgc3RhcnRzIHdpdGggdGhlIHVybCBvZiB0aGUgaXNzdWVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBza2lwSXNzdWVyQ2hlY2s/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjY29yZGluZyB0byByZmM2NzQ5IGl0IGlzIHJlY29tbWVuZGVkIChidXQgbm90IHJlcXVpcmVkKSB0aGF0IHRoZSBhdXRoXHJcbiAgICogc2VydmVyIGV4cG9zZXMgdGhlIGFjY2Vzc190b2tlbidzIGxpZmUgdGltZSBpbiBzZWNvbmRzLlxyXG4gICAqIFRoaXMgaXMgYSBmYWxsYmFjayB2YWx1ZSBmb3IgdGhlIGNhc2UgdGhpcyB2YWx1ZSBpcyBub3QgZXhwb3NlZC5cclxuICAgKi9cclxuICBwdWJsaWMgZmFsbGJhY2tBY2Nlc3NUb2tlbkV4cGlyYXRpb25UaW1lSW5TZWM/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIGZpbmFsIHN0YXRlIHNlbnQgdG8gaXNzdWVyIGlzIGJ1aWx0IGFzIGZvbGxvd3M6XHJcbiAgICogc3RhdGUgPSBub25jZSArIG5vbmNlU3RhdGVTZXBhcmF0b3IgKyBhZGRpdGlvbmFsIHN0YXRlXHJcbiAgICogRGVmYXVsdCBzZXBhcmF0b3IgaXMgJzsnIChlbmNvZGVkICUzQikuXHJcbiAgICogSW4gcmFyZSBjYXNlcywgdGhpcyBjaGFyYWN0ZXIgbWlnaHQgYmUgZm9yYmlkZGVuIG9yIGluY29udmVuaWVudCB0byB1c2UgYnkgdGhlIGlzc3VlciBzbyBpdCBjYW4gYmUgY3VzdG9taXplZC5cclxuICAgKi9cclxuICBwdWJsaWMgbm9uY2VTdGF0ZVNlcGFyYXRvcj8gPSAnOyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGlzIHRvIHRydWUgdG8gdXNlIEhUVFAgQkFTSUMgYXV0aCBmb3IgcGFzc3dvcmQgZmxvd1xyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VIdHRwQmFzaWNBdXRoPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgd2luZG93IG9mIHRpbWUgKGluIHNlY29uZHMpIHRvIGFsbG93IHRoZSBjdXJyZW50IHRpbWUgdG8gZGV2aWF0ZSB3aGVuIHZhbGlkYXRpbmcgaWRfdG9rZW4ncyBpYXQgYW5kIGV4cCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgcHVibGljIGNsb2NrU2tld0luU2VjPzogNjAwO1xyXG5cclxuICAvKipcclxuICAgKiBDb2RlIEZsb3cgaXMgYnkgZGVmYXVsZCB1c2VkIHRvZ2V0aGVyIHdpdGggUEtDSSB3aGljaCBpcyBhbHNvIGhpZ2x5IHJlY29tbWVudGVkLlxyXG4gICAqIFlvdSBjYW4gZGlzYmFsZSBpdCBoZXJlIGJ5IHNldHRpbmcgdGhpcyBmbGFnIHRvIHRydWUuXHJcbiAgICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc2MzYjc2VjdGlvbi0xLjFcclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZVBLQ0U/ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGpzb24/OiBQYXJ0aWFsPEF1dGhDb25maWc+KSB7XHJcbiAgICBpZiAoanNvbikge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGpzb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBwcm9wZXJ0eSBhbGxvd3MgeW91IHRvIG92ZXJyaWRlIHRoZSBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIG9wZW4gdGhlIGxvZ2luIHVybCxcclxuICAgKiBhbGxvd2luZyBhIHdheSBmb3IgaW1wbGVtZW50YXRpb25zIHRvIHNwZWNpZnkgdGhlaXIgb3duIG1ldGhvZCBvZiByb3V0aW5nIHRvIG5ld1xyXG4gICAqIHVybHMuXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW5Vcmk/OiAoKHVyaTogc3RyaW5nKSA9PiB2b2lkKSA9IHVyaSA9PiB7XHJcbiAgICBsb2NhdGlvbi5ocmVmID0gdXJpO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLW9hdXRoMi1vaWRjLyIsInNvdXJjZXMiOlsiYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0lBMk9FLG9CQUFZLElBQTBCOzs7O1FBdk8vQixhQUFRLEdBQUksRUFBRSxDQUFDOzs7O1FBS2YsZ0JBQVcsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWxCLDBCQUFxQixHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNNUIsYUFBUSxHQUFJLEVBQUUsQ0FBQzs7OztRQUtmLFVBQUssR0FBSSxnQkFBZ0IsQ0FBQztRQUUxQixhQUFRLEdBQUksRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFJLEVBQUUsQ0FBQzs7Ozs7UUFNYixTQUFJLEdBQUksSUFBSSxDQUFDOzs7OztRQU1iLHVCQUFrQixHQUFJLElBQUksQ0FBQztRQUUzQixZQUFPLEdBQVMsSUFBSSxDQUFDOzs7O1FBS3JCLFdBQU0sR0FBSSxFQUFFLENBQUM7Ozs7UUFLYixjQUFTLEdBQUksRUFBRSxDQUFDOzs7O1FBS2hCLHdCQUFtQixHQUFJLElBQUksQ0FBQzs7OztRQUs1QixrQkFBYSxHQUFZLElBQUksQ0FBQzs7OztRQUs5QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsaUJBQVksR0FBSSxFQUFFLENBQUM7Ozs7Ozs7UUFRbEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7O1FBSy9CLDZCQUF3QixHQUFJLEVBQUUsQ0FBQztRQUUvQiwrQkFBMEIsR0FBSSxFQUFFLENBQUM7Ozs7O1FBTWpDLDRCQUF1QixHQUFJLEtBQUssQ0FBQzs7Ozs7O1FBT2pDLHdCQUFtQixHQUFZLElBQUksR0FBRyxFQUFFLENBQUM7Ozs7UUFLekMseUJBQW9CLEdBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7O1FBVTFDLHNCQUFpQixHQUFZLElBQUksQ0FBQzs7Ozs7OztRQVFsQyxpQkFBWSxHQUE0QixZQUFZLENBQUM7Ozs7O1FBTXJELHNDQUFpQyxHQUFJLElBQUksQ0FBQzs7Ozs7O1FBTzFDLFNBQUksR0FBWSxJQUFJLENBQUM7Ozs7O1FBTXJCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyw0QkFBdUIsR0FBSSwwQ0FBMEMsQ0FBQzs7Ozs7O1FBT3RFLGtCQUFhLEdBQUksSUFBSSxDQUFDOzs7Ozs7UUFPdEIseUJBQW9CLEdBQUksS0FBSyxDQUFDOzs7OztRQU05QiwwQkFBcUIsR0FBSSxDQUFDLEdBQUcsSUFBSSxDQUFDOzs7O1FBS2xDLDBCQUFxQixHQUFZLElBQUksQ0FBQzs7OztRQUt0QywyQkFBc0IsR0FBSSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7UUFTcEUsdUJBQWtCLEdBQUksS0FBSyxDQUFDOzs7OztRQU01QixxQkFBZ0IsR0FBSSxLQUFLLENBQUM7UUFFMUIsbUNBQThCLEdBQUksS0FBSyxDQUFDOzs7OztRQU14QyxvQkFBZSxHQUFJLEtBQUssQ0FBQzs7Ozs7OztRQWV6Qix3QkFBbUIsR0FBSSxHQUFHLENBQUM7Ozs7UUFLM0IscUJBQWdCLEdBQUksS0FBSyxDQUFDOzs7O1FBVTFCLHVCQUFrQixHQUFHLENBQUMsQ0FBQzs7Ozs7O1FBT3ZCLGdCQUFXLEdBQUksS0FBSyxDQUFDOzs7Ozs7UUFhckIsWUFBTzs7OztRQUE2QixVQUFBLEdBQUc7WUFDNUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDdEIsQ0FBQyxFQUFBO1FBWkMsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFVSCxpQkFBQztBQUFELENBQUMsQUF6UEQsSUF5UEM7Ozs7Ozs7SUFyUEMsOEJBQXNCOzs7OztJQUt0QixpQ0FBeUI7Ozs7OztJQU16QiwyQ0FBbUM7Ozs7OztJQU1uQyw4QkFBc0I7Ozs7O0lBS3RCLDJCQUFpQzs7SUFFakMsOEJBQXNCOztJQUV0Qiw0QkFBb0I7Ozs7OztJQU1wQiwwQkFBb0I7Ozs7OztJQU1wQix3Q0FBa0M7O0lBRWxDLDZCQUE0Qjs7Ozs7SUFLNUIsNEJBQW9COzs7OztJQUtwQiwrQkFBdUI7Ozs7O0lBS3ZCLHlDQUFtQzs7Ozs7SUFLbkMsbUNBQXFDOzs7OztJQUtyQyxzQ0FBd0M7O0lBRXhDLGtDQUEwQjs7Ozs7Ozs7SUFRekIsMENBQXFDOzs7OztJQUt0Qyw4Q0FBc0M7O0lBRXRDLGdEQUF3Qzs7Ozs7O0lBTXhDLDZDQUF3Qzs7Ozs7OztJQU94Qyx5Q0FBZ0Q7Ozs7O0lBS2hELDBDQUFpRDs7Ozs7Ozs7OztJQVVqRCx1Q0FBeUM7Ozs7Ozs7O0lBUXpDLGtDQUE0RDs7Ozs7O0lBTTVELHVEQUFpRDs7Ozs7OztJQU9qRCwwQkFBNEI7Ozs7OztJQU01Qix1Q0FBeUM7O0lBRXpDLDZDQUE2RTs7Ozs7OztJQU83RSxtQ0FBNkI7Ozs7Ozs7SUFPN0IsMENBQXFDOzs7Ozs7SUFNckMsMkNBQXlDOzs7OztJQUt6QywyQ0FBNkM7Ozs7O0lBSzdDLDRDQUEyRTs7Ozs7Ozs7O0lBUzNFLHdDQUFtQzs7Ozs7O0lBTW5DLHNDQUFpQzs7SUFFakMsb0RBQStDOzs7Ozs7SUFNL0MscUNBQWdDOzs7Ozs7O0lBT2hDLDREQUF1RDs7Ozs7Ozs7SUFRdkQseUNBQWtDOzs7OztJQUtsQyxzQ0FBaUM7Ozs7O0lBS2pDLG9DQUE0Qjs7Ozs7SUFLNUIsd0NBQThCOzs7Ozs7O0lBTzlCLGlDQUE0Qjs7Ozs7OztJQWE1Qiw2QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRoQ29uZmlnIHtcclxuICAvKipcclxuICAgKiBUaGUgY2xpZW50J3MgaWQgYXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdXRoIHNlcnZlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGllbnRJZD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGNsaWVudCdzIHJlZGlyZWN0VXJpIGFzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKi9cclxuICBwdWJsaWMgcmVkaXJlY3RVcmk/ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIG9wdGlvbmFsIHNlY29uZCByZWRpcmVjdFVyaSB3aGVyZSB0aGUgYXV0aCBzZXJ2ZXJcclxuICAgKiByZWRpcmVjdHMgdGhlIHVzZXIgdG8gYWZ0ZXIgbG9nZ2luZyBvdXQuXHJcbiAgICovXHJcbiAgcHVibGljIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGF1dGggc2VydmVyJ3MgZW5kcG9pbnQgdGhhdCBhbGxvd3MgdG8gbG9nXHJcbiAgICogdGhlIHVzZXIgaW4gd2hlbiB1c2luZyBpbXBsaWNpdCBmbG93LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2dpblVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlcXVlc3RlZCBzY29wZXNcclxuICAgKi9cclxuICBwdWJsaWMgc2NvcGU/ID0gJ29wZW5pZCBwcm9maWxlJztcclxuXHJcbiAgcHVibGljIHJlc291cmNlPyA9ICcnO1xyXG5cclxuICBwdWJsaWMgcm5nVXJsPyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdG8gdXNlIE9wZW5JZCBDb25uZWN0IGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIG9pZGM/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIHJlcXVlc3QgYW4gYWNjZXNzIHRva2VuIGR1cmluZ1xyXG4gICAqIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3RBY2Nlc3NUb2tlbj8gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IGFueSA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpc3N1ZXIncyB1cmkuXHJcbiAgICovXHJcbiAgcHVibGljIGlzc3Vlcj8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGxvZ291dCB1cmwuXHJcbiAgICovXHJcbiAgcHVibGljIGxvZ291dFVybD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRvIGNsZWFyIHRoZSBoYXNoIGZyYWdtZW50IGFmdGVyIGxvZ2dpbmcgaW4uXHJcbiAgICovXHJcbiAgcHVibGljIGNsZWFySGFzaEFmdGVyTG9naW4/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB0b2tlbiBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0IGFuZCBPQXV0aCAyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0b2tlbkVuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIG9mIHRoZSB1c2VyaW5mbyBlbmRwb2ludCBhcyBkZWZpbmVkIGJ5IE9wZW5JZCBDb25uZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VyaW5mb0VuZHBvaW50Pzogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHJlc3BvbnNlVHlwZT8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIGFkZGl0aW9uYWwgZGVidWcgaW5mb3JtYXRpb24gc2hvdWxkXHJcbiAgICogYmUgc2hvd24gYXQgdGhlIGNvbnNvbGUuIE5vdGUgdGhhdCBpbiBjZXJ0YWluIGJyb3dzZXJzXHJcbiAgICogdGhlIHZlcmJvc2l0eSBvZiB0aGUgY29uc29sZSBuZWVkcyB0byBiZSBleHBsaWNpdGx5IHNldFxyXG4gICAqIHRvIGluY2x1ZGUgRGVidWcgbGV2ZWwgbWVzc2FnZXMuXHJcbiAgICovXHJcbiAgIHB1YmxpYyBzaG93RGVidWdJbmZvcm1hdGlvbj8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHJlZGlyZWN0IHVyaSB1c2VkIHdoZW4gZG9pbmcgc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaT8gPSAnJztcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hNZXNzYWdlUHJlZml4PyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyB0byB0cnVlIHRvIGRpc3BsYXkgdGhlIGlmcmFtZSB1c2VkIGZvclxyXG4gICAqIHNpbGVudCByZWZyZXNoIGZvciBkZWJ1Z2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hTaG93SUZyYW1lPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaW1lb3V0IGZvciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBkZXByZWFjdGVkIGIvYyBvZiB0eXBvLCBzZWUgc2lsZW50UmVmcmVzaFRpbWVvdXRcclxuICAgKi9cclxuICBwdWJsaWMgc2lsZXRSZWZyZXNoVGltZW91dD86IG51bWJlciA9IDEwMDAgKiAyMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGltZW91dCBmb3Igc2lsZW50IHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hUaW1lb3V0PzogbnVtYmVyID0gMTAwMCAqIDIwO1xyXG5cclxuICAvKipcclxuICAgKiBTb21lIGF1dGggc2VydmVycyBkb24ndCBhbGxvdyB1c2luZyBwYXNzd29yZCBmbG93XHJcbiAgICogdy9vIGEgY2xpZW50IHNlY3JldCB3aGlsZSB0aGUgc3RhbmRhcmRzIGRvIG5vdFxyXG4gICAqIGRlbWFuZCBmb3IgaXQuIEluIHRoaXMgY2FzZSwgeW91IGNhbiBzZXQgYSBwYXNzd29yZFxyXG4gICAqIGhlcmUuIEFzIHRoaXMgcGFzc3dvcmQgaXMgZXhwb3NlZCB0byB0aGUgcHVibGljXHJcbiAgICogaXQgZG9lcyBub3QgYnJpbmcgYWRkaXRpb25hbCBzZWN1cml0eSBhbmQgaXMgdGhlcmVmb3JlXHJcbiAgICogYXMgZ29vZCBhcyB1c2luZyBubyBwYXNzd29yZC5cclxuICAgKi9cclxuICBwdWJsaWMgZHVtbXlDbGllbnRTZWNyZXQ/OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgaHR0cHMgaXMgcmVxdWlyZWQuXHJcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgcmVtb3RlT25seSB3aGljaCBvbmx5IGFsbG93c1xyXG4gICAqIGh0dHAgZm9yIGxvY2FsaG9zdCwgd2hpbGUgZXZlcnkgb3RoZXIgZG9tYWlucyBuZWVkXHJcbiAgICogdG8gYmUgdXNlZCB3aXRoIGh0dHBzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXF1aXJlSHR0cHM/OiBib29sZWFuIHwgJ3JlbW90ZU9ubHknID0gJ3JlbW90ZU9ubHknO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgZXZlcnkgdXJsIHByb3ZpZGVkIGJ5IHRoZSBkaXNjb3ZlcnlcclxuICAgKiBkb2N1bWVudCBoYXMgdG8gc3RhcnQgd2l0aCB0aGUgaXNzdWVyJ3MgdXJsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb24/ID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSlNPTiBXZWIgS2V5IFNldCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc1MTcpXHJcbiAgICogd2l0aCBrZXlzIHVzZWQgdG8gdmFsaWRhdGUgcmVjZWl2ZWQgaWRfdG9rZW5zLlxyXG4gICAqIFRoaXMgaXMgdGFrZW4gb3V0IG9mIHRoZSBkaXNvdmVyeSBkb2N1bWVudC4gQ2FuIGJlIHNldCBtYW51YWxseSB0b28uXHJcbiAgICovXHJcbiAgcHVibGljIGp3a3M/OiBvYmplY3QgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgd2l0aCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGFyZSBhcHBlbmRlZCB0b1xyXG4gICAqIHRoZSByZXF1ZXN0IHdoZW4gaW5pdGlhbGl6aW5nIGltcGxpY2l0IGZsb3cuXHJcbiAgICovXHJcbiAgcHVibGljIGN1c3RvbVF1ZXJ5UGFyYW1zPzogb2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgcHVibGljIHNpbGVudFJlZnJlc2hJRnJhbWVOYW1lPyA9ICdhbmd1bGFyLW9hdXRoLW9pZGMtc2lsZW50LXJlZnJlc2gtaWZyYW1lJztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGVuIHRoZSB0b2tlbl90aW1lb3V0IGV2ZW50IHNob3VsZCBiZSByYWlzZWQuXHJcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHRoZSBkZWZhdWx0IHZhbHVlIDAuNzUsIHRoZSBldmVudFxyXG4gICAqIGlzIHRyaWdnZXJlZCBhZnRlciA3NSUgb2YgdGhlIHRva2VuJ3MgbGlmZSB0aW1lLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0aW1lb3V0RmFjdG9yPyA9IDAuNzU7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRydWUsIHRoZSBsaWIgd2lsbCB0cnkgdG8gY2hlY2sgd2hldGhlciB0aGUgdXNlclxyXG4gICAqIGlzIHN0aWxsIGxvZ2dlZCBpbiBvbiBhIHJlZ3VsYXIgYmFzaXMgYXMgZGVzY3JpYmVkXHJcbiAgICogaW4gaHR0cDovL29wZW5pZC5uZXQvc3BlY3Mvb3BlbmlkLWNvbm5lY3Qtc2Vzc2lvbi0xXzAuaHRtbCNDaGFuZ2VOb3RpZmljYXRpb25cclxuICAgKi9cclxuICBwdWJsaWMgc2Vzc2lvbkNoZWNrc0VuYWJsZWQ/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVydmFsIGluIG1zZWMgZm9yIGNoZWNraW5nIHRoZSBzZXNzaW9uXHJcbiAgICogYWNjb3JkaW5nIHRvIGh0dHA6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLmh0bWwjQ2hhbmdlTm90aWZpY2F0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0ludGVydmFsbD8gPSAzICogMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXJsIGZvciB0aGUgaWZyYW1lIHVzZWQgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZVVybD86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgdGhlIGlmcmFtZSB0byB1c2UgZm9yIHNlc3Npb24gY2hlY2tzXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25DaGVja0lGcmFtZU5hbWU/ID0gJ2FuZ3VsYXItb2F1dGgtb2lkYy1jaGVjay1zZXNzaW9uLWlmcmFtZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgaGFzIGJlZW4gaW50cm9kdWNlZCB0byBkaXNhYmxlIGF0X2hhc2ggY2hlY2tzXHJcbiAgICogYW5kIGlzIGluZGVudGVkIGZvciBJZGVudGl0eSBQcm92aWRlciB0aGF0IGRvZXMgbm90IGRlbGl2ZXJcclxuICAgKiBhbiBhdF9oYXNoIEVWRU4gVEhPVUdIIGl0cyByZWNvbW1lbmRlZCBieSB0aGUgT0lEQyBzcGVjcy5cclxuICAgKiBPZiBjb3Vyc2UsIHdoZW4gZGlzYWJsaW5nIHRoZXNlIGNoZWNrcyB0aGUgd2UgYXJlIGJ5cGFzc2luZ1xyXG4gICAqIGEgc2VjdXJpdHkgY2hlY2sgd2hpY2ggbWVhbnMgd2UgYXJlIG1vcmUgdnVsbmVyYWJsZS5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzYWJsZUF0SGFzaENoZWNrPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdldGhlciB0byBjaGVjayB0aGUgc3ViamVjdCBvZiBhIHJlZnJlc2hlZCB0b2tlbiBhZnRlciBzaWxlbnQgcmVmcmVzaC5cclxuICAgKiBOb3JtYWxseSwgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGJlZm9yZS5cclxuICAgKi9cclxuICBwdWJsaWMgc2tpcFN1YmplY3RDaGVjaz8gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHVzZUlkVG9rZW5IaW50Rm9yU2lsZW50UmVmcmVzaD8gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lZCB3aGV0aGVyIHRvIHNraXAgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGlzc3VlciBpbiB0aGUgZGlzY292ZXJ5IGRvY3VtZW50LlxyXG4gICAqIE5vcm1hbGx5LCB0aGUgZGlzY292ZXkgZG9jdW1lbnQncyB1cmwgc3RhcnRzIHdpdGggdGhlIHVybCBvZiB0aGUgaXNzdWVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBza2lwSXNzdWVyQ2hlY2s/ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjY29yZGluZyB0byByZmM2NzQ5IGl0IGlzIHJlY29tbWVuZGVkIChidXQgbm90IHJlcXVpcmVkKSB0aGF0IHRoZSBhdXRoXHJcbiAgICogc2VydmVyIGV4cG9zZXMgdGhlIGFjY2Vzc190b2tlbidzIGxpZmUgdGltZSBpbiBzZWNvbmRzLlxyXG4gICAqIFRoaXMgaXMgYSBmYWxsYmFjayB2YWx1ZSBmb3IgdGhlIGNhc2UgdGhpcyB2YWx1ZSBpcyBub3QgZXhwb3NlZC5cclxuICAgKi9cclxuICBwdWJsaWMgZmFsbGJhY2tBY2Nlc3NUb2tlbkV4cGlyYXRpb25UaW1lSW5TZWM/OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIGZpbmFsIHN0YXRlIHNlbnQgdG8gaXNzdWVyIGlzIGJ1aWx0IGFzIGZvbGxvd3M6XHJcbiAgICogc3RhdGUgPSBub25jZSArIG5vbmNlU3RhdGVTZXBhcmF0b3IgKyBhZGRpdGlvbmFsIHN0YXRlXHJcbiAgICogRGVmYXVsdCBzZXBhcmF0b3IgaXMgJzsnIChlbmNvZGVkICUzQikuXHJcbiAgICogSW4gcmFyZSBjYXNlcywgdGhpcyBjaGFyYWN0ZXIgbWlnaHQgYmUgZm9yYmlkZGVuIG9yIGluY29udmVuaWVudCB0byB1c2UgYnkgdGhlIGlzc3VlciBzbyBpdCBjYW4gYmUgY3VzdG9taXplZC5cclxuICAgKi9cclxuICBwdWJsaWMgbm9uY2VTdGF0ZVNlcGFyYXRvcj8gPSAnOyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGlzIHRvIHRydWUgdG8gdXNlIEhUVFAgQkFTSUMgYXV0aCBmb3IgcGFzc3dvcmQgZmxvd1xyXG4gICAqL1xyXG4gIHB1YmxpYyB1c2VIdHRwQmFzaWNBdXRoPyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgd2luZG93IG9mIHRpbWUgKGluIHNlY29uZHMpIHRvIGFsbG93IHRoZSBjdXJyZW50IHRpbWUgdG8gZGV2aWF0ZSB3aGVuIHZhbGlkYXRpbmcgaWRfdG9rZW4ncyBpYXQgYW5kIGV4cCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgcHVibGljIGNsb2NrU2tld0luU2VjPzogNjAwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgaW50ZXJjZXB0b3JzIHdhaXRzIHRoaXMgdGltZSBzcGFuIGlmIHRoZXJlIGlzIG5vIHRva2VuXHJcbiAgKi9cclxuICBwdWJsaWMgd2FpdEZvclRva2VuSW5Nc2VjID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29kZSBGbG93IGlzIGJ5IGRlZmF1bGQgdXNlZCB0b2dldGhlciB3aXRoIFBLQ0kgd2hpY2ggaXMgYWxzbyBoaWdseSByZWNvbW1lbnRlZC5cclxuICAgKiBZb3UgY2FuIGRpc2JhbGUgaXQgaGVyZSBieSBzZXR0aW5nIHRoaXMgZmxhZyB0byB0cnVlLlxyXG4gICAqIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3NjM2I3NlY3Rpb24tMS4xXHJcbiAgICovXHJcbiAgcHVibGljIGRpc2FibGVQS0NFPyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihqc29uPzogUGFydGlhbDxBdXRoQ29uZmlnPikge1xyXG4gICAgaWYgKGpzb24pIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBqc29uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgcHJvcGVydHkgYWxsb3dzIHlvdSB0byBvdmVycmlkZSB0aGUgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBvcGVuIHRoZSBsb2dpbiB1cmwsXHJcbiAgICogYWxsb3dpbmcgYSB3YXkgZm9yIGltcGxlbWVudGF0aW9ucyB0byBzcGVjaWZ5IHRoZWlyIG93biBtZXRob2Qgb2Ygcm91dGluZyB0byBuZXdcclxuICAgKiB1cmxzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBvcGVuVXJpPzogKCh1cmk6IHN0cmluZykgPT4gdm9pZCkgPSB1cmkgPT4ge1xyXG4gICAgbG9jYXRpb24uaHJlZiA9IHVyaTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -12,4 +12,2 @@ /** | ||
import { OAuthService } from '../oauth-service'; | ||
/** @type {?} */ | ||
var WAIT_FOR_TOKEN_RECEIVED = 1000; | ||
var DefaultOAuthInterceptor = /** @class */ (function () { | ||
@@ -87,6 +85,11 @@ function DefaultOAuthInterceptor(authStorage, oAuthService, errorHandler, moduleConfig) { | ||
*/ | ||
function (e) { return e.type === 'token_received'; })), timeout(WAIT_FOR_TOKEN_RECEIVED), map((/** | ||
function (e) { return e.type === 'token_received'; })), timeout(this.oAuthService.waitForTokenInMsec), catchError((/** | ||
* @param {?} _ | ||
* @return {?} | ||
*/ | ||
function (_) { return of(null); })), // timeout is not an error | ||
map((/** | ||
* @param {?} _ | ||
* @return {?} | ||
*/ | ||
function (_) { return _this.oAuthService.getAccessToken(); })))).pipe(take(1), mergeMap((/** | ||
@@ -148,2 +151,2 @@ * @param {?} token | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItb2F1dGgyLW9pZGMvIiwic291cmNlcyI6WyJpbnRlcmNlcHRvcnMvZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRckQsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0lBRTFDLHVCQUF1QixHQUFHLElBQUk7QUFFcEM7SUFHSSxpQ0FDWSxXQUF5QixFQUN6QixZQUEwQixFQUMxQixZQUE2QyxFQUNqQyxZQUErQjtRQUgzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBaUM7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQW1CO0lBQ25ELENBQUM7Ozs7OztJQUVHLDBDQUFROzs7OztJQUFoQixVQUFpQixHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMs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O2dCQXRFRixVQUFVOzs7O2dCQUxGLFlBQVk7Z0JBQ1osWUFBWTtnQkFIWiwrQkFBK0I7Z0JBQy9CLGlCQUFpQix1QkFhakIsUUFBUTs7SUFnRWpCLDhCQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F0RVksdUJBQXVCOzs7Ozs7SUFHNUIsOENBQWlDOzs7OztJQUNqQywrQ0FBa0M7Ozs7O0lBQ2xDLCtDQUFxRDs7Ozs7SUFDckQsK0NBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVxdWVzdCxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFrZSwgbWVyZ2VNYXAsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9BdXRoUmVzb3VyY2VTZXJ2ZXJFcnJvckhhbmRsZXIgfSBmcm9tICcuL3Jlc291cmNlLXNlcnZlci1lcnJvci1oYW5kbGVyJztcclxuaW1wb3J0IHsgT0F1dGhNb2R1bGVDb25maWcgfSBmcm9tICcuLi9vYXV0aC1tb2R1bGUuY29uZmlnJztcclxuaW1wb3J0IHsgT0F1dGhTdG9yYWdlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9vYXV0aC1zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFdBSVRfRk9SX1RPS0VOX1JFQ0VJVkVEID0gMTAwMDtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRPQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGF1dGhTdG9yYWdlOiBPQXV0aFN0b3JhZ2UsXHJcbiAgICAgICAgcHJpdmF0ZSBvQXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogT0F1dGhSZXNvdXJjZVNlcnZlckVycm9ySGFuZGxlcixcclxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG1vZHVsZUNvbmZpZzogT0F1dGhNb2R1bGVDb25maWdcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja1VybCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5jdXN0b21VcmxWYWxpZGF0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5jdXN0b21VcmxWYWxpZGF0aW9uKHVybCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuYWxsb3dlZFVybHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuYWxsb3dlZFVybHMuZmluZCh1ID0+IHVybC5zdGFydHNXaXRoKHUpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICBwdWJsaWMgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCB1cmwgPSByZXEudXJsLnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cclxuICAgIGlmICghdGhpcy5tb2R1bGVDb25maWcpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzICYmICF0aGlzLmNoZWNrVXJsKHVybCkpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VuZEFjY2Vzc1Rva2VuID0gdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuc2VuZEFjY2Vzc1Rva2VuO1xyXG5cclxuICAgIGlmICghc2VuZEFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHJldHVybiBuZXh0XHJcbiAgICAgICAgLmhhbmRsZShyZXEpXHJcbiAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnIgPT4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtZXJnZShcclxuICAgICAgb2YodGhpcy5vQXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKSkucGlwZShcclxuICAgICAgICBmaWx0ZXIodG9rZW4gPT4gdG9rZW4gPyB0cnVlIDogZmFsc2UpLFxyXG4gICAgICApLFxyXG4gICAgICB0aGlzLm9BdXRoU2VydmljZS5ldmVudHMucGlwZShcclxuICAgICAgICBmaWx0ZXIoZSA9PiBlLnR5cGUgPT09ICd0b2tlbl9yZWNlaXZlZCcpLFxyXG4gICAgICAgIHRpbWVvdXQoV0FJVF9GT1JfVE9LRU5fUkVDRUlWRUQpLFxyXG4gICAgICAgIG1hcChfID0+IHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpLFxyXG4gICAgICApLFxyXG4gICAgKS5waXBlKFxyXG4gICAgICB0YWtlKDEpLFxyXG4gICAgICBtZXJnZU1hcCh0b2tlbiA9PiB7XHJcbiAgICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXIgPSAnQmVhcmVyICcgKyB0b2tlbjtcclxuICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSByZXEuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCBoZWFkZXIpO1xyXG4gICAgICAgICAgcmVxID0gcmVxLmNsb25lKHsgaGVhZGVycyB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXh0XHJcbiAgICAgICAgICAuaGFuZGxlKHJlcSlcclxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItb2F1dGgyLW9pZGMvIiwic291cmNlcyI6WyJpbnRlcmNlcHRvcnMvZGVmYXVsdC1vYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRckQsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7SUFHSSxpQ0FDWSxXQUF5QixFQUN6QixZQUEwQixFQUMxQixZQUE2QyxFQUNqQyxZQUErQjtRQUgzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBaUM7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQW1CO0lBQ25ELENBQUM7Ozs7OztJQUVHLDBDQUFROzs7OztJQUFoQixVQUFpQixHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQUksSUFB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QUFXLENBQUMsR0FBRyxDQUFDLEVBQWxDLENBQWtDLEVBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOztnQkF2RUYsVUFBVTs7OztnQkFIRixZQUFZO2dCQUNaLFlBQVk7Z0JBSFosK0JBQStCO2dCQUMvQixpQkFBaUIsdUJBV2pCLFFBQVE7O0lBaUVqQiw4QkFBQztDQUFBLEFBeEVELElBd0VDO1NBdkVZLHVCQUF1Qjs7Ozs7O0lBRzVCLDhDQUFpQzs7Ozs7SUFDakMsK0NBQWtDOzs7OztJQUNsQywrQ0FBcUQ7Ozs7O0lBQ3JELCtDQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFJlcXVlc3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIG1lcmdlTWFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPQXV0aFJlc291cmNlU2VydmVyRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9yZXNvdXJjZS1zZXJ2ZXItZXJyb3ItaGFuZGxlcic7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vb2F1dGgtbW9kdWxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IE9BdXRoU3RvcmFnZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vb2F1dGgtc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0T0F1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhdXRoU3RvcmFnZTogT0F1dGhTdG9yYWdlLFxyXG4gICAgICAgIHByaXZhdGUgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IE9BdXRoUmVzb3VyY2VTZXJ2ZXJFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBtb2R1bGVDb25maWc6IE9BdXRoTW9kdWxlQ29uZmlnXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuY3VzdG9tVXJsVmFsaWRhdGlvbih1cmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLmFsbG93ZWRVcmxzLmZpbmQodSA9PiB1cmwuc3RhcnRzV2l0aCh1KSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgcHVibGljIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgdXJsID0gcmVxLnVybC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHJcbiAgICBpZiAoIXRoaXMubW9kdWxlQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlcikge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5hbGxvd2VkVXJscyAmJiAhdGhpcy5jaGVja1VybCh1cmwpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbmRBY2Nlc3NUb2tlbiA9IHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLnNlbmRBY2Nlc3NUb2tlbjtcclxuXHJcbiAgICBpZiAoIXNlbmRBY2Nlc3NUb2tlbikge1xyXG4gICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgIC5oYW5kbGUocmVxKVxyXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgIG9mKHRoaXMub0F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHRva2VuID0+IHRva2VuID8gdHJ1ZSA6IGZhbHNlKSxcclxuICAgICAgKSxcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSxcclxuICAgICAgICB0aW1lb3V0KHRoaXMub0F1dGhTZXJ2aWNlLndhaXRGb3JUb2tlbkluTXNlYyksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihfID0+IG9mKG51bGwpKSwgLy8gdGltZW91dCBpcyBub3QgYW4gZXJyb3JcclxuICAgICAgICBtYXAoXyA9PiB0aGlzLm9BdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKSxcclxuICAgICAgKSxcclxuICAgICkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAodG9rZW4gPT4ge1xyXG4gICAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gJ0JlYXJlciAnICsgdG9rZW47XHJcbiAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgaGVhZGVyKTtcclxuICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7IGhlYWRlcnMgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV4dFxyXG4gICAgICAgICAgLmhhbmRsZShyZXEpXHJcbiAgICAgICAgICAucGlwZShjYXRjaEVycm9yKGVyciA9PiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnIpKSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19 |
@@ -7,3 +7,3 @@ { | ||
}, | ||
"version": "8.0.1", | ||
"version": "8.0.2", | ||
"repository": "manfredsteyer/angular-oauth2-oidc", | ||
@@ -10,0 +10,0 @@ "dependencies": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2068177
72
22654