abstract class org.apache.http.impl.client.AuthenticationStrategyImpl implements org.apache.http.client.AuthenticationStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.http.impl.client.AuthenticationStrategyImpl
  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 final java.util.List<java.lang.String> DEFAULT_SCHEME_PRIORITY;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final int challengeCode;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String headerName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 71
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 73
            ldc "Negotiate"
            aastore
            dup
            iconst_1
         2: .line 74
            ldc "Kerberos"
            aastore
            dup
            iconst_2
         3: .line 75
            ldc "NTLM"
            aastore
            dup
            iconst_3
         4: .line 76
            ldc "CredSSP"
            aastore
            dup
            iconst_4
         5: .line 77
            ldc "Digest"
            aastore
            dup
            iconst_5
         6: .line 78
            ldc "Basic"
            aastore
         7: .line 72
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic org.apache.http.impl.client.AuthenticationStrategyImpl.DEFAULT_SCHEME_PRIORITY:Ljava/util/List;
         8: .line 78
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // int challengeCode
        start local 2 // java.lang.String headerName
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            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;
            putfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
         2: .line 88
            aload 0 /* this */
            iload 1 /* challengeCode */
            putfield org.apache.http.impl.client.AuthenticationStrategyImpl.challengeCode:I
         3: .line 89
            aload 0 /* this */
            aload 2 /* headerName */
            putfield org.apache.http.impl.client.AuthenticationStrategyImpl.headerName:Ljava/lang/String;
         4: .line 90
            return
        end local 2 // java.lang.String headerName
        end local 1 // int challengeCode
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0    5     1  challengeCode  I
            0    5     2     headerName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      challengeCode  final
      headerName     final

  public boolean isAuthenticationRequested(org.apache.http.HttpHost, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // org.apache.http.HttpHost authhost
        start local 2 // org.apache.http.HttpResponse response
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 97
            aload 2 /* response */
            ldc "HTTP response"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 98
            aload 2 /* response */
            invokeinterface org.apache.http.HttpResponse.getStatusLine:()Lorg/apache/http/StatusLine;
            invokeinterface org.apache.http.StatusLine.getStatusCode:()I
            istore 4 /* status */
        start local 4 // int status
         2: .line 99
            iload 4 /* status */
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.challengeCode:I
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            ireturn
        end local 4 // int status
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.HttpResponse response
        end local 1 // org.apache.http.HttpHost authhost
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0    4     1  authhost  Lorg/apache/http/HttpHost;
            0    4     2  response  Lorg/apache/http/HttpResponse;
            0    4     3   context  Lorg/apache/http/protocol/HttpContext;
            2    4     4    status  I
    MethodParameters:
          Name  Flags
      authhost  final
      response  final
      context   final

  public java.util.Map<java.lang.String, org.apache.http.Header> getChallenges(org.apache.http.HttpHost, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=15, args_size=4
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // org.apache.http.HttpHost authhost
        start local 2 // org.apache.http.HttpResponse response
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 112
            aload 2 /* response */
            ldc "HTTP response"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 113
            aload 2 /* response */
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.headerName:Ljava/lang/String;
            invokeinterface org.apache.http.HttpResponse.getHeaders:(Ljava/lang/String;)[Lorg/apache/http/Header;
            astore 4 /* headers */
        start local 4 // org.apache.http.Header[] headers
         2: .line 114
            new java.util.HashMap
            dup
            aload 4 /* headers */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            astore 5 /* map */
        start local 5 // java.util.Map map
         3: .line 115
            aload 4 /* headers */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 26
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.Header[] java.util.Map top int int org.apache.http.Header[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* header */
        start local 6 // org.apache.http.Header header
         5: .line 118
            aload 6 /* header */
            instanceof org.apache.http.FormattedHeader
            ifeq 9
         6: .line 119
            aload 6 /* header */
            checkcast org.apache.http.FormattedHeader
            invokeinterface org.apache.http.FormattedHeader.getBuffer:()Lorg/apache/http/util/CharArrayBuffer;
            astore 10 /* buffer */
        start local 10 // org.apache.http.util.CharArrayBuffer buffer
         7: .line 120
            aload 6 /* header */
            checkcast org.apache.http.FormattedHeader
            invokeinterface org.apache.http.FormattedHeader.getValuePos:()I
            istore 11 /* pos */
        start local 11 // int pos
         8: .line 121
            goto 17
        end local 11 // int pos
        end local 10 // org.apache.http.util.CharArrayBuffer buffer
         9: .line 122
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.Header[] java.util.Map org.apache.http.Header int int org.apache.http.Header[]
      StackMap stack:
            aload 6 /* header */
            invokeinterface org.apache.http.Header.getValue:()Ljava/lang/String;
            astore 12 /* s */
        start local 12 // java.lang.String s
        10: .line 123
            aload 12 /* s */
            ifnonnull 12
        11: .line 124
            new org.apache.http.auth.MalformedChallengeException
            dup
            ldc "Header value is null"
            invokespecial org.apache.http.auth.MalformedChallengeException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 126
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.Header[] java.util.Map org.apache.http.Header int int org.apache.http.Header[] top top java.lang.String
      StackMap stack:
            new org.apache.http.util.CharArrayBuffer
            dup
            aload 12 /* s */
            invokevirtual java.lang.String.length:()I
            invokespecial org.apache.http.util.CharArrayBuffer.<init>:(I)V
            astore 10 /* buffer */
        start local 10 // org.apache.http.util.CharArrayBuffer buffer
        13: .line 127
            aload 10 /* buffer */
            aload 12 /* s */
            invokevirtual org.apache.http.util.CharArrayBuffer.append:(Ljava/lang/String;)V
        14: .line 128
            iconst_0
            istore 11 /* pos */
        end local 12 // java.lang.String s
        start local 11 // int pos
        15: .line 130
            goto 17
        16: .line 131
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.Header[] java.util.Map org.apache.http.Header int int org.apache.http.Header[] org.apache.http.util.CharArrayBuffer int
      StackMap stack:
            iinc 11 /* pos */ 1
        17: .line 130
      StackMap locals:
      StackMap stack:
            iload 11 /* pos */
            aload 10 /* buffer */
            invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
            if_icmpge 18
            aload 10 /* buffer */
            iload 11 /* pos */
            invokevirtual org.apache.http.util.CharArrayBuffer.charAt:(I)C
            invokestatic org.apache.http.protocol.HTTP.isWhitespace:(C)Z
            ifne 16
        18: .line 133
      StackMap locals:
      StackMap stack:
            iload 11 /* pos */
            istore 12 /* beginIndex */
        start local 12 // int beginIndex
        19: .line 134
            goto 21
        20: .line 135
      StackMap locals: int
      StackMap stack:
            iinc 11 /* pos */ 1
        21: .line 134
      StackMap locals:
      StackMap stack:
            iload 11 /* pos */
            aload 10 /* buffer */
            invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
            if_icmpge 22
            aload 10 /* buffer */
            iload 11 /* pos */
            invokevirtual org.apache.http.util.CharArrayBuffer.charAt:(I)C
            invokestatic org.apache.http.protocol.HTTP.isWhitespace:(C)Z
            ifeq 20
        22: .line 137
      StackMap locals:
      StackMap stack:
            iload 11 /* pos */
            istore 13 /* endIndex */
        start local 13 // int endIndex
        23: .line 138
            aload 10 /* buffer */
            iload 12 /* beginIndex */
            iload 13 /* endIndex */
            invokevirtual org.apache.http.util.CharArrayBuffer.substring:(II)Ljava/lang/String;
            astore 14 /* s */
        start local 14 // java.lang.String s
        24: .line 139
            aload 5 /* map */
            aload 14 /* s */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 6 /* header */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // java.lang.String s
        end local 13 // int endIndex
        end local 12 // int beginIndex
        end local 11 // int pos
        end local 10 // org.apache.http.util.CharArrayBuffer buffer
        end local 6 // org.apache.http.Header header
        25: .line 115
            iinc 7 1
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.Header[] java.util.Map top int int org.apache.http.Header[]
      StackMap stack:
        26: iload 7
            iload 8
            if_icmplt 4
        27: .line 141
            aload 5 /* map */
            areturn
        end local 5 // java.util.Map map
        end local 4 // org.apache.http.Header[] headers
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.HttpResponse response
        end local 1 // org.apache.http.HttpHost authhost
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0   28     1    authhost  Lorg/apache/http/HttpHost;
            0   28     2    response  Lorg/apache/http/HttpResponse;
            0   28     3     context  Lorg/apache/http/protocol/HttpContext;
            2   28     4     headers  [Lorg/apache/http/Header;
            3   28     5         map  Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/Header;>;
            5   25     6      header  Lorg/apache/http/Header;
            7    9    10      buffer  Lorg/apache/http/util/CharArrayBuffer;
           13   25    10      buffer  Lorg/apache/http/util/CharArrayBuffer;
            8    9    11         pos  I
           15   25    11         pos  I
           10   15    12           s  Ljava/lang/String;
           19   25    12  beginIndex  I
           23   25    13    endIndex  I
           24   25    14           s  Ljava/lang/String;
    Exceptions:
      throws org.apache.http.auth.MalformedChallengeException
    Signature: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/Header;>;
    MethodParameters:
          Name  Flags
      authhost  final
      response  final
      context   final

  abstract java.util.Collection<java.lang.String> getPreferredAuthSchemes(org.apache.http.client.config.RequestConfig);
    descriptor: (Lorg/apache/http/client/config/RequestConfig;)Ljava/util/Collection;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Lorg/apache/http/client/config/RequestConfig;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      config  

  public java.util.Queue<org.apache.http.auth.AuthOption> select(java.util.Map<java.lang.String, org.apache.http.Header>, org.apache.http.HttpHost, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
    descriptor: (Ljava/util/Map;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Queue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=5
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // java.util.Map challenges
        start local 2 // org.apache.http.HttpHost authhost
        start local 3 // org.apache.http.HttpResponse response
        start local 4 // org.apache.http.protocol.HttpContext context
         0: .line 152
            aload 1 /* challenges */
            ldc "Map of auth challenges"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 153
            aload 2 /* authhost */
            ldc "Host"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 154
            aload 3 /* response */
            ldc "HTTP response"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 155
            aload 4 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 156
            aload 4 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 5 /* clientContext */
        start local 5 // org.apache.http.client.protocol.HttpClientContext clientContext
         5: .line 158
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 6 /* options */
        start local 6 // java.util.Queue options
         6: .line 159
            aload 5 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getAuthSchemeRegistry:()Lorg/apache/http/config/Lookup;
            astore 7 /* registry */
        start local 7 // org.apache.http.config.Lookup registry
         7: .line 160
            aload 7 /* registry */
            ifnonnull 10
         8: .line 161
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            ldc "Auth scheme registry not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 162
            aload 6 /* options */
            areturn
        10: .line 164
      StackMap locals: org.apache.http.client.protocol.HttpClientContext java.util.Queue org.apache.http.config.Lookup
      StackMap stack:
            aload 5 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getCredentialsProvider:()Lorg/apache/http/client/CredentialsProvider;
            astore 8 /* credsProvider */
        start local 8 // org.apache.http.client.CredentialsProvider credsProvider
        11: .line 165
            aload 8 /* credsProvider */
            ifnonnull 14
        12: .line 166
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            ldc "Credentials provider not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 167
            aload 6 /* options */
            areturn
        14: .line 169
      StackMap locals: org.apache.http.client.CredentialsProvider
      StackMap stack:
            aload 5 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequestConfig:()Lorg/apache/http/client/config/RequestConfig;
            astore 9 /* config */
        start local 9 // org.apache.http.client.config.RequestConfig config
        15: .line 170
            aload 0 /* this */
            aload 9 /* config */
            invokevirtual org.apache.http.impl.client.AuthenticationStrategyImpl.getPreferredAuthSchemes:(Lorg/apache/http/client/config/RequestConfig;)Ljava/util/Collection;
            astore 10 /* authPrefs */
        start local 10 // java.util.Collection authPrefs
        16: .line 171
            aload 10 /* authPrefs */
            ifnonnull 18
        17: .line 172
            getstatic org.apache.http.impl.client.AuthenticationStrategyImpl.DEFAULT_SCHEME_PRIORITY:Ljava/util/List;
            astore 10 /* authPrefs */
        18: .line 174
      StackMap locals: org.apache.http.client.config.RequestConfig java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 20
        19: .line 175
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Authentication schemes in the order of preference: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* authPrefs */
            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
        20: .line 178
      StackMap locals:
      StackMap stack:
            aload 10 /* authPrefs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 12
            goto 42
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl java.util.Map org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.client.protocol.HttpClientContext java.util.Queue org.apache.http.config.Lookup org.apache.http.client.CredentialsProvider org.apache.http.client.config.RequestConfig java.util.Collection top java.util.Iterator
      StackMap stack:
        21: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* id */
        start local 11 // java.lang.String id
        22: .line 179
            aload 1 /* challenges */
            aload 11 /* 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 13 /* challenge */
        start local 13 // org.apache.http.Header challenge
        23: .line 180
            aload 13 /* challenge */
            ifnull 40
        24: .line 181
            aload 7 /* registry */
            aload 11 /* id */
            invokeinterface org.apache.http.config.Lookup.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.apache.http.auth.AuthSchemeProvider
            astore 14 /* authSchemeProvider */
        start local 14 // org.apache.http.auth.AuthSchemeProvider authSchemeProvider
        25: .line 182
            aload 14 /* authSchemeProvider */
            ifnonnull 29
        26: .line 183
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 42
        27: .line 184
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Authentication scheme "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not supported"
            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
        28: .line 187
            goto 42
        29: .line 189
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl java.util.Map org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.client.protocol.HttpClientContext java.util.Queue org.apache.http.config.Lookup org.apache.http.client.CredentialsProvider org.apache.http.client.config.RequestConfig java.util.Collection java.lang.String java.util.Iterator org.apache.http.Header org.apache.http.auth.AuthSchemeProvider
      StackMap stack:
            aload 14 /* authSchemeProvider */
            aload 4 /* context */
            invokeinterface org.apache.http.auth.AuthSchemeProvider.create:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/auth/AuthScheme;
            astore 15 /* authScheme */
        start local 15 // org.apache.http.auth.AuthScheme authScheme
        30: .line 190
            aload 15 /* authScheme */
            aload 13 /* challenge */
            invokeinterface org.apache.http.auth.AuthScheme.processChallenge:(Lorg/apache/http/Header;)V
        31: .line 192
            new org.apache.http.auth.AuthScope
            dup
        32: .line 193
            aload 2 /* authhost */
        33: .line 194
            aload 15 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getRealm:()Ljava/lang/String;
        34: .line 195
            aload 15 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
        35: .line 192
            invokespecial org.apache.http.auth.AuthScope.<init>:(Lorg/apache/http/HttpHost;Ljava/lang/String;Ljava/lang/String;)V
            astore 16 /* authScope */
        start local 16 // org.apache.http.auth.AuthScope authScope
        36: .line 197
            aload 8 /* credsProvider */
            aload 16 /* authScope */
            invokeinterface org.apache.http.client.CredentialsProvider.getCredentials:(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials;
            astore 17 /* credentials */
        start local 17 // org.apache.http.auth.Credentials credentials
        37: .line 198
            aload 17 /* credentials */
            ifnull 42
        38: .line 199
            aload 6 /* options */
            new org.apache.http.auth.AuthOption
            dup
            aload 15 /* authScheme */
            aload 17 /* credentials */
            invokespecial org.apache.http.auth.AuthOption.<init>:(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;)V
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // org.apache.http.auth.Credentials credentials
        end local 16 // org.apache.http.auth.AuthScope authScope
        end local 15 // org.apache.http.auth.AuthScheme authScheme
        end local 14 // org.apache.http.auth.AuthSchemeProvider authSchemeProvider
        39: .line 201
            goto 42
        40: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 42
        41: .line 203
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Challenge for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " authentication scheme not available"
            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
        end local 13 // org.apache.http.Header challenge
        end local 11 // java.lang.String id
        42: .line 178
      StackMap locals: org.apache.http.impl.client.AuthenticationStrategyImpl java.util.Map org.apache.http.HttpHost org.apache.http.HttpResponse org.apache.http.protocol.HttpContext org.apache.http.client.protocol.HttpClientContext java.util.Queue org.apache.http.config.Lookup org.apache.http.client.CredentialsProvider org.apache.http.client.config.RequestConfig java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        43: .line 208
            aload 6 /* options */
            areturn
        end local 10 // java.util.Collection authPrefs
        end local 9 // org.apache.http.client.config.RequestConfig config
        end local 8 // org.apache.http.client.CredentialsProvider credsProvider
        end local 7 // org.apache.http.config.Lookup registry
        end local 6 // java.util.Queue options
        end local 5 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 4 // org.apache.http.protocol.HttpContext context
        end local 3 // org.apache.http.HttpResponse response
        end local 2 // org.apache.http.HttpHost authhost
        end local 1 // java.util.Map challenges
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0                this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0   44     1          challenges  Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/Header;>;
            0   44     2            authhost  Lorg/apache/http/HttpHost;
            0   44     3            response  Lorg/apache/http/HttpResponse;
            0   44     4             context  Lorg/apache/http/protocol/HttpContext;
            5   44     5       clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
            6   44     6             options  Ljava/util/Queue<Lorg/apache/http/auth/AuthOption;>;
            7   44     7            registry  Lorg/apache/http/config/Lookup<Lorg/apache/http/auth/AuthSchemeProvider;>;
           11   44     8       credsProvider  Lorg/apache/http/client/CredentialsProvider;
           15   44     9              config  Lorg/apache/http/client/config/RequestConfig;
           16   44    10           authPrefs  Ljava/util/Collection<Ljava/lang/String;>;
           22   42    11                  id  Ljava/lang/String;
           23   42    13           challenge  Lorg/apache/http/Header;
           25   39    14  authSchemeProvider  Lorg/apache/http/auth/AuthSchemeProvider;
           30   39    15          authScheme  Lorg/apache/http/auth/AuthScheme;
           36   39    16           authScope  Lorg/apache/http/auth/AuthScope;
           37   39    17         credentials  Lorg/apache/http/auth/Credentials;
    Exceptions:
      throws org.apache.http.auth.MalformedChallengeException
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/Header;>;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Queue<Lorg/apache/http/auth/AuthOption;>;
    MethodParameters:
            Name  Flags
      challenges  final
      authhost    final
      response    final
      context     final

  public void authSucceeded(org.apache.http.HttpHost, org.apache.http.auth.AuthScheme, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // org.apache.http.HttpHost authhost
        start local 2 // org.apache.http.auth.AuthScheme authScheme
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 214
            aload 1 /* authhost */
            ldc "Host"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 215
            aload 2 /* authScheme */
            ldc "Auth scheme"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 216
            aload 3 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 218
            aload 3 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 4 /* clientContext */
        start local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
         4: .line 220
            aload 0 /* this */
            aload 2 /* authScheme */
            invokevirtual org.apache.http.impl.client.AuthenticationStrategyImpl.isCachable:(Lorg/apache/http/auth/AuthScheme;)Z
            ifeq 14
         5: .line 221
            aload 4 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getAuthCache:()Lorg/apache/http/client/AuthCache;
            astore 5 /* authCache */
        start local 5 // org.apache.http.client.AuthCache authCache
         6: .line 222
            aload 5 /* authCache */
            ifnonnull 9
         7: .line 223
            new org.apache.http.impl.client.BasicAuthCache
            dup
            invokespecial org.apache.http.impl.client.BasicAuthCache.<init>:()V
            astore 5 /* authCache */
         8: .line 224
            aload 4 /* clientContext */
            aload 5 /* authCache */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.setAuthCache:(Lorg/apache/http/client/AuthCache;)V
         9: .line 226
      StackMap locals: org.apache.http.client.protocol.HttpClientContext org.apache.http.client.AuthCache
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 13
        10: .line 227
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Caching '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 228
            ldc "' auth scheme for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* authhost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 227
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 230
      StackMap locals:
      StackMap stack:
            aload 5 /* authCache */
            aload 1 /* authhost */
            aload 2 /* authScheme */
            invokeinterface org.apache.http.client.AuthCache.put:(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;)V
        end local 5 // org.apache.http.client.AuthCache authCache
        14: .line 232
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.auth.AuthScheme authScheme
        end local 1 // org.apache.http.HttpHost authhost
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0   15     1       authhost  Lorg/apache/http/HttpHost;
            0   15     2     authScheme  Lorg/apache/http/auth/AuthScheme;
            0   15     3        context  Lorg/apache/http/protocol/HttpContext;
            4   15     4  clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
            6   14     5      authCache  Lorg/apache/http/client/AuthCache;
    MethodParameters:
            Name  Flags
      authhost    final
      authScheme  final
      context     final

  protected boolean isCachable(org.apache.http.auth.AuthScheme);
    descriptor: (Lorg/apache/http/auth/AuthScheme;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // org.apache.http.auth.AuthScheme authScheme
         0: .line 235
            aload 1 /* authScheme */
            ifnull 1
            aload 1 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.isComplete:()Z
            ifne 2
         1: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
            astore 2 /* schemeName */
        start local 2 // java.lang.String schemeName
         3: .line 239
            aload 2 /* schemeName */
            ldc "Basic"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String schemeName
        end local 1 // org.apache.http.auth.AuthScheme authScheme
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0    4     1  authScheme  Lorg/apache/http/auth/AuthScheme;
            3    4     2  schemeName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      authScheme  final

  public void authFailed(org.apache.http.HttpHost, org.apache.http.auth.AuthScheme, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/protocol/HttpContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
        start local 1 // org.apache.http.HttpHost authhost
        start local 2 // org.apache.http.auth.AuthScheme authScheme
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 245
            aload 1 /* authhost */
            ldc "Host"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 246
            aload 3 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 248
            aload 3 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 4 /* clientContext */
        start local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
         3: .line 250
            aload 4 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getAuthCache:()Lorg/apache/http/client/AuthCache;
            astore 5 /* authCache */
        start local 5 // org.apache.http.client.AuthCache authCache
         4: .line 251
            aload 5 /* authCache */
            ifnull 8
         5: .line 252
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         6: .line 253
            aload 0 /* this */
            getfield org.apache.http.impl.client.AuthenticationStrategyImpl.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Clearing cached auth scheme for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* authhost */
            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
         7: .line 255
      StackMap locals: org.apache.http.client.protocol.HttpClientContext org.apache.http.client.AuthCache
      StackMap stack:
            aload 5 /* authCache */
            aload 1 /* authhost */
            invokeinterface org.apache.http.client.AuthCache.remove:(Lorg/apache/http/HttpHost;)V
         8: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.http.client.AuthCache authCache
        end local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.auth.AuthScheme authScheme
        end local 1 // org.apache.http.HttpHost authhost
        end local 0 // org.apache.http.impl.client.AuthenticationStrategyImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/http/impl/client/AuthenticationStrategyImpl;
            0    9     1       authhost  Lorg/apache/http/HttpHost;
            0    9     2     authScheme  Lorg/apache/http/auth/AuthScheme;
            0    9     3        context  Lorg/apache/http/protocol/HttpContext;
            3    9     4  clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
            4    9     5      authCache  Lorg/apache/http/client/AuthCache;
    MethodParameters:
            Name  Flags
      authhost    final
      authScheme  final
      context     final
}
SourceFile: "AuthenticationStrategyImpl.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE:Lorg/apache/http/annotation/ThreadingBehavior;)