public class org.apache.http.impl.auth.HttpAuthenticator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.auth.HttpAuthenticator
  super_class: java.lang.Object
{
  private final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$apache$http$auth$AuthProtocolState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(org.apache.commons.logging.Log);
    descriptor: (Lorg/apache/commons/logging/Log;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.commons.logging.Log log
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* log */
            ifnull 2
            aload 1 /* log */
            goto 3
      StackMap locals: org.apache.http.impl.auth.HttpAuthenticator org.apache.commons.logging.Log
      StackMap stack: org.apache.http.impl.auth.HttpAuthenticator
         2: aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
      StackMap locals: org.apache.http.impl.auth.HttpAuthenticator org.apache.commons.logging.Log
      StackMap stack: org.apache.http.impl.auth.HttpAuthenticator org.apache.commons.logging.Log
         3: putfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
         4: .line 64
            return
        end local 1 // org.apache.commons.logging.Log log
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0    5     1   log  Lorg/apache/commons/logging/Log;
    MethodParameters:
      Name  Flags
      log   final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
         0: .line 67
            aload 0 /* this */
            aconst_null
            invokespecial org.apache.http.impl.auth.HttpAuthenticator.<init>:(Lorg/apache/commons/logging/Log;)V
         1: .line 68
            return
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/http/impl/auth/HttpAuthenticator;

  public boolean isAuthenticationRequested(org.apache.http.HttpHost, org.apache.http.HttpResponse, org.apache.http.client.AuthenticationStrategy, org.apache.http.auth.AuthState, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.http.HttpHost host
        start local 2 // org.apache.http.HttpResponse response
        start local 3 // org.apache.http.client.AuthenticationStrategy authStrategy
        start local 4 // org.apache.http.auth.AuthState authState
        start local 5 // org.apache.http.protocol.HttpContext context
         0: .line 76
            aload 3 /* authStrategy */
            aload 1 /* host */
            aload 2 /* response */
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.isAuthenticationRequested:(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z
            ifeq 5
         1: .line 77
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Authentication required"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 78
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            getstatic org.apache.http.auth.AuthProtocolState.SUCCESS:Lorg/apache/http/auth/AuthProtocolState;
            if_acmpne 4
         3: .line 79
            aload 3 /* authStrategy */
            aload 1 /* host */
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.authFailed:(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
         4: .line 81
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 83
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.http.impl.auth.HttpAuthenticator.$SWITCH_TABLE$org$apache$http$auth$AuthProtocolState:()[I
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 6
                    3: 6
                    4: 11
                    5: 10
              default: 11
          }
         6: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Authentication succeeded"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 87
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.SUCCESS:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
         8: .line 88
            aload 3 /* authStrategy */
            aload 1 /* host */
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.authSucceeded:(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
         9: .line 89
            goto 12
        10: .line 91
      StackMap locals:
      StackMap stack:
            goto 12
        11: .line 93
      StackMap locals:
      StackMap stack:
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
        12: .line 95
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.apache.http.protocol.HttpContext context
        end local 4 // org.apache.http.auth.AuthState authState
        end local 3 // org.apache.http.client.AuthenticationStrategy authStrategy
        end local 2 // org.apache.http.HttpResponse response
        end local 1 // org.apache.http.HttpHost host
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0   13     1          host  Lorg/apache/http/HttpHost;
            0   13     2      response  Lorg/apache/http/HttpResponse;
            0   13     3  authStrategy  Lorg/apache/http/client/AuthenticationStrategy;
            0   13     4     authState  Lorg/apache/http/auth/AuthState;
            0   13     5       context  Lorg/apache/http/protocol/HttpContext;
    MethodParameters:
              Name  Flags
      host          final
      response      final
      authStrategy  final
      authState     final
      context       final

  public boolean handleAuthChallenge(org.apache.http.HttpHost, org.apache.http.HttpResponse, org.apache.http.client.AuthenticationStrategy, org.apache.http.auth.AuthState, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.http.HttpHost host
        start local 2 // org.apache.http.HttpResponse response
        start local 3 // org.apache.http.client.AuthenticationStrategy authStrategy
        start local 4 // org.apache.http.auth.AuthState authState
        start local 5 // org.apache.http.protocol.HttpContext context
         0: .line 105
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 106
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 1 /* host */
            invokevirtual org.apache.http.HttpHost.toHostString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " requested authentication"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 3 /* authStrategy */
            aload 1 /* host */
            aload 2 /* response */
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.getChallenges:(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Map;
            astore 6 /* challenges */
        start local 6 // java.util.Map challenges
         3: .line 109
            aload 6 /* challenges */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 6
         4: .line 110
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Response contains no authentication challenges"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         5: .line 111
            iconst_0
            ireturn
         6: .line 114
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            astore 7 /* authScheme */
        start local 7 // org.apache.http.auth.AuthScheme authScheme
         7: .line 115
            invokestatic org.apache.http.impl.auth.HttpAuthenticator.$SWITCH_TABLE$org$apache$http$auth$AuthProtocolState:()[I
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 17
                    2: 11
                    3: 11
                    4: 8
                    5: 9
              default: 32
          }
         8: .line 117
      StackMap locals: org.apache.http.auth.AuthScheme
      StackMap stack:
            iconst_0
            ireturn
         9: .line 119
      StackMap locals:
      StackMap stack:
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.reset:()V
        10: .line 120
            goto 32
        11: .line 123
      StackMap locals:
      StackMap stack:
            aload 7 /* authScheme */
            ifnonnull 17
        12: .line 124
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Auth scheme is null"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 125
            aload 3 /* authStrategy */
            aload 1 /* host */
            aconst_null
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.authFailed:(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
        14: .line 126
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.reset:()V
        15: .line 127
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.FAILURE:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
        16: .line 128
            iconst_0
            ireturn
        17: .line 131
      StackMap locals:
      StackMap stack:
            aload 7 /* authScheme */
            ifnull 32
        18: .line 132
            aload 7 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
            astore 8 /* id */
        start local 8 // java.lang.String id
        19: .line 133
            aload 6 /* challenges */
            aload 8 /* id */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.http.Header
            astore 9 /* challenge */
        start local 9 // org.apache.http.Header challenge
        20: .line 134
            aload 9 /* challenge */
            ifnull 31
        21: .line 135
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Authorization challenge processed"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        22: .line 136
            aload 7 /* authScheme */
            aload 9 /* challenge */
            invokeinterface org.apache.http.auth.AuthScheme.processChallenge:(Lorg/apache/http/Header;)V
        23: .line 137
            aload 7 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.isComplete:()Z
            ifeq 29
        24: .line 138
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            ldc "Authentication failed"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        25: .line 139
            aload 3 /* authStrategy */
            aload 1 /* host */
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.authFailed:(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
        26: .line 140
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.reset:()V
        27: .line 141
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.FAILURE:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
        28: .line 142
            iconst_0
            ireturn
        29: .line 144
      StackMap locals: java.lang.String org.apache.http.Header
      StackMap stack:
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.HANDSHAKE:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
        30: .line 145
            iconst_1
            ireturn
        31: .line 147
      StackMap locals:
      StackMap stack:
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.reset:()V
        end local 9 // org.apache.http.Header challenge
        end local 8 // java.lang.String id
        32: .line 151
      StackMap locals:
      StackMap stack:
            aload 3 /* authStrategy */
            aload 6 /* challenges */
            aload 1 /* host */
            aload 2 /* response */
            aload 5 /* context */
            invokeinterface org.apache.http.client.AuthenticationStrategy.select:(Ljava/util/Map;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Queue;
            astore 8 /* authOptions */
        start local 8 // java.util.Queue authOptions
        33: .line 152
            aload 8 /* authOptions */
            ifnull 39
            aload 8 /* authOptions */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifne 39
        34: .line 153
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 36
        35: .line 154
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Selected authentication options: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* authOptions */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        36: .line 156
      StackMap locals: java.util.Queue
      StackMap stack:
            aload 4 /* authState */
            getstatic org.apache.http.auth.AuthProtocolState.CHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthState.setState:(Lorg/apache/http/auth/AuthProtocolState;)V
        37: .line 157
            aload 4 /* authState */
            aload 8 /* authOptions */
            invokevirtual org.apache.http.auth.AuthState.update:(Ljava/util/Queue;)V
        38: .line 158
            iconst_1
            ireturn
        39: .line 160
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // java.util.Queue authOptions
        end local 7 // org.apache.http.auth.AuthScheme authScheme
        end local 6 // java.util.Map challenges
        40: .line 161
      StackMap locals: org.apache.http.impl.auth.HttpAuthenticator org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.client.AuthenticationStrategy org.apache.http.auth.AuthState org.apache.http.protocol.HttpContext
      StackMap stack: org.apache.http.auth.MalformedChallengeException
            astore 6 /* ex */
        start local 6 // org.apache.http.auth.MalformedChallengeException ex
        41: .line 162
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 43
        42: .line 163
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Malformed challenge: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* ex */
            invokevirtual org.apache.http.auth.MalformedChallengeException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        43: .line 165
      StackMap locals: org.apache.http.auth.MalformedChallengeException
      StackMap stack:
            aload 4 /* authState */
            invokevirtual org.apache.http.auth.AuthState.reset:()V
        44: .line 166
            iconst_0
            ireturn
        end local 6 // org.apache.http.auth.MalformedChallengeException ex
        end local 5 // org.apache.http.protocol.HttpContext context
        end local 4 // org.apache.http.auth.AuthState authState
        end local 3 // org.apache.http.client.AuthenticationStrategy authStrategy
        end local 2 // org.apache.http.HttpResponse response
        end local 1 // org.apache.http.HttpHost host
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   45     0          this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0   45     1          host  Lorg/apache/http/HttpHost;
            0   45     2      response  Lorg/apache/http/HttpResponse;
            0   45     3  authStrategy  Lorg/apache/http/client/AuthenticationStrategy;
            0   45     4     authState  Lorg/apache/http/auth/AuthState;
            0   45     5       context  Lorg/apache/http/protocol/HttpContext;
            3   40     6    challenges  Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/Header;>;
            7   40     7    authScheme  Lorg/apache/http/auth/AuthScheme;
           19   32     8            id  Ljava/lang/String;
           20   32     9     challenge  Lorg/apache/http/Header;
           33   40     8   authOptions  Ljava/util/Queue<Lorg/apache/http/auth/AuthOption;>;
           41   45     6            ex  Lorg/apache/http/auth/MalformedChallengeException;
      Exception table:
        from    to  target  type
           0     5      40  Class org.apache.http.auth.MalformedChallengeException
           6     8      40  Class org.apache.http.auth.MalformedChallengeException
           9    16      40  Class org.apache.http.auth.MalformedChallengeException
          17    28      40  Class org.apache.http.auth.MalformedChallengeException
          29    30      40  Class org.apache.http.auth.MalformedChallengeException
          31    38      40  Class org.apache.http.auth.MalformedChallengeException
    MethodParameters:
              Name  Flags
      host          final
      response      final
      authStrategy  final
      authState     final
      context       final

  public void generateAuthResponse(org.apache.http.HttpRequest, org.apache.http.auth.AuthState, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpRequest;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.http.HttpRequest request
        start local 2 // org.apache.http.auth.AuthState authState
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 174
            aload 2 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            astore 4 /* authScheme */
        start local 4 // org.apache.http.auth.AuthScheme authScheme
         1: .line 175
            aload 2 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getCredentials:()Lorg/apache/http/auth/Credentials;
            astore 5 /* creds */
        start local 5 // org.apache.http.auth.Credentials creds
         2: .line 176
            invokestatic org.apache.http.impl.auth.HttpAuthenticator.$SWITCH_TABLE$org$apache$http$auth$AuthProtocolState:()[I
            aload 2 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 7
                    3: 27
                    4: 3
                    5: 4
              default: 27
          }
         3: .line 178
      StackMap locals: org.apache.http.auth.AuthScheme org.apache.http.auth.Credentials
      StackMap stack:
            return
         4: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* authScheme */
            invokevirtual org.apache.http.impl.auth.HttpAuthenticator.ensureAuthScheme:(Lorg/apache/http/auth/AuthScheme;)V
         5: .line 181
            aload 4 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.isConnectionBased:()Z
            ifeq 27
         6: .line 182
            return
         7: .line 186
      StackMap locals:
      StackMap stack:
            aload 2 /* authState */
            invokevirtual org.apache.http.auth.AuthState.getAuthOptions:()Ljava/util/Queue;
            astore 6 /* authOptions */
        start local 6 // java.util.Queue authOptions
         8: .line 187
            aload 6 /* authOptions */
            ifnull 26
         9: .line 188
            goto 24
        10: .line 189
      StackMap locals: java.util.Queue
      StackMap stack:
            aload 6 /* authOptions */
            invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
            checkcast org.apache.http.auth.AuthOption
            astore 7 /* authOption */
        start local 7 // org.apache.http.auth.AuthOption authOption
        11: .line 190
            aload 7 /* authOption */
            invokevirtual org.apache.http.auth.AuthOption.getAuthScheme:()Lorg/apache/http/auth/AuthScheme;
            astore 4 /* authScheme */
        12: .line 191
            aload 7 /* authOption */
            invokevirtual org.apache.http.auth.AuthOption.getCredentials:()Lorg/apache/http/auth/Credentials;
            astore 5 /* creds */
        13: .line 192
            aload 2 /* authState */
            aload 4 /* authScheme */
            aload 5 /* creds */
            invokevirtual org.apache.http.auth.AuthState.update:(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;)V
        14: .line 193
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 18
        15: .line 194
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Generating response to an authentication challenge using "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 195
            aload 4 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " scheme"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 194
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        18: .line 198
      StackMap locals: org.apache.http.auth.AuthOption
      StackMap stack:
            aload 0 /* this */
            aload 4 /* authScheme */
            aload 5 /* creds */
            aload 1 /* request */
            aload 3 /* context */
            invokevirtual org.apache.http.impl.auth.HttpAuthenticator.doAuth:(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/Header;
            astore 8 /* header */
        start local 8 // org.apache.http.Header header
        19: .line 199
            aload 1 /* request */
            aload 8 /* header */
            invokeinterface org.apache.http.HttpRequest.addHeader:(Lorg/apache/http/Header;)V
        20: .line 200
            goto 25
        end local 8 // org.apache.http.Header header
        21: .line 201
      StackMap locals:
      StackMap stack: org.apache.http.auth.AuthenticationException
            astore 8 /* ex */
        start local 8 // org.apache.http.auth.AuthenticationException ex
        22: .line 202
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 24
        23: .line 203
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* authScheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " authentication error: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ex */
            invokevirtual org.apache.http.auth.AuthenticationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        end local 8 // org.apache.http.auth.AuthenticationException ex
        end local 7 // org.apache.http.auth.AuthOption authOption
        24: .line 188
      StackMap locals:
      StackMap stack:
            aload 6 /* authOptions */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 10
        25: .line 207
      StackMap locals:
      StackMap stack:
            return
        26: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* authScheme */
            invokevirtual org.apache.http.impl.auth.HttpAuthenticator.ensureAuthScheme:(Lorg/apache/http/auth/AuthScheme;)V
        end local 6 // java.util.Queue authOptions
        27: .line 211
      StackMap locals:
      StackMap stack:
            aload 4 /* authScheme */
            ifnull 34
        28: .line 213
            aload 0 /* this */
            aload 4 /* authScheme */
            aload 5 /* creds */
            aload 1 /* request */
            aload 3 /* context */
            invokevirtual org.apache.http.impl.auth.HttpAuthenticator.doAuth:(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/Header;
            astore 6 /* header */
        start local 6 // org.apache.http.Header header
        29: .line 214
            aload 1 /* request */
            aload 6 /* header */
            invokeinterface org.apache.http.HttpRequest.addHeader:(Lorg/apache/http/Header;)V
        end local 6 // org.apache.http.Header header
        30: .line 215
            goto 34
      StackMap locals:
      StackMap stack: org.apache.http.auth.AuthenticationException
        31: astore 6 /* ex */
        start local 6 // org.apache.http.auth.AuthenticationException ex
        32: .line 216
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isErrorEnabled:()Z
            ifeq 34
        33: .line 217
            aload 0 /* this */
            getfield org.apache.http.impl.auth.HttpAuthenticator.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* authScheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " authentication error: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ex */
            invokevirtual org.apache.http.auth.AuthenticationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;)V
        end local 6 // org.apache.http.auth.AuthenticationException ex
        34: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.http.auth.Credentials creds
        end local 4 // org.apache.http.auth.AuthScheme authScheme
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.auth.AuthState authState
        end local 1 // org.apache.http.HttpRequest request
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0   35     1      request  Lorg/apache/http/HttpRequest;
            0   35     2    authState  Lorg/apache/http/auth/AuthState;
            0   35     3      context  Lorg/apache/http/protocol/HttpContext;
            1   35     4   authScheme  Lorg/apache/http/auth/AuthScheme;
            2   35     5        creds  Lorg/apache/http/auth/Credentials;
            8   27     6  authOptions  Ljava/util/Queue<Lorg/apache/http/auth/AuthOption;>;
           11   24     7   authOption  Lorg/apache/http/auth/AuthOption;
           19   21     8       header  Lorg/apache/http/Header;
           22   24     8           ex  Lorg/apache/http/auth/AuthenticationException;
           29   30     6       header  Lorg/apache/http/Header;
           32   34     6           ex  Lorg/apache/http/auth/AuthenticationException;
      Exception table:
        from    to  target  type
          18    20      21  Class org.apache.http.auth.AuthenticationException
          28    30      31  Class org.apache.http.auth.AuthenticationException
    Exceptions:
      throws org.apache.http.HttpException, java.io.IOException
    MethodParameters:
           Name  Flags
      request    final
      authState  final
      context    final

  private void ensureAuthScheme(org.apache.http.auth.AuthScheme);
    descriptor: (Lorg/apache/http/auth/AuthScheme;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.http.auth.AuthScheme authScheme
         0: .line 224
            aload 1 /* authScheme */
            ldc "Auth scheme"
            invokestatic org.apache.http.util.Asserts.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 225
            return
        end local 1 // org.apache.http.auth.AuthScheme authScheme
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0    2     1  authScheme  Lorg/apache/http/auth/AuthScheme;
    MethodParameters:
            Name  Flags
      authScheme  final

  private org.apache.http.Header doAuth(org.apache.http.auth.AuthScheme, org.apache.http.auth.Credentials, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/Header;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.apache.http.impl.auth.HttpAuthenticator this
        start local 1 // org.apache.http.auth.AuthScheme authScheme
        start local 2 // org.apache.http.auth.Credentials creds
        start local 3 // org.apache.http.HttpRequest request
        start local 4 // org.apache.http.protocol.HttpContext context
         0: .line 233
            aload 1 /* authScheme */
            instanceof org.apache.http.auth.ContextAwareAuthScheme
            ifeq 5
         1: .line 234
            aload 1 /* authScheme */
            checkcast org.apache.http.auth.ContextAwareAuthScheme
            aload 2 /* creds */
            aload 3 /* request */
         2: .line 235
            aload 4 /* context */
         3: .line 234
            invokeinterface org.apache.http.auth.ContextAwareAuthScheme.authenticate:(Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/Header;
         4: .line 235
            goto 6
         5: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* authScheme */
            aload 2 /* creds */
            aload 3 /* request */
            invokeinterface org.apache.http.auth.AuthScheme.authenticate:(Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;)Lorg/apache/http/Header;
         6: .line 233
      StackMap locals:
      StackMap stack: org.apache.http.Header
            areturn
        end local 4 // org.apache.http.protocol.HttpContext context
        end local 3 // org.apache.http.HttpRequest request
        end local 2 // org.apache.http.auth.Credentials creds
        end local 1 // org.apache.http.auth.AuthScheme authScheme
        end local 0 // org.apache.http.impl.auth.HttpAuthenticator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/http/impl/auth/HttpAuthenticator;
            0    7     1  authScheme  Lorg/apache/http/auth/AuthScheme;
            0    7     2       creds  Lorg/apache/http/auth/Credentials;
            0    7     3     request  Lorg/apache/http/HttpRequest;
            0    7     4     context  Lorg/apache/http/protocol/HttpContext;
    Exceptions:
      throws org.apache.http.auth.AuthenticationException
    MethodParameters:
            Name  Flags
      authScheme  final
      creds       final
      request     final
      context     final

  static int[] $SWITCH_TABLE$org$apache$http$auth$AuthProtocolState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 57
            getstatic org.apache.http.impl.auth.HttpAuthenticator.$SWITCH_TABLE$org$apache$http$auth$AuthProtocolState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.http.auth.AuthProtocolState.values:()[Lorg/apache/http/auth/AuthProtocolState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.http.auth.AuthProtocolState.CHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.http.auth.AuthProtocolState.FAILURE:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.http.auth.AuthProtocolState.HANDSHAKE:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.http.auth.AuthProtocolState.SUCCESS:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.http.auth.AuthProtocolState.UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            invokevirtual org.apache.http.auth.AuthProtocolState.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.apache.http.impl.auth.HttpAuthenticator.$SWITCH_TABLE$org$apache$http$auth$AuthProtocolState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "HttpAuthenticator.java"