class sun.net.www.protocol.http.DigestAuthentication extends sun.net.www.protocol.http.AuthenticationInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.net.www.protocol.http.DigestAuthentication
  super_class: sun.net.www.protocol.http.AuthenticationInfo
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

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

  sun.net.www.protocol.http.DigestAuthentication$Parameters params;
    descriptor: Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
    flags: (0x0000) 

  private static final char[] charArray;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] zeroPad;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 47
            ldc Lsun/net/www/protocol/http/DigestAuthentication;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.net.www.protocol.http.DigestAuthentication.$assertionsDisabled:Z
         3: .line 440
            bipush 16
            newarray 5
            dup
            iconst_0
         4: .line 441
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
         5: .line 442
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 97
            castore
            dup
            bipush 11
            bipush 98
            castore
            dup
            bipush 12
            bipush 99
            castore
            dup
            bipush 13
            bipush 100
            castore
            dup
            bipush 14
            bipush 101
            castore
            dup
            bipush 15
            bipush 102
            castore
         6: .line 440
            putstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
         7: .line 445
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 447
            ldc "00000000"
            aastore
            dup
            iconst_1
            ldc "0000000"
            aastore
            dup
            iconst_2
            ldc "000000"
            aastore
            dup
            iconst_3
            ldc "00000"
            aastore
            dup
            iconst_4
            ldc "0000"
            aastore
            dup
            iconst_5
            ldc "000"
            aastore
            dup
            bipush 6
            ldc "00"
            aastore
            dup
            bipush 7
            ldc "0"
            aastore
         9: .line 445
            putstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
        10: .line 448
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(boolean, java.net.URL, java.lang.String, java.lang.String, java.net.PasswordAuthentication, sun.net.www.protocol.http.DigestAuthentication$Parameters);
    descriptor: (ZLjava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/net/PasswordAuthentication;Lsun/net/www/protocol/http/DigestAuthentication$Parameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // boolean isProxy
        start local 2 // java.net.URL url
        start local 3 // java.lang.String realm
        start local 4 // java.lang.String authMethod
        start local 5 // java.net.PasswordAuthentication pw
        start local 6 // sun.net.www.protocol.http.DigestAuthentication$Parameters params
         0: .line 175
            aload 0 /* this */
            iload 1 /* isProxy */
            ifeq 1
            bipush 112
            goto 2
      StackMap locals:
      StackMap stack: uninitialized-this
         1: bipush 115
         2: .line 176
      StackMap locals: uninitialized-this int java.net.URL java.lang.String java.lang.String java.net.PasswordAuthentication sun.net.www.protocol.http.DigestAuthentication$Parameters
      StackMap stack: uninitialized-this int
            getstatic sun.net.www.protocol.http.AuthScheme.DIGEST:Lsun/net/www/protocol/http/AuthScheme;
         3: .line 177
            aload 2 /* url */
         4: .line 178
            aload 3 /* realm */
            invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/net/URL;Ljava/lang/String;)V
         5: .line 179
            aload 0 /* this */
            aload 4 /* authMethod */
            putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
         6: .line 180
            aload 0 /* this */
            aload 5 /* pw */
            putfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
         7: .line 181
            aload 0 /* this */
            aload 6 /* params */
            putfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
         8: .line 182
            return
        end local 6 // sun.net.www.protocol.http.DigestAuthentication$Parameters params
        end local 5 // java.net.PasswordAuthentication pw
        end local 4 // java.lang.String authMethod
        end local 3 // java.lang.String realm
        end local 2 // java.net.URL url
        end local 1 // boolean isProxy
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lsun/net/www/protocol/http/DigestAuthentication;
            0    9     1     isProxy  Z
            0    9     2         url  Ljava/net/URL;
            0    9     3       realm  Ljava/lang/String;
            0    9     4  authMethod  Ljava/lang/String;
            0    9     5          pw  Ljava/net/PasswordAuthentication;
            0    9     6      params  Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
    MethodParameters:
            Name  Flags
      isProxy     
      url         
      realm       
      authMethod  
      pw          
      params      

  public void <init>(boolean, java.lang.String, int, java.lang.String, java.lang.String, java.net.PasswordAuthentication, sun.net.www.protocol.http.DigestAuthentication$Parameters);
    descriptor: (ZLjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/net/PasswordAuthentication;Lsun/net/www/protocol/http/DigestAuthentication$Parameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // boolean isProxy
        start local 2 // java.lang.String host
        start local 3 // int port
        start local 4 // java.lang.String realm
        start local 5 // java.lang.String authMethod
        start local 6 // java.net.PasswordAuthentication pw
        start local 7 // sun.net.www.protocol.http.DigestAuthentication$Parameters params
         0: .line 187
            aload 0 /* this */
            iload 1 /* isProxy */
            ifeq 1
            bipush 112
            goto 2
      StackMap locals:
      StackMap stack: uninitialized-this
         1: bipush 115
         2: .line 188
      StackMap locals: uninitialized-this int java.lang.String int java.lang.String java.lang.String java.net.PasswordAuthentication sun.net.www.protocol.http.DigestAuthentication$Parameters
      StackMap stack: uninitialized-this int
            getstatic sun.net.www.protocol.http.AuthScheme.DIGEST:Lsun/net/www/protocol/http/AuthScheme;
         3: .line 189
            aload 2 /* host */
         4: .line 190
            iload 3 /* port */
         5: .line 191
            aload 4 /* realm */
            invokespecial sun.net.www.protocol.http.AuthenticationInfo.<init>:(CLsun/net/www/protocol/http/AuthScheme;Ljava/lang/String;ILjava/lang/String;)V
         6: .line 192
            aload 0 /* this */
            aload 5 /* authMethod */
            putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
         7: .line 193
            aload 0 /* this */
            aload 6 /* pw */
            putfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
         8: .line 194
            aload 0 /* this */
            aload 7 /* params */
            putfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
         9: .line 195
            return
        end local 7 // sun.net.www.protocol.http.DigestAuthentication$Parameters params
        end local 6 // java.net.PasswordAuthentication pw
        end local 5 // java.lang.String authMethod
        end local 4 // java.lang.String realm
        end local 3 // int port
        end local 2 // java.lang.String host
        end local 1 // boolean isProxy
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   10     1     isProxy  Z
            0   10     2        host  Ljava/lang/String;
            0   10     3        port  I
            0   10     4       realm  Ljava/lang/String;
            0   10     5  authMethod  Ljava/lang/String;
            0   10     6          pw  Ljava/net/PasswordAuthentication;
            0   10     7      params  Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
    MethodParameters:
            Name  Flags
      isProxy     
      host        
      port        
      realm       
      authMethod  
      pw          
      params      

  boolean supportsPreemptiveAuthorization();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
         0: .line 201
            iconst_1
            ireturn
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/www/protocol/http/DigestAuthentication;

  java.lang.String getHeaderName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
         0: .line 208
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.type:C
            bipush 115
            if_icmpne 2
         1: .line 209
            ldc "Authorization"
            areturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            ldc "Proxy-Authorization"
            areturn
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/net/www/protocol/http/DigestAuthentication;

  java.lang.String getHeaderValue(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // java.net.URL url
        start local 2 // java.lang.String method
         0: .line 220
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            aload 2 /* method */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderValueImpl:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String method
        end local 1 // java.net.URL url
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/net/www/protocol/http/DigestAuthentication;
            0    1     1     url  Ljava/net/URL;
            0    1     2  method  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      url     
      method  

  boolean isAuthorizationStale(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // java.lang.String header
         0: .line 232
            new sun.net.www.HeaderParser
            dup
            aload 1 /* header */
            invokespecial sun.net.www.HeaderParser.<init>:(Ljava/lang/String;)V
            astore 2 /* p */
        start local 2 // sun.net.www.HeaderParser p
         1: .line 233
            aload 2 /* p */
            ldc "stale"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         2: .line 234
            aload 3 /* s */
            ifnull 3
            aload 3 /* s */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 235
      StackMap locals: sun.net.www.HeaderParser java.lang.String
      StackMap stack:
            iconst_0
            ireturn
         4: .line 236
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            ldc "nonce"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* newNonce */
        start local 4 // java.lang.String newNonce
         5: .line 237
            aload 4 /* newNonce */
            ifnull 6
            ldc ""
            aload 4 /* newNonce */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 238
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
         7: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 4 /* newNonce */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
         8: .line 241
            iconst_1
            ireturn
        end local 4 // java.lang.String newNonce
        end local 3 // java.lang.String s
        end local 2 // sun.net.www.HeaderParser p
        end local 1 // java.lang.String header
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/net/www/protocol/http/DigestAuthentication;
            0    9     1    header  Ljava/lang/String;
            1    9     2         p  Lsun/net/www/HeaderParser;
            2    9     3         s  Ljava/lang/String;
            5    9     4  newNonce  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      header  

  boolean setHeaders(sun.net.www.protocol.http.HttpURLConnection, sun.net.www.HeaderParser, java.lang.String);
    descriptor: (Lsun/net/www/protocol/http/HttpURLConnection;Lsun/net/www/HeaderParser;Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // sun.net.www.protocol.http.HttpURLConnection conn
        start local 2 // sun.net.www.HeaderParser p
        start local 3 // java.lang.String raw
         0: .line 252
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 2 /* p */
            ldc "nonce"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
         1: .line 253
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 2 /* p */
            ldc "opaque"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setOpaque:(Ljava/lang/String;)V
         2: .line 254
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 2 /* p */
            ldc "qop"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setQop:(Ljava/lang/String;)V
         3: .line 256
            aload 1 /* conn */
            invokevirtual sun.net.www.protocol.http.HttpURLConnection.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 4 /* uri */
        start local 4 // java.lang.String uri
         4: .line 258
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            getfield sun.net.www.protocol.http.DigestAuthentication$Parameters.nonce:Ljava/lang/String;
            ifnull 5
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
            ifnull 5
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            ifnull 5
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
            ifnonnull 6
         5: .line 259
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
         6: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmplt 10
         7: .line 265
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 266
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 265
            putfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
        10: .line 268
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            ldc "algorithm"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* algorithm */
        start local 5 // java.lang.String algorithm
        11: .line 269
            aload 5 /* algorithm */
            ifnull 12
            ldc ""
            aload 5 /* algorithm */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 270
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "MD5"
            astore 5 /* algorithm */
        13: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 5 /* algorithm */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setAlgorithm:(Ljava/lang/String;)V
        14: .line 278
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
            ifeq 16
        15: .line 279
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNewCnonce:()V
        16: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* uri */
            aload 1 /* conn */
            invokevirtual sun.net.www.protocol.http.HttpURLConnection.getMethod:()Ljava/lang/String;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderValueImpl:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
        17: .line 283
            aload 6 /* value */
            ifnull 20
        18: .line 284
            aload 1 /* conn */
            aload 0 /* this */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.getHeaderName:()Ljava/lang/String;
            aload 6 /* value */
            invokevirtual sun.net.www.protocol.http.HttpURLConnection.setAuthenticationProperty:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 285
            iconst_1
            ireturn
        20: .line 287
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.String value
        end local 5 // java.lang.String algorithm
        end local 4 // java.lang.String uri
        end local 3 // java.lang.String raw
        end local 2 // sun.net.www.HeaderParser p
        end local 1 // sun.net.www.protocol.http.HttpURLConnection conn
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   21     1       conn  Lsun/net/www/protocol/http/HttpURLConnection;
            0   21     2          p  Lsun/net/www/HeaderParser;
            0   21     3        raw  Ljava/lang/String;
            4   21     4        uri  Ljava/lang/String;
           11   21     5  algorithm  Ljava/lang/String;
           17   21     6      value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      conn  
      p     
      raw   

  private java.lang.String getHeaderValueImpl(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, args_size=3
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String method
         0: .line 296
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            invokevirtual java.net.PasswordAuthentication.getPassword:()[C
            astore 4 /* passwd */
        start local 4 // char[] passwd
         1: .line 297
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
            istore 5 /* qop */
        start local 5 // boolean qop
         2: .line 298
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getOpaque:()Ljava/lang/String;
            astore 6 /* opaque */
        start local 6 // java.lang.String opaque
         3: .line 299
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getCnonce:()Ljava/lang/String;
            astore 7 /* cnonce */
        start local 7 // java.lang.String cnonce
         4: .line 300
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNonce:()Ljava/lang/String;
            astore 8 /* nonce */
        start local 8 // java.lang.String nonce
         5: .line 301
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
            astore 9 /* algorithm */
        start local 9 // java.lang.String algorithm
         6: .line 302
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.incrementNC:()V
         7: .line 303
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNCCount:()I
            istore 10 /* nccount */
        start local 10 // int nccount
         8: .line 304
            aconst_null
            astore 11 /* ncstring */
        start local 11 // java.lang.String ncstring
         9: .line 306
            iload 10 /* nccount */
            iconst_m1
            if_icmpeq 14
        10: .line 307
            iload 10 /* nccount */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 11 /* ncstring */
        11: .line 308
            aload 11 /* ncstring */
            invokevirtual java.lang.String.length:()I
            istore 12 /* len */
        start local 12 // int len
        12: .line 309
            iload 12 /* len */
            bipush 8
            if_icmpge 14
        13: .line 310
            new java.lang.StringBuilder
            dup
            getstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
            iload 12 /* len */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* ncstring */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* ncstring */
        end local 12 // int len
        14: .line 314
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String top char[] int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
            aload 4 /* passwd */
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
        15: .line 315
            aload 2 /* method */
            aload 1 /* uri */
            aload 8 /* nonce */
            aload 7 /* cnonce */
            aload 11 /* ncstring */
        16: .line 314
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.computeDigest:(ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* response */
        start local 3 // java.lang.String response
        17: .line 316
            goto 20
        end local 3 // java.lang.String response
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
        18: pop
        19: .line 317
            aconst_null
            areturn
        start local 3 // java.lang.String response
        20: .line 320
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.lang.String char[] int java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String
      StackMap stack:
            ldc "\""
            astore 12 /* ncfield */
        start local 12 // java.lang.String ncfield
        21: .line 321
            iload 5 /* qop */
            ifeq 23
        22: .line 322
            new java.lang.StringBuilder
            dup
            ldc "\", nc="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* ncstring */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* ncfield */
        23: .line 325
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.authMethod:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 326
            ldc " username=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 327
            ldc "\", realm=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 328
            ldc "\", nonce=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* nonce */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 329
            aload 12 /* ncfield */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 330
            ldc ", uri=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 331
            ldc "\", response=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* response */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 332
            ldc "\", algorithm=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 325
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* value */
        start local 13 // java.lang.String value
        32: .line 333
            aload 6 /* opaque */
            ifnull 34
        33: .line 334
            new java.lang.StringBuilder
            dup
            aload 13 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\", opaque=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* opaque */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* value */
        34: .line 336
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* cnonce */
            ifnull 36
        35: .line 337
            new java.lang.StringBuilder
            dup
            aload 13 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\", cnonce=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* cnonce */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* value */
        36: .line 339
      StackMap locals:
      StackMap stack:
            iload 5 /* qop */
            ifeq 38
        37: .line 340
            new java.lang.StringBuilder
            dup
            aload 13 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\", qop=\"auth"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* value */
        38: .line 342
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 13 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* value */
        39: .line 343
            aload 13 /* value */
            areturn
        end local 13 // java.lang.String value
        end local 12 // java.lang.String ncfield
        end local 11 // java.lang.String ncstring
        end local 10 // int nccount
        end local 9 // java.lang.String algorithm
        end local 8 // java.lang.String nonce
        end local 7 // java.lang.String cnonce
        end local 6 // java.lang.String opaque
        end local 5 // boolean qop
        end local 4 // char[] passwd
        end local 3 // java.lang.String response
        end local 2 // java.lang.String method
        end local 1 // java.lang.String uri
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0       this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   40     1        uri  Ljava/lang/String;
            0   40     2     method  Ljava/lang/String;
           17   18     3   response  Ljava/lang/String;
           20   40     3   response  Ljava/lang/String;
            1   40     4     passwd  [C
            2   40     5        qop  Z
            3   40     6     opaque  Ljava/lang/String;
            4   40     7     cnonce  Ljava/lang/String;
            5   40     8      nonce  Ljava/lang/String;
            6   40     9  algorithm  Ljava/lang/String;
            8   40    10    nccount  I
            9   40    11   ncstring  Ljava/lang/String;
           12   14    12        len  I
           21   40    12    ncfield  Ljava/lang/String;
           32   40    13      value  Ljava/lang/String;
      Exception table:
        from    to  target  type
          14    17      18  Class java.security.NoSuchAlgorithmException
    MethodParameters:
        Name  Flags
      uri     
      method  

  public void checkResponse(java.lang.String, java.lang.String, java.net.URL);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=15, args_size=4
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // java.lang.String header
        start local 2 // java.lang.String method
        start local 3 // java.net.URL url
         0: .line 348
            aload 3 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 4 /* uri */
        start local 4 // java.lang.String uri
         1: .line 349
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            invokevirtual java.net.PasswordAuthentication.getPassword:()[C
            astore 5 /* passwd */
        start local 5 // char[] passwd
         2: .line 350
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.pw:Ljava/net/PasswordAuthentication;
            invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
            astore 6 /* username */
        start local 6 // java.lang.String username
         3: .line 351
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
            pop
         4: .line 352
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getOpaque:()Ljava/lang/String;
            pop
         5: .line 353
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            getfield sun.net.www.protocol.http.DigestAuthentication$Parameters.cnonce:Ljava/lang/String;
            astore 7 /* cnonce */
        start local 7 // java.lang.String cnonce
         6: .line 354
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNonce:()Ljava/lang/String;
            astore 8 /* nonce */
        start local 8 // java.lang.String nonce
         7: .line 355
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
            pop
         8: .line 356
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getNCCount:()I
            istore 9 /* nccount */
        start local 9 // int nccount
         9: .line 357
            aconst_null
            astore 10 /* ncstring */
        start local 10 // java.lang.String ncstring
        10: .line 359
            aload 1 /* header */
            ifnonnull 12
        11: .line 360
            new java.net.ProtocolException
            dup
            ldc "No authentication information in response"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 363
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.net.URL java.lang.String char[] java.lang.String java.lang.String java.lang.String int java.lang.String
      StackMap stack:
            iload 9 /* nccount */
            iconst_m1
            if_icmpeq 17
        13: .line 364
            iload 9 /* nccount */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 10 /* ncstring */
        14: .line 365
            aload 10 /* ncstring */
            invokevirtual java.lang.String.length:()I
            istore 11 /* len */
        start local 11 // int len
        15: .line 366
            iload 11 /* len */
            bipush 8
            if_icmpge 17
        16: .line 367
            new java.lang.StringBuilder
            dup
            getstatic sun.net.www.protocol.http.DigestAuthentication.zeroPad:[Ljava/lang/String;
            iload 11 /* len */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* ncstring */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* ncstring */
        end local 11 // int len
        17: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 6 /* username */
            aload 5 /* passwd */
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.realm:Ljava/lang/String;
        18: .line 371
            aload 2 /* method */
            aload 4 /* uri */
            aload 8 /* nonce */
            aload 7 /* cnonce */
            aload 10 /* ncstring */
        19: .line 370
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.computeDigest:(ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* expected */
        start local 11 // java.lang.String expected
        20: .line 372
            new sun.net.www.HeaderParser
            dup
            aload 1 /* header */
            invokespecial sun.net.www.HeaderParser.<init>:(Ljava/lang/String;)V
            astore 12 /* p */
        start local 12 // sun.net.www.HeaderParser p
        21: .line 373
            aload 12 /* p */
            ldc "rspauth"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* rspauth */
        start local 13 // java.lang.String rspauth
        22: .line 374
            aload 13 /* rspauth */
            ifnonnull 24
        23: .line 375
            new java.net.ProtocolException
            dup
            ldc "No digest in response"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 377
      StackMap locals: java.lang.String sun.net.www.HeaderParser java.lang.String
      StackMap stack:
            aload 13 /* rspauth */
            aload 11 /* expected */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 378
            new java.net.ProtocolException
            dup
            ldc "Response digest invalid"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 381
      StackMap locals:
      StackMap stack:
            aload 12 /* p */
            ldc "nextnonce"
            invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* nextnonce */
        start local 14 // java.lang.String nextnonce
        27: .line 382
            aload 14 /* nextnonce */
            ifnull 32
            ldc ""
            aload 14 /* nextnonce */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
        28: .line 383
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 14 /* nextnonce */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setNonce:(Ljava/lang/String;)V
        end local 14 // java.lang.String nextnonce
        end local 13 // java.lang.String rspauth
        end local 12 // sun.net.www.HeaderParser p
        end local 11 // java.lang.String expected
        29: .line 386
            goto 32
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication java.lang.String java.lang.String java.net.URL java.lang.String char[] java.lang.String java.lang.String java.lang.String int java.lang.String
      StackMap stack: java.security.NoSuchAlgorithmException
        30: pop
        31: .line 387
            new java.net.ProtocolException
            dup
            ldc "Unsupported algorithm in response"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 389
      StackMap locals:
      StackMap stack:
            return
        end local 10 // java.lang.String ncstring
        end local 9 // int nccount
        end local 8 // java.lang.String nonce
        end local 7 // java.lang.String cnonce
        end local 6 // java.lang.String username
        end local 5 // char[] passwd
        end local 4 // java.lang.String uri
        end local 3 // java.net.URL url
        end local 2 // java.lang.String method
        end local 1 // java.lang.String header
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   33     1     header  Ljava/lang/String;
            0   33     2     method  Ljava/lang/String;
            0   33     3        url  Ljava/net/URL;
            1   33     4        uri  Ljava/lang/String;
            2   33     5     passwd  [C
            3   33     6   username  Ljava/lang/String;
            6   33     7     cnonce  Ljava/lang/String;
            7   33     8      nonce  Ljava/lang/String;
            9   33     9    nccount  I
           10   33    10   ncstring  Ljava/lang/String;
           15   17    11        len  I
           20   29    11   expected  Ljava/lang/String;
           21   29    12          p  Lsun/net/www/HeaderParser;
           22   29    13    rspauth  Ljava/lang/String;
           27   29    14  nextnonce  Ljava/lang/String;
      Exception table:
        from    to  target  type
          17    29      30  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      header  
      method  
      url     

  private java.lang.String computeDigest(boolean, java.lang.String, char[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (ZLjava/lang/String;[CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=19, args_size=10
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // boolean isRequest
        start local 2 // java.lang.String userName
        start local 3 // char[] password
        start local 4 // java.lang.String realm
        start local 5 // java.lang.String connMethod
        start local 6 // java.lang.String requestURI
        start local 7 // java.lang.String nonceString
        start local 8 // java.lang.String cnonce
        start local 9 // java.lang.String ncValue
         0: .line 400
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getAlgorithm:()Ljava/lang/String;
            astore 12 /* algorithm */
        start local 12 // java.lang.String algorithm
         1: .line 401
            aload 12 /* algorithm */
            ldc "MD5-sess"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            istore 13 /* md5sess */
        start local 13 // boolean md5sess
         2: .line 403
            iload 13 /* md5sess */
            ifeq 3
            ldc "MD5"
            goto 4
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication int java.lang.String char[] java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top top java.lang.String int
      StackMap stack:
         3: aload 12 /* algorithm */
      StackMap locals:
      StackMap stack: java.lang.String
         4: invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 14 /* md */
        start local 14 // java.security.MessageDigest md
         5: .line 405
            iload 13 /* md5sess */
            ifeq 14
         6: .line 406
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.getCachedHA1:()Ljava/lang/String;
            dup
            astore 11 /* HashA1 */
        start local 11 // java.lang.String HashA1
         7: ifnonnull 16
         8: .line 407
            new java.lang.StringBuilder
            dup
            aload 2 /* userName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* realm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* s */
        start local 15 // java.lang.String s
         9: .line 408
            aload 0 /* this */
            aload 15 /* s */
            aload 3 /* password */
            aload 14 /* md */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
            astore 16 /* s1 */
        start local 16 // java.lang.String s1
        10: .line 409
            new java.lang.StringBuilder
            dup
            aload 16 /* s1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* nonceString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* cnonce */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* A1 */
        start local 10 // java.lang.String A1
        11: .line 410
            aload 0 /* this */
            aload 10 /* A1 */
            aconst_null
            aload 14 /* md */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
            astore 11 /* HashA1 */
        12: .line 411
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            aload 11 /* HashA1 */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.setCachedHA1:(Ljava/lang/String;)V
        end local 16 // java.lang.String s1
        end local 15 // java.lang.String s
        end local 10 // java.lang.String A1
        13: .line 413
            goto 16
        end local 11 // java.lang.String HashA1
        14: .line 414
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* userName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* realm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* A1 */
        start local 10 // java.lang.String A1
        15: .line 415
            aload 0 /* this */
            aload 10 /* A1 */
            aload 3 /* password */
            aload 14 /* md */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
            astore 11 /* HashA1 */
        end local 10 // java.lang.String A1
        start local 11 // java.lang.String HashA1
        16: .line 419
      StackMap locals: sun.net.www.protocol.http.DigestAuthentication int java.lang.String char[] java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top java.lang.String java.lang.String int java.security.MessageDigest
      StackMap stack:
            iload 1 /* isRequest */
            ifeq 19
        17: .line 420
            new java.lang.StringBuilder
            dup
            aload 5 /* connMethod */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* requestURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* A2 */
        start local 15 // java.lang.String A2
        18: .line 421
            goto 20
        end local 15 // java.lang.String A2
        19: .line 422
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* requestURI */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* A2 */
        start local 15 // java.lang.String A2
        20: .line 424
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 15 /* A2 */
            aconst_null
            aload 14 /* md */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
            astore 16 /* HashA2 */
        start local 16 // java.lang.String HashA2
        21: .line 427
            aload 0 /* this */
            getfield sun.net.www.protocol.http.DigestAuthentication.params:Lsun/net/www/protocol/http/DigestAuthentication$Parameters;
            invokevirtual sun.net.www.protocol.http.DigestAuthentication$Parameters.authQop:()Z
            ifeq 26
        22: .line 428
            new java.lang.StringBuilder
            dup
            aload 11 /* HashA1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* nonceString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* ncValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 429
            aload 8 /* cnonce */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":auth:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* HashA2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 428
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* combo */
        start local 17 // java.lang.String combo
        25: .line 431
            goto 30
        end local 17 // java.lang.String combo
        26: .line 432
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 11 /* HashA1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 433
            aload 7 /* nonceString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 434
            aload 16 /* HashA2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 432
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* combo */
        start local 17 // java.lang.String combo
        30: .line 436
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 17 /* combo */
            aconst_null
            aload 14 /* md */
            invokevirtual sun.net.www.protocol.http.DigestAuthentication.encode:(Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
            astore 18 /* finalHash */
        start local 18 // java.lang.String finalHash
        31: .line 437
            aload 18 /* finalHash */
            areturn
        end local 18 // java.lang.String finalHash
        end local 17 // java.lang.String combo
        end local 16 // java.lang.String HashA2
        end local 15 // java.lang.String A2
        end local 14 // java.security.MessageDigest md
        end local 13 // boolean md5sess
        end local 12 // java.lang.String algorithm
        end local 11 // java.lang.String HashA1
        end local 9 // java.lang.String ncValue
        end local 8 // java.lang.String cnonce
        end local 7 // java.lang.String nonceString
        end local 6 // java.lang.String requestURI
        end local 5 // java.lang.String connMethod
        end local 4 // java.lang.String realm
        end local 3 // char[] password
        end local 2 // java.lang.String userName
        end local 1 // boolean isRequest
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   32     1    isRequest  Z
            0   32     2     userName  Ljava/lang/String;
            0   32     3     password  [C
            0   32     4        realm  Ljava/lang/String;
            0   32     5   connMethod  Ljava/lang/String;
            0   32     6   requestURI  Ljava/lang/String;
            0   32     7  nonceString  Ljava/lang/String;
            0   32     8       cnonce  Ljava/lang/String;
            0   32     9      ncValue  Ljava/lang/String;
           11   13    10           A1  Ljava/lang/String;
           15   16    10           A1  Ljava/lang/String;
            7   14    11       HashA1  Ljava/lang/String;
           16   32    11       HashA1  Ljava/lang/String;
            1   32    12    algorithm  Ljava/lang/String;
            2   32    13      md5sess  Z
            5   32    14           md  Ljava/security/MessageDigest;
            9   13    15            s  Ljava/lang/String;
           10   13    16           s1  Ljava/lang/String;
           18   19    15           A2  Ljava/lang/String;
           20   32    15           A2  Ljava/lang/String;
           21   32    16       HashA2  Ljava/lang/String;
           25   26    17        combo  Ljava/lang/String;
           30   32    17        combo  Ljava/lang/String;
           31   32    18    finalHash  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
             Name  Flags
      isRequest    
      userName     
      password     
      realm        
      connMethod   
      requestURI   
      nonceString  
      cnonce       
      ncValue      

  private java.lang.String encode(java.lang.String, char[], java.security.MessageDigest);
    descriptor: (Ljava/lang/String;[CLjava/security/MessageDigest;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // sun.net.www.protocol.http.DigestAuthentication this
        start local 1 // java.lang.String src
        start local 2 // char[] passwd
        start local 3 // java.security.MessageDigest md
         0: .line 452
            aload 3 /* md */
            aload 1 /* src */
            ldc "ISO-8859-1"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual java.security.MessageDigest.update:([B)V
         1: .line 453
            goto 4
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         2: pop
         3: .line 454
            getstatic sun.net.www.protocol.http.DigestAuthentication.$assertionsDisabled:Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* passwd */
            ifnull 13
         5: .line 457
            aload 2 /* passwd */
            arraylength
            newarray 8
            astore 4 /* passwdBytes */
        start local 4 // byte[] passwdBytes
         6: .line 458
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 459
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* passwdBytes */
            iload 5 /* i */
            aload 2 /* passwd */
            iload 5 /* i */
            caload
            i2b
            bastore
         9: .line 458
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 2 /* passwd */
            arraylength
            if_icmplt 8
        end local 5 // int i
        11: .line 460
            aload 3 /* md */
            aload 4 /* passwdBytes */
            invokevirtual java.security.MessageDigest.update:([B)V
        12: .line 461
            aload 4 /* passwdBytes */
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        end local 4 // byte[] passwdBytes
        13: .line 463
      StackMap locals:
      StackMap stack:
            aload 3 /* md */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 4 /* digest */
        start local 4 // byte[] digest
        14: .line 465
            new java.lang.StringBuffer
            dup
            aload 4 /* digest */
            arraylength
            iconst_2
            imul
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 5 /* res */
        start local 5 // java.lang.StringBuffer res
        15: .line 466
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        16: goto 22
        17: .line 467
      StackMap locals: byte[] java.lang.StringBuffer int
      StackMap stack:
            aload 4 /* digest */
            iload 6 /* i */
            baload
            iconst_4
            iushr
            bipush 15
            iand
            istore 7 /* hashchar */
        start local 7 // int hashchar
        18: .line 468
            aload 5 /* res */
            getstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
            iload 7 /* hashchar */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 469
            aload 4 /* digest */
            iload 6 /* i */
            baload
            bipush 15
            iand
            istore 7 /* hashchar */
        20: .line 470
            aload 5 /* res */
            getstatic sun.net.www.protocol.http.DigestAuthentication.charArray:[C
            iload 7 /* hashchar */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 7 // int hashchar
        21: .line 466
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 4 /* digest */
            arraylength
            if_icmplt 17
        end local 6 // int i
        23: .line 472
            aload 5 /* res */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuffer res
        end local 4 // byte[] digest
        end local 3 // java.security.MessageDigest md
        end local 2 // char[] passwd
        end local 1 // java.lang.String src
        end local 0 // sun.net.www.protocol.http.DigestAuthentication this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lsun/net/www/protocol/http/DigestAuthentication;
            0   24     1          src  Ljava/lang/String;
            0   24     2       passwd  [C
            0   24     3           md  Ljava/security/MessageDigest;
            6   13     4  passwdBytes  [B
            7   11     5            i  I
           14   24     4       digest  [B
           15   24     5          res  Ljava/lang/StringBuffer;
           16   23     6            i  I
           18   21     7     hashchar  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.UnsupportedEncodingException
    MethodParameters:
        Name  Flags
      src     
      passwd  
      md      
}
SourceFile: "DigestAuthentication.java"
NestMembers:
  sun.net.www.protocol.http.DigestAuthentication$Parameters
InnerClasses:
  Parameters = sun.net.www.protocol.http.DigestAuthentication$Parameters of sun.net.www.protocol.http.DigestAuthentication