public class sun.misc.BASE64Decoder extends sun.misc.CharacterDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.BASE64Decoder
  super_class: sun.misc.CharacterDecoder
{
  private static final char[] pem_array;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] pem_convert_array;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  byte[] decode_buffer;
    descriptor: [B
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 77
            bipush 64
            newarray 5
            dup
            iconst_0
         1: .line 79
            bipush 65
            castore
            dup
            iconst_1
            bipush 66
            castore
            dup
            iconst_2
            bipush 67
            castore
            dup
            iconst_3
            bipush 68
            castore
            dup
            iconst_4
            bipush 69
            castore
            dup
            iconst_5
            bipush 70
            castore
            dup
            bipush 6
            bipush 71
            castore
            dup
            bipush 7
            bipush 72
            castore
            dup
            bipush 8
         2: .line 80
            bipush 73
            castore
            dup
            bipush 9
            bipush 74
            castore
            dup
            bipush 10
            bipush 75
            castore
            dup
            bipush 11
            bipush 76
            castore
            dup
            bipush 12
            bipush 77
            castore
            dup
            bipush 13
            bipush 78
            castore
            dup
            bipush 14
            bipush 79
            castore
            dup
            bipush 15
            bipush 80
            castore
            dup
            bipush 16
         3: .line 81
            bipush 81
            castore
            dup
            bipush 17
            bipush 82
            castore
            dup
            bipush 18
            bipush 83
            castore
            dup
            bipush 19
            bipush 84
            castore
            dup
            bipush 20
            bipush 85
            castore
            dup
            bipush 21
            bipush 86
            castore
            dup
            bipush 22
            bipush 87
            castore
            dup
            bipush 23
            bipush 88
            castore
            dup
            bipush 24
         4: .line 82
            bipush 89
            castore
            dup
            bipush 25
            bipush 90
            castore
            dup
            bipush 26
            bipush 97
            castore
            dup
            bipush 27
            bipush 98
            castore
            dup
            bipush 28
            bipush 99
            castore
            dup
            bipush 29
            bipush 100
            castore
            dup
            bipush 30
            bipush 101
            castore
            dup
            bipush 31
            bipush 102
            castore
            dup
            bipush 32
         5: .line 83
            bipush 103
            castore
            dup
            bipush 33
            bipush 104
            castore
            dup
            bipush 34
            bipush 105
            castore
            dup
            bipush 35
            bipush 106
            castore
            dup
            bipush 36
            bipush 107
            castore
            dup
            bipush 37
            bipush 108
            castore
            dup
            bipush 38
            bipush 109
            castore
            dup
            bipush 39
            bipush 110
            castore
            dup
            bipush 40
         6: .line 84
            bipush 111
            castore
            dup
            bipush 41
            bipush 112
            castore
            dup
            bipush 42
            bipush 113
            castore
            dup
            bipush 43
            bipush 114
            castore
            dup
            bipush 44
            bipush 115
            castore
            dup
            bipush 45
            bipush 116
            castore
            dup
            bipush 46
            bipush 117
            castore
            dup
            bipush 47
            bipush 118
            castore
            dup
            bipush 48
         7: .line 85
            bipush 119
            castore
            dup
            bipush 49
            bipush 120
            castore
            dup
            bipush 50
            bipush 121
            castore
            dup
            bipush 51
            bipush 122
            castore
            dup
            bipush 52
            bipush 48
            castore
            dup
            bipush 53
            bipush 49
            castore
            dup
            bipush 54
            bipush 50
            castore
            dup
            bipush 55
            bipush 51
            castore
            dup
            bipush 56
         8: .line 86
            bipush 52
            castore
            dup
            bipush 57
            bipush 53
            castore
            dup
            bipush 58
            bipush 54
            castore
            dup
            bipush 59
            bipush 55
            castore
            dup
            bipush 60
            bipush 56
            castore
            dup
            bipush 61
            bipush 57
            castore
            dup
            bipush 62
            bipush 43
            castore
            dup
            bipush 63
            bipush 47
            castore
         9: .line 77
            putstatic sun.misc.BASE64Decoder.pem_array:[C
        10: .line 89
            sipush 256
            newarray 8
            putstatic sun.misc.BASE64Decoder.pem_convert_array:[B
        11: .line 92
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        12: goto 15
        13: .line 93
      StackMap locals: int
      StackMap stack:
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            iload 0 /* i */
            iconst_m1
            bastore
        14: .line 92
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 0 /* i */
            sipush 255
            if_icmplt 13
        end local 0 // int i
        16: .line 95
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        17: goto 20
        18: .line 96
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            getstatic sun.misc.BASE64Decoder.pem_array:[C
            iload 0 /* i */
            caload
            iload 0 /* i */
            i2b
            bastore
        19: .line 95
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 0 /* i */
            getstatic sun.misc.BASE64Decoder.pem_array:[C
            arraylength
            if_icmplt 18
        end local 0 // int i
        21: .line 98
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           12   16     0     i  I
           17   21     0     i  I

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.misc.BASE64Decoder this
         0: .line 61
            aload 0 /* this */
            invokespecial sun.misc.CharacterDecoder.<init>:()V
         1: .line 100
            aload 0 /* this */
            iconst_4
            newarray 8
            putfield sun.misc.BASE64Decoder.decode_buffer:[B
         2: .line 61
            return
        end local 0 // sun.misc.BASE64Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/misc/BASE64Decoder;

  protected int bytesPerAtom();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.BASE64Decoder this
         0: .line 65
            iconst_4
            ireturn
        end local 0 // sun.misc.BASE64Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/BASE64Decoder;

  protected int bytesPerLine();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.BASE64Decoder this
         0: .line 70
            bipush 72
            ireturn
        end local 0 // sun.misc.BASE64Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/BASE64Decoder;

  protected void decodeAtom(java.io.PushbackInputStream, java.io.OutputStream, int);
    descriptor: (Ljava/io/PushbackInputStream;Ljava/io/OutputStream;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // sun.misc.BASE64Decoder this
        start local 1 // java.io.PushbackInputStream inStream
        start local 2 // java.io.OutputStream outStream
        start local 3 // int rem
         0: .line 110
            iconst_m1
            istore 5 /* a */
        start local 5 // byte a
         1: iconst_m1
            istore 6 /* b */
        start local 6 // byte b
         2: iconst_m1
            istore 7 /* c */
        start local 7 // byte c
         3: iconst_m1
            istore 8 /* d */
        start local 8 // byte d
         4: .line 112
            iload 3 /* rem */
            iconst_2
            if_icmpge 6
         5: .line 113
            new sun.misc.CEFormatException
            dup
            ldc "BASE64Decoder: Not enough bytes for an atom."
            invokespecial sun.misc.CEFormatException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 116
      StackMap locals: sun.misc.BASE64Decoder java.io.PushbackInputStream java.io.OutputStream int top int int int int
      StackMap stack:
            aload 1 /* inStream */
            invokevirtual java.io.PushbackInputStream.read:()I
            istore 4 /* i */
        start local 4 // int i
         7: .line 117
            iload 4 /* i */
            iconst_m1
            if_icmpne 9
         8: .line 118
            new sun.misc.CEStreamExhausted
            dup
            invokespecial sun.misc.CEStreamExhausted.<init>:()V
            athrow
         9: .line 120
      StackMap locals: sun.misc.BASE64Decoder java.io.PushbackInputStream java.io.OutputStream int int int int int int
      StackMap stack:
            iload 4 /* i */
            bipush 10
            if_icmpeq 6
            iload 4 /* i */
            bipush 13
            if_icmpeq 6
        10: .line 121
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_0
            iload 4 /* i */
            i2b
            bastore
        11: .line 123
            aload 0 /* this */
            aload 1 /* inStream */
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_1
            iload 3 /* rem */
            iconst_1
            isub
            invokevirtual sun.misc.BASE64Decoder.readFully:(Ljava/io/InputStream;[BII)I
            istore 4 /* i */
        12: .line 124
            iload 4 /* i */
            iconst_m1
            if_icmpne 14
        13: .line 125
            new sun.misc.CEStreamExhausted
            dup
            invokespecial sun.misc.CEStreamExhausted.<init>:()V
            athrow
        14: .line 128
      StackMap locals:
      StackMap stack:
            iload 3 /* rem */
            iconst_3
            if_icmple 16
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_3
            baload
            bipush 61
            if_icmpne 16
        15: .line 129
            iconst_3
            istore 3 /* rem */
        16: .line 131
      StackMap locals:
      StackMap stack:
            iload 3 /* rem */
            iconst_2
            if_icmple 18
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_2
            baload
            bipush 61
            if_icmpne 18
        17: .line 132
            iconst_2
            istore 3 /* rem */
        18: .line 134
      StackMap locals:
      StackMap stack:
            iload 3 /* rem */
            tableswitch { // 2 - 4
                    2: 21
                    3: 20
                    4: 19
              default: 23
          }
        19: .line 136
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_3
            baload
            sipush 255
            iand
            baload
            istore 8 /* d */
        20: .line 139
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_2
            baload
            sipush 255
            iand
            baload
            istore 7 /* c */
        21: .line 142
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_1
            baload
            sipush 255
            iand
            baload
            istore 6 /* b */
        22: .line 143
            getstatic sun.misc.BASE64Decoder.pem_convert_array:[B
            aload 0 /* this */
            getfield sun.misc.BASE64Decoder.decode_buffer:[B
            iconst_0
            baload
            sipush 255
            iand
            baload
            istore 5 /* a */
        23: .line 147
      StackMap locals:
      StackMap stack:
            iload 3 /* rem */
            tableswitch { // 2 - 4
                    2: 24
                    3: 26
                    4: 29
              default: 32
          }
        24: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* outStream */
            iload 5 /* a */
            iconst_2
            ishl
            sipush 252
            iand
            iload 6 /* b */
            iconst_4
            iushr
            iconst_3
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        25: .line 150
            goto 32
        26: .line 152
      StackMap locals:
      StackMap stack:
            aload 2 /* outStream */
            iload 5 /* a */
            iconst_2
            ishl
            sipush 252
            iand
            iload 6 /* b */
            iconst_4
            iushr
            iconst_3
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        27: .line 153
            aload 2 /* outStream */
            iload 6 /* b */
            iconst_4
            ishl
            sipush 240
            iand
            iload 7 /* c */
            iconst_2
            iushr
            bipush 15
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        28: .line 154
            goto 32
        29: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* outStream */
            iload 5 /* a */
            iconst_2
            ishl
            sipush 252
            iand
            iload 6 /* b */
            iconst_4
            iushr
            iconst_3
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        30: .line 157
            aload 2 /* outStream */
            iload 6 /* b */
            iconst_4
            ishl
            sipush 240
            iand
            iload 7 /* c */
            iconst_2
            iushr
            bipush 15
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        31: .line 158
            aload 2 /* outStream */
            iload 7 /* c */
            bipush 6
            ishl
            sipush 192
            iand
            iload 8 /* d */
            bipush 63
            iand
            ior
            i2b
            invokevirtual java.io.OutputStream.write:(I)V
        32: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 8 // byte d
        end local 7 // byte c
        end local 6 // byte b
        end local 5 // byte a
        end local 4 // int i
        end local 3 // int rem
        end local 2 // java.io.OutputStream outStream
        end local 1 // java.io.PushbackInputStream inStream
        end local 0 // sun.misc.BASE64Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/misc/BASE64Decoder;
            0   33     1   inStream  Ljava/io/PushbackInputStream;
            0   33     2  outStream  Ljava/io/OutputStream;
            0   33     3        rem  I
            7   33     4          i  I
            1   33     5          a  B
            2   33     6          b  B
            3   33     7          c  B
            4   33     8          d  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      inStream   
      outStream  
      rem        
}
SourceFile: "BASE64Decoder.java"