public class sun.security.krb5.KrbApReq
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.krb5.KrbApReq
  super_class: java.lang.Object
{
  private byte[] obuf;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private sun.security.krb5.internal.KerberosTime ctime;
    descriptor: Lsun/security/krb5/internal/KerberosTime;
    flags: (0x0002) ACC_PRIVATE

  private int cusec;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private sun.security.krb5.internal.Authenticator authenticator;
    descriptor: Lsun/security/krb5/internal/Authenticator;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.krb5.Credentials creds;
    descriptor: Lsun/security/krb5/Credentials;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.krb5.internal.APReq apReqMessg;
    descriptor: Lsun/security/krb5/internal/APReq;
    flags: (0x0002) ACC_PRIVATE

  private static sun.security.krb5.internal.ReplayCache rcache;
    descriptor: Lsun/security/krb5/internal/ReplayCache;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean DEBUG;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 59
            invokestatic sun.security.krb5.internal.ReplayCache.getInstance:()Lsun/security/krb5/internal/ReplayCache;
            putstatic sun.security.krb5.KrbApReq.rcache:Lsun/security/krb5/internal/ReplayCache;
         1: .line 60
            getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
            putstatic sun.security.krb5.KrbApReq.DEBUG:Z
         2: .line 61
            ldc "0123456789ABCDEF"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic sun.security.krb5.KrbApReq.hexConst:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.security.krb5.Credentials, boolean, boolean, boolean, sun.security.krb5.Checksum);
    descriptor: (Lsun/security/krb5/Credentials;ZZZLsun/security/krb5/Checksum;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.krb5.Credentials tgsCred
        start local 2 // boolean mutualRequired
        start local 3 // boolean useSubKey
        start local 4 // boolean useSeqNumber
        start local 5 // sun.security.krb5.Checksum cksum
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            iload 2 /* mutualRequired */
            ifeq 3
         2: .line 110
            new sun.security.krb5.internal.APOptions
            dup
            iconst_2
            invokespecial sun.security.krb5.internal.APOptions.<init>:(I)V
            goto 4
         3: .line 111
      StackMap locals: sun.security.krb5.KrbApReq sun.security.krb5.Credentials int int int sun.security.krb5.Checksum
      StackMap stack:
            new sun.security.krb5.internal.APOptions
            dup
            invokespecial sun.security.krb5.internal.APOptions.<init>:()V
         4: .line 109
      StackMap locals:
      StackMap stack: sun.security.krb5.internal.APOptions
            astore 6 /* apOptions */
        start local 6 // sun.security.krb5.internal.APOptions apOptions
         5: .line 112
            getstatic sun.security.krb5.KrbApReq.DEBUG:Z
            ifeq 7
         6: .line 113
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ">>> KrbApReq: APOptions are "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* apOptions */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 115
      StackMap locals: sun.security.krb5.internal.APOptions
      StackMap stack:
            iload 3 /* useSubKey */
            ifeq 9
         8: .line 116
            new sun.security.krb5.EncryptionKey
            dup
            aload 1 /* tgsCred */
            invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
            invokespecial sun.security.krb5.EncryptionKey.<init>:(Lsun/security/krb5/EncryptionKey;)V
            goto 10
         9: .line 117
      StackMap locals:
      StackMap stack:
            aconst_null
        10: .line 115
      StackMap locals:
      StackMap stack: sun.security.krb5.EncryptionKey
            astore 7 /* subKey */
        start local 7 // sun.security.krb5.EncryptionKey subKey
        11: .line 119
            new sun.security.krb5.internal.LocalSeqNumber
            dup
            invokespecial sun.security.krb5.internal.LocalSeqNumber.<init>:()V
            astore 8 /* seqNum */
        start local 8 // sun.security.krb5.internal.SeqNumber seqNum
        12: .line 121
            aload 0 /* this */
            aload 6 /* apOptions */
        13: .line 122
            aload 1 /* tgsCred */
        14: .line 123
            aload 5 /* cksum */
        15: .line 124
            aload 7 /* subKey */
        16: .line 125
            aload 8 /* seqNum */
        17: .line 126
            aconst_null
        18: .line 127
            bipush 11
        19: .line 121
            invokevirtual sun.security.krb5.KrbApReq.init:(Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/Checksum;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
        20: .line 129
            return
        end local 8 // sun.security.krb5.internal.SeqNumber seqNum
        end local 7 // sun.security.krb5.EncryptionKey subKey
        end local 6 // sun.security.krb5.internal.APOptions apOptions
        end local 5 // sun.security.krb5.Checksum cksum
        end local 4 // boolean useSeqNumber
        end local 3 // boolean useSubKey
        end local 2 // boolean mutualRequired
        end local 1 // sun.security.krb5.Credentials tgsCred
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lsun/security/krb5/KrbApReq;
            0   21     1         tgsCred  Lsun/security/krb5/Credentials;
            0   21     2  mutualRequired  Z
            0   21     3       useSubKey  Z
            0   21     4    useSeqNumber  Z
            0   21     5           cksum  Lsun/security/krb5/Checksum;
            5   21     6       apOptions  Lsun/security/krb5/internal/APOptions;
           11   21     7          subKey  Lsun/security/krb5/EncryptionKey;
           12   21     8          seqNum  Lsun/security/krb5/internal/SeqNumber;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, sun.security.krb5.KrbCryptoException, sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
                Name  Flags
      tgsCred         
      mutualRequired  
      useSubKey       
      useSeqNumber    
      cksum           

  public void <init>(byte[], sun.security.jgss.krb5.Krb5AcceptCredential, java.net.InetAddress);
    descriptor: ([BLsun/security/jgss/krb5/Krb5AcceptCredential;Ljava/net/InetAddress;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // byte[] message
        start local 2 // sun.security.jgss.krb5.Krb5AcceptCredential cred
        start local 3 // java.net.InetAddress initiator
         0: .line 142
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            aload 1 /* message */
            putfield sun.security.krb5.KrbApReq.obuf:[B
         2: .line 147
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnonnull 4
         3: .line 148
            aload 0 /* this */
            invokevirtual sun.security.krb5.KrbApReq.decode:()V
         4: .line 149
      StackMap locals: sun.security.krb5.KrbApReq byte[] sun.security.jgss.krb5.Krb5AcceptCredential java.net.InetAddress
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cred */
            aload 3 /* initiator */
            invokevirtual sun.security.krb5.KrbApReq.authenticate:(Lsun/security/jgss/krb5/Krb5AcceptCredential;Ljava/net/InetAddress;)V
         5: .line 150
            return
        end local 3 // java.net.InetAddress initiator
        end local 2 // sun.security.jgss.krb5.Krb5AcceptCredential cred
        end local 1 // byte[] message
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lsun/security/krb5/KrbApReq;
            0    6     1    message  [B
            0    6     2       cred  Lsun/security/jgss/krb5/Krb5AcceptCredential;
            0    6     3  initiator  Ljava/net/InetAddress;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
           Name  Flags
      message    
      cred       
      initiator  

  void <init>(sun.security.krb5.internal.APOptions, sun.security.krb5.internal.Ticket, sun.security.krb5.EncryptionKey, sun.security.krb5.PrincipalName, sun.security.krb5.Checksum, sun.security.krb5.internal.KerberosTime, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.AuthorizationData);
    descriptor: (Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;)V
    flags: (0x0000) 
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.krb5.internal.APOptions apOptions
        start local 2 // sun.security.krb5.internal.Ticket ticket
        start local 3 // sun.security.krb5.EncryptionKey key
        start local 4 // sun.security.krb5.PrincipalName cname
        start local 5 // sun.security.krb5.Checksum cksum
        start local 6 // sun.security.krb5.internal.KerberosTime ctime
        start local 7 // sun.security.krb5.EncryptionKey subKey
        start local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
         0: .line 184
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 196
            aload 0 /* this */
            aload 1 /* apOptions */
            aload 2 /* ticket */
            aload 3 /* key */
            aload 4 /* cname */
         2: .line 197
            aload 5 /* cksum */
            aload 6 /* ctime */
            aload 7 /* subKey */
            aload 8 /* seqNumber */
            aload 9 /* authorizationData */
         3: .line 198
            bipush 7
         4: .line 196
            invokevirtual sun.security.krb5.KrbApReq.init:(Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
         5: .line 200
            return
        end local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
        end local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 7 // sun.security.krb5.EncryptionKey subKey
        end local 6 // sun.security.krb5.internal.KerberosTime ctime
        end local 5 // sun.security.krb5.Checksum cksum
        end local 4 // sun.security.krb5.PrincipalName cname
        end local 3 // sun.security.krb5.EncryptionKey key
        end local 2 // sun.security.krb5.internal.Ticket ticket
        end local 1 // sun.security.krb5.internal.APOptions apOptions
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lsun/security/krb5/KrbApReq;
            0    6     1          apOptions  Lsun/security/krb5/internal/APOptions;
            0    6     2             ticket  Lsun/security/krb5/internal/Ticket;
            0    6     3                key  Lsun/security/krb5/EncryptionKey;
            0    6     4              cname  Lsun/security/krb5/PrincipalName;
            0    6     5              cksum  Lsun/security/krb5/Checksum;
            0    6     6              ctime  Lsun/security/krb5/internal/KerberosTime;
            0    6     7             subKey  Lsun/security/krb5/EncryptionKey;
            0    6     8          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0    6     9  authorizationData  Lsun/security/krb5/internal/AuthorizationData;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.internal.KdcErrException, sun.security.krb5.KrbCryptoException
    MethodParameters:
                   Name  Flags
      apOptions          
      ticket             
      key                
      cname              
      cksum              
      ctime              
      subKey             
      seqNumber          
      authorizationData  

  private void init(sun.security.krb5.internal.APOptions, sun.security.krb5.Credentials, sun.security.krb5.Checksum, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.AuthorizationData, int);
    descriptor: (Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/Credentials;Lsun/security/krb5/Checksum;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=8, args_size=8
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.krb5.internal.APOptions options
        start local 2 // sun.security.krb5.Credentials tgs_creds
        start local 3 // sun.security.krb5.Checksum cksum
        start local 4 // sun.security.krb5.EncryptionKey subKey
        start local 5 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 6 // sun.security.krb5.internal.AuthorizationData authorizationData
        start local 7 // int usage
         0: .line 211
            aload 0 /* this */
            invokestatic sun.security.krb5.internal.KerberosTime.now:()Lsun/security/krb5/internal/KerberosTime;
            putfield sun.security.krb5.KrbApReq.ctime:Lsun/security/krb5/internal/KerberosTime;
         1: .line 212
            aload 0 /* this */
            aload 1 /* options */
         2: .line 213
            aload 2 /* tgs_creds */
            getfield sun.security.krb5.Credentials.ticket:Lsun/security/krb5/internal/Ticket;
         3: .line 214
            aload 2 /* tgs_creds */
            getfield sun.security.krb5.Credentials.key:Lsun/security/krb5/EncryptionKey;
         4: .line 215
            aload 2 /* tgs_creds */
            getfield sun.security.krb5.Credentials.client:Lsun/security/krb5/PrincipalName;
         5: .line 216
            aload 3 /* cksum */
         6: .line 217
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.ctime:Lsun/security/krb5/internal/KerberosTime;
         7: .line 218
            aload 4 /* subKey */
         8: .line 219
            aload 5 /* seqNumber */
         9: .line 220
            aload 6 /* authorizationData */
        10: .line 221
            iload 7 /* usage */
        11: .line 212
            invokevirtual sun.security.krb5.KrbApReq.init:(Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
        12: .line 222
            return
        end local 7 // int usage
        end local 6 // sun.security.krb5.internal.AuthorizationData authorizationData
        end local 5 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 4 // sun.security.krb5.EncryptionKey subKey
        end local 3 // sun.security.krb5.Checksum cksum
        end local 2 // sun.security.krb5.Credentials tgs_creds
        end local 1 // sun.security.krb5.internal.APOptions options
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lsun/security/krb5/KrbApReq;
            0   13     1            options  Lsun/security/krb5/internal/APOptions;
            0   13     2          tgs_creds  Lsun/security/krb5/Credentials;
            0   13     3              cksum  Lsun/security/krb5/Checksum;
            0   13     4             subKey  Lsun/security/krb5/EncryptionKey;
            0   13     5          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   13     6  authorizationData  Lsun/security/krb5/internal/AuthorizationData;
            0   13     7              usage  I
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
                   Name  Flags
      options            
      tgs_creds          
      cksum              
      subKey             
      seqNumber          
      authorizationData  
      usage              

  private void init(sun.security.krb5.internal.APOptions, sun.security.krb5.internal.Ticket, sun.security.krb5.EncryptionKey, sun.security.krb5.PrincipalName, sun.security.krb5.Checksum, sun.security.krb5.internal.KerberosTime, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.AuthorizationData, int);
    descriptor: (Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=11, args_size=11
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.krb5.internal.APOptions apOptions
        start local 2 // sun.security.krb5.internal.Ticket ticket
        start local 3 // sun.security.krb5.EncryptionKey key
        start local 4 // sun.security.krb5.PrincipalName cname
        start local 5 // sun.security.krb5.Checksum cksum
        start local 6 // sun.security.krb5.internal.KerberosTime ctime
        start local 7 // sun.security.krb5.EncryptionKey subKey
        start local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
        start local 10 // int usage
         0: .line 237
            aload 0 /* this */
            aload 1 /* apOptions */
            aload 2 /* ticket */
            aload 3 /* key */
            aload 4 /* cname */
         1: .line 238
            aload 5 /* cksum */
            aload 6 /* ctime */
            aload 7 /* subKey */
            aload 8 /* seqNumber */
            aload 9 /* authorizationData */
         2: .line 239
            iload 10 /* usage */
         3: .line 237
            invokevirtual sun.security.krb5.KrbApReq.createMessage:(Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
         4: .line 240
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            invokevirtual sun.security.krb5.internal.APReq.asn1Encode:()[B
            putfield sun.security.krb5.KrbApReq.obuf:[B
         5: .line 241
            return
        end local 10 // int usage
        end local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
        end local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 7 // sun.security.krb5.EncryptionKey subKey
        end local 6 // sun.security.krb5.internal.KerberosTime ctime
        end local 5 // sun.security.krb5.Checksum cksum
        end local 4 // sun.security.krb5.PrincipalName cname
        end local 3 // sun.security.krb5.EncryptionKey key
        end local 2 // sun.security.krb5.internal.Ticket ticket
        end local 1 // sun.security.krb5.internal.APOptions apOptions
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lsun/security/krb5/KrbApReq;
            0    6     1          apOptions  Lsun/security/krb5/internal/APOptions;
            0    6     2             ticket  Lsun/security/krb5/internal/Ticket;
            0    6     3                key  Lsun/security/krb5/EncryptionKey;
            0    6     4              cname  Lsun/security/krb5/PrincipalName;
            0    6     5              cksum  Lsun/security/krb5/Checksum;
            0    6     6              ctime  Lsun/security/krb5/internal/KerberosTime;
            0    6     7             subKey  Lsun/security/krb5/EncryptionKey;
            0    6     8          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0    6     9  authorizationData  Lsun/security/krb5/internal/AuthorizationData;
            0    6    10              usage  I
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.internal.KdcErrException, sun.security.krb5.KrbCryptoException
    MethodParameters:
                   Name  Flags
      apOptions          
      ticket             
      key                
      cname              
      cksum              
      ctime              
      subKey             
      seqNumber          
      authorizationData  
      usage              

  void decode();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 245
            new sun.security.util.DerValue
            dup
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.obuf:[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 1 /* encoding */
        start local 1 // sun.security.util.DerValue encoding
         1: .line 246
            aload 0 /* this */
            aload 1 /* encoding */
            invokevirtual sun.security.krb5.KrbApReq.decode:(Lsun/security/util/DerValue;)V
         2: .line 247
            return
        end local 1 // sun.security.util.DerValue encoding
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/krb5/KrbApReq;
            1    3     1  encoding  Lsun/security/util/DerValue;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException

  void decode(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.util.DerValue encoding
         0: .line 250
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
         1: .line 252
            aload 0 /* this */
            new sun.security.krb5.internal.APReq
            dup
            aload 1 /* encoding */
            invokespecial sun.security.krb5.internal.APReq.<init>:(Lsun/security/util/DerValue;)V
            putfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
         2: .line 253
            goto 14
      StackMap locals:
      StackMap stack: sun.security.krb5.Asn1Exception
         3: astore 2 /* e */
        start local 2 // sun.security.krb5.Asn1Exception e
         4: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
         5: .line 255
            new sun.security.krb5.internal.KRBError
            dup
            aload 1 /* encoding */
            invokespecial sun.security.krb5.internal.KRBError.<init>:(Lsun/security/util/DerValue;)V
            astore 3 /* err */
        start local 3 // sun.security.krb5.internal.KRBError err
         6: .line 256
            aload 3 /* err */
            invokevirtual sun.security.krb5.internal.KRBError.getErrorString:()Ljava/lang/String;
            astore 4 /* errStr */
        start local 4 // java.lang.String errStr
         7: .line 258
            aload 4 /* errStr */
            aload 4 /* errStr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            ifne 10
         8: .line 259
            aload 4 /* errStr */
            iconst_0
            aload 4 /* errStr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* eText */
        start local 5 // java.lang.String eText
         9: goto 11
        end local 5 // java.lang.String eText
        10: .line 261
      StackMap locals: sun.security.krb5.Asn1Exception sun.security.krb5.internal.KRBError java.lang.String
      StackMap stack:
            aload 4 /* errStr */
            astore 5 /* eText */
        start local 5 // java.lang.String eText
        11: .line 262
      StackMap locals: java.lang.String
      StackMap stack:
            new sun.security.krb5.KrbException
            dup
            aload 3 /* err */
            invokevirtual sun.security.krb5.internal.KRBError.getErrorCode:()I
            aload 5 /* eText */
            invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
            astore 6 /* ke */
        start local 6 // sun.security.krb5.KrbException ke
        12: .line 263
            aload 6 /* ke */
            aload 2 /* e */
            invokevirtual sun.security.krb5.KrbException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 264
            aload 6 /* ke */
            athrow
        end local 6 // sun.security.krb5.KrbException ke
        end local 5 // java.lang.String eText
        end local 4 // java.lang.String errStr
        end local 3 // sun.security.krb5.internal.KRBError err
        end local 2 // sun.security.krb5.Asn1Exception e
        14: .line 266
      StackMap locals: sun.security.krb5.KrbApReq sun.security.util.DerValue
      StackMap stack:
            return
        end local 1 // sun.security.util.DerValue encoding
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lsun/security/krb5/KrbApReq;
            0   15     1  encoding  Lsun/security/util/DerValue;
            4   14     2         e  Lsun/security/krb5/Asn1Exception;
            6   14     3       err  Lsun/security/krb5/internal/KRBError;
            7   14     4    errStr  Ljava/lang/String;
            9   10     5     eText  Ljava/lang/String;
           11   14     5     eText  Ljava/lang/String;
           12   14     6        ke  Lsun/security/krb5/KrbException;
      Exception table:
        from    to  target  type
           1     2       3  Class sun.security.krb5.Asn1Exception
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
          Name  Flags
      encoding  

  private void authenticate(sun.security.jgss.krb5.Krb5AcceptCredential, java.net.InetAddress);
    descriptor: (Lsun/security/jgss/krb5/Krb5AcceptCredential;Ljava/net/InetAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=17, args_size=3
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.jgss.krb5.Krb5AcceptCredential cred
        start local 2 // java.net.InetAddress initiator
         0: .line 270
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.encPart:Lsun/security/krb5/EncryptedData;
            invokevirtual sun.security.krb5.EncryptedData.getEType:()I
            istore 3 /* encPartKeyType */
        start local 3 // int encPartKeyType
         1: .line 271
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.encPart:Lsun/security/krb5/EncryptedData;
            invokevirtual sun.security.krb5.EncryptedData.getKeyVersionNumber:()Ljava/lang/Integer;
            astore 4 /* kvno */
        start local 4 // java.lang.Integer kvno
         2: .line 272
            aload 1 /* cred */
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.jgss.krb5.Krb5AcceptCredential.getKrb5EncryptionKeys:(Lsun/security/krb5/PrincipalName;)[Lsun/security/krb5/EncryptionKey;
            astore 5 /* keys */
        start local 5 // sun.security.krb5.EncryptionKey[] keys
         3: .line 273
            iload 3 /* encPartKeyType */
            aload 4 /* kvno */
            aload 5 /* keys */
            invokestatic sun.security.krb5.EncryptionKey.findKey:(ILjava/lang/Integer;[Lsun/security/krb5/EncryptionKey;)Lsun/security/krb5/EncryptionKey;
            astore 6 /* dkey */
        start local 6 // sun.security.krb5.EncryptionKey dkey
         4: .line 275
            aload 6 /* dkey */
            ifnonnull 10
         5: .line 276
            new sun.security.krb5.KrbException
            dup
            sipush 400
         6: .line 277
            new java.lang.StringBuilder
            dup
            ldc "Cannot find key of appropriate type to decrypt AP-REQ - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 278
            iload 3 /* encPartKeyType */
            invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 277
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 276
            invokespecial sun.security.krb5.KrbException.<init>:(ILjava/lang/String;)V
            athrow
        10: .line 281
      StackMap locals: sun.security.krb5.KrbApReq sun.security.jgss.krb5.Krb5AcceptCredential java.net.InetAddress int java.lang.Integer sun.security.krb5.EncryptionKey[] sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.encPart:Lsun/security/krb5/EncryptedData;
            aload 6 /* dkey */
        11: .line 282
            iconst_2
        12: .line 281
            invokevirtual sun.security.krb5.EncryptedData.decrypt:(Lsun/security/krb5/EncryptionKey;I)[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        13: .line 283
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.encPart:Lsun/security/krb5/EncryptedData;
            aload 7 /* bytes */
            invokevirtual sun.security.krb5.EncryptedData.reset:([B)[B
            astore 8 /* temp */
        start local 8 // byte[] temp
        14: .line 284
            new sun.security.krb5.internal.EncTicketPart
            dup
            aload 8 /* temp */
            invokespecial sun.security.krb5.internal.EncTicketPart.<init>:([B)V
            astore 9 /* enc_ticketPart */
        start local 9 // sun.security.krb5.internal.EncTicketPart enc_ticketPart
        15: .line 286
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.key:Lsun/security/krb5/EncryptionKey;
            invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
            invokestatic sun.security.krb5.KrbApReq.checkPermittedEType:(I)V
        16: .line 288
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.authenticator:Lsun/security/krb5/EncryptedData;
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.key:Lsun/security/krb5/EncryptionKey;
        17: .line 289
            bipush 11
        18: .line 288
            invokevirtual sun.security.krb5.EncryptedData.decrypt:(Lsun/security/krb5/EncryptionKey;I)[B
            astore 10 /* bytes2 */
        start local 10 // byte[] bytes2
        19: .line 290
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.authenticator:Lsun/security/krb5/EncryptedData;
            aload 10 /* bytes2 */
            invokevirtual sun.security.krb5.EncryptedData.reset:([B)[B
            astore 11 /* temp2 */
        start local 11 // byte[] temp2
        20: .line 291
            aload 0 /* this */
            new sun.security.krb5.internal.Authenticator
            dup
            aload 11 /* temp2 */
            invokespecial sun.security.krb5.internal.Authenticator.<init>:([B)V
            putfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
        21: .line 292
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
            putfield sun.security.krb5.KrbApReq.ctime:Lsun/security/krb5/internal/KerberosTime;
        22: .line 293
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cusec:I
            putfield sun.security.krb5.KrbApReq.cusec:I
        23: .line 294
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
        24: .line 295
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cusec:I
            invokevirtual sun.security.krb5.internal.KerberosTime.withMicroSeconds:(I)Lsun/security/krb5/internal/KerberosTime;
        25: .line 294
            putfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
        26: .line 297
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cname:Lsun/security/krb5/PrincipalName;
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.cname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.equals:(Ljava/lang/Object;)Z
            ifne 28
        27: .line 298
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 36
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        28: .line 301
      StackMap locals: sun.security.krb5.KrbApReq sun.security.jgss.krb5.Krb5AcceptCredential java.net.InetAddress int java.lang.Integer sun.security.krb5.EncryptionKey[] sun.security.krb5.EncryptionKey byte[] byte[] sun.security.krb5.internal.EncTicketPart byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
            invokevirtual sun.security.krb5.internal.KerberosTime.inClockSkew:()Z
            ifne 30
        29: .line 302
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 37
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        30: .line 304
      StackMap locals:
      StackMap stack:
            getstatic sun.security.krb5.internal.rcache.AuthTimeWithHash.DEFAULT_HASH_ALG:Ljava/lang/String;
            astore 12 /* alg */
        start local 12 // java.lang.String alg
        31: .line 307
            aload 12 /* alg */
            invokestatic sun.security.krb5.internal.rcache.AuthTimeWithHash.realAlg:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
        32: .line 308
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.authenticator:Lsun/security/krb5/EncryptedData;
            getfield sun.security.krb5.EncryptedData.cipher:[B
            invokevirtual java.security.MessageDigest.digest:([B)[B
        33: .line 307
            astore 13 /* hash */
        start local 13 // byte[] hash
        34: .line 309
            goto 37
        end local 13 // byte[] hash
      StackMap locals: sun.security.krb5.KrbApReq sun.security.jgss.krb5.Krb5AcceptCredential java.net.InetAddress int java.lang.Integer sun.security.krb5.EncryptionKey[] sun.security.krb5.EncryptionKey byte[] byte[] sun.security.krb5.internal.EncTicketPart byte[] byte[] java.lang.String
      StackMap stack: java.security.NoSuchAlgorithmException
        35: pop
        36: .line 310
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Impossible "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* alg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 13 // byte[] hash
        37: .line 313
      StackMap locals: byte[]
      StackMap stack:
            aload 13 /* hash */
            arraylength
            iconst_2
            imul
            newarray 5
            astore 14 /* h */
        start local 14 // char[] h
        38: .line 314
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        39: goto 43
        40: .line 315
      StackMap locals: char[] int
      StackMap stack:
            aload 14 /* h */
            iconst_2
            iload 15 /* i */
            imul
            getstatic sun.security.krb5.KrbApReq.hexConst:[C
            aload 13 /* hash */
            iload 15 /* i */
            baload
            sipush 255
            iand
            iconst_4
            ishr
            caload
            castore
        41: .line 316
            aload 14 /* h */
            iconst_2
            iload 15 /* i */
            imul
            iconst_1
            iadd
            getstatic sun.security.krb5.KrbApReq.hexConst:[C
            aload 13 /* hash */
            iload 15 /* i */
            baload
            bipush 15
            iand
            caload
            castore
        42: .line 314
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 15 /* i */
            aload 13 /* hash */
            arraylength
            if_icmplt 40
        end local 15 // int i
        44: .line 318
            new sun.security.krb5.internal.rcache.AuthTimeWithHash
            dup
        45: .line 319
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
        46: .line 320
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.sname:Lsun/security/krb5/PrincipalName;
            invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
        47: .line 321
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
            invokevirtual sun.security.krb5.internal.KerberosTime.getSeconds:()I
        48: .line 322
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cusec:I
        49: .line 323
            aload 12 /* alg */
        50: .line 324
            new java.lang.String
            dup
            aload 14 /* h */
            invokespecial java.lang.String.<init>:([C)V
        51: .line 318
            invokespecial sun.security.krb5.internal.rcache.AuthTimeWithHash.<init>:(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V
            astore 15 /* time */
        start local 15 // sun.security.krb5.internal.rcache.AuthTimeWithHash time
        52: .line 325
            getstatic sun.security.krb5.KrbApReq.rcache:Lsun/security/krb5/internal/ReplayCache;
            invokestatic sun.security.krb5.internal.KerberosTime.now:()Lsun/security/krb5/internal/KerberosTime;
            aload 15 /* time */
            invokevirtual sun.security.krb5.internal.ReplayCache.checkAndStore:(Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
        53: .line 327
            aload 2 /* initiator */
            ifnull 65
        54: .line 329
            new sun.security.krb5.internal.HostAddress
            dup
            aload 2 /* initiator */
            invokespecial sun.security.krb5.internal.HostAddress.<init>:(Ljava/net/InetAddress;)V
            astore 16 /* sender */
        start local 16 // sun.security.krb5.internal.HostAddress sender
        55: .line 330
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.caddr:Lsun/security/krb5/internal/HostAddresses;
            ifnull 65
        56: .line 331
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.caddr:Lsun/security/krb5/internal/HostAddresses;
            aload 16 /* sender */
            invokevirtual sun.security.krb5.internal.HostAddresses.inList:(Lsun/security/krb5/internal/HostAddress;)Z
            ifne 65
        57: .line 332
            getstatic sun.security.krb5.KrbApReq.DEBUG:Z
            ifeq 64
        58: .line 333
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc ">>> KrbApReq: initiator is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        59: .line 334
            aload 16 /* sender */
            invokevirtual sun.security.krb5.internal.HostAddress.getInetAddress:()Ljava/net/InetAddress;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        60: .line 335
            ldc ", but caddr is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 337
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.caddr:Lsun/security/krb5/internal/HostAddresses;
            invokevirtual sun.security.krb5.internal.HostAddresses.getInetAddresses:()[Ljava/net/InetAddress;
        62: .line 336
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 333
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        64: .line 339
      StackMap locals: sun.security.krb5.KrbApReq sun.security.jgss.krb5.Krb5AcceptCredential java.net.InetAddress int java.lang.Integer sun.security.krb5.EncryptionKey[] sun.security.krb5.EncryptionKey byte[] byte[] sun.security.krb5.internal.EncTicketPart byte[] byte[] java.lang.String byte[] char[] sun.security.krb5.internal.rcache.AuthTimeWithHash sun.security.krb5.internal.HostAddress
      StackMap stack:
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 38
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        end local 16 // sun.security.krb5.internal.HostAddress sender
        65: .line 349
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.KerberosTime.now:()Lsun/security/krb5/internal/KerberosTime;
            astore 16 /* now */
        start local 16 // sun.security.krb5.internal.KerberosTime now
        66: .line 351
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.starttime:Lsun/security/krb5/internal/KerberosTime;
            ifnull 68
        67: .line 352
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.starttime:Lsun/security/krb5/internal/KerberosTime;
            aload 16 /* now */
            invokevirtual sun.security.krb5.internal.KerberosTime.greaterThanWRTClockSkew:(Lsun/security/krb5/internal/KerberosTime;)Z
            ifne 69
        68: .line 353
      StackMap locals: sun.security.krb5.internal.KerberosTime
      StackMap stack:
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.flags:Lsun/security/krb5/internal/TicketFlags;
            bipush 7
            invokevirtual sun.security.krb5.internal.TicketFlags.get:(I)Z
            ifeq 70
        69: .line 354
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 33
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        70: .line 358
      StackMap locals:
      StackMap stack:
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.endtime:Lsun/security/krb5/internal/KerberosTime;
            ifnull 73
        71: .line 359
            aload 16 /* now */
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.endtime:Lsun/security/krb5/internal/KerberosTime;
            invokevirtual sun.security.krb5.internal.KerberosTime.greaterThanWRTClockSkew:(Lsun/security/krb5/internal/KerberosTime;)Z
            ifeq 73
        72: .line 360
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 32
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        73: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.krb5.Credentials
            dup
        74: .line 364
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
        75: .line 365
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.cname:Lsun/security/krb5/PrincipalName;
        76: .line 366
            aconst_null
        77: .line 367
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.ticket:Lsun/security/krb5/internal/Ticket;
            getfield sun.security.krb5.internal.Ticket.sname:Lsun/security/krb5/PrincipalName;
        78: .line 368
            aconst_null
        79: .line 369
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.key:Lsun/security/krb5/EncryptionKey;
        80: .line 370
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.flags:Lsun/security/krb5/internal/TicketFlags;
        81: .line 371
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.authtime:Lsun/security/krb5/internal/KerberosTime;
        82: .line 372
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.starttime:Lsun/security/krb5/internal/KerberosTime;
        83: .line 373
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.endtime:Lsun/security/krb5/internal/KerberosTime;
        84: .line 374
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.renewTill:Lsun/security/krb5/internal/KerberosTime;
        85: .line 375
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.caddr:Lsun/security/krb5/internal/HostAddresses;
        86: .line 376
            aload 9 /* enc_ticketPart */
            getfield sun.security.krb5.internal.EncTicketPart.authorizationData:Lsun/security/krb5/internal/AuthorizationData;
            invokespecial sun.security.krb5.Credentials.<init>:(Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/TicketFlags;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/HostAddresses;Lsun/security/krb5/internal/AuthorizationData;)V
        87: .line 363
            putfield sun.security.krb5.KrbApReq.creds:Lsun/security/krb5/Credentials;
        88: .line 377
            getstatic sun.security.krb5.KrbApReq.DEBUG:Z
            ifeq 90
        89: .line 378
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ">>> KrbApReq: authenticate succeed."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 16 // sun.security.krb5.internal.KerberosTime now
        end local 15 // sun.security.krb5.internal.rcache.AuthTimeWithHash time
        end local 14 // char[] h
        end local 13 // byte[] hash
        end local 12 // java.lang.String alg
        end local 11 // byte[] temp2
        end local 10 // byte[] bytes2
        end local 9 // sun.security.krb5.internal.EncTicketPart enc_ticketPart
        end local 8 // byte[] temp
        end local 7 // byte[] bytes
        end local 6 // sun.security.krb5.EncryptionKey dkey
        end local 5 // sun.security.krb5.EncryptionKey[] keys
        end local 4 // java.lang.Integer kvno
        end local 3 // int encPartKeyType
        end local 2 // java.net.InetAddress initiator
        end local 1 // sun.security.jgss.krb5.Krb5AcceptCredential cred
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   91     0            this  Lsun/security/krb5/KrbApReq;
            0   91     1            cred  Lsun/security/jgss/krb5/Krb5AcceptCredential;
            0   91     2       initiator  Ljava/net/InetAddress;
            1   91     3  encPartKeyType  I
            2   91     4            kvno  Ljava/lang/Integer;
            3   91     5            keys  [Lsun/security/krb5/EncryptionKey;
            4   91     6            dkey  Lsun/security/krb5/EncryptionKey;
           13   91     7           bytes  [B
           14   91     8            temp  [B
           15   91     9  enc_ticketPart  Lsun/security/krb5/internal/EncTicketPart;
           19   91    10          bytes2  [B
           20   91    11           temp2  [B
           31   91    12             alg  Ljava/lang/String;
           34   35    13            hash  [B
           37   91    13            hash  [B
           38   91    14               h  [C
           39   44    15               i  I
           52   91    15            time  Lsun/security/krb5/internal/rcache/AuthTimeWithHash;
           55   65    16          sender  Lsun/security/krb5/internal/HostAddress;
           66   91    16             now  Lsun/security/krb5/internal/KerberosTime;
      Exception table:
        from    to  target  type
          31    34      35  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
           Name  Flags
      cred       
      initiator  

  public sun.security.krb5.Credentials getCreds();
    descriptor: ()Lsun/security/krb5/Credentials;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 387
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.creds:Lsun/security/krb5/Credentials;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  sun.security.krb5.internal.KerberosTime getCtime();
    descriptor: ()Lsun/security/krb5/internal/KerberosTime;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 391
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.ctime:Lsun/security/krb5/internal/KerberosTime;
            ifnull 2
         1: .line 392
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.ctime:Lsun/security/krb5/internal/KerberosTime;
            areturn
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            getfield sun.security.krb5.internal.Authenticator.ctime:Lsun/security/krb5/internal/KerberosTime;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/krb5/KrbApReq;

  int cusec();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 397
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.cusec:I
            ireturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  sun.security.krb5.internal.APOptions getAPOptions();
    descriptor: ()Lsun/security/krb5/internal/APOptions;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 401
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnonnull 2
         1: .line 402
            aload 0 /* this */
            invokevirtual sun.security.krb5.KrbApReq.decode:()V
         2: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnull 4
         3: .line 404
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.apOptions:Lsun/security/krb5/internal/APOptions;
            areturn
         4: .line 405
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/krb5/KrbApReq;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException

  public boolean getMutualAuthRequired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 415
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnonnull 2
         1: .line 416
            aload 0 /* this */
            invokevirtual sun.security.krb5.KrbApReq.decode:()V
         2: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnull 4
         3: .line 418
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.apOptions:Lsun/security/krb5/internal/APOptions;
            iconst_2
            invokevirtual sun.security.krb5.internal.APOptions.get:(I)Z
            ireturn
         4: .line 419
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/krb5/KrbApReq;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException

  boolean useSessionKey();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 423
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnonnull 2
         1: .line 424
            aload 0 /* this */
            invokevirtual sun.security.krb5.KrbApReq.decode:()V
         2: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            ifnull 4
         3: .line 426
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
            getfield sun.security.krb5.internal.APReq.apOptions:Lsun/security/krb5/internal/APOptions;
            iconst_1
            invokevirtual sun.security.krb5.internal.APOptions.get:(I)Z
            ireturn
         4: .line 427
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/krb5/KrbApReq;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException

  public sun.security.krb5.EncryptionKey getSubKey();
    descriptor: ()Lsun/security/krb5/EncryptionKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 436
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            invokevirtual sun.security.krb5.internal.Authenticator.getSubKey:()Lsun/security/krb5/EncryptionKey;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  public java.lang.Integer getSeqNumber();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 446
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            invokevirtual sun.security.krb5.internal.Authenticator.getSeqNumber:()Ljava/lang/Integer;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  public sun.security.krb5.Checksum getChecksum();
    descriptor: ()Lsun/security/krb5/Checksum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 455
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            invokevirtual sun.security.krb5.internal.Authenticator.getChecksum:()Lsun/security/krb5/Checksum;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  public byte[] getMessage();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 462
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.obuf:[B
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  public sun.security.krb5.PrincipalName getClient();
    descriptor: ()Lsun/security/krb5/PrincipalName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbApReq this
         0: .line 470
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.creds:Lsun/security/krb5/Credentials;
            invokevirtual sun.security.krb5.Credentials.getClient:()Lsun/security/krb5/PrincipalName;
            areturn
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbApReq;

  private void createMessage(sun.security.krb5.internal.APOptions, sun.security.krb5.internal.Ticket, sun.security.krb5.EncryptionKey, sun.security.krb5.PrincipalName, sun.security.krb5.Checksum, sun.security.krb5.internal.KerberosTime, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.AuthorizationData, int);
    descriptor: (Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/AuthorizationData;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, args_size=11
        start local 0 // sun.security.krb5.KrbApReq this
        start local 1 // sun.security.krb5.internal.APOptions apOptions
        start local 2 // sun.security.krb5.internal.Ticket ticket
        start local 3 // sun.security.krb5.EncryptionKey key
        start local 4 // sun.security.krb5.PrincipalName cname
        start local 5 // sun.security.krb5.Checksum cksum
        start local 6 // sun.security.krb5.internal.KerberosTime ctime
        start local 7 // sun.security.krb5.EncryptionKey subKey
        start local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
        start local 10 // int usage
         0: .line 486
            aconst_null
            astore 11 /* seqno */
        start local 11 // java.lang.Integer seqno
         1: .line 488
            aload 8 /* seqNumber */
            ifnull 3
         2: .line 489
            aload 8 /* seqNumber */
            invokeinterface sun.security.krb5.internal.SeqNumber.current:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* seqno */
         3: .line 491
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
         4: .line 492
            new sun.security.krb5.internal.Authenticator
            dup
            aload 4 /* cname */
         5: .line 493
            aload 5 /* cksum */
         6: .line 494
            aload 6 /* ctime */
            invokevirtual sun.security.krb5.internal.KerberosTime.getMicroSeconds:()I
         7: .line 495
            aload 6 /* ctime */
         8: .line 496
            aload 7 /* subKey */
         9: .line 497
            aload 11 /* seqno */
        10: .line 498
            aload 9 /* authorizationData */
        11: .line 492
            invokespecial sun.security.krb5.internal.Authenticator.<init>:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Checksum;ILsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/EncryptionKey;Ljava/lang/Integer;Lsun/security/krb5/internal/AuthorizationData;)V
        12: .line 491
            putfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
        13: .line 500
            aload 0 /* this */
            getfield sun.security.krb5.KrbApReq.authenticator:Lsun/security/krb5/internal/Authenticator;
            invokevirtual sun.security.krb5.internal.Authenticator.asn1Encode:()[B
            astore 12 /* temp */
        start local 12 // byte[] temp
        14: .line 503
            new sun.security.krb5.EncryptedData
            dup
            aload 3 /* key */
            aload 12 /* temp */
            iload 10 /* usage */
            invokespecial sun.security.krb5.EncryptedData.<init>:(Lsun/security/krb5/EncryptionKey;[BI)V
        15: .line 502
            astore 13 /* encAuthenticator */
        start local 13 // sun.security.krb5.EncryptedData encAuthenticator
        16: .line 505
            aload 0 /* this */
        17: .line 506
            new sun.security.krb5.internal.APReq
            dup
            aload 1 /* apOptions */
            aload 2 /* ticket */
            aload 13 /* encAuthenticator */
            invokespecial sun.security.krb5.internal.APReq.<init>:(Lsun/security/krb5/internal/APOptions;Lsun/security/krb5/internal/Ticket;Lsun/security/krb5/EncryptedData;)V
        18: .line 505
            putfield sun.security.krb5.KrbApReq.apReqMessg:Lsun/security/krb5/internal/APReq;
        19: .line 507
            return
        end local 13 // sun.security.krb5.EncryptedData encAuthenticator
        end local 12 // byte[] temp
        end local 11 // java.lang.Integer seqno
        end local 10 // int usage
        end local 9 // sun.security.krb5.internal.AuthorizationData authorizationData
        end local 8 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 7 // sun.security.krb5.EncryptionKey subKey
        end local 6 // sun.security.krb5.internal.KerberosTime ctime
        end local 5 // sun.security.krb5.Checksum cksum
        end local 4 // sun.security.krb5.PrincipalName cname
        end local 3 // sun.security.krb5.EncryptionKey key
        end local 2 // sun.security.krb5.internal.Ticket ticket
        end local 1 // sun.security.krb5.internal.APOptions apOptions
        end local 0 // sun.security.krb5.KrbApReq this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lsun/security/krb5/KrbApReq;
            0   20     1          apOptions  Lsun/security/krb5/internal/APOptions;
            0   20     2             ticket  Lsun/security/krb5/internal/Ticket;
            0   20     3                key  Lsun/security/krb5/EncryptionKey;
            0   20     4              cname  Lsun/security/krb5/PrincipalName;
            0   20     5              cksum  Lsun/security/krb5/Checksum;
            0   20     6              ctime  Lsun/security/krb5/internal/KerberosTime;
            0   20     7             subKey  Lsun/security/krb5/EncryptionKey;
            0   20     8          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   20     9  authorizationData  Lsun/security/krb5/internal/AuthorizationData;
            0   20    10              usage  I
            1   20    11              seqno  Ljava/lang/Integer;
           14   20    12               temp  [B
           16   20    13   encAuthenticator  Lsun/security/krb5/EncryptedData;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.internal.KdcErrException, sun.security.krb5.KrbCryptoException
    MethodParameters:
                   Name  Flags
      apOptions          
      ticket             
      key                
      cname              
      cksum              
      ctime              
      subKey             
      seqNumber          
      authorizationData  
      usage              

  private static void checkPermittedEType(int);
    descriptor: (I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int target
         0: .line 511
            ldc "permitted_enctypes"
            invokestatic sun.security.krb5.internal.crypto.EType.getDefaults:(Ljava/lang/String;)[I
            astore 1 /* etypes */
        start local 1 // int[] etypes
         1: .line 512
            iload 0 /* target */
            aload 1 /* etypes */
            invokestatic sun.security.krb5.internal.crypto.EType.isSupported:(I[I)Z
            ifne 5
         2: .line 513
            new sun.security.krb5.KrbException
            dup
            new java.lang.StringBuilder
            dup
            iload 0 /* target */
            invokestatic sun.security.krb5.internal.crypto.EType.toString:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 514
            ldc " encryption type not in permitted_enctypes list"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 513
            invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 516
      StackMap locals: int[]
      StackMap stack:
            return
        end local 1 // int[] etypes
        end local 0 // int target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  target  I
            1    6     1  etypes  [I
    Exceptions:
      throws sun.security.krb5.KrbException
    MethodParameters:
        Name  Flags
      target  
}
SourceFile: "KrbApReq.java"