1import{a as Y}from"./chunk-3LSMZHWJ.js";import{a as J,b as K,c as X}from"./chunk-G2UWYJJA.js";import{a as W,b as q,c as u,d as z,e as n}from"./chunk-2BMVK4E5.js";import{i as Q}from"./chunk-JFRDUKHT.js";import{J as H,a as N,f as M,g as V,o as k}from"./chunk-ILWEEXDQ.js";import{a as B}from"./chunk-SIPRBOS4.js";import"./chunk-VUNDLCZV.js";import{U as F,d as a,e as G,f as j,na as d}from"./chunk-HUFVZX6R.js";import{Aa as D,Ea as E,Fa as x,Ga as A,Sb as _,Tb as P,U as l,V as I,Y as i,Ya as f,Z as L,_ as b,ia as p,la as g,ma as U,n as m,pa as y,pb as O,qa as w,xa as c,ya as R,za as C}from"./chunk-KQTSFH7H.js";var Z=(()=>{let t=class t{constructor(){this.logoutService=i(u),this.pages=i(d),i(N).onReady.subscribe(()=>this.performLogout())}performLogout(){this.logoutService.logout().subscribe({error:()=>{console.warn("Logout failed"),this.pages.routes.error.root.navigate()}})}};t.\u0275fac=function(o){return new(o||t)},t.\u0275cmp=g({type:t,selectors:[["ng-component"]],standalone:!1,features:[f([u,n.PROVIDER])],decls:0,vars:0,template:function(o,s){},encapsulation:2});let e=t;return e})();function et(e,t){if(e&1){let tt=E();R(0,"iam-button-row")(1,"iam-button",3),x("buttonClick",function(){L(tt);let o=A();return b(o.continue(o.continueTarget))}),C()()}e&2&&(p(),c("id","login")("text","authentication.logout.disclaimer.actions.login")("autofocus",!0)("right",!0))}var $=(()=>{let t=class t extends K{get pageId(){return"iamLogoutDisclaimer"}constructor(){super(),this.bodyAttributes={[J]:X.Authentication},this.routes=i(F),this.router=i(_),this.service=i(u);let r=this.router.currentNavigation()?.extras.state?.target;r?this.continueTarget=new q(r):this.continueTarget=this.service.getDisclaimerContinueTarget()}continue(r){this.routes.navigateTo(r.url)}getUiConfig(){return this.service.getUiConfig()}};t.\u0275fac=function(o){return new(o||t)},t.\u0275cmp=g({type:t,selectors:[["ng-component"]],standalone:!1,features:[f([u,n.PROVIDER]),y],decls:3,vars:6,consts:[[3,"pageId","bodyAttributes","title","isNonFlowPage"],[3,"text"],[4,"ngIf"],[3,"buttonClick","id","text","autofocus","right"]],template:function(o,s){o&1&&(R(0,"iam-page",0),D(1,"iam-text-message",1),w(2,et,2,4,"iam-button-row",2),C()),o&2&&(c("pageId",s.pageId)("bodyAttributes",s.bodyAttributes)("title","authentication.logout.disclaimer.title")("isNonFlowPage",!0),p(),c("text","authentication.logout.disclaimer.description"),p(),c("ngIf",s.continueTarget.hasTarget()))},dependencies:[O,M,V,k,H],encapsulation:2});let e=t;return e})();var v=(()=>{let t=class t{constructor(){this.store=i(G),this.pages=i(d)}resumeLogout(){let r=this.loadSingleLogoutUris();if(!r)return console.error("Single logout URIs not found in store. Direct call to resume?"),this.pages.routes.error.root.navigate(),m(!1);if(r.isEmpty()){let s=this.loadTargetUri();return this.cleanUpSessionStorage(),this.navigateToTarget(s)}let o=this.buildNextTargetUri(r);return this.pages.routes.navigateTo(o.toString()),m(!1)}cleanUpSessionStorage(){this.store.clearValue(a.LOGOUT_TARGET_URI),this.store.clearValue(a.SINGLE_LOGOUT_REDIRECT_URIS)}buildNextTargetUri(r){let o=r.popFirst();this.store.setObject(a.SINGLE_LOGOUT_REDIRECT_URIS,r);let s=new URL(this.pages.routes.auth.logout.resume.fullyQualifiedUrl()),T=new URL(o,window.location.origin);return T.searchParams.append("Location",s.toString()),T}loadTargetUri(){return this.store.getValue(a.LOGOUT_TARGET_URI)}loadSingleLogoutUris(){return Y(W,this.store.getObject(a.SINGLE_LOGOUT_REDIRECT_URIS))}navigateToTarget(r){let o={};return this.store.getObject(a.SHOW_DISCLAIMER_PAGE)?(o.queryParams=this.pages.routes.getCurrentQueryParameters(),o.state={target:r},this.store.clearValue(a.SHOW_DISCLAIMER_PAGE),this.pages.routes.auth.logout.disclaimer.navigate(o),m(!1)):j.isBlank(r)?(console.error("Navigation target must not be undefined."),this.pages.routes.error.root.navigate(),m(!1)):(this.pages.routes.navigateTo(r,o),m(!1))}};t.\u0275fac=function(o){return new(o||t)},t.\u0275prov=l({token:t,factory:t.\u0275fac});let e=t;return e})();var S=(()=>{let t=class t{constructor(){this.service=i(v)}canActivate(){return this.service.resumeLogout()}};t.\u0275fac=function(o){return new(o||t)},t.\u0275prov=l({token:t,factory:t.\u0275fac});let e=t;return e})();var ot=[{path:"",component:Z,pathMatch:"full",resolve:{logoutConfig:e=>i(n).resolve(e)},runGuardsAndResolvers:"always"},{path:"resume",pathMatch:"full",canActivate:[()=>i(S).canActivate()],runGuardsAndResolvers:"always",component:B},{path:"disclaimer",component:$,resolve:{logoutConfig:e=>i(n).resolve(e)},runGuardsAndResolvers:"always"}],Yt=(()=>{let t=class t{};t.\u0275fac=function(o){return new(o||t)},t.\u0275mod=U({type:t}),t.\u0275inj=I({providers:[S,n,n.PROVIDER,z,u,v],imports:[P.forChild(ot),Q]});let e=t;return e})();export{Yt as LogoutModule};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.