final class com.google.protobuf.BinaryWriter$SafeDirectWriter extends com.google.protobuf.BinaryWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.protobuf.BinaryWriter$SafeDirectWriter
  super_class: com.google.protobuf.BinaryWriter
{
  private java.nio.ByteBuffer buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

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

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

  void <init>(com.google.protobuf.BufferAllocator, int);
    descriptor: (Lcom/google/protobuf/BufferAllocator;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // com.google.protobuf.BufferAllocator alloc
        start local 2 // int chunkSize
         0: .line 1992
            aload 0 /* this */
            aload 1 /* alloc */
            iload 2 /* chunkSize */
            invokespecial com.google.protobuf.BinaryWriter.<init>:(Lcom/google/protobuf/BufferAllocator;I)V
         1: .line 1993
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:()V
         2: .line 1994
            return
        end local 2 // int chunkSize
        end local 1 // com.google.protobuf.BufferAllocator alloc
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1      alloc  Lcom/google/protobuf/BufferAllocator;
            0    3     2  chunkSize  I
    MethodParameters:
           Name  Flags
      alloc      
      chunkSize  

  private void nextBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
         0: .line 1997
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.newDirectBuffer:()Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:(Lcom/google/protobuf/AllocatedBuffer;)V
         1: .line 1998
            return
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;

  private void nextBuffer(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int capacity
         0: .line 2001
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* capacity */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.newDirectBuffer:(I)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:(Lcom/google/protobuf/AllocatedBuffer;)V
         1: .line 2002
            return
        end local 1 // int capacity
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  private void nextBuffer(com.google.protobuf.AllocatedBuffer);
    descriptor: (Lcom/google/protobuf/AllocatedBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // com.google.protobuf.AllocatedBuffer allocatedBuffer
         0: .line 2005
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.hasNioBuffer:()Z
            ifne 2
         1: .line 2006
            new java.lang.RuntimeException
            dup
            ldc "Allocated buffer does not have NIO buffer"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2008
      StackMap locals:
      StackMap stack:
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.nioBuffer:()Ljava/nio/ByteBuffer;
            astore 2 /* nioBuffer */
        start local 2 // java.nio.ByteBuffer nioBuffer
         3: .line 2009
            aload 2 /* nioBuffer */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifne 5
         4: .line 2010
            new java.lang.RuntimeException
            dup
            ldc "Allocator returned non-direct buffer"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2013
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.finishCurrentBuffer:()V
         6: .line 2014
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* allocatedBuffer */
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         7: .line 2016
            aload 0 /* this */
            aload 2 /* nioBuffer */
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         8: .line 2017
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         9: .line 2018
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            iconst_0
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        10: .line 2020
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
        11: .line 2022
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.limitMinusOne:I
        12: .line 2023
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.limitMinusOne:I
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
        13: .line 2024
            return
        end local 2 // java.nio.ByteBuffer nioBuffer
        end local 1 // com.google.protobuf.AllocatedBuffer allocatedBuffer
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   14     1  allocatedBuffer  Lcom/google/protobuf/AllocatedBuffer;
            3   14     2        nioBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
                 Name  Flags
      allocatedBuffer  

  public int getTotalBytesWritten();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
         0: .line 2028
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.bytesWrittenToCurrentBuffer:()I
            iadd
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;

  private int bytesWrittenToCurrentBuffer();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
         0: .line 2032
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.limitMinusOne:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            isub
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;

  private int spaceLeft();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
         0: .line 2036
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;

  void finishCurrentBuffer();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
         0: .line 2041
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            ifnull 6
         1: .line 2042
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.bytesWrittenToCurrentBuffer:()I
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
         2: .line 2044
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         3: .line 2045
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         4: .line 2046
            aload 0 /* this */
            iconst_0
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         5: .line 2047
            aload 0 /* this */
            iconst_0
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.limitMinusOne:I
         6: .line 2049
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;

  public void writeUInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 2053
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2054
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         2: .line 2055
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2056
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 2060
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2061
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeInt32:(I)V
         2: .line 2062
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2063
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeSInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 2067
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2068
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeSInt32:(I)V
         2: .line 2069
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2070
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeFixed32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 2074
            aload 0 /* this */
            bipush 9
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2075
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeFixed32:(I)V
         2: .line 2076
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_5
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2077
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeUInt64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 2081
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2082
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64:(J)V
         2: .line 2083
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2084
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeSInt64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 2088
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2089
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeSInt64:(J)V
         2: .line 2090
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2091
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeFixed64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 2095
            aload 0 /* this */
            bipush 13
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2096
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeFixed64:(J)V
         2: .line 2097
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_1
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2098
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeBool(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // boolean value
         0: .line 2102
            aload 0 /* this */
            bipush 6
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2103
            aload 0 /* this */
            iload 2 /* value */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: com.google.protobuf.BinaryWriter$SafeDirectWriter
         2: iconst_0
      StackMap locals: com.google.protobuf.BinaryWriter$SafeDirectWriter int int
      StackMap stack: com.google.protobuf.BinaryWriter$SafeDirectWriter int
         3: i2b
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.write:(B)V
         4: .line 2104
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         5: .line 2105
            return
        end local 2 // boolean value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    6     1  fieldNumber  I
            0    6     2        value  Z
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeString(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.String value
         0: .line 2109
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            istore 3 /* prevBytes */
        start local 3 // int prevBytes
         1: .line 2110
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeString:(Ljava/lang/String;)V
         2: .line 2111
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            iload 3 /* prevBytes */
            isub
            istore 4 /* length */
        start local 4 // int length
         3: .line 2112
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         4: .line 2113
            aload 0 /* this */
            iload 4 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         5: .line 2114
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         6: .line 2115
            return
        end local 4 // int length
        end local 3 // int prevBytes
        end local 2 // java.lang.String value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/String;
            1    7     3    prevBytes  I
            3    7     4       length  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeBytes(int, com.google.protobuf.ByteString);
    descriptor: (ILcom/google/protobuf/ByteString;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // com.google.protobuf.ByteString value
         0: .line 2120
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.ByteString.writeToReverse:(Lcom/google/protobuf/ByteOutput;)V
         1: .line 2121
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 2123
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
         4: .line 2126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         5: .line 2127
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.google.protobuf.ByteString.size:()I
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         6: .line 2128
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         7: .line 2129
            return
        end local 2 // com.google.protobuf.ByteString value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    8     1  fieldNumber  I
            0    8     2        value  Lcom/google/protobuf/ByteString;
            3    4     3            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeMessage(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
         0: .line 2133
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            istore 3 /* prevBytes */
        start local 3 // int prevBytes
         1: .line 2134
            invokestatic com.google.protobuf.Protobuf.getInstance:()Lcom/google/protobuf/Protobuf;
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.Protobuf.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 2135
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            iload 3 /* prevBytes */
            isub
            istore 4 /* length */
        start local 4 // int length
         3: .line 2136
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         4: .line 2137
            aload 0 /* this */
            iload 4 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         5: .line 2138
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         6: .line 2139
            return
        end local 4 // int length
        end local 3 // int prevBytes
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/Object;
            1    7     3    prevBytes  I
            3    7     4       length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeMessage(int, java.lang.Object, com.google.protobuf.Schema);
    descriptor: (ILjava/lang/Object;Lcom/google/protobuf/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
        start local 3 // com.google.protobuf.Schema schema
         0: .line 2143
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            istore 4 /* prevBytes */
        start local 4 // int prevBytes
         1: .line 2144
            aload 3 /* schema */
            aload 2 /* value */
            aload 0 /* this */
            invokeinterface com.google.protobuf.Schema.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 2145
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.getTotalBytesWritten:()I
            iload 4 /* prevBytes */
            isub
            istore 5 /* length */
        start local 5 // int length
         3: .line 2146
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         4: .line 2147
            aload 0 /* this */
            iload 5 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         5: .line 2148
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         6: .line 2149
            return
        end local 5 // int length
        end local 4 // int prevBytes
        end local 3 // com.google.protobuf.Schema schema
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/Object;
            0    7     3       schema  Lcom/google/protobuf/Schema;
            1    7     4    prevBytes  I
            3    7     5       length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        
      schema       

  public void writeGroup(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
         0: .line 2153
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         1: .line 2154
            invokestatic com.google.protobuf.Protobuf.getInstance:()Lcom/google/protobuf/Protobuf;
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.Protobuf.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 2155
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2156
            return
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeGroup(int, java.lang.Object, com.google.protobuf.Schema);
    descriptor: (ILjava/lang/Object;Lcom/google/protobuf/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
        start local 3 // com.google.protobuf.Schema schema
         0: .line 2160
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         1: .line 2161
            aload 3 /* schema */
            aload 2 /* value */
            aload 0 /* this */
            invokeinterface com.google.protobuf.Schema.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 2162
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         3: .line 2163
            return
        end local 3 // com.google.protobuf.Schema schema
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  Ljava/lang/Object;
            0    4     3       schema  Lcom/google/protobuf/Schema;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        
      schema       

  public void writeStartGroup(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
         0: .line 2167
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         1: .line 2168
            return
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  fieldNumber  I
    MethodParameters:
             Name  Flags
      fieldNumber  

  public void writeEndGroup(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
         0: .line 2172
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeTag:(II)V
         1: .line 2173
            return
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  fieldNumber  I
    MethodParameters:
             Name  Flags
      fieldNumber  

  void writeInt32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2177
            iload 1 /* value */
            iflt 3
         1: .line 2178
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         2: .line 2179
            goto 4
         3: .line 2180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* value */
            i2l
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64:(J)V
         4: .line 2182
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    5     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeSInt32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2186
            aload 0 /* this */
            iload 1 /* value */
            invokestatic com.google.protobuf.CodedOutputStream.encodeZigZag32:(I)I
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         1: .line 2187
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeSInt64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2191
            aload 0 /* this */
            lload 1 /* value */
            invokestatic com.google.protobuf.CodedOutputStream.encodeZigZag64:(J)J
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64:(J)V
         1: .line 2192
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeBool(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // boolean value
         0: .line 2196
            aload 0 /* this */
            iload 1 /* value */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: com.google.protobuf.BinaryWriter$SafeDirectWriter
         1: iconst_0
      StackMap locals: com.google.protobuf.BinaryWriter$SafeDirectWriter int
      StackMap stack: com.google.protobuf.BinaryWriter$SafeDirectWriter int
         2: i2b
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.write:(B)V
         3: .line 2197
            return
        end local 1 // boolean value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  void writeTag(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int fieldNumber
        start local 2 // int wireType
         0: .line 2201
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iload 2 /* wireType */
            invokestatic com.google.protobuf.WireFormat.makeTag:(II)I
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32:(I)V
         1: .line 2202
            return
        end local 2 // int wireType
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  fieldNumber  I
            0    2     2     wireType  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      wireType     

  void writeVarint32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2206
            iload 1 /* value */
            bipush -128
            iand
            ifne 3
         1: .line 2207
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32OneByte:(I)V
         2: .line 2208
            goto 13
      StackMap locals:
      StackMap stack:
         3: iload 1 /* value */
            sipush -16384
            iand
            ifne 6
         4: .line 2209
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32TwoBytes:(I)V
         5: .line 2210
            goto 13
      StackMap locals:
      StackMap stack:
         6: iload 1 /* value */
            ldc -2097152
            iand
            ifne 9
         7: .line 2211
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32ThreeBytes:(I)V
         8: .line 2212
            goto 13
      StackMap locals:
      StackMap stack:
         9: iload 1 /* value */
            ldc -268435456
            iand
            ifne 12
        10: .line 2213
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32FourBytes:(I)V
        11: .line 2214
            goto 13
        12: .line 2215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32FiveBytes:(I)V
        13: .line 2217
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   14     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32OneByte(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2220
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 1 /* value */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         1: .line 2221
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32TwoBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2225
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_2
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2226
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            iload 1 /* value */
            sipush 16256
            iand
            iconst_1
            ishl
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            ior
            i2s
            invokevirtual java.nio.ByteBuffer.putShort:(IS)Ljava/nio/ByteBuffer;
            pop
         2: .line 2227
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32ThreeBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2231
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_3
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2232
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2233
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         3: .line 2234
            iload 1 /* value */
            ldc 2080768
            iand
            bipush 10
            ishl
         4: .line 2235
            iload 1 /* value */
            sipush 16256
            iand
            sipush 16384
            ior
            bipush 9
            ishl
         5: .line 2234
            ior
         6: .line 2236
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            bipush 8
            ishl
         7: .line 2234
            ior
         8: .line 2232
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
         9: .line 2237
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   10     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32FourBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2241
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_4
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2242
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2243
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
         3: .line 2244
            iload 1 /* value */
            ldc 266338304
            iand
            iconst_3
            ishl
         4: .line 2245
            iload 1 /* value */
            ldc 2080768
            iand
            ldc 2097152
            ior
            iconst_2
            ishl
         5: .line 2244
            ior
         6: .line 2246
            iload 1 /* value */
            sipush 16256
            iand
            sipush 16384
            ior
            iconst_1
            ishl
         7: .line 2244
            ior
         8: .line 2247
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
         9: .line 2244
            ior
        10: .line 2242
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        11: .line 2248
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   12     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32FiveBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2252
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 1 /* value */
            bipush 28
            iushr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         1: .line 2253
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_4
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         2: .line 2254
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         3: .line 2255
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
         4: .line 2256
            iload 1 /* value */
            bipush 21
            iushr
            bipush 127
            iand
            sipush 128
            ior
            bipush 24
            ishl
         5: .line 2257
            iload 1 /* value */
            bipush 14
            iushr
            bipush 127
            iand
            sipush 128
            ior
            bipush 16
            ishl
         6: .line 2256
            ior
         7: .line 2258
            iload 1 /* value */
            bipush 7
            iushr
            bipush 127
            iand
            sipush 128
            ior
            bipush 8
            ishl
         8: .line 2256
            ior
         9: .line 2259
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
        10: .line 2256
            ior
        11: .line 2254
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        12: .line 2260
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   13     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeVarint64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2264
            lload 1 /* value */
            invokestatic com.google.protobuf.BinaryWriter.computeUInt64SizeNoTag:(J)B
            tableswitch { // 1 - 10
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
                    6: 11
                    7: 13
                    8: 15
                    9: 17
                   10: 19
              default: 20
          }
         1: .line 2266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64OneByte:(J)V
         2: .line 2267
            goto 20
         3: .line 2269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64TwoBytes:(J)V
         4: .line 2270
            goto 20
         5: .line 2272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64ThreeBytes:(J)V
         6: .line 2273
            goto 20
         7: .line 2275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64FourBytes:(J)V
         8: .line 2276
            goto 20
         9: .line 2278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64FiveBytes:(J)V
        10: .line 2279
            goto 20
        11: .line 2281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64SixBytes:(J)V
        12: .line 2282
            goto 20
        13: .line 2284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64SevenBytes:(J)V
        14: .line 2285
            goto 20
        15: .line 2287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64EightBytes:(J)V
        16: .line 2288
            goto 20
        17: .line 2290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64NineBytes:(J)V
        18: .line 2291
            goto 20
        19: .line 2293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64TenBytes:(J)V
        20: .line 2296
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   21     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64OneByte(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2299
            aload 0 /* this */
            lload 1 /* value */
            l2i
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32OneByte:(I)V
         1: .line 2300
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64TwoBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2303
            aload 0 /* this */
            lload 1 /* value */
            l2i
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32TwoBytes:(I)V
         1: .line 2304
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64ThreeBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2307
            aload 0 /* this */
            lload 1 /* value */
            l2i
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32ThreeBytes:(I)V
         1: .line 2308
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64FourBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2311
            aload 0 /* this */
            lload 1 /* value */
            l2i
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint32FourBytes:(I)V
         1: .line 2312
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64FiveBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2316
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_5
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2317
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2318
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_2
            isub
         3: .line 2319
            lload 1 /* value */
            ldc 34091302912
            land
            bipush 28
            lshl
         4: .line 2320
            lload 1 /* value */
            ldc 266338304
            land
            ldc 268435456
            lor
            bipush 27
            lshl
         5: .line 2319
            lor
         6: .line 2321
            lload 1 /* value */
            ldc 2080768
            land
            ldc 2097152
            lor
            bipush 26
            lshl
         7: .line 2319
            lor
         8: .line 2322
            lload 1 /* value */
            ldc 16256
            land
            ldc 16384
            lor
            bipush 25
            lshl
         9: .line 2319
            lor
        10: .line 2323
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            bipush 24
            lshl
        11: .line 2319
            lor
        12: .line 2317
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        13: .line 2324
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   14     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64SixBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2328
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            bipush 6
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2329
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2330
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            isub
         3: .line 2331
            lload 1 /* value */
            ldc 4363686772736
            land
            bipush 21
            lshl
         4: .line 2332
            lload 1 /* value */
            ldc 34091302912
            land
            ldc 34359738368
            lor
            bipush 20
            lshl
         5: .line 2331
            lor
         6: .line 2333
            lload 1 /* value */
            ldc 266338304
            land
            ldc 268435456
            lor
            bipush 19
            lshl
         7: .line 2331
            lor
         8: .line 2334
            lload 1 /* value */
            ldc 2080768
            land
            ldc 2097152
            lor
            bipush 18
            lshl
         9: .line 2331
            lor
        10: .line 2335
            lload 1 /* value */
            ldc 16256
            land
            ldc 16384
            lor
            bipush 17
            lshl
        11: .line 2331
            lor
        12: .line 2336
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            bipush 16
            lshl
        13: .line 2331
            lor
        14: .line 2329
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        15: .line 2337
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   16     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64SevenBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2341
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            bipush 7
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2342
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2343
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         3: .line 2344
            lload 1 /* value */
            ldc 558551906910208
            land
            bipush 14
            lshl
         4: .line 2345
            lload 1 /* value */
            ldc 4363686772736
            land
            ldc 4398046511104
            lor
            bipush 13
            lshl
         5: .line 2344
            lor
         6: .line 2346
            lload 1 /* value */
            ldc 34091302912
            land
            ldc 34359738368
            lor
            bipush 12
            lshl
         7: .line 2344
            lor
         8: .line 2347
            lload 1 /* value */
            ldc 266338304
            land
            ldc 268435456
            lor
            bipush 11
            lshl
         9: .line 2344
            lor
        10: .line 2348
            lload 1 /* value */
            ldc 2080768
            land
            ldc 2097152
            lor
            bipush 10
            lshl
        11: .line 2344
            lor
        12: .line 2349
            lload 1 /* value */
            ldc 16256
            land
            ldc 16384
            lor
            bipush 9
            lshl
        13: .line 2344
            lor
        14: .line 2350
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            bipush 8
            lshl
        15: .line 2344
            lor
        16: .line 2342
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        17: .line 2351
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   18     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64EightBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2355
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            bipush 8
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2356
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2357
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
         3: .line 2358
            lload 1 /* value */
            ldc 71494644084506624
            land
            bipush 7
            lshl
         4: .line 2359
            lload 1 /* value */
            ldc 558551906910208
            land
            ldc 562949953421312
            lor
            bipush 6
            lshl
         5: .line 2358
            lor
         6: .line 2360
            lload 1 /* value */
            ldc 4363686772736
            land
            ldc 4398046511104
            lor
            iconst_5
            lshl
         7: .line 2358
            lor
         8: .line 2361
            lload 1 /* value */
            ldc 34091302912
            land
            ldc 34359738368
            lor
            iconst_4
            lshl
         9: .line 2358
            lor
        10: .line 2362
            lload 1 /* value */
            ldc 266338304
            land
            ldc 268435456
            lor
            iconst_3
            lshl
        11: .line 2358
            lor
        12: .line 2363
            lload 1 /* value */
            ldc 2080768
            land
            ldc 2097152
            lor
            iconst_2
            lshl
        13: .line 2358
            lor
        14: .line 2364
            lload 1 /* value */
            ldc 16256
            land
            ldc 16384
            lor
            iconst_1
            lshl
        15: .line 2358
            lor
        16: .line 2365
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
        17: .line 2358
            lor
        18: .line 2356
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        19: .line 2366
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   20     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64EightBytesWithSign(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2370
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            bipush 8
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2371
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
         2: .line 2372
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
         3: .line 2373
            lload 1 /* value */
            ldc 71494644084506624
            land
            ldc 72057594037927936
            lor
            bipush 7
            lshl
         4: .line 2374
            lload 1 /* value */
            ldc 558551906910208
            land
            ldc 562949953421312
            lor
            bipush 6
            lshl
         5: .line 2373
            lor
         6: .line 2375
            lload 1 /* value */
            ldc 4363686772736
            land
            ldc 4398046511104
            lor
            iconst_5
            lshl
         7: .line 2373
            lor
         8: .line 2376
            lload 1 /* value */
            ldc 34091302912
            land
            ldc 34359738368
            lor
            iconst_4
            lshl
         9: .line 2373
            lor
        10: .line 2377
            lload 1 /* value */
            ldc 266338304
            land
            ldc 268435456
            lor
            iconst_3
            lshl
        11: .line 2373
            lor
        12: .line 2378
            lload 1 /* value */
            ldc 2080768
            land
            ldc 2097152
            lor
            iconst_2
            lshl
        13: .line 2373
            lor
        14: .line 2379
            lload 1 /* value */
            ldc 16256
            land
            ldc 16384
            lor
            iconst_1
            lshl
        15: .line 2373
            lor
        16: .line 2380
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
        17: .line 2373
            lor
        18: .line 2371
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        19: .line 2381
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   20     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64NineBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2384
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            lload 1 /* value */
            bipush 56
            lushr
            l2i
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         1: .line 2385
            aload 0 /* this */
            lload 1 /* value */
            ldc 72057594037927935
            land
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64EightBytesWithSign:(J)V
         2: .line 2386
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64TenBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2389
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            lload 1 /* value */
            bipush 63
            lushr
            l2i
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         1: .line 2390
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            lload 1 /* value */
            bipush 56
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         2: .line 2391
            aload 0 /* this */
            lload 1 /* value */
            ldc 72057594037927935
            land
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.writeVarint64EightBytesWithSign:(J)V
         3: .line 2392
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    4     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeFixed32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int value
         0: .line 2396
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_4
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2397
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
         2: .line 2398
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeFixed64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // long value
         0: .line 2402
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            bipush 8
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         1: .line 2403
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
         2: .line 2404
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // java.lang.String in
         0: .line 2409
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
         1: .line 2412
            aload 1 /* in */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 2413
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 2 /* i */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         3: .line 2416
            goto 6
        start local 3 // char c
         4: .line 2417
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 2 /* i */
            iadd
            iload 3 /* c */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         5: .line 2416
            iinc 2 /* i */ -1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iflt 8
            aload 1 /* in */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* c */
        start local 3 // char c
         7: sipush 128
            if_icmplt 4
        end local 3 // char c
         8: .line 2419
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_m1
            if_icmpne 11
         9: .line 2421
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
        10: .line 2422
            return
        11: .line 2424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 2 /* i */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
        12: .line 2425
            goto 41
        13: .line 2426
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
        14: .line 2427
            iload 3 /* c */
            sipush 128
            if_icmpge 17
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iflt 17
        15: .line 2428
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 3 /* c */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        16: .line 2429
            goto 40
      StackMap locals: int
      StackMap stack:
        17: iload 3 /* c */
            sipush 2048
            if_icmpge 21
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            ifle 21
        18: .line 2430
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        19: .line 2431
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 960
            iload 3 /* c */
            bipush 6
            iushr
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        20: .line 2432
            goto 40
      StackMap locals:
      StackMap stack:
        21: iload 3 /* c */
            ldc 55296
            if_icmplt 22
            ldc 57343
            iload 3 /* c */
            if_icmpge 27
      StackMap locals:
      StackMap stack:
        22: aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            if_icmple 27
        23: .line 2434
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        24: .line 2435
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            bipush 6
            iushr
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        25: .line 2436
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 480
            iload 3 /* c */
            bipush 12
            iushr
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        26: .line 2437
            goto 40
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_2
            if_icmple 38
        28: .line 2440
            iconst_0
            istore 4 /* high */
        start local 4 // char high
        29: .line 2441
            iload 2 /* i */
            ifeq 30
            aload 1 /* in */
            iload 2 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 4 /* high */
            iload 3 /* c */
            invokestatic java.lang.Character.isSurrogatePair:(CC)Z
            ifne 31
        30: .line 2442
      StackMap locals: int
      StackMap stack:
            new com.google.protobuf.Utf8$UnpairedSurrogateException
            dup
            iload 2 /* i */
            iconst_1
            isub
            iload 2 /* i */
            invokespecial com.google.protobuf.Utf8$UnpairedSurrogateException.<init>:(II)V
            athrow
        31: .line 2444
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        32: .line 2445
            iload 4 /* high */
            iload 3 /* c */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            istore 5 /* codePoint */
        start local 5 // int codePoint
        33: .line 2446
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        34: .line 2447
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            bipush 6
            iushr
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        35: .line 2448
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            bipush 12
            iushr
            iand
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        36: .line 2449
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            sipush 240
            iload 5 /* codePoint */
            bipush 18
            iushr
            ior
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        end local 5 // int codePoint
        end local 4 // char high
        37: .line 2450
            goto 40
        38: .line 2452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.requireSpace:(I)V
        39: .line 2453
            iinc 2 /* i */ 1
        40: .line 2425
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
        41: iload 2 /* i */
            ifge 13
        42: .line 2456
            return
        end local 2 // int i
        end local 1 // java.lang.String in
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   43     1         in  Ljava/lang/String;
            2   43     2          i  I
            4    6     3          c  C
            7    8     3          c  C
           14   41     3          c  C
           29   37     4       high  C
           33   37     5  codePoint  I
    MethodParameters:
      Name  Flags
      in    

  public void write(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // byte value
         0: .line 2460
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
         1: .line 2461
            return
        end local 1 // byte value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    2     1  value  B
    MethodParameters:
       Name  Flags
      value  

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 2465
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.spaceLeft:()I
            iload 3 /* length */
            if_icmpge 2
         1: .line 2466
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:(I)V
         2: .line 2469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 3 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         3: .line 2470
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         4: .line 2471
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
         5: .line 2472
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    6     1   value  [B
            0    6     2  offset  I
            0    6     3  length  I
    MethodParameters:
        Name  Flags
      value   
      offset  
      length  

  public void writeLazy(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 2476
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.spaceLeft:()I
            iload 3 /* length */
            if_icmpge 5
         1: .line 2479
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
            iload 3 /* length */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
         2: .line 2480
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* value */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic com.google.protobuf.AllocatedBuffer.wrap:([BII)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         3: .line 2484
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:()V
         4: .line 2485
            return
         5: .line 2488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 3 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         6: .line 2489
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         7: .line 2490
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
         8: .line 2491
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    9     1   value  [B
            0    9     2  offset  I
            0    9     3  length  I
    MethodParameters:
        Name  Flags
      value   
      offset  
      length  

  public void write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // java.nio.ByteBuffer value
         0: .line 2495
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 2496
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.spaceLeft:()I
            iload 2 /* length */
            if_icmpge 3
         2: .line 2497
            aload 0 /* this */
            iload 2 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:(I)V
         3: .line 2500
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 2 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         4: .line 2501
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 2502
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         6: .line 2503
            return
        end local 2 // int length
        end local 1 // java.nio.ByteBuffer value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    7     1   value  Ljava/nio/ByteBuffer;
            1    7     2  length  I
    MethodParameters:
       Name  Flags
      value  

  public void writeLazy(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // java.nio.ByteBuffer value
         0: .line 2507
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 2508
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.spaceLeft:()I
            iload 2 /* length */
            if_icmpge 6
         2: .line 2511
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
            iload 2 /* length */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.totalDoneBytes:I
         3: .line 2512
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* value */
            invokestatic com.google.protobuf.AllocatedBuffer.wrap:(Ljava/nio/ByteBuffer;)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         4: .line 2516
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:()V
         5: .line 2517
            return
         6: .line 2520
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iload 2 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
         7: .line 2521
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.pos:I
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         8: .line 2522
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeDirectWriter.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         9: .line 2523
            return
        end local 2 // int length
        end local 1 // java.nio.ByteBuffer value
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0   10     1   value  Ljava/nio/ByteBuffer;
            1   10     2  length  I
    MethodParameters:
       Name  Flags
      value  

  void requireSpace(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
        start local 1 // int size
         0: .line 2527
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.spaceLeft:()I
            iload 1 /* size */
            if_icmpge 2
         1: .line 2528
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual com.google.protobuf.BinaryWriter$SafeDirectWriter.nextBuffer:(I)V
         2: .line 2530
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int size
        end local 0 // com.google.protobuf.BinaryWriter$SafeDirectWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/protobuf/BinaryWriter$SafeDirectWriter;
            0    3     1  size  I
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "BinaryWriter.java"
NestHost: com.google.protobuf.BinaryWriter
InnerClasses:
  private final SafeDirectWriter = com.google.protobuf.BinaryWriter$SafeDirectWriter of com.google.protobuf.BinaryWriter
  UnpairedSurrogateException = com.google.protobuf.Utf8$UnpairedSurrogateException of com.google.protobuf.Utf8