public class com.sun.jmx.snmp.BerEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jmx.snmp.BerEncoder
  super_class: java.lang.Object
{
  public static final int BooleanTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int IntegerTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int OctetStringTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int NullTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int OidTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int SequenceTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 48

  protected final byte[] bytes;
    descriptor: [B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int start;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected final int[] stackBuf;
    descriptor: [I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int stackTop;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] b
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 466
            aload 0 /* this */
            iconst_m1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
         2: .line 474
            aload 0 /* this */
            sipush 200
            newarray 10
            putfield com.sun.jmx.snmp.BerEncoder.stackBuf:[I
         3: .line 475
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.BerEncoder.stackTop:I
         4: .line 55
            aload 0 /* this */
            aload 1 /* b */
            putfield com.sun.jmx.snmp.BerEncoder.bytes:[B
         5: .line 56
            aload 0 /* this */
            aload 1 /* b */
            arraylength
            putfield com.sun.jmx.snmp.BerEncoder.start:I
         6: .line 57
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.BerEncoder.stackTop:I
         7: .line 58
            return
        end local 1 // byte[] b
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    8     1     b  [B
    MethodParameters:
      Name  Flags
      b     

  public int trim();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.BerEncoder this
         0: .line 75
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            arraylength
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            isub
            istore 1 /* result */
        start local 1 // int result
         1: .line 80
            iload 1 /* result */
            ifle 3
         2: .line 81
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            iconst_0
            iload 1 /* result */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 83
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            arraylength
            putfield com.sun.jmx.snmp.BerEncoder.start:I
         4: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.BerEncoder.stackTop:I
         5: .line 86
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/jmx/snmp/BerEncoder;
            1    6     1  result  I

  public void putInteger(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int v
         0: .line 96
            aload 0 /* this */
            iload 1 /* v */
            iconst_2
            invokevirtual com.sun.jmx.snmp.BerEncoder.putInteger:(II)V
         1: .line 97
            return
        end local 1 // int v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    2     1     v  I
    MethodParameters:
      Name  Flags
      v     

  public void putInteger(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int v
        start local 2 // int tag
         0: .line 108
            aload 0 /* this */
            iload 1 /* v */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putIntegerValue:(I)V
         1: .line 109
            aload 0 /* this */
            iload 2 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         2: .line 110
            return
        end local 2 // int tag
        end local 1 // int v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1     v  I
            0    3     2   tag  I
    MethodParameters:
      Name  Flags
      v     
      tag   

  public void putInteger(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long v
         0: .line 121
            aload 0 /* this */
            lload 1 /* v */
            iconst_2
            invokevirtual com.sun.jmx.snmp.BerEncoder.putInteger:(JI)V
         1: .line 122
            return
        end local 1 // long v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    2     1     v  J
    MethodParameters:
      Name  Flags
      v     

  public void putInteger(long, int);
    descriptor: (JI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long v
        start local 3 // int tag
         0: .line 133
            aload 0 /* this */
            lload 1 /* v */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putIntegerValue:(J)V
         1: .line 134
            aload 0 /* this */
            iload 3 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         2: .line 135
            return
        end local 3 // int tag
        end local 1 // long v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1     v  J
            0    3     3   tag  I
    MethodParameters:
      Name  Flags
      v     
      tag   

  public void putOctetString(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] s
         0: .line 146
            aload 0 /* this */
            aload 1 /* s */
            iconst_4
            invokevirtual com.sun.jmx.snmp.BerEncoder.putOctetString:([BI)V
         1: .line 147
            return
        end local 1 // byte[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    2     1     s  [B
    MethodParameters:
      Name  Flags
      s     

  public void putOctetString(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] s
        start local 2 // int tag
         0: .line 158
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putStringValue:([B)V
         1: .line 159
            aload 0 /* this */
            iload 2 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         2: .line 160
            return
        end local 2 // int tag
        end local 1 // byte[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1     s  [B
            0    3     2   tag  I
    MethodParameters:
      Name  Flags
      s     
      tag   

  public void putOid(long[]);
    descriptor: ([J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long[] s
         0: .line 170
            aload 0 /* this */
            aload 1 /* s */
            bipush 6
            invokevirtual com.sun.jmx.snmp.BerEncoder.putOid:([JI)V
         1: .line 171
            return
        end local 1 // long[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    2     1     s  [J
    MethodParameters:
      Name  Flags
      s     

  public void putOid(long[], int);
    descriptor: ([JI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long[] s
        start local 2 // int tag
         0: .line 182
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putOidValue:([J)V
         1: .line 183
            aload 0 /* this */
            iload 2 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         2: .line 184
            return
        end local 2 // int tag
        end local 1 // long[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1     s  [J
            0    3     2   tag  I
    MethodParameters:
      Name  Flags
      s     
      tag   

  public void putNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.BerEncoder this
         0: .line 192
            aload 0 /* this */
            iconst_5
            invokevirtual com.sun.jmx.snmp.BerEncoder.putNull:(I)V
         1: .line 193
            return
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;

  public void putNull(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int tag
         0: .line 203
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
         1: .line 204
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         2: .line 205
            return
        end local 1 // int tag
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1   tag  I
    MethodParameters:
      Name  Flags
      tag   

  public void putAny(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] s
         0: .line 217
            aload 0 /* this */
            aload 1 /* s */
            aload 1 /* s */
            arraylength
            invokevirtual com.sun.jmx.snmp.BerEncoder.putAny:([BI)V
         1: .line 218
            return
        end local 1 // byte[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    2     1     s  [B
    MethodParameters:
      Name  Flags
      s     

  public void putAny(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] s
        start local 2 // int byteCount
         0: .line 229
            aload 1 /* s */
            iconst_0
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 2 /* byteCount */
            isub
            iload 2 /* byteCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 230
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 2 /* byteCount */
            isub
            putfield com.sun.jmx.snmp.BerEncoder.start:I
         2: .line 234
            return
        end local 2 // int byteCount
        end local 1 // byte[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/jmx/snmp/BerEncoder;
            0    3     1          s  [B
            0    3     2  byteCount  I
    MethodParameters:
           Name  Flags
      s          
      byteCount  

  public void openSequence();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.BerEncoder this
         0: .line 243
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.stackBuf:[I
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.stackTop:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.jmx.snmp.BerEncoder.stackTop:I
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iastore
         1: .line 244
            return
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;

  public void closeSequence();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.BerEncoder this
         0: .line 253
            aload 0 /* this */
            bipush 48
            invokevirtual com.sun.jmx.snmp.BerEncoder.closeSequence:(I)V
         1: .line 254
            return
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/BerEncoder;

  public void closeSequence(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int tag
         0: .line 262
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.stackBuf:[I
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.stackTop:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.stackTop:I
            iaload
            istore 2 /* end */
        start local 2 // int end
         1: .line 263
            aload 0 /* this */
            iload 2 /* end */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            isub
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
         2: .line 264
            aload 0 /* this */
            iload 1 /* tag */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putTag:(I)V
         3: .line 265
            return
        end local 2 // int end
        end local 1 // int tag
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    4     1   tag  I
            1    4     2   end  I
    MethodParameters:
      Name  Flags
      tag   

  protected final void putTag(int);
    descriptor: (I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int tag
         0: .line 292
            iload 1 /* tag */
            sipush 256
            if_icmpge 5
         1: .line 293
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* tag */
            i2b
            bastore
         2: .line 294
            goto 6
         3: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* tag */
            bipush 127
            iand
            i2b
            bastore
         4: .line 298
            iload 1 /* tag */
            bipush 7
            ishl
            istore 1 /* tag */
         5: .line 296
      StackMap locals:
      StackMap stack:
            iload 1 /* tag */
            ifne 3
         6: .line 301
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int tag
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/jmx/snmp/BerEncoder;
            0    7     1   tag  I
    MethodParameters:
      Name  Flags
      tag   

  protected final void putLength(int);
    descriptor: (I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int length
         0: .line 311
            iload 1 /* length */
            ifge 2
         1: .line 312
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 314
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            sipush 128
            if_icmpge 5
         3: .line 315
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            i2b
            bastore
         4: .line 316
            goto 25
         5: .line 317
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            sipush 256
            if_icmpge 9
         6: .line 318
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            i2b
            bastore
         7: .line 319
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            bipush -127
            bastore
         8: .line 320
            goto 25
         9: .line 321
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            ldc 65536
            if_icmpge 14
        10: .line 322
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            i2b
            bastore
        11: .line 323
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 8
            ishr
            i2b
            bastore
        12: .line 324
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            bipush -126
            bastore
        13: .line 325
            goto 25
        14: .line 326
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            ldc 16777126
            if_icmpge 20
        15: .line 327
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            i2b
            bastore
        16: .line 328
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 8
            ishr
            i2b
            bastore
        17: .line 329
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 16
            ishr
            i2b
            bastore
        18: .line 330
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            bipush -125
            bastore
        19: .line 331
            goto 25
        20: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            i2b
            bastore
        21: .line 334
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 8
            ishr
            i2b
            bastore
        22: .line 335
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 16
            ishr
            i2b
            bastore
        23: .line 336
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* length */
            bipush 24
            ishr
            i2b
            bastore
        24: .line 337
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            bipush -124
            bastore
        25: .line 339
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int length
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lcom/sun/jmx/snmp/BerEncoder;
            0   26     1  length  I
    MethodParameters:
        Name  Flags
      length  final

  protected final void putIntegerValue(int);
    descriptor: (I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // int v
         0: .line 349
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            istore 2 /* end */
        start local 2 // int end
         1: .line 350
            ldc 2139095040
            istore 3 /* mask */
        start local 3 // int mask
         2: .line 351
            iconst_4
            istore 4 /* byteNeeded */
        start local 4 // int byteNeeded
         3: .line 352
            iload 1 /* v */
            ifge 11
         4: .line 353
            goto 7
         5: .line 354
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* mask */
            bipush 8
            ishr
            istore 3 /* mask */
         6: .line 355
            iinc 4 /* byteNeeded */ -1
         7: .line 353
      StackMap locals:
      StackMap stack:
            iload 3 /* mask */
            iload 1 /* v */
            iand
            iload 3 /* mask */
            if_icmpne 12
            iload 4 /* byteNeeded */
            iconst_1
            if_icmpgt 5
         8: .line 357
            goto 12
         9: .line 360
      StackMap locals:
      StackMap stack:
            iload 3 /* mask */
            bipush 8
            ishr
            istore 3 /* mask */
        10: .line 361
            iinc 4 /* byteNeeded */ -1
        11: .line 359
      StackMap locals:
      StackMap stack:
            iload 3 /* mask */
            iload 1 /* v */
            iand
            ifne 12
            iload 4 /* byteNeeded */
            iconst_1
            if_icmpgt 9
        12: .line 364
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 17
        14: .line 365
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 1 /* v */
            i2b
            bastore
        15: .line 366
            iload 1 /* v */
            bipush 8
            ishr
            istore 1 /* v */
        16: .line 364
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 4 /* byteNeeded */
            if_icmplt 14
        end local 5 // int i
        18: .line 368
            aload 0 /* this */
            iload 2 /* end */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            isub
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
        19: .line 369
            return
        end local 4 // int byteNeeded
        end local 3 // int mask
        end local 2 // int end
        end local 1 // int v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/jmx/snmp/BerEncoder;
            0   20     1           v  I
            1   20     2         end  I
            2   20     3        mask  I
            3   20     4  byteNeeded  I
           13   18     5           i  I
    MethodParameters:
      Name  Flags
      v     

  protected final void putIntegerValue(long);
    descriptor: (J)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long v
         0: .line 379
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            istore 3 /* end */
        start local 3 // int end
         1: .line 380
            ldc 9187343239835811840
            lstore 4 /* mask */
        start local 4 // long mask
         2: .line 381
            bipush 8
            istore 6 /* byteNeeded */
        start local 6 // int byteNeeded
         3: .line 382
            lload 1 /* v */
            lconst_0
            lcmp
            ifge 11
         4: .line 383
            goto 7
         5: .line 384
      StackMap locals: int long int
      StackMap stack:
            lload 4 /* mask */
            bipush 8
            lshr
            lstore 4 /* mask */
         6: .line 385
            iinc 6 /* byteNeeded */ -1
         7: .line 383
      StackMap locals:
      StackMap stack:
            lload 4 /* mask */
            lload 1 /* v */
            land
            lload 4 /* mask */
            lcmp
            ifne 12
            iload 6 /* byteNeeded */
            iconst_1
            if_icmpgt 5
         8: .line 387
            goto 12
         9: .line 390
      StackMap locals:
      StackMap stack:
            lload 4 /* mask */
            bipush 8
            lshr
            lstore 4 /* mask */
        10: .line 391
            iinc 6 /* byteNeeded */ -1
        11: .line 389
      StackMap locals:
      StackMap stack:
            lload 4 /* mask */
            lload 1 /* v */
            land
            lconst_0
            lcmp
            ifne 12
            iload 6 /* byteNeeded */
            iconst_1
            if_icmpgt 9
        12: .line 394
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 17
        14: .line 395
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            lload 1 /* v */
            l2i
            i2b
            bastore
        15: .line 396
            lload 1 /* v */
            bipush 8
            lshr
            lstore 1 /* v */
        16: .line 394
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 6 /* byteNeeded */
            if_icmplt 14
        end local 7 // int i
        18: .line 398
            aload 0 /* this */
            iload 3 /* end */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            isub
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
        19: .line 399
            return
        end local 6 // int byteNeeded
        end local 4 // long mask
        end local 3 // int end
        end local 1 // long v
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/jmx/snmp/BerEncoder;
            0   20     1           v  J
            1   20     3         end  I
            2   20     4        mask  J
            3   20     6  byteNeeded  I
           13   18     7           i  I
    MethodParameters:
      Name  Flags
      v     

  protected final void putStringValue(byte[]);
    descriptor: ([B)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // byte[] s
         0: .line 409
            aload 1 /* s */
            arraylength
            istore 2 /* datalen */
        start local 2 // int datalen
         1: .line 410
            aload 1 /* s */
            iconst_0
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 2 /* datalen */
            isub
            iload 2 /* datalen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 411
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iload 2 /* datalen */
            isub
            putfield com.sun.jmx.snmp.BerEncoder.start:I
         3: .line 415
            aload 0 /* this */
            iload 2 /* datalen */
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
         4: .line 416
            return
        end local 2 // int datalen
        end local 1 // byte[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/jmx/snmp/BerEncoder;
            0    5     1        s  [B
            1    5     2  datalen  I
    MethodParameters:
      Name  Flags
      s     

  protected final void putOidValue(long[]);
    descriptor: ([J)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.sun.jmx.snmp.BerEncoder this
        start local 1 // long[] s
         0: .line 427
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            istore 2 /* end */
        start local 2 // int end
         1: .line 428
            aload 1 /* s */
            arraylength
            istore 3 /* slength */
        start local 3 // int slength
         2: .line 431
            iload 3 /* slength */
            iconst_2
            if_icmplt 3
            aload 1 /* s */
            iconst_0
            laload
            ldc 2
            lcmp
            ifgt 3
            aload 1 /* s */
            iconst_1
            laload
            ldc 40
            lcmp
            iflt 4
         3: .line 432
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 434
      StackMap locals:
      StackMap stack:
            iload 3 /* slength */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         5: goto 19
         6: .line 435
      StackMap locals: int
      StackMap stack:
            aload 1 /* s */
            iload 4 /* i */
            laload
            lstore 5 /* c */
        start local 5 // long c
         7: .line 436
            lload 5 /* c */
            lconst_0
            lcmp
            ifge 9
         8: .line 437
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         9: .line 439
      StackMap locals: long
      StackMap stack:
            lload 5 /* c */
            ldc 128
            lcmp
            ifge 12
        10: .line 440
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            lload 5 /* c */
            l2i
            i2b
            bastore
        11: .line 441
            goto 18
        12: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            lload 5 /* c */
            ldc 127
            land
            l2i
            i2b
            bastore
        13: .line 444
            lload 5 /* c */
            bipush 7
            lshr
            lstore 5 /* c */
        14: .line 445
            goto 17
        15: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            lload 5 /* c */
            ldc 128
            lor
            l2i
            i2b
            bastore
        16: .line 447
            lload 5 /* c */
            bipush 7
            lshr
            lstore 5 /* c */
        17: .line 445
      StackMap locals:
      StackMap stack:
            lload 5 /* c */
            lconst_0
            lcmp
            ifne 15
        end local 5 // long c
        18: .line 434
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iconst_2
            if_icmpge 6
        end local 4 // int i
        20: .line 451
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.bytes:[B
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            iconst_1
            isub
            dup_x1
            putfield com.sun.jmx.snmp.BerEncoder.start:I
            aload 1 /* s */
            iconst_0
            laload
            ldc 40
            lmul
            aload 1 /* s */
            iconst_1
            laload
            ladd
            l2i
            i2b
            bastore
        21: .line 452
            aload 0 /* this */
            iload 2 /* end */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.BerEncoder.start:I
            isub
            invokevirtual com.sun.jmx.snmp.BerEncoder.putLength:(I)V
        22: .line 453
            return
        end local 3 // int slength
        end local 2 // int end
        end local 1 // long[] s
        end local 0 // com.sun.jmx.snmp.BerEncoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lcom/sun/jmx/snmp/BerEncoder;
            0   23     1        s  [J
            1   23     2      end  I
            2   23     3  slength  I
            5   20     4        i  I
            7   18     5        c  J
    MethodParameters:
      Name  Flags
      s     final
}
SourceFile: "BerEncoder.java"