abstract class sun.security.ssl.InputRecord implements sun.security.ssl.Record, java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.ssl.InputRecord
  super_class: java.lang.Object
{
  sun.security.ssl.SSLCipher$SSLReadCipher readCipher;
    descriptor: Lsun/security/ssl/SSLCipher$SSLReadCipher;
    flags: (0x0000) 

  sun.security.ssl.TransportContext tc;
    descriptor: Lsun/security/ssl/TransportContext;
    flags: (0x0000) 

  final sun.security.ssl.HandshakeHash handshakeHash;
    descriptor: Lsun/security/ssl/HandshakeHash;
    flags: (0x0010) ACC_FINAL

  boolean isClosed;
    descriptor: Z
    flags: (0x0000) 

  sun.security.ssl.ProtocolVersion helloVersion;
    descriptor: Lsun/security/ssl/ProtocolVersion;
    flags: (0x0000) 

  int fragmentSize;
    descriptor: I
    flags: (0x0000) 

  void <init>(sun.security.ssl.HandshakeHash, sun.security.ssl.SSLCipher$SSLReadCipher);
    descriptor: (Lsun/security/ssl/HandshakeHash;Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // sun.security.ssl.HandshakeHash handshakeHash
        start local 2 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 2 /* readCipher */
            putfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
         2: .line 61
            aload 0 /* this */
            getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.InputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
         3: .line 62
            aload 0 /* this */
            aload 1 /* handshakeHash */
            putfield sun.security.ssl.InputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
         4: .line 63
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.InputRecord.isClosed:Z
         5: .line 64
            aload 0 /* this */
            sipush 16384
            putfield sun.security.ssl.InputRecord.fragmentSize:I
         6: .line 65
            return
        end local 2 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        end local 1 // sun.security.ssl.HandshakeHash handshakeHash
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lsun/security/ssl/InputRecord;
            0    7     1  handshakeHash  Lsun/security/ssl/HandshakeHash;
            0    7     2     readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
    MethodParameters:
               Name  Flags
      handshakeHash  
      readCipher     

  void setHelloVersion(sun.security.ssl.ProtocolVersion);
    descriptor: (Lsun/security/ssl/ProtocolVersion;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // sun.security.ssl.ProtocolVersion helloVersion
         0: .line 68
            aload 0 /* this */
            aload 1 /* helloVersion */
            putfield sun.security.ssl.InputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
         1: .line 69
            return
        end local 1 // sun.security.ssl.ProtocolVersion helloVersion
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/ssl/InputRecord;
            0    2     1  helloVersion  Lsun/security/ssl/ProtocolVersion;
    MethodParameters:
              Name  Flags
      helloVersion  

  boolean seqNumIsHuge();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.InputRecord this
         0: .line 72
            aload 0 /* this */
            getfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
            getfield sun.security.ssl.SSLCipher$SSLReadCipher.authenticator:Lsun/security/ssl/Authenticator;
            ifnull 3
         1: .line 73
            aload 0 /* this */
            getfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
            getfield sun.security.ssl.SSLCipher$SSLReadCipher.authenticator:Lsun/security/ssl/Authenticator;
            invokevirtual sun.security.ssl.Authenticator.seqNumIsHuge:()Z
            ifeq 3
         2: .line 72
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/InputRecord;

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.InputRecord this
         0: .line 82
            aload 0 /* this */
            getfield sun.security.ssl.InputRecord.isClosed:Z
            ifne 3
         1: .line 83
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.InputRecord.isClosed:Z
         2: .line 84
            aload 0 /* this */
            getfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
            invokevirtual sun.security.ssl.SSLCipher$SSLReadCipher.dispose:()V
         3: .line 86
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/InputRecord;
    Exceptions:
      throws java.io.IOException

  synchronized boolean isClosed();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.InputRecord this
         0: .line 89
            aload 0 /* this */
            getfield sun.security.ssl.InputRecord.isClosed:Z
            ireturn
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/InputRecord;

  void changeReadCiphers(sun.security.ssl.SSLCipher$SSLReadCipher);
    descriptor: (Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
         0: .line 103
            aload 1 /* readCipher */
            invokevirtual sun.security.ssl.SSLCipher$SSLReadCipher.dispose:()V
         1: .line 105
            aload 0 /* this */
            aload 1 /* readCipher */
            putfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
         2: .line 106
            return
        end local 1 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lsun/security/ssl/InputRecord;
            0    3     1  readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
    MethodParameters:
            Name  Flags
      readCipher  

  void changeFragmentSize(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // int fragmentSize
         0: .line 110
            aload 0 /* this */
            iload 1 /* fragmentSize */
            putfield sun.security.ssl.InputRecord.fragmentSize:I
         1: .line 111
            return
        end local 1 // int fragmentSize
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/ssl/InputRecord;
            0    2     1  fragmentSize  I
    MethodParameters:
              Name  Flags
      fragmentSize  

  int bytesInCompletePacket(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int srcsOffset
        start local 3 // int srcsLength
         0: .line 123
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported yet."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int srcsLength
        end local 2 // int srcsOffset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/ssl/InputRecord;
            0    1     1        srcs  [Ljava/nio/ByteBuffer;
            0    1     2  srcsOffset  I
            0    1     3  srcsLength  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      srcs        
      srcsOffset  
      srcsLength  

  int bytesInCompletePacket();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.InputRecord this
         0: .line 128
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/InputRecord;
    Exceptions:
      throws java.io.IOException

  void setReceiverStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // java.io.InputStream inputStream
         0: .line 133
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.io.InputStream inputStream
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/security/ssl/InputRecord;
            0    1     1  inputStream  Ljava/io/InputStream;
    MethodParameters:
             Name  Flags
      inputStream  

  abstract sun.security.ssl.Plaintext[] decode(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)[Lsun/security/ssl/Plaintext;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException, javax.crypto.BadPaddingException
    MethodParameters:
            Name  Flags
      srcs        
      srcsOffset  
      srcsLength  

  void setDeliverStream(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // java.io.OutputStream outputStream
         0: .line 143
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.io.OutputStream outputStream
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/security/ssl/InputRecord;
            0    1     1  outputStream  Ljava/io/OutputStream;
    MethodParameters:
              Name  Flags
      outputStream  

  int estimateFragmentSize(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.InputRecord this
        start local 1 // int packetSize
         0: .line 150
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // int packetSize
        end local 0 // sun.security.ssl.InputRecord this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/ssl/InputRecord;
            0    1     1  packetSize  I
    MethodParameters:
            Name  Flags
      packetSize  

  static java.nio.ByteBuffer convertToClientHello(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=16, args_size=1
        start local 0 // java.nio.ByteBuffer packet
         0: .line 158
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 1 /* srcPos */
        start local 1 // int srcPos
         1: .line 160
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 2 /* firstByte */
        start local 2 // byte firstByte
         2: .line 161
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 3 /* secondByte */
        start local 3 // byte secondByte
         3: .line 162
            iload 2 /* firstByte */
            bipush 127
            iand
            bipush 8
            ishl
            iload 3 /* secondByte */
            sipush 255
            iand
            ior
            iconst_2
            iadd
            istore 4 /* recordLen */
        start local 4 // int recordLen
         4: .line 164
            aload 0 /* packet */
            iload 1 /* srcPos */
            iconst_3
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 166
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* majorVersion */
        start local 5 // byte majorVersion
         6: .line 167
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* minorVersion */
        start local 6 // byte minorVersion
         7: .line 169
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
         8: .line 170
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
         9: .line 169
            iadd
            istore 7 /* cipherSpecLen */
        start local 7 // int cipherSpecLen
        10: .line 171
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
        11: .line 172
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
        12: .line 171
            iadd
            istore 8 /* sessionIdLen */
        start local 8 // int sessionIdLen
        13: .line 173
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            bipush 8
            ishl
        14: .line 174
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
        15: .line 173
            iadd
            istore 9 /* nonceLen */
        start local 9 // int nonceLen
        16: .line 184
            bipush 48
            iload 8 /* sessionIdLen */
            iadd
            iload 7 /* cipherSpecLen */
            iconst_2
            imul
            iconst_3
            idiv
            iadd
            istore 10 /* requiredSize */
        start local 10 // int requiredSize
        17: .line 185
            iload 10 /* requiredSize */
            newarray 8
            astore 11 /* converted */
        start local 11 // byte[] converted
        18: .line 192
            aload 11 /* converted */
            iconst_0
            getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
            getfield sun.security.ssl.ContentType.id:B
            bastore
        19: .line 193
            aload 11 /* converted */
            iconst_1
            iload 5 /* majorVersion */
            bastore
        20: .line 194
            aload 11 /* converted */
            iconst_2
            iload 6 /* minorVersion */
            bastore
        21: .line 201
            aload 11 /* converted */
            iconst_5
            iconst_1
            bastore
        22: .line 208
            aload 11 /* converted */
            bipush 9
            iload 5 /* majorVersion */
            bastore
        23: .line 209
            aload 11 /* converted */
            bipush 10
            iload 6 /* minorVersion */
            bastore
        24: .line 211
            bipush 11
            istore 12 /* pointer */
        start local 12 // int pointer
        25: .line 218
            iload 1 /* srcPos */
            bipush 11
            iadd
            iload 7 /* cipherSpecLen */
            iadd
            iload 8 /* sessionIdLen */
            iadd
            istore 13 /* offset */
        start local 13 // int offset
        26: .line 220
            iload 9 /* nonceLen */
            bipush 32
            if_icmpge 36
        27: .line 221
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        28: goto 31
        29: .line 222
      StackMap locals: java.nio.ByteBuffer int int int int int int int int int int byte[] int int int
      StackMap stack:
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iconst_0
            bastore
        30: .line 221
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 14 /* i */
            bipush 32
            iload 9 /* nonceLen */
            isub
            if_icmplt 29
        end local 14 // int i
        32: .line 224
            aload 0 /* packet */
            iload 13 /* offset */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 225
            aload 0 /* packet */
            aload 11 /* converted */
            iload 12 /* pointer */
            iload 9 /* nonceLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        34: .line 227
            iload 12 /* pointer */
            iload 9 /* nonceLen */
            iadd
            istore 12 /* pointer */
        35: .line 228
            goto 39
        36: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* packet */
            iload 13 /* offset */
            iload 9 /* nonceLen */
            iadd
            bipush 32
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        37: .line 230
            aload 0 /* packet */
            aload 11 /* converted */
            iload 12 /* pointer */
            bipush 32
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        38: .line 232
            iinc 12 /* pointer */ 32
        39: .line 238
      StackMap locals:
      StackMap stack:
            iload 13 /* offset */
            iload 8 /* sessionIdLen */
            isub
            istore 13 /* offset */
        40: .line 239
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iload 8 /* sessionIdLen */
            sipush 255
            iand
            i2b
            bastore
        41: .line 240
            aload 0 /* packet */
            iload 13 /* offset */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 241
            aload 0 /* packet */
            aload 11 /* converted */
            iload 12 /* pointer */
            iload 8 /* sessionIdLen */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        43: .line 259
            iload 13 /* offset */
            iload 7 /* cipherSpecLen */
            isub
            istore 13 /* offset */
        44: .line 260
            aload 0 /* packet */
            iload 13 /* offset */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        45: .line 262
            iload 12 /* pointer */
            iconst_2
            iadd
            istore 14 /* j */
        start local 14 // int j
        46: .line 263
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        47: goto 55
        48: .line 264
      StackMap locals: int int
      StackMap stack:
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            ifeq 52
        49: .line 268
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            pop
        50: .line 269
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            pop
        51: .line 270
            goto 54
        52: .line 273
      StackMap locals:
      StackMap stack:
            aload 11 /* converted */
            iload 14 /* j */
            iinc 14 /* j */ 1
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            bastore
        53: .line 274
            aload 11 /* converted */
            iload 14 /* j */
            iinc 14 /* j */ 1
            aload 0 /* packet */
            invokevirtual java.nio.ByteBuffer.get:()B
            bastore
        54: .line 263
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 3
      StackMap locals:
      StackMap stack:
        55: iload 15 /* i */
            iload 7 /* cipherSpecLen */
            if_icmplt 48
        end local 15 // int i
        56: .line 277
            iload 14 /* j */
            iload 12 /* pointer */
            iconst_2
            iadd
            isub
            istore 14 /* j */
        57: .line 278
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iload 14 /* j */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
        58: .line 279
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iload 14 /* j */
            sipush 255
            iand
            i2b
            bastore
        59: .line 280
            iload 12 /* pointer */
            iload 14 /* j */
            iadd
            istore 12 /* pointer */
        60: .line 285
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iconst_1
            bastore
        61: .line 286
            aload 11 /* converted */
            iload 12 /* pointer */
            iinc 12 /* pointer */ 1
            iconst_0
            bastore
        62: .line 293
            iload 12 /* pointer */
            iconst_5
            isub
            istore 15 /* fragLen */
        start local 15 // int fragLen
        63: .line 294
            aload 11 /* converted */
            iconst_3
            iload 15 /* fragLen */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
        64: .line 295
            aload 11 /* converted */
            iconst_4
            iload 15 /* fragLen */
            sipush 255
            iand
            i2b
            bastore
        65: .line 300
            iload 12 /* pointer */
            bipush 9
            isub
            istore 15 /* fragLen */
        66: .line 301
            aload 11 /* converted */
            bipush 6
            iload 15 /* fragLen */
            bipush 16
            iushr
            sipush 255
            iand
            i2b
            bastore
        67: .line 302
            aload 11 /* converted */
            bipush 7
            iload 15 /* fragLen */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
        68: .line 303
            aload 11 /* converted */
            bipush 8
            iload 15 /* fragLen */
            sipush 255
            iand
            i2b
            bastore
        69: .line 306
            aload 0 /* packet */
            iload 1 /* srcPos */
            iload 4 /* recordLen */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        70: .line 309
            aload 11 /* converted */
            iconst_5
            iload 12 /* pointer */
            iconst_5
            isub
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            areturn
        end local 15 // int fragLen
        end local 14 // int j
        end local 13 // int offset
        end local 12 // int pointer
        end local 11 // byte[] converted
        end local 10 // int requiredSize
        end local 9 // int nonceLen
        end local 8 // int sessionIdLen
        end local 7 // int cipherSpecLen
        end local 6 // byte minorVersion
        end local 5 // byte majorVersion
        end local 4 // int recordLen
        end local 3 // byte secondByte
        end local 2 // byte firstByte
        end local 1 // int srcPos
        end local 0 // java.nio.ByteBuffer packet
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   71     0         packet  Ljava/nio/ByteBuffer;
            1   71     1         srcPos  I
            2   71     2      firstByte  B
            3   71     3     secondByte  B
            4   71     4      recordLen  I
            6   71     5   majorVersion  B
            7   71     6   minorVersion  B
           10   71     7  cipherSpecLen  I
           13   71     8   sessionIdLen  I
           16   71     9       nonceLen  I
           17   71    10   requiredSize  I
           18   71    11      converted  [B
           25   71    12        pointer  I
           26   71    13         offset  I
           28   32    14              i  I
           46   71    14              j  I
           47   56    15              i  I
           63   71    15        fragLen  I
    MethodParameters:
        Name  Flags
      packet  

  static java.nio.ByteBuffer extract(java.nio.ByteBuffer[], int, int, int);
    descriptor: ([Ljava/nio/ByteBuffer;III)Ljava/nio/ByteBuffer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // java.nio.ByteBuffer[] buffers
        start local 1 // int offset
        start local 2 // int length
        start local 3 // int headerSize
         0: .line 316
            iconst_0
            istore 4 /* hasFullHeader */
        start local 4 // boolean hasFullHeader
         1: .line 317
            iconst_m1
            istore 5 /* contentLen */
        start local 5 // int contentLen
         2: .line 318
            iload 1 /* offset */
            istore 6 /* i */
        start local 6 // int i
         3: iconst_0
            istore 7 /* j */
        start local 7 // int j
         4: .line 319
            goto 20
         5: .line 320
      StackMap locals: java.nio.ByteBuffer[] int int int int int int int
      StackMap stack:
            aload 0 /* buffers */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 8 /* remains */
        start local 8 // int remains
         6: .line 321
            aload 0 /* buffers */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 9 /* pos */
        start local 9 // int pos
         7: .line 322
            iconst_0
            istore 10 /* k */
        start local 10 // int k
         8: goto 18
         9: .line 323
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* buffers */
            iload 6 /* i */
            aaload
            iload 9 /* pos */
            iload 10 /* k */
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            istore 11 /* b */
        start local 11 // byte b
        10: .line 324
            iload 7 /* j */
            iload 3 /* headerSize */
            iconst_2
            isub
            if_icmpne 13
        11: .line 325
            iload 11 /* b */
            sipush 255
            iand
            bipush 8
            ishl
            istore 5 /* contentLen */
        12: .line 326
            goto 17
      StackMap locals: int
      StackMap stack:
        13: iload 7 /* j */
            iload 3 /* headerSize */
            iconst_1
            isub
            if_icmpne 17
        14: .line 327
            iload 5 /* contentLen */
            iload 11 /* b */
            sipush 255
            iand
            ior
            istore 5 /* contentLen */
        15: .line 328
            iconst_1
            istore 4 /* hasFullHeader */
        16: .line 329
            goto 19
        end local 11 // byte b
        17: .line 322
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
            iinc 10 /* k */ 1
      StackMap locals:
      StackMap stack:
        18: iload 10 /* k */
            iload 8 /* remains */
            if_icmpge 19
            iload 7 /* j */
            iload 3 /* headerSize */
            if_icmplt 9
        end local 10 // int k
        end local 9 // int pos
        end local 8 // int remains
        19: .line 319
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmpge 22
            iload 7 /* j */
            iload 3 /* headerSize */
        21: .line 318
            if_icmplt 5
        end local 7 // int j
        end local 6 // int i
        22: .line 334
      StackMap locals:
      StackMap stack:
            iload 4 /* hasFullHeader */
            ifne 24
        23: .line 335
            new java.nio.BufferUnderflowException
            dup
            invokespecial java.nio.BufferUnderflowException.<init>:()V
            athrow
        24: .line 338
      StackMap locals:
      StackMap stack:
            iload 3 /* headerSize */
            iload 5 /* contentLen */
            iadd
            istore 6 /* packetLen */
        start local 6 // int packetLen
        25: .line 339
            iconst_0
            istore 7 /* remains */
        start local 7 // int remains
        26: .line 340
            iload 1 /* offset */
            istore 8 /* i */
        start local 8 // int i
        27: goto 32
        28: .line 341
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* remains */
            aload 0 /* buffers */
            iload 8 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iadd
            istore 7 /* remains */
        29: .line 342
            iload 7 /* remains */
            iload 6 /* packetLen */
            if_icmplt 31
        30: .line 343
            goto 33
        31: .line 340
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmplt 28
        end local 8 // int i
        33: .line 347
      StackMap locals:
      StackMap stack:
            iload 7 /* remains */
            iload 6 /* packetLen */
            if_icmpge 35
        34: .line 348
            new java.nio.BufferUnderflowException
            dup
            invokespecial java.nio.BufferUnderflowException.<init>:()V
            athrow
        35: .line 351
      StackMap locals:
      StackMap stack:
            iload 6 /* packetLen */
            newarray 8
            astore 8 /* packet */
        start local 8 // byte[] packet
        36: .line 352
            iconst_0
            istore 9 /* packetOffset */
        start local 9 // int packetOffset
        37: .line 353
            iload 6 /* packetLen */
            istore 10 /* packetSpaces */
        start local 10 // int packetSpaces
        38: .line 354
            iload 1 /* offset */
            istore 11 /* i */
        start local 11 // int i
        39: goto 48
        40: .line 355
      StackMap locals: java.nio.ByteBuffer[] int int int int int int int byte[] int int int
      StackMap stack:
            aload 0 /* buffers */
            iload 11 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 45
        41: .line 356
            iload 10 /* packetSpaces */
            aload 0 /* buffers */
            iload 11 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Math.min:(II)I
            istore 12 /* len */
        start local 12 // int len
        42: .line 357
            aload 0 /* buffers */
            iload 11 /* i */
            aaload
            aload 8 /* packet */
            iload 9 /* packetOffset */
            iload 12 /* len */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        43: .line 358
            iload 9 /* packetOffset */
            iload 12 /* len */
            iadd
            istore 9 /* packetOffset */
        44: .line 359
            iload 10 /* packetSpaces */
            iload 12 /* len */
            isub
            istore 10 /* packetSpaces */
        end local 12 // int len
        45: .line 362
      StackMap locals:
      StackMap stack:
            iload 10 /* packetSpaces */
            ifgt 47
        46: .line 363
            goto 49
        47: .line 354
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 11 /* i */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmplt 40
        end local 11 // int i
        49: .line 367
      StackMap locals:
      StackMap stack:
            aload 8 /* packet */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 10 // int packetSpaces
        end local 9 // int packetOffset
        end local 8 // byte[] packet
        end local 7 // int remains
        end local 6 // int packetLen
        end local 5 // int contentLen
        end local 4 // boolean hasFullHeader
        end local 3 // int headerSize
        end local 2 // int length
        end local 1 // int offset
        end local 0 // java.nio.ByteBuffer[] buffers
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   50     0        buffers  [Ljava/nio/ByteBuffer;
            0   50     1         offset  I
            0   50     2         length  I
            0   50     3     headerSize  I
            1   50     4  hasFullHeader  Z
            2   50     5     contentLen  I
            3   22     6              i  I
            4   22     7              j  I
            6   19     8        remains  I
            7   19     9            pos  I
            8   19    10              k  I
           10   17    11              b  B
           25   50     6      packetLen  I
           26   50     7        remains  I
           27   33     8              i  I
           36   50     8         packet  [B
           37   50     9   packetOffset  I
           38   50    10   packetSpaces  I
           39   49    11              i  I
           42   45    12            len  I
    MethodParameters:
            Name  Flags
      buffers     
      offset      
      length      
      headerSize  
}
SourceFile: "InputRecord.java"
InnerClasses:
  abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher