public class org.apache.catalina.authenticator.SingleSignOn extends org.apache.catalina.valves.ValveBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.authenticator.SingleSignOn
  super_class: org.apache.catalina.valves.ValveBase
{
  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.apache.catalina.Engine engine;
    descriptor: Lorg/apache/catalina/Engine;
    flags: (0x0002) ACC_PRIVATE

  protected java.util.Map<java.lang.String, org.apache.catalina.authenticator.SingleSignOnEntry> cache;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/catalina/authenticator/SingleSignOnEntry;>;

  private boolean requireReauthentication;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cookieDomain;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            ldc Lorg/apache/catalina/authenticator/SingleSignOn;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 73
            aload 0 /* this */
            iconst_1
            invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
         1: .line 83
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
         2: .line 90
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
         3: .line 74
            return
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public java.lang.String getCookieDomain();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 107
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public void setCookieDomain(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String cookieDomain
         0: .line 117
            aload 1 /* cookieDomain */
            ifnull 3
            aload 1 /* cookieDomain */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 3
         1: .line 118
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
         2: .line 119
            goto 4
         3: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cookieDomain */
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
         4: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String cookieDomain
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    5     1  cookieDomain  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      cookieDomain  

  public boolean getRequireReauthentication();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 143
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
            ireturn
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public void setRequireReauthentication(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // boolean required
         0: .line 188
            aload 0 /* this */
            iload 1 /* required */
            putfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
         1: .line 189
            return
        end local 1 // boolean required
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    2     1  required  Z
    MethodParameters:
          Name  Flags
      required  

  public void invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
    descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // org.apache.catalina.connector.Request request
        start local 2 // org.apache.catalina.connector.Response response
         0: .line 207
            aload 1 /* request */
            ldc "org.apache.catalina.request.SSOID"
            invokevirtual org.apache.catalina.connector.Request.removeNote:(Ljava/lang/String;)V
         1: .line 210
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 211
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.invoke"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
            ifnull 10
         4: .line 214
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 8
         5: .line 215
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.hasPrincipal"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 216
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
         7: .line 215
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
         9: .line 219
            return
        10: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 224
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.cookieCheck"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        12: .line 226
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cookie */
        start local 3 // javax.servlet.http.Cookie cookie
        13: .line 227
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getCookies:()[Ljavax/servlet/http/Cookie;
            astore 4 /* cookies */
        start local 4 // javax.servlet.http.Cookie[] cookies
        14: .line 228
            aload 4 /* cookies */
            ifnull 22
        15: .line 229
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 21
        17: .line 230
      StackMap locals: javax.servlet.http.Cookie javax.servlet.http.Cookie[] int
      StackMap stack:
            getstatic org.apache.catalina.authenticator.Constants.SINGLE_SIGN_ON_COOKIE:Ljava/lang/String;
            aload 4 /* cookies */
            iload 5 /* i */
            aaload
            invokevirtual javax.servlet.http.Cookie.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 231
            aload 4 /* cookies */
            iload 5 /* i */
            aaload
            astore 3 /* cookie */
        19: .line 232
            goto 22
        20: .line 229
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 4 /* cookies */
            arraylength
            if_icmplt 17
        end local 5 // int i
        22: .line 236
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            ifnonnull 27
        23: .line 237
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 25
        24: .line 238
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.cookieNotFound"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        25: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
        26: .line 241
            return
        27: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 31
        28: .line 246
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalCheck"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 247
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getValue:()Ljava/lang/String;
            aastore
        30: .line 246
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        31: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getValue:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 5 /* entry */
        start local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        32: .line 250
            aload 5 /* entry */
            ifnull 45
        33: .line 251
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 40
        34: .line 252
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalFound"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        35: .line 253
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            ifnull 36
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            goto 37
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response javax.servlet.http.Cookie javax.servlet.http.Cookie[] org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int
        36: ldc ""
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response javax.servlet.http.Cookie javax.servlet.http.Cookie[] org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        37: aastore
            dup
            iconst_1
        38: .line 254
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            aastore
        39: .line 252
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        40: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            ldc "org.apache.catalina.request.SSOID"
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getValue:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 258
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getRequireReauthentication:()Z
            ifne 60
        42: .line 259
            aload 1 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
        43: .line 260
            aload 1 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
        44: .line 262
            goto 60
        45: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 49
        46: .line 264
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        47: .line 265
            aload 3 /* cookie */
            invokevirtual javax.servlet.http.Cookie.getValue:()Ljava/lang/String;
            aastore
        48: .line 264
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        49: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            ldc "REMOVE"
            invokevirtual javax.servlet.http.Cookie.setValue:(Ljava/lang/String;)V
        50: .line 270
            aload 3 /* cookie */
            iconst_0
            invokevirtual javax.servlet.http.Cookie.setMaxAge:(I)V
        51: .line 273
            aload 3 /* cookie */
            ldc "/"
            invokevirtual javax.servlet.http.Cookie.setPath:(Ljava/lang/String;)V
        52: .line 274
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getCookieDomain:()Ljava/lang/String;
            astore 6 /* domain */
        start local 6 // java.lang.String domain
        53: .line 275
            aload 6 /* domain */
            ifnull 55
        54: .line 276
            aload 3 /* cookie */
            aload 6 /* domain */
            invokevirtual javax.servlet.http.Cookie.setDomain:(Ljava/lang/String;)V
        55: .line 281
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* cookie */
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.isSecure:()Z
            invokevirtual javax.servlet.http.Cookie.setSecure:(Z)V
        56: .line 282
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getServletContext:()Ljavax/servlet/ServletContext;
            invokeinterface javax.servlet.ServletContext.getSessionCookieConfig:()Ljavax/servlet/SessionCookieConfig;
            invokeinterface javax.servlet.SessionCookieConfig.isHttpOnly:()Z
            ifne 58
        57: .line 283
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getUseHttpOnly:()Z
            ifeq 59
        58: .line 284
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            iconst_1
            invokevirtual javax.servlet.http.Cookie.setHttpOnly:(Z)V
        59: .line 287
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            aload 3 /* cookie */
            invokevirtual org.apache.catalina.connector.Response.addCookie:(Ljavax/servlet/http/Cookie;)V
        end local 6 // java.lang.String domain
        60: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
        61: .line 292
            return
        end local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 4 // javax.servlet.http.Cookie[] cookies
        end local 3 // javax.servlet.http.Cookie cookie
        end local 2 // org.apache.catalina.connector.Response response
        end local 1 // org.apache.catalina.connector.Request request
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   62     0      this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   62     1   request  Lorg/apache/catalina/connector/Request;
            0   62     2  response  Lorg/apache/catalina/connector/Response;
           13   62     3    cookie  Ljavax/servlet/http/Cookie;
           14   62     4   cookies  [Ljavax/servlet/http/Cookie;
           16   22     5         i  I
           32   62     5     entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
           53   60     6    domain  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, javax.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  

  public void sessionDestroyed(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 308
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifne 2
         1: .line 309
            return
         2: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getMaxInactiveInterval:()I
            ifle 4
         3: .line 317
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getIdleTimeInternal:()J
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getMaxInactiveInterval:()I
            sipush 1000
            imul
            i2l
            lcmp
            ifge 5
         4: .line 318
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getManager:()Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifne 11
         5: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 9
         6: .line 320
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.sessionTimeout"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 321
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
         8: .line 320
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.removeSession:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
        10: .line 324
            goto 18
        11: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 15
        12: .line 329
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.sessionLogout"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 330
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
        14: .line 329
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        15: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.removeSession:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
        16: .line 339
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 340
            aload 0 /* this */
            aload 1 /* ssoId */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.deregister:(Ljava/lang/String;)V
        18: .line 343
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   19     1    ssoId  Ljava/lang/String;
            0   19     2  session  Lorg/apache/catalina/Session;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected boolean associate(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 357
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 3 /* sso */
        start local 3 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 358
            aload 3 /* sso */
            ifnonnull 7
         2: .line 359
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 6
         3: .line 360
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.associateFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 361
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
         5: .line 360
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 363
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            iconst_0
            ireturn
         7: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 11
         8: .line 366
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.associate"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 367
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
        10: .line 366
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 369
      StackMap locals:
      StackMap stack:
            aload 3 /* sso */
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.addSession:(Lorg/apache/catalina/authenticator/SingleSignOn;Ljava/lang/String;Lorg/apache/catalina/Session;)V
        12: .line 370
            iconst_1
            ireturn
        end local 3 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   13     1    ssoId  Ljava/lang/String;
            0   13     2  session  Lorg/apache/catalina/Session;
            1   13     3      sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected void deregister(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
         0: .line 384
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 2 /* sso */
        start local 2 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 386
            aload 2 /* sso */
            ifnonnull 5
         2: .line 387
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
         3: .line 388
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregisterFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 390
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            return
         5: .line 394
      StackMap locals:
      StackMap stack:
            aload 2 /* sso */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.findSessions:()Ljava/util/Set;
            astore 3 /* ssoKeys */
        start local 3 // java.util.Set ssoKeys
         6: .line 395
            aload 3 /* ssoKeys */
            invokeinterface java.util.Set.size:()I
            ifne 9
         7: .line 396
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 9
         8: .line 397
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregisterNone"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 400
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* ssoKeys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnSessionKey
            astore 4 /* ssoKey */
        start local 4 // org.apache.catalina.authenticator.SingleSignOnSessionKey ssoKey
        11: .line 401
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 13
        12: .line 402
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregister"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ssoKey */
            aastore
            dup
            iconst_1
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 405
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set org.apache.catalina.authenticator.SingleSignOnSessionKey java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ssoKey */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.expire:(Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;)V
        end local 4 // org.apache.catalina.authenticator.SingleSignOnSessionKey ssoKey
        14: .line 400
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 411
            return
        end local 3 // java.util.Set ssoKeys
        end local 2 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   16     1    ssoId  Ljava/lang/String;
            1   16     2      sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
            6   16     3  ssoKeys  Ljava/util/Set<Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;>;
           11   14     4   ssoKey  Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;
    MethodParameters:
       Name  Flags
      ssoId  

  private void expire(org.apache.catalina.authenticator.SingleSignOnSessionKey);
    descriptor: (Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // org.apache.catalina.authenticator.SingleSignOnSessionKey key
         0: .line 415
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
            ifnonnull 3
         1: .line 416
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.engineNull"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         2: .line 417
            return
         3: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getHostName:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Engine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 2 /* host */
        start local 2 // org.apache.catalina.Container host
         4: .line 420
            aload 2 /* host */
            ifnonnull 7
         5: .line 421
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.hostNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         6: .line 422
            return
         7: .line 424
      StackMap locals: org.apache.catalina.Container
      StackMap stack:
            aload 2 /* host */
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getContextName:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Context
            astore 3 /* context */
        start local 3 // org.apache.catalina.Context context
         8: .line 425
            aload 3 /* context */
            ifnonnull 11
         9: .line 426
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.contextNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        10: .line 427
            return
        11: .line 429
      StackMap locals: org.apache.catalina.Context
      StackMap stack:
            aload 3 /* context */
            invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
            astore 4 /* manager */
        start local 4 // org.apache.catalina.Manager manager
        12: .line 430
            aload 4 /* manager */
            ifnonnull 15
        13: .line 431
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.managerNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        14: .line 432
            return
        15: .line 434
      StackMap locals: org.apache.catalina.Manager
      StackMap stack:
            aconst_null
            astore 5 /* session */
        start local 5 // org.apache.catalina.Session session
        16: .line 436
            aload 4 /* manager */
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getSessionId:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Manager.findSession:(Ljava/lang/String;)Lorg/apache/catalina/Session;
            astore 5 /* session */
        17: .line 437
            goto 21
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.authenticator.SingleSignOnSessionKey org.apache.catalina.Container org.apache.catalina.Context org.apache.catalina.Manager org.apache.catalina.Session
      StackMap stack: java.io.IOException
        18: astore 6 /* e */
        start local 6 // java.io.IOException e
        19: .line 438
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.managerError"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 6 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        20: .line 439
            return
        end local 6 // java.io.IOException e
        21: .line 441
      StackMap locals:
      StackMap stack:
            aload 5 /* session */
            ifnonnull 24
        22: .line 442
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.sessionNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        23: .line 443
            return
        24: .line 445
      StackMap locals:
      StackMap stack:
            aload 5 /* session */
            invokeinterface org.apache.catalina.Session.expire:()V
        25: .line 446
            return
        end local 5 // org.apache.catalina.Session session
        end local 4 // org.apache.catalina.Manager manager
        end local 3 // org.apache.catalina.Context context
        end local 2 // org.apache.catalina.Container host
        end local 1 // org.apache.catalina.authenticator.SingleSignOnSessionKey key
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   26     1      key  Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;
            4   26     2     host  Lorg/apache/catalina/Container;
            8   26     3  context  Lorg/apache/catalina/Context;
           12   26     4  manager  Lorg/apache/catalina/Manager;
           16   26     5  session  Lorg/apache/catalina/Session;
           19   21     6        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          16    17      18  Class java.io.IOException
    MethodParameters:
      Name  Flags
      key   

  protected boolean reauthenticate(java.lang.String, org.apache.catalina.Realm, org.apache.catalina.connector.Request);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Realm;Lorg/apache/catalina/connector/Request;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Realm realm
        start local 3 // org.apache.catalina.connector.Request request
         0: .line 473
            aload 1 /* ssoId */
            ifnull 1
            aload 2 /* realm */
            ifnonnull 2
         1: .line 474
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 477
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* reauthenticated */
        start local 4 // boolean reauthenticated
         3: .line 479
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 5 /* entry */
        start local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
         4: .line 480
            aload 5 /* entry */
            ifnull 13
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getCanReauthenticate:()Z
            ifeq 13
         5: .line 482
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getUsername:()Ljava/lang/String;
            astore 6 /* username */
        start local 6 // java.lang.String username
         6: .line 483
            aload 6 /* username */
            ifnull 13
         7: .line 485
            aload 2 /* realm */
            aload 6 /* username */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPassword:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Realm.authenticate:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
         8: .line 484
            astore 7 /* reauthPrincipal */
        start local 7 // java.security.Principal reauthPrincipal
         9: .line 486
            aload 7 /* reauthPrincipal */
            ifnull 13
        10: .line 487
            iconst_1
            istore 4 /* reauthenticated */
        11: .line 489
            aload 3 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
        12: .line 490
            aload 3 /* request */
            aload 7 /* reauthPrincipal */
            invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
        end local 7 // java.security.Principal reauthPrincipal
        end local 6 // java.lang.String username
        13: .line 495
      StackMap locals: int org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            iload 4 /* reauthenticated */
            ireturn
        end local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 4 // boolean reauthenticated
        end local 3 // org.apache.catalina.connector.Request request
        end local 2 // org.apache.catalina.Realm realm
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   14     1            ssoId  Ljava/lang/String;
            0   14     2            realm  Lorg/apache/catalina/Realm;
            0   14     3          request  Lorg/apache/catalina/connector/Request;
            3   14     4  reauthenticated  Z
            4   14     5            entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
            6   13     6         username  Ljava/lang/String;
            9   13     7  reauthPrincipal  Ljava/security/Principal;
    MethodParameters:
         Name  Flags
      ssoId    
      realm    
      request  

  protected void register(java.lang.String, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // java.security.Principal principal
        start local 3 // java.lang.String authType
        start local 4 // java.lang.String username
        start local 5 // java.lang.String password
         0: .line 513
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 6
         1: .line 514
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.register"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
         2: .line 515
            aload 2 /* principal */
            ifnull 3
            aload 2 /* principal */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            goto 4
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String java.security.Principal java.lang.String java.lang.String java.lang.String
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int
         3: ldc ""
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String java.security.Principal java.lang.String java.lang.String java.lang.String
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         4: aastore
            dup
            iconst_2
            aload 3 /* authType */
            aastore
         5: .line 514
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            new org.apache.catalina.authenticator.SingleSignOnEntry
            dup
            aload 2 /* principal */
            aload 3 /* authType */
            aload 4 /* username */
            aload 5 /* password */
            invokespecial org.apache.catalina.authenticator.SingleSignOnEntry.<init>:(Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 519
            return
        end local 5 // java.lang.String password
        end local 4 // java.lang.String username
        end local 3 // java.lang.String authType
        end local 2 // java.security.Principal principal
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    8     1      ssoId  Ljava/lang/String;
            0    8     2  principal  Ljava/security/Principal;
            0    8     3   authType  Ljava/lang/String;
            0    8     4   username  Ljava/lang/String;
            0    8     5   password  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      ssoId      
      principal  
      authType   
      username   
      password   

  protected boolean update(java.lang.String, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // java.security.Principal principal
        start local 3 // java.lang.String authType
        start local 4 // java.lang.String username
        start local 5 // java.lang.String password
         0: .line 553
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 6 /* sso */
        start local 6 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 554
            aload 6 /* sso */
            ifnull 6
            aload 6 /* sso */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getCanReauthenticate:()Z
            ifne 6
         2: .line 555
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
         3: .line 556
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.update"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 3 /* authType */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 559
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            aload 6 /* sso */
            aload 2 /* principal */
            aload 3 /* authType */
            aload 4 /* username */
            aload 5 /* password */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.updateCredentials:(Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 560
            iconst_1
            ireturn
         6: .line 562
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 5 // java.lang.String password
        end local 4 // java.lang.String username
        end local 3 // java.lang.String authType
        end local 2 // java.security.Principal principal
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    7     1      ssoId  Ljava/lang/String;
            0    7     2  principal  Ljava/security/Principal;
            0    7     3   authType  Ljava/lang/String;
            0    7     4   username  Ljava/lang/String;
            0    7     5   password  Ljava/lang/String;
            1    7     6        sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
           Name  Flags
      ssoId      
      principal  
      authType   
      username   
      password   

  protected void removeSession(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 575
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 576
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.removeSession"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* session */
            aastore
            dup
            iconst_1
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 3 /* entry */
        start local 3 // org.apache.catalina.authenticator.SingleSignOnEntry entry
         3: .line 581
            aload 3 /* entry */
            ifnonnull 5
         4: .line 582
            return
         5: .line 586
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            aload 3 /* entry */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.removeSession:(Lorg/apache/catalina/Session;)V
         6: .line 590
            aload 3 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.findSessions:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifne 8
         7: .line 591
            aload 0 /* this */
            aload 1 /* ssoId */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.deregister:(Ljava/lang/String;)V
         8: .line 593
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    9     1    ssoId  Ljava/lang/String;
            0    9     2  session  Lorg/apache/catalina/Session;
            3    9     3    entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected org.apache.catalina.SessionListener getSessionListener(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/catalina/SessionListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
         0: .line 597
            new org.apache.catalina.authenticator.SingleSignOnListener
            dup
            aload 1 /* ssoId */
            invokespecial org.apache.catalina.authenticator.SingleSignOnListener.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    1     1  ssoId  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      ssoId  

  protected synchronized void startInternal();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 603
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getContainer:()Lorg/apache/catalina/Container;
            astore 1 /* c */
        start local 1 // org.apache.catalina.Container c
         1: .line 604
            goto 3
         2: .line 605
      StackMap locals: org.apache.catalina.Container
      StackMap stack:
            aload 1 /* c */
            invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
            astore 1 /* c */
         3: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ifnull 4
            aload 1 /* c */
            instanceof org.apache.catalina.Engine
            ifeq 2
         4: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ifnull 6
         5: .line 608
            aload 0 /* this */
            aload 1 /* c */
            checkcast org.apache.catalina.Engine
            putfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
         6: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.catalina.valves.ValveBase.startInternal:()V
         7: .line 611
            return
        end local 1 // org.apache.catalina.Container c
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;
            1    8     1     c  Lorg/apache/catalina/Container;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected synchronized void stopInternal();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 616
            aload 0 /* this */
            invokespecial org.apache.catalina.valves.ValveBase.stopInternal:()V
         1: .line 617
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
         2: .line 618
            return
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;
    Exceptions:
      throws org.apache.catalina.LifecycleException
}
SourceFile: "SingleSignOn.java"