public class org.h2.value.Transfer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.Transfer
  super_class: java.lang.Object
{
  private static final int BUFFER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  private static final int LOB_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4660

  private static final int LOB_MAC_SALT_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int NULL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int BOOLEAN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int BYTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int SHORT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int INT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int LONG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int DECIMAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int DOUBLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int FLOAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int TIME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int DATE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int TIMESTAMP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  private static final int BYTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int STRING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  private static final int STRING_IGNORECASE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  private static final int BLOB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final int CLOB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int ARRAY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  private static final int RESULT_SET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  private static final int JAVA_OBJECT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  private static final int UUID;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  private static final int STRING_FIXED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  private static final int GEOMETRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  private static final int TIMESTAMP_TZ;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  private static final int ENUM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 25

  private static final int INTERVAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 26

  private static final int ROW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 27

  private java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE

  private java.io.DataInputStream in;
    descriptor: Ljava/io/DataInputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.DataOutputStream out;
    descriptor: Ljava/io/DataOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.engine.SessionInterface session;
    descriptor: Lorg/h2/engine/SessionInterface;
    flags: (0x0002) ACC_PRIVATE

  private boolean ssl;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private byte[] lobMacSalt;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.h2.engine.SessionInterface, java.net.Socket);
    descriptor: (Lorg/h2/engine/SessionInterface;Ljava/net/Socket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.value.Transfer this
        start local 1 // org.h2.engine.SessionInterface session
        start local 2 // java.net.Socket s
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aload 1 /* session */
            putfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
         2: .line 89
            aload 0 /* this */
            aload 2 /* s */
            putfield org.h2.value.Transfer.socket:Ljava/net/Socket;
         3: .line 90
            return
        end local 2 // java.net.Socket s
        end local 1 // org.h2.engine.SessionInterface session
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/value/Transfer;
            0    4     1  session  Lorg/h2/engine/SessionInterface;
            0    4     2        s  Ljava/net/Socket;
    MethodParameters:
         Name  Flags
      session  
      s        

  public synchronized void init();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 97
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            ifnull 11
         1: .line 98
            aload 0 /* this */
            new java.io.DataInputStream
            dup
         2: .line 99
            new java.io.BufferedInputStream
            dup
         3: .line 100
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            ldc 65536
         4: .line 99
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
         5: .line 98
            putfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
         6: .line 101
            aload 0 /* this */
            new java.io.DataOutputStream
            dup
         7: .line 102
            new java.io.BufferedOutputStream
            dup
         8: .line 103
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            ldc 65536
         9: .line 102
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
        10: .line 101
            putfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
        11: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 111
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
         1: .line 112
            return
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public org.h2.value.Transfer writeBoolean(boolean);
    descriptor: (Z)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // boolean x
         0: .line 121
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            iload 1 /* x */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.io.DataOutputStream
         1: iconst_0
      StackMap locals: org.h2.value.Transfer int
      StackMap stack: java.io.DataOutputStream int
         2: i2b
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         3: .line 122
            aload 0 /* this */
            areturn
        end local 1 // boolean x
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/value/Transfer;
            0    4     1     x  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 131
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  private org.h2.value.Transfer writeByte(byte);
    descriptor: (B)Lorg/h2/value/Transfer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // byte x
         0: .line 141
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            iload 1 /* x */
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         1: .line 142
            aload 0 /* this */
            areturn
        end local 1 // byte x
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1     x  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  private byte readByte();
    descriptor: ()B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 151
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readByte:()B
            ireturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public org.h2.value.Transfer writeInt(int);
    descriptor: (I)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // int x
         0: .line 161
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            iload 1 /* x */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         1: .line 162
            aload 0 /* this */
            areturn
        end local 1 // int x
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1     x  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 171
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            ireturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public org.h2.value.Transfer writeLong(long);
    descriptor: (J)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // long x
         0: .line 181
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            lload 1 /* x */
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
         1: .line 182
            aload 0 /* this */
            areturn
        end local 1 // long x
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1     x  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 191
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readLong:()J
            lreturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  private org.h2.value.Transfer writeDouble(double);
    descriptor: (D)Lorg/h2/value/Transfer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // double i
         0: .line 201
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            dload 1 /* i */
            invokevirtual java.io.DataOutputStream.writeDouble:(D)V
         1: .line 202
            aload 0 /* this */
            areturn
        end local 1 // double i
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1     i  D
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      i     

  private org.h2.value.Transfer writeFloat(float);
    descriptor: (F)Lorg/h2/value/Transfer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // float i
         0: .line 212
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            fload 1 /* i */
            invokevirtual java.io.DataOutputStream.writeFloat:(F)V
         1: .line 213
            aload 0 /* this */
            areturn
        end local 1 // float i
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1     i  F
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      i     

  private double readDouble();
    descriptor: ()D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 222
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readDouble:()D
            dreturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  private float readFloat();
    descriptor: ()F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 231
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readFloat:()F
            freturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public org.h2.value.Transfer writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // java.lang.String s
         0: .line 241
            aload 1 /* s */
            ifnonnull 3
         1: .line 242
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            iconst_m1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 243
            goto 5
         3: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         4: .line 245
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            aload 1 /* s */
            invokevirtual java.io.DataOutputStream.writeChars:(Ljava/lang/String;)V
         5: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/value/Transfer;
            0    6     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public java.lang.String readString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 256
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 257
            iload 1 /* len */
            iconst_m1
            if_icmpne 3
         2: .line 258
            aconst_null
            areturn
         3: .line 260
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* len */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buff */
        start local 2 // java.lang.StringBuilder buff
         4: .line 261
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 262
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* buff */
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 261
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 6
        end local 3 // int i
         9: .line 264
            aload 2 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        10: .line 265
            aload 3 /* s */
            invokestatic org.h2.util.StringUtils.cache:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* s */
        11: .line 266
            aload 3 /* s */
            areturn
        end local 3 // java.lang.String s
        end local 2 // java.lang.StringBuilder buff
        end local 1 // int len
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/value/Transfer;
            1   12     1   len  I
            4   12     2  buff  Ljava/lang/StringBuilder;
            5    9     3     i  I
           10   12     3     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  public org.h2.value.Transfer writeBytes(byte[]);
    descriptor: ([B)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // byte[] data
         0: .line 276
            aload 1 /* data */
            ifnonnull 3
         1: .line 277
            aload 0 /* this */
            iconst_m1
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         2: .line 278
            goto 5
         3: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            arraylength
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         4: .line 280
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            aload 1 /* data */
            invokevirtual java.io.DataOutputStream.write:([B)V
         5: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // byte[] data
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/value/Transfer;
            0    6     1  data  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  

  public org.h2.value.Transfer writeBytes(byte[], int, int);
    descriptor: ([BII)Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.h2.value.Transfer this
        start local 1 // byte[] buff
        start local 2 // int off
        start local 3 // int len
         0: .line 294
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            aload 1 /* buff */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.DataOutputStream.write:([BII)V
         1: .line 295
            aload 0 /* this */
            areturn
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buff
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1  buff  [B
            0    2     2   off  I
            0    2     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buff  
      off   
      len   

  public byte[] readBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 304
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 305
            iload 1 /* len */
            iconst_m1
            if_icmpne 3
         2: .line 306
            aconst_null
            areturn
         3: .line 308
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            invokestatic org.h2.util.Utils.newBytes:(I)[B
            astore 2 /* b */
        start local 2 // byte[] b
         4: .line 309
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            aload 2 /* b */
            invokevirtual java.io.DataInputStream.readFully:([B)V
         5: .line 310
            aload 2 /* b */
            areturn
        end local 2 // byte[] b
        end local 1 // int len
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/value/Transfer;
            1    6     1   len  I
            4    6     2     b  [B
    Exceptions:
      throws java.io.IOException

  public void readBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.h2.value.Transfer this
        start local 1 // byte[] buff
        start local 2 // int off
        start local 3 // int len
         0: .line 321
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            aload 1 /* buff */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.DataInputStream.readFully:([BII)V
         1: .line 322
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buff
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1  buff  [B
            0    2     2   off  I
            0    2     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buff  
      off   
      len   

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 328
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            ifnull 13
         1: .line 330
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            ifnull 3
         2: .line 331
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
         3: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            ifnull 12
         4: .line 334
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
         5: .line 336
            goto 12
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 1 /* e */
        start local 1 // java.io.IOException e
         7: .line 337
            aload 1 /* e */
            invokestatic org.h2.message.DbException.traceThrowable:(Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException e
         8: .line 339
            aload 0 /* this */
            aconst_null
            putfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            goto 13
         9: .line 338
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        10: .line 339
            aload 0 /* this */
            aconst_null
            putfield org.h2.value.Transfer.socket:Ljava/net/Socket;
        11: .line 340
            aload 2
            athrow
        12: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.value.Transfer.socket:Ljava/net/Socket;
        13: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/h2/value/Transfer;
            7    8     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     5       6  Class java.io.IOException
           1     8       9  any

  public void writeValue(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // org.h2.value.Value v
         0: .line 350
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getValueType:()I
            istore 2 /* type */
        start local 2 // int type
         1: .line 351
            iload 2 /* type */
            tableswitch { // 0 - 39
                    0: 2
                    1: 15
                    2: 18
                    3: 53
                    4: 47
                    5: 50
                    6: 38
                    7: 41
                    8: 44
                    9: 21
                   10: 24
                   11: 27
                   12: 4
                   13: 56
                   14: 59
                   15: 65
                   16: 88
                   17: 109
                   18: 142
                   19: 7
                   20: 10
                   21: 62
                   22: 172
                   23: 203
                   24: 32
                   25: 138
                   26: 178
                   27: 178
                   28: 178
                   29: 178
                   30: 178
                   31: 190
                   32: 190
                   33: 190
                   34: 190
                   35: 190
                   36: 190
                   37: 190
                   38: 190
                   39: 125
              default: 203
          }
         2: .line 353
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         3: .line 354
            goto 208
         4: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 12
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         5: .line 357
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBytesNoCopy:()[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
         6: .line 358
            goto 208
         7: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 19
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         8: .line 361
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBytesNoCopy:()[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
         9: .line 362
            goto 208
        10: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 20
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        11: .line 365
            aload 1 /* v */
            checkcast org.h2.value.ValueUuid
            astore 3 /* uuid */
        start local 3 // org.h2.value.ValueUuid uuid
        12: .line 366
            aload 0 /* this */
            aload 3 /* uuid */
            invokevirtual org.h2.value.ValueUuid.getHigh:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        13: .line 367
            aload 0 /* this */
            aload 3 /* uuid */
            invokevirtual org.h2.value.ValueUuid.getLow:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        14: .line 368
            goto 208
        end local 3 // org.h2.value.ValueUuid uuid
        15: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        16: .line 372
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBoolean:()Z
            invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
            pop
        17: .line 373
            goto 208
        18: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        19: .line 376
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getByte:()B
            invokevirtual org.h2.value.Transfer.writeByte:(B)Lorg/h2/value/Transfer;
            pop
        20: .line 377
            goto 208
        21: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 9
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        22: .line 380
            aload 0 /* this */
            aload 1 /* v */
            checkcast org.h2.value.ValueTime
            invokevirtual org.h2.value.ValueTime.getNanos:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        23: .line 381
            goto 208
        24: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        25: .line 384
            aload 0 /* this */
            aload 1 /* v */
            checkcast org.h2.value.ValueDate
            invokevirtual org.h2.value.ValueDate.getDateValue:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        26: .line 385
            goto 208
        27: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 11
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        28: .line 388
            aload 1 /* v */
            checkcast org.h2.value.ValueTimestamp
            astore 3 /* ts */
        start local 3 // org.h2.value.ValueTimestamp ts
        29: .line 389
            aload 0 /* this */
            aload 3 /* ts */
            invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        30: .line 390
            aload 0 /* this */
            aload 3 /* ts */
            invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        31: .line 391
            goto 208
        end local 3 // org.h2.value.ValueTimestamp ts
        32: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 24
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        33: .line 395
            aload 1 /* v */
            checkcast org.h2.value.ValueTimestampTimeZone
            astore 3 /* ts */
        start local 3 // org.h2.value.ValueTimestampTimeZone ts
        34: .line 396
            aload 0 /* this */
            aload 3 /* ts */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getDateValue:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        35: .line 397
            aload 0 /* this */
            aload 3 /* ts */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeNanos:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        36: .line 398
            aload 0 /* this */
            aload 3 /* ts */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeZoneOffsetMins:()S
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        37: .line 399
            goto 208
        end local 3 // org.h2.value.ValueTimestampTimeZone ts
        38: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        39: .line 403
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        40: .line 404
            goto 208
        41: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 7
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        42: .line 407
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getDouble:()D
            invokevirtual org.h2.value.Transfer.writeDouble:(D)Lorg/h2/value/Transfer;
            pop
        43: .line 408
            goto 208
        44: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        45: .line 411
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getFloat:()F
            invokevirtual org.h2.value.Transfer.writeFloat:(F)Lorg/h2/value/Transfer;
            pop
        46: .line 412
            goto 208
        47: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        48: .line 415
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getInt:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        49: .line 416
            goto 208
        50: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        51: .line 419
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getLong:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        52: .line 420
            goto 208
        53: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        54: .line 423
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getShort:()S
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        55: .line 424
            goto 208
        56: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 13
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        57: .line 427
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        58: .line 428
            goto 208
        59: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 14
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        60: .line 431
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        61: .line 432
            goto 208
        62: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 21
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        63: .line 435
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        64: .line 436
            goto 208
        65: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 15
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        66: .line 439
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 11
            if_icmplt 77
        67: .line 440
            aload 1 /* v */
            instanceof org.h2.value.ValueLobDb
            ifeq 77
        68: .line 441
            aload 1 /* v */
            checkcast org.h2.value.ValueLobDb
            astore 3 /* lob */
        start local 3 // org.h2.value.ValueLobDb lob
        69: .line 442
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.isStored:()Z
            ifeq 77
        70: .line 443
            aload 0 /* this */
            ldc -1
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        71: .line 444
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getTableId:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        72: .line 445
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getLobId:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        73: .line 446
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 12
            if_icmplt 75
        74: .line 447
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getLobId:()J
            invokevirtual org.h2.value.Transfer.calculateLobMac:(J)[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
        75: .line 449
      StackMap locals: org.h2.value.ValueLobDb
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        76: .line 450
            goto 208
        end local 3 // org.h2.value.ValueLobDb lob
        77: .line 454
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            lstore 3 /* length */
        start local 3 // long length
        78: .line 455
            lload 3 /* length */
            lconst_0
            lcmp
            ifge 81
        79: .line 457
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        80: .line 456
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        81: .line 459
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* length */
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        82: .line 460
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getInputStream:()Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            invokestatic org.h2.util.IOUtils.copyAndCloseInput:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
            lstore 5 /* written */
        start local 5 // long written
        83: .line 461
            lload 5 /* written */
            lload 3 /* length */
            lcmp
            ifeq 86
        84: .line 463
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "length:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " written:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 5 /* written */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        85: .line 462
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        86: .line 465
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            sipush 4660
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        87: .line 466
            goto 208
        end local 5 // long written
        end local 3 // long length
        88: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 16
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        89: .line 470
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 11
            if_icmplt 100
        90: .line 471
            aload 1 /* v */
            instanceof org.h2.value.ValueLobDb
            ifeq 100
        91: .line 472
            aload 1 /* v */
            checkcast org.h2.value.ValueLobDb
            astore 3 /* lob */
        start local 3 // org.h2.value.ValueLobDb lob
        92: .line 473
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.isStored:()Z
            ifeq 100
        93: .line 474
            aload 0 /* this */
            ldc -1
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        94: .line 475
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getTableId:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        95: .line 476
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getLobId:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        96: .line 477
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 12
            if_icmplt 98
        97: .line 478
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getLobId:()J
            invokevirtual org.h2.value.Transfer.calculateLobMac:(J)[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
        98: .line 480
      StackMap locals: org.h2.value.ValueLobDb
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lob */
            invokevirtual org.h2.value.ValueLobDb.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        99: .line 481
            goto 208
        end local 3 // org.h2.value.ValueLobDb lob
       100: .line 485
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            lstore 3 /* length */
        start local 3 // long length
       101: .line 486
            lload 3 /* length */
            lconst_0
            lcmp
            ifge 104
       102: .line 488
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       103: .line 487
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
       104: .line 490
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* length */
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
       105: .line 491
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getReader:()Ljava/io/Reader;
            astore 5 /* reader */
        start local 5 // java.io.Reader reader
       106: .line 492
            aload 5 /* reader */
            aload 0 /* this */
            getfield org.h2.value.Transfer.out:Ljava/io/DataOutputStream;
            invokestatic org.h2.store.Data.copyString:(Ljava/io/Reader;Ljava/io/OutputStream;)V
       107: .line 493
            aload 0 /* this */
            sipush 4660
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       108: .line 494
            goto 208
        end local 5 // java.io.Reader reader
        end local 3 // long length
       109: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 17
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       110: .line 498
            aload 1 /* v */
            checkcast org.h2.value.ValueArray
            astore 3 /* va */
        start local 3 // org.h2.value.ValueArray va
       111: .line 499
            aload 3 /* va */
            invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
            astore 4 /* list */
        start local 4 // org.h2.value.Value[] list
       112: .line 500
            aload 4 /* list */
            arraylength
            istore 5 /* len */
        start local 5 // int len
       113: .line 501
            aload 3 /* va */
            invokevirtual org.h2.value.ValueArray.getComponentType:()Ljava/lang/Class;
            astore 6 /* componentType */
        start local 6 // java.lang.Class componentType
       114: .line 502
            aload 6 /* componentType */
            ldc Ljava/lang/Object;
            if_acmpne 117
       115: .line 503
            aload 0 /* this */
            iload 5 /* len */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       116: .line 504
            goto 119
       117: .line 505
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int org.h2.value.ValueArray org.h2.value.Value[] int java.lang.Class
      StackMap stack:
            aload 0 /* this */
            iload 5 /* len */
            iconst_1
            iadd
            ineg
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       118: .line 506
            aload 0 /* this */
            aload 6 /* componentType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       119: .line 508
      StackMap locals:
      StackMap stack:
            aload 4 /* list */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 123
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int org.h2.value.ValueArray org.h2.value.Value[] int java.lang.Class top int int org.h2.value.Value[]
      StackMap stack:
       120: aload 10
            iload 8
            aaload
            astore 7 /* value */
        start local 7 // org.h2.value.Value value
       121: .line 509
            aload 0 /* this */
            aload 7 /* value */
            invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
        end local 7 // org.h2.value.Value value
       122: .line 508
            iinc 8 1
      StackMap locals:
      StackMap stack:
       123: iload 8
            iload 9
            if_icmplt 120
       124: .line 511
            goto 208
        end local 6 // java.lang.Class componentType
        end local 5 // int len
        end local 4 // org.h2.value.Value[] list
        end local 3 // org.h2.value.ValueArray va
       125: .line 514
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 18
            if_icmplt 126
            bipush 27
            goto 127
      StackMap locals:
      StackMap stack: org.h2.value.Transfer
       126: bipush 17
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int
      StackMap stack: org.h2.value.Transfer int
       127: invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       128: .line 515
            aload 1 /* v */
            checkcast org.h2.value.ValueRow
            astore 3 /* va */
        start local 3 // org.h2.value.ValueRow va
       129: .line 516
            aload 3 /* va */
            invokevirtual org.h2.value.ValueRow.getList:()[Lorg/h2/value/Value;
            astore 4 /* list */
        start local 4 // org.h2.value.Value[] list
       130: .line 517
            aload 4 /* list */
            arraylength
            istore 5 /* len */
        start local 5 // int len
       131: .line 518
            aload 0 /* this */
            iload 5 /* len */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       132: .line 519
            aload 4 /* list */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 136
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int org.h2.value.ValueRow org.h2.value.Value[] int top int int org.h2.value.Value[]
      StackMap stack:
       133: aload 9
            iload 7
            aaload
            astore 6 /* value */
        start local 6 // org.h2.value.Value value
       134: .line 520
            aload 0 /* this */
            aload 6 /* value */
            invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
        end local 6 // org.h2.value.Value value
       135: .line 519
            iinc 7 1
      StackMap locals:
      StackMap stack:
       136: iload 7
            iload 8
            if_icmplt 133
       137: .line 522
            goto 208
        end local 5 // int len
        end local 4 // org.h2.value.Value[] list
        end local 3 // org.h2.value.ValueRow va
       138: .line 525
      StackMap locals: org.h2.value.Transfer org.h2.value.Value int
      StackMap stack:
            aload 0 /* this */
            bipush 25
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       139: .line 526
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getInt:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       140: .line 527
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       141: .line 528
            goto 208
       142: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 18
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       143: .line 532
            aload 1 /* v */
            checkcast org.h2.value.ValueResultSet
            invokevirtual org.h2.value.ValueResultSet.getResult:()Lorg/h2/result/ResultInterface;
            astore 3 /* result */
        start local 3 // org.h2.result.ResultInterface result
       144: .line 533
            aload 3 /* result */
            invokeinterface org.h2.result.ResultInterface.getVisibleColumnCount:()I
            istore 4 /* columnCount */
        start local 4 // int columnCount
       145: .line 534
            aload 0 /* this */
            iload 4 /* columnCount */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       146: .line 535
            iconst_0
            istore 5 /* i */
        start local 5 // int i
       147: goto 160
       148: .line 536
      StackMap locals: org.h2.result.ResultInterface int int
      StackMap stack:
            aload 3 /* result */
            iload 5 /* i */
            invokeinterface org.h2.result.ResultInterface.getColumnType:(I)Lorg/h2/value/TypeInfo;
            astore 6 /* columnType */
        start local 6 // org.h2.value.TypeInfo columnType
       149: .line 537
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 18
            if_icmplt 155
       150: .line 538
            aload 0 /* this */
            aload 3 /* result */
            iload 5 /* i */
            invokeinterface org.h2.result.ResultInterface.getAlias:(I)Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       151: .line 539
            aload 0 /* this */
            aload 3 /* result */
            iload 5 /* i */
            invokeinterface org.h2.result.ResultInterface.getColumnName:(I)Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       152: .line 540
            aload 0 /* this */
            aload 6 /* columnType */
            invokevirtual org.h2.value.TypeInfo.getValueType:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       153: .line 541
            aload 0 /* this */
            aload 6 /* columnType */
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
       154: .line 542
            goto 158
       155: .line 543
      StackMap locals: org.h2.value.TypeInfo
      StackMap stack:
            aload 0 /* this */
            aload 3 /* result */
            iload 5 /* i */
            invokeinterface org.h2.result.ResultInterface.getColumnName:(I)Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       156: .line 544
            aload 0 /* this */
            aload 6 /* columnType */
            invokevirtual org.h2.value.TypeInfo.getValueType:()I
            invokestatic org.h2.value.DataType.getDataType:(I)Lorg/h2/value/DataType;
            getfield org.h2.value.DataType.sqlType:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       157: .line 545
            aload 0 /* this */
            aload 6 /* columnType */
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            invokestatic org.h2.util.MathUtils.convertLongToInt:(J)I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       158: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* columnType */
            invokevirtual org.h2.value.TypeInfo.getScale:()I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        end local 6 // org.h2.value.TypeInfo columnType
       159: .line 535
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
       160: iload 5 /* i */
            iload 4 /* columnCount */
            if_icmplt 148
        end local 5 // int i
       161: .line 549
            goto 169
       162: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
            pop
       163: .line 551
            aload 3 /* result */
            invokeinterface org.h2.result.ResultInterface.currentRow:()[Lorg/h2/value/Value;
            astore 5 /* row */
        start local 5 // org.h2.value.Value[] row
       164: .line 552
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       165: goto 168
       166: .line 553
      StackMap locals: org.h2.value.Value[] int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* row */
            iload 6 /* i */
            aaload
            invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
       167: .line 552
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       168: iload 6 /* i */
            iload 4 /* columnCount */
            if_icmplt 166
        end local 6 // int i
        end local 5 // org.h2.value.Value[] row
       169: .line 549
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            invokeinterface org.h2.result.ResultInterface.next:()Z
            ifne 162
       170: .line 556
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.value.Transfer.writeBoolean:(Z)Lorg/h2/value/Transfer;
            pop
       171: .line 557
            goto 208
        end local 4 // int columnCount
        end local 3 // org.h2.result.ResultInterface result
       172: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 22
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       173: .line 561
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 14
            if_icmplt 176
       174: .line 562
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBytesNoCopy:()[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
       175: .line 563
            goto 208
       176: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       177: .line 566
            goto 208
       178: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 18
            if_icmplt 187
       179: .line 573
            aload 1 /* v */
            checkcast org.h2.value.ValueInterval
            astore 3 /* interval */
        start local 3 // org.h2.value.ValueInterval interval
       180: .line 574
            iload 2 /* type */
            bipush 26
            isub
            istore 4 /* ordinal */
        start local 4 // int ordinal
       181: .line 575
            aload 3 /* interval */
            invokevirtual org.h2.value.ValueInterval.isNegative:()Z
            ifeq 183
       182: .line 576
            iload 4 /* ordinal */
            iconst_m1
            ixor
            istore 4 /* ordinal */
       183: .line 578
      StackMap locals: org.h2.value.ValueInterval int
      StackMap stack:
            aload 0 /* this */
            bipush 26
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       184: .line 579
            aload 0 /* this */
            iload 4 /* ordinal */
            i2b
            invokevirtual org.h2.value.Transfer.writeByte:(B)Lorg/h2/value/Transfer;
            pop
       185: .line 580
            aload 0 /* this */
            aload 3 /* interval */
            invokevirtual org.h2.value.ValueInterval.getLeading:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        end local 4 // int ordinal
        end local 3 // org.h2.value.ValueInterval interval
       186: .line 581
            goto 208
       187: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 13
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       188: .line 583
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       189: .line 585
            goto 208
       190: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 18
            if_icmplt 200
       191: .line 595
            aload 1 /* v */
            checkcast org.h2.value.ValueInterval
            astore 3 /* interval */
        start local 3 // org.h2.value.ValueInterval interval
       192: .line 596
            iload 2 /* type */
            bipush 26
            isub
            istore 4 /* ordinal */
        start local 4 // int ordinal
       193: .line 597
            aload 3 /* interval */
            invokevirtual org.h2.value.ValueInterval.isNegative:()Z
            ifeq 195
       194: .line 598
            iload 4 /* ordinal */
            iconst_m1
            ixor
            istore 4 /* ordinal */
       195: .line 600
      StackMap locals: org.h2.value.ValueInterval int
      StackMap stack:
            aload 0 /* this */
            bipush 26
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       196: .line 601
            aload 0 /* this */
            iload 4 /* ordinal */
            i2b
            invokevirtual org.h2.value.Transfer.writeByte:(B)Lorg/h2/value/Transfer;
            pop
       197: .line 602
            aload 0 /* this */
            aload 3 /* interval */
            invokevirtual org.h2.value.ValueInterval.getLeading:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
       198: .line 603
            aload 0 /* this */
            aload 3 /* interval */
            invokevirtual org.h2.value.ValueInterval.getRemaining:()J
            invokevirtual org.h2.value.Transfer.writeLong:(J)Lorg/h2/value/Transfer;
            pop
        end local 4 // int ordinal
        end local 3 // org.h2.value.ValueInterval interval
       199: .line 604
            goto 208
       200: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 13
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       201: .line 606
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
       202: .line 608
            goto 208
       203: .line 610
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 207
       204: .line 611
            aload 0 /* this */
            iload 2 /* type */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
       205: .line 612
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBytesNoCopy:()[B
            invokevirtual org.h2.value.Transfer.writeBytes:([B)Lorg/h2/value/Transfer;
            pop
       206: .line 613
            goto 208
       207: .line 615
      StackMap locals:
      StackMap stack:
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
       208: .line 617
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int type
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  209     0           this  Lorg/h2/value/Transfer;
            0  209     1              v  Lorg/h2/value/Value;
            1  209     2           type  I
           12   15     3           uuid  Lorg/h2/value/ValueUuid;
           29   32     3             ts  Lorg/h2/value/ValueTimestamp;
           34   38     3             ts  Lorg/h2/value/ValueTimestampTimeZone;
           69   77     3            lob  Lorg/h2/value/ValueLobDb;
           78   88     3         length  J
           83   88     5        written  J
           92  100     3            lob  Lorg/h2/value/ValueLobDb;
          101  109     3         length  J
          106  109     5         reader  Ljava/io/Reader;
          111  125     3             va  Lorg/h2/value/ValueArray;
          112  125     4           list  [Lorg/h2/value/Value;
          113  125     5            len  I
          114  125     6  componentType  Ljava/lang/Class<*>;
          121  122     7          value  Lorg/h2/value/Value;
          129  138     3             va  Lorg/h2/value/ValueRow;
          130  138     4           list  [Lorg/h2/value/Value;
          131  138     5            len  I
          134  135     6          value  Lorg/h2/value/Value;
          144  172     3         result  Lorg/h2/result/ResultInterface;
          145  172     4    columnCount  I
          147  161     5              i  I
          149  159     6     columnType  Lorg/h2/value/TypeInfo;
          164  169     5            row  [Lorg/h2/value/Value;
          165  169     6              i  I
          180  186     3       interval  Lorg/h2/value/ValueInterval;
          181  186     4        ordinal  I
          192  199     3       interval  Lorg/h2/value/ValueInterval;
          193  199     4        ordinal  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  public org.h2.value.Value readValue();
    descriptor: ()Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 625
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 1 /* type */
        start local 1 // int type
         1: .line 626
            iload 1 /* type */
            tableswitch { // 0 - 27
                    0: 2
                    1: 6
                    2: 7
                    3: 20
                    4: 18
                    5: 19
                    6: 12
                    7: 13
                    8: 14
                    9: 9
                   10: 8
                   11: 10
                   12: 3
                   13: 21
                   14: 22
                   15: 24
                   16: 42
                   17: 65
                   18: 85
                   19: 5
                   20: 4
                   21: 23
                   22: 106
                   23: 119
                   24: 11
                   25: 15
                   26: 109
                   27: 77
              default: 119
          }
         2: .line 628
      StackMap locals: int
      StackMap stack:
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            areturn
         3: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            invokestatic org.h2.value.ValueBytes.getNoCopy:([B)Lorg/h2/value/ValueBytes;
            areturn
         4: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            invokestatic org.h2.value.ValueUuid.get:(JJ)Lorg/h2/value/ValueUuid;
            areturn
         5: .line 634
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            aload 0 /* this */
            getfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueJavaObject.getNoCopy:(Ljava/lang/Object;[BLorg/h2/store/DataHandler;)Lorg/h2/value/ValueJavaObject;
            areturn
         6: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBoolean:()Z
            invokestatic org.h2.value.ValueBoolean.get:(Z)Lorg/h2/value/ValueBoolean;
            areturn
         7: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readByte:()B
            invokestatic org.h2.value.ValueByte.get:(B)Lorg/h2/value/ValueByte;
            areturn
         8: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
            areturn
         9: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            invokestatic org.h2.value.ValueTime.fromNanos:(J)Lorg/h2/value/ValueTime;
            areturn
        10: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        11: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            i2s
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
        12: .line 649
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
            areturn
        13: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readDouble:()D
            invokestatic org.h2.value.ValueDouble.get:(D)Lorg/h2/value/ValueDouble;
            areturn
        14: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readFloat:()F
            invokestatic org.h2.value.ValueFloat.get:(F)Lorg/h2/value/ValueFloat;
            areturn
        15: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 2 /* ordinal */
        start local 2 // int ordinal
        16: .line 656
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            astore 3 /* label */
        start local 3 // java.lang.String label
        17: .line 657
            aload 3 /* label */
            iload 2 /* ordinal */
            invokestatic org.h2.value.ValueEnumBase.get:(Ljava/lang/String;I)Lorg/h2/value/ValueEnumBase;
            areturn
        end local 3 // java.lang.String label
        end local 2 // int ordinal
        18: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            areturn
        19: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
            areturn
        20: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            i2s
            invokestatic org.h2.value.ValueShort.get:(S)Lorg/h2/value/ValueShort;
            areturn
        21: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
            areturn
        22: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueStringIgnoreCase.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringIgnoreCase;
            areturn
        23: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueStringFixed.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringFixed;
            areturn
        24: .line 672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 2 /* length */
        start local 2 // long length
        25: .line 673
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 11
            if_icmplt 36
        26: .line 674
            lload 2 /* length */
            ldc -1
            lcmp
            ifne 36
        27: .line 675
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 4 /* tableId */
        start local 4 // int tableId
        28: .line 676
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 5 /* id */
        start local 5 // long id
        29: .line 678
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 12
            if_icmplt 32
        30: .line 679
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            astore 7 /* hmac */
        start local 7 // byte[] hmac
        31: .line 680
            goto 33
        end local 7 // byte[] hmac
        32: .line 681
      StackMap locals: long int long
      StackMap stack:
            aconst_null
            astore 7 /* hmac */
        start local 7 // byte[] hmac
        33: .line 683
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 8 /* precision */
        start local 8 // long precision
        34: .line 685
            bipush 15
            aload 0 /* this */
            getfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            iload 4 /* tableId */
            lload 5 /* id */
            aload 7 /* hmac */
            lload 8 /* precision */
        35: .line 684
            invokestatic org.h2.value.ValueLobDb.create:(ILorg/h2/store/DataHandler;IJ[BJ)Lorg/h2/value/ValueLobDb;
            areturn
        end local 8 // long precision
        end local 7 // byte[] hmac
        end local 5 // long id
        end local 4 // int tableId
        36: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            lload 2 /* length */
            invokeinterface org.h2.store.LobStorageInterface.createBlob:(Ljava/io/InputStream;J)Lorg/h2/value/Value;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        37: .line 689
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 5 /* magic */
        start local 5 // int magic
        38: .line 690
            iload 5 /* magic */
            sipush 4660
            if_icmpeq 41
        39: .line 692
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "magic="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* magic */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 691
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        41: .line 694
      StackMap locals: org.h2.value.Value int
      StackMap stack:
            aload 4 /* v */
            areturn
        end local 5 // int magic
        end local 4 // org.h2.value.Value v
        end local 2 // long length
        42: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 2 /* length */
        start local 2 // long length
        43: .line 698
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 11
            if_icmplt 57
        44: .line 699
            lload 2 /* length */
            ldc -1
            lcmp
            ifne 54
        45: .line 700
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 4 /* tableId */
        start local 4 // int tableId
        46: .line 701
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 5 /* id */
        start local 5 // long id
        47: .line 703
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 12
            if_icmplt 50
        48: .line 704
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            astore 7 /* hmac */
        start local 7 // byte[] hmac
        49: .line 705
            goto 51
        end local 7 // byte[] hmac
        50: .line 706
      StackMap locals: long int long
      StackMap stack:
            aconst_null
            astore 7 /* hmac */
        start local 7 // byte[] hmac
        51: .line 708
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            lstore 8 /* precision */
        start local 8 // long precision
        52: .line 710
            bipush 16
            aload 0 /* this */
            getfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            iload 4 /* tableId */
            lload 5 /* id */
            aload 7 /* hmac */
            lload 8 /* precision */
        53: .line 709
            invokestatic org.h2.value.ValueLobDb.create:(ILorg/h2/store/DataHandler;IJ[BJ)Lorg/h2/value/ValueLobDb;
            areturn
        end local 8 // long precision
        end local 7 // byte[] hmac
        end local 5 // long id
        end local 4 // int tableId
        54: .line 712
      StackMap locals:
      StackMap stack:
            lload 2 /* length */
            lconst_0
            lcmp
            ifge 57
        55: .line 714
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 713
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        57: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        58: .line 718
            new org.h2.store.DataReader
            dup
            aload 0 /* this */
            getfield org.h2.value.Transfer.in:Ljava/io/DataInputStream;
            invokespecial org.h2.store.DataReader.<init>:(Ljava/io/InputStream;)V
            lload 2 /* length */
            invokeinterface org.h2.store.LobStorageInterface.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
        59: .line 717
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        60: .line 719
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 5 /* magic */
        start local 5 // int magic
        61: .line 720
            iload 5 /* magic */
            sipush 4660
            if_icmpeq 64
        62: .line 722
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "magic="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* magic */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 721
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        64: .line 724
      StackMap locals: org.h2.value.Value int
      StackMap stack:
            aload 4 /* v */
            areturn
        end local 5 // int magic
        end local 4 // org.h2.value.Value v
        end local 2 // long length
        65: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 2 /* len */
        start local 2 // int len
        66: .line 728
            ldc Ljava/lang/Object;
            astore 3 /* componentType */
        start local 3 // java.lang.Class componentType
        67: .line 729
            iload 2 /* len */
            ifge 70
        68: .line 730
            iload 2 /* len */
            iconst_1
            iadd
            ineg
            istore 2 /* len */
        69: .line 731
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* componentType */
        70: .line 733
      StackMap locals: int java.lang.Class
      StackMap stack:
            iload 2 /* len */
            anewarray org.h2.value.Value
            astore 4 /* list */
        start local 4 // org.h2.value.Value[] list
        71: .line 734
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        72: goto 75
        73: .line 735
      StackMap locals: org.h2.value.Value[] int
      StackMap stack:
            aload 4 /* list */
            iload 5 /* i */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readValue:()Lorg/h2/value/Value;
            aastore
        74: .line 734
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 5 /* i */
            iload 2 /* len */
            if_icmplt 73
        end local 5 // int i
        76: .line 737
            aload 3 /* componentType */
            aload 4 /* list */
            invokestatic org.h2.value.ValueArray.get:(Ljava/lang/Class;[Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
            areturn
        end local 4 // org.h2.value.Value[] list
        end local 3 // java.lang.Class componentType
        end local 2 // int len
        77: .line 740
      StackMap locals: org.h2.value.Transfer int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 2 /* len */
        start local 2 // int len
        78: .line 741
            iload 2 /* len */
            anewarray org.h2.value.Value
            astore 3 /* list */
        start local 3 // org.h2.value.Value[] list
        79: .line 742
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        80: goto 83
        81: .line 743
      StackMap locals: int org.h2.value.Value[] int
      StackMap stack:
            aload 3 /* list */
            iload 4 /* i */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readValue:()Lorg/h2/value/Value;
            aastore
        82: .line 742
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 81
        end local 4 // int i
        84: .line 745
            aload 3 /* list */
            invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
            areturn
        end local 3 // org.h2.value.Value[] list
        end local 2 // int len
        85: .line 748
      StackMap locals:
      StackMap stack:
            new org.h2.result.SimpleResult
            dup
            invokespecial org.h2.result.SimpleResult.<init>:()V
            astore 2 /* rs */
        start local 2 // org.h2.result.SimpleResult rs
        86: .line 749
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 3 /* columns */
        start local 3 // int columns
        87: .line 750
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        88: goto 95
        89: .line 751
      StackMap locals: org.h2.result.SimpleResult int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 18
            if_icmplt 92
        90: .line 752
            aload 2 /* rs */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            invokevirtual org.h2.result.SimpleResult.addColumn:(Ljava/lang/String;Ljava/lang/String;IJI)V
        91: .line 753
            goto 94
        92: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        93: .line 755
            aload 2 /* rs */
            aload 5 /* name */
            aload 5 /* name */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            invokestatic org.h2.value.DataType.convertSQLTypeToValueType:(I)I
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            i2l
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readInt:()I
            invokevirtual org.h2.result.SimpleResult.addColumn:(Ljava/lang/String;Ljava/lang/String;IJI)V
        end local 5 // java.lang.String name
        94: .line 750
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        95: iload 4 /* i */
            iload 3 /* columns */
            if_icmplt 89
        end local 4 // int i
        96: .line 758
            goto 104
        97: .line 759
      StackMap locals:
      StackMap stack:
            iload 3 /* columns */
            anewarray org.h2.value.Value
            astore 4 /* o */
        start local 4 // org.h2.value.Value[] o
        98: .line 760
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        99: goto 102
       100: .line 761
      StackMap locals: org.h2.value.Value[] int
      StackMap stack:
            aload 4 /* o */
            iload 5 /* i */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readValue:()Lorg/h2/value/Value;
            aastore
       101: .line 760
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
       102: iload 5 /* i */
            iload 3 /* columns */
            if_icmplt 100
        end local 5 // int i
       103: .line 763
            aload 2 /* rs */
            aload 4 /* o */
            invokevirtual org.h2.result.SimpleResult.addRow:([Lorg/h2/value/Value;)V
        end local 4 // org.h2.value.Value[] o
       104: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBoolean:()Z
            ifne 97
       105: .line 765
            aload 2 /* rs */
            invokestatic org.h2.value.ValueResultSet.get:(Lorg/h2/result/SimpleResult;)Lorg/h2/value/ValueResultSet;
            areturn
        end local 3 // int columns
        end local 2 // org.h2.result.SimpleResult rs
       106: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.Transfer.version:I
            bipush 14
            if_icmplt 108
       107: .line 769
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            invokestatic org.h2.value.ValueGeometry.get:([B)Lorg/h2/value/ValueGeometry;
            areturn
       108: .line 771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueGeometry.get:(Ljava/lang/String;)Lorg/h2/value/ValueGeometry;
            areturn
       109: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readByte:()B
            istore 2 /* ordinal */
        start local 2 // int ordinal
       110: .line 774
            iload 2 /* ordinal */
            ifge 111
            iconst_1
            goto 112
      StackMap locals: int
      StackMap stack:
       111: iconst_0
      StackMap locals:
      StackMap stack: int
       112: istore 3 /* negative */
        start local 3 // boolean negative
       113: .line 775
            iload 3 /* negative */
            ifeq 115
       114: .line 776
            iload 2 /* ordinal */
            iconst_m1
            ixor
            istore 2 /* ordinal */
       115: .line 778
      StackMap locals: int
      StackMap stack:
            iload 2 /* ordinal */
            invokestatic org.h2.api.IntervalQualifier.valueOf:(I)Lorg/h2/api/IntervalQualifier;
            iload 3 /* negative */
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
       116: .line 779
            iload 2 /* ordinal */
            iconst_5
            if_icmpge 117
            lconst_0
            goto 118
      StackMap locals: org.h2.value.Transfer int int int
      StackMap stack: org.h2.api.IntervalQualifier int long
       117: aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readLong:()J
       118: .line 778
      StackMap locals: org.h2.value.Transfer int int int
      StackMap stack: org.h2.api.IntervalQualifier int long long
            invokestatic org.h2.value.ValueInterval.from:(Lorg/h2/api/IntervalQualifier;ZJJ)Lorg/h2/value/ValueInterval;
            areturn
        end local 3 // boolean negative
        end local 2 // int ordinal
       119: .line 782
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 123
       120: .line 783
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
       121: .line 784
            aload 0 /* this */
            invokevirtual org.h2.value.Transfer.readBytes:()[B
            invokestatic org.h2.value.ValueBytes.getNoCopy:([B)Lorg/h2/value/ValueBytes;
            iload 1 /* type */
       122: .line 783
            invokeinterface org.h2.api.CustomDataTypesHandler.convert:(Lorg/h2/value/Value;I)Lorg/h2/value/Value;
            areturn
       123: .line 786
      StackMap locals:
      StackMap stack:
            ldc 90067
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // int type
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  124     0           this  Lorg/h2/value/Transfer;
            1  124     1           type  I
           16   18     2        ordinal  I
           17   18     3          label  Ljava/lang/String;
           25   42     2         length  J
           28   36     4        tableId  I
           29   36     5             id  J
           31   32     7           hmac  [B
           33   36     7           hmac  [B
           34   36     8      precision  J
           37   42     4              v  Lorg/h2/value/Value;
           38   42     5          magic  I
           43   65     2         length  J
           46   54     4        tableId  I
           47   54     5             id  J
           49   50     7           hmac  [B
           51   54     7           hmac  [B
           52   54     8      precision  J
           60   65     4              v  Lorg/h2/value/Value;
           61   65     5          magic  I
           66   77     2            len  I
           67   77     3  componentType  Ljava/lang/Class<*>;
           71   77     4           list  [Lorg/h2/value/Value;
           72   76     5              i  I
           78   85     2            len  I
           79   85     3           list  [Lorg/h2/value/Value;
           80   84     4              i  I
           86  106     2             rs  Lorg/h2/result/SimpleResult;
           87  106     3        columns  I
           88   96     4              i  I
           93   94     5           name  Ljava/lang/String;
           98  104     4              o  [Lorg/h2/value/Value;
           99  103     5              i  I
          110  119     2        ordinal  I
          113  119     3       negative  Z
    Exceptions:
      throws java.io.IOException

  public java.net.Socket getSocket();
    descriptor: ()Ljava/net/Socket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 796
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            areturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/Transfer;

  public void setSession(org.h2.engine.SessionInterface);
    descriptor: (Lorg/h2/engine/SessionInterface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // org.h2.engine.SessionInterface session
         0: .line 805
            aload 0 /* this */
            aload 1 /* session */
            putfield org.h2.value.Transfer.session:Lorg/h2/engine/SessionInterface;
         1: .line 806
            return
        end local 1 // org.h2.engine.SessionInterface session
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/value/Transfer;
            0    2     1  session  Lorg/h2/engine/SessionInterface;
    MethodParameters:
         Name  Flags
      session  

  public void setSSL(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // boolean ssl
         0: .line 814
            aload 0 /* this */
            iload 1 /* ssl */
            putfield org.h2.value.Transfer.ssl:Z
         1: .line 815
            return
        end local 1 // boolean ssl
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;
            0    2     1   ssl  Z
    MethodParameters:
      Name  Flags
      ssl   

  public org.h2.value.Transfer openNewConnection();
    descriptor: ()Lorg/h2/value/Transfer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 823
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
            astore 1 /* address */
        start local 1 // java.net.InetAddress address
         1: .line 824
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getPort:()I
            istore 2 /* port */
        start local 2 // int port
         2: .line 825
            aload 1 /* address */
            iload 2 /* port */
            aload 0 /* this */
            getfield org.h2.value.Transfer.ssl:Z
            invokestatic org.h2.util.NetUtils.createSocket:(Ljava/net/InetAddress;IZ)Ljava/net/Socket;
            astore 3 /* s2 */
        start local 3 // java.net.Socket s2
         3: .line 826
            new org.h2.value.Transfer
            dup
            aconst_null
            aload 3 /* s2 */
            invokespecial org.h2.value.Transfer.<init>:(Lorg/h2/engine/SessionInterface;Ljava/net/Socket;)V
            astore 4 /* trans */
        start local 4 // org.h2.value.Transfer trans
         4: .line 827
            aload 4 /* trans */
            aload 0 /* this */
            getfield org.h2.value.Transfer.ssl:Z
            invokevirtual org.h2.value.Transfer.setSSL:(Z)V
         5: .line 828
            aload 4 /* trans */
            areturn
        end local 4 // org.h2.value.Transfer trans
        end local 3 // java.net.Socket s2
        end local 2 // int port
        end local 1 // java.net.InetAddress address
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/h2/value/Transfer;
            1    6     1  address  Ljava/net/InetAddress;
            2    6     2     port  I
            3    6     3       s2  Ljava/net/Socket;
            4    6     4    trans  Lorg/h2/value/Transfer;
    Exceptions:
      throws java.io.IOException

  public void setVersion(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // int version
         0: .line 832
            aload 0 /* this */
            iload 1 /* version */
            putfield org.h2.value.Transfer.version:I
         1: .line 833
            return
        end local 1 // int version
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/value/Transfer;
            0    2     1  version  I
    MethodParameters:
         Name  Flags
      version  

  public synchronized boolean isClosed();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.Transfer this
         0: .line 836
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            ifnull 1
            aload 0 /* this */
            getfield org.h2.value.Transfer.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isClosed:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/Transfer;

  public void verifyLobMac(byte[], long);
    descriptor: ([BJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.value.Transfer this
        start local 1 // byte[] hmac
        start local 2 // long lobId
         0: .line 847
            aload 0 /* this */
            lload 2 /* lobId */
            invokevirtual org.h2.value.Transfer.calculateLobMac:(J)[B
            astore 4 /* result */
        start local 4 // byte[] result
         1: .line 848
            aload 1 /* hmac */
            aload 4 /* result */
            invokestatic org.h2.util.Utils.compareSecure:([B[B)Z
            ifne 5
         2: .line 849
            ldc 90067
         3: .line 850
            ldc "Invalid lob hmac; possibly the connection was re-opened internally"
         4: .line 849
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         5: .line 852
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 4 // byte[] result
        end local 2 // long lobId
        end local 1 // byte[] hmac
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/value/Transfer;
            0    6     1    hmac  [B
            0    6     2   lobId  J
            1    6     4  result  [B
    MethodParameters:
       Name  Flags
      hmac   
      lobId  

  private byte[] calculateLobMac(long);
    descriptor: (J)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.h2.value.Transfer this
        start local 1 // long lobId
         0: .line 855
            aload 0 /* this */
            getfield org.h2.value.Transfer.lobMacSalt:[B
            ifnonnull 2
         1: .line 856
            aload 0 /* this */
            bipush 16
            invokestatic org.h2.util.MathUtils.secureRandomBytes:(I)[B
            putfield org.h2.value.Transfer.lobMacSalt:[B
         2: .line 858
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
         3: .line 859
            aload 3 /* data */
            iconst_0
            lload 1 /* lobId */
            invokestatic org.h2.util.Bits.writeLong:([BIJ)V
         4: .line 860
            aload 3 /* data */
            aload 0 /* this */
            getfield org.h2.value.Transfer.lobMacSalt:[B
            invokestatic org.h2.security.SHA256.getHashWithSalt:([B[B)[B
            areturn
        end local 3 // byte[] data
        end local 1 // long lobId
        end local 0 // org.h2.value.Transfer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/h2/value/Transfer;
            0    5     1  lobId  J
            3    5     3   data  [B
    MethodParameters:
       Name  Flags
      lobId  
}
SourceFile: "Transfer.java"