public class sun.awt.image.PNGImageDecoder extends sun.awt.image.ImageDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.PNGImageDecoder
  super_class: sun.awt.image.ImageDecoder
{
  private static final int GRAY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private java.util.Hashtable<java.lang.String, java.lang.Object> properties;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  private java.awt.image.ColorModel cm;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private static java.awt.image.ColorModel[] greyModels;
    descriptor: [Ljava/awt/image/ColorModel;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  sun.awt.image.PNGFilterInputStream inputStream;
    descriptor: Lsun/awt/image/PNGFilterInputStream;
    flags: (0x0000) 

  java.io.InputStream underlyingInputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0000) 

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

  private static boolean checkCRC;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int[] crc_table;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 79
            iconst_4
            anewarray java.awt.image.ColorModel
            putstatic sun.awt.image.PNGImageDecoder.greyModels:[Ljava/awt/image/ColorModel;
         1: .line 616
            bipush 8
            newarray 8
            dup
            iconst_3
            iconst_4
            bastore
            dup
            iconst_5
            iconst_2
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            putstatic sun.awt.image.PNGImageDecoder.startingRow:[B
         2: .line 617
            bipush 8
            newarray 8
            dup
            iconst_2
            iconst_4
            bastore
            dup
            iconst_4
            iconst_2
            bastore
            dup
            bipush 6
            iconst_1
            bastore
            putstatic sun.awt.image.PNGImageDecoder.startingCol:[B
         3: .line 618
            bipush 8
            newarray 8
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            bipush 8
            bastore
            dup
            iconst_2
            bipush 8
            bastore
            dup
            iconst_3
            bipush 8
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            iconst_5
            iconst_4
            bastore
            dup
            bipush 6
            iconst_2
            bastore
            dup
            bipush 7
            iconst_2
            bastore
            putstatic sun.awt.image.PNGImageDecoder.rowIncrement:[B
         4: .line 619
            bipush 8
            newarray 8
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            bipush 8
            bastore
            dup
            iconst_2
            bipush 8
            bastore
            dup
            iconst_3
            iconst_4
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            iconst_5
            iconst_2
            bastore
            dup
            bipush 6
            iconst_2
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            putstatic sun.awt.image.PNGImageDecoder.colIncrement:[B
         5: .line 620
            bipush 8
            newarray 8
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            bipush 8
            bastore
            dup
            iconst_2
            bipush 8
            bastore
            dup
            iconst_3
            iconst_4
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            iconst_5
            iconst_2
            bastore
            dup
            bipush 6
            iconst_2
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            putstatic sun.awt.image.PNGImageDecoder.blockHeight:[B
         6: .line 621
            bipush 8
            newarray 8
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            bipush 8
            bastore
            dup
            iconst_2
            iconst_4
            bastore
            dup
            iconst_3
            iconst_4
            bastore
            dup
            iconst_4
            iconst_2
            bastore
            dup
            iconst_5
            iconst_2
            bastore
            dup
            bipush 6
            iconst_1
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            putstatic sun.awt.image.PNGImageDecoder.blockWidth:[B
         7: .line 629
            bipush 8
            newarray 8
            dup
            iconst_0
            bipush -119
            bastore
            dup
            iconst_1
            bipush 80
            bastore
            dup
            iconst_2
            bipush 78
            bastore
            dup
            iconst_3
         8: .line 630
            bipush 71
            bastore
            dup
            iconst_4
            bipush 13
            bastore
            dup
            iconst_5
            bipush 10
            bastore
            dup
            bipush 6
            bipush 26
            bastore
            dup
            bipush 7
            bipush 10
            bastore
         9: .line 629
            putstatic sun.awt.image.PNGImageDecoder.signature:[B
        10: .line 733
            iconst_1
            putstatic sun.awt.image.PNGImageDecoder.checkCRC:Z
        11: .line 754
            sipush 256
            newarray 10
            putstatic sun.awt.image.PNGImageDecoder.crc_table:[I
        12: .line 758
            iconst_0
            istore 0 /* n */
        start local 0 // int n
        13: goto 24
        14: .line 759
      StackMap locals: int
      StackMap stack:
            iload 0 /* n */
            istore 1 /* c */
        start local 1 // int c
        15: .line 760
            iconst_0
            istore 2 /* k */
        start local 2 // int k
        16: goto 21
        17: .line 761
      StackMap locals: int int
      StackMap stack:
            iload 1 /* c */
            iconst_1
            iand
            ifeq 19
        18: .line 762
            ldc -306674912
            iload 1 /* c */
            iconst_1
            iushr
            ixor
            istore 1 /* c */
            goto 20
        19: .line 764
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            iconst_1
            iushr
            istore 1 /* c */
        20: .line 760
      StackMap locals:
      StackMap stack:
            iinc 2 /* k */ 1
      StackMap locals:
      StackMap stack:
        21: iload 2 /* k */
            bipush 8
            if_icmplt 17
        end local 2 // int k
        22: .line 765
            getstatic sun.awt.image.PNGImageDecoder.crc_table:[I
            iload 0 /* n */
            iload 1 /* c */
            iastore
        end local 1 // int c
        23: .line 758
            iinc 0 /* n */ 1
      StackMap locals:
      StackMap stack:
        24: iload 0 /* n */
            sipush 256
            if_icmplt 14
        end local 0 // int n
        25: .line 767
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           13   25     0     n  I
           15   23     1     c  I
           16   22     2     k  I

  private void property(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object value
         0: .line 85
            aload 2 /* value */
            ifnonnull 1
            return
         1: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.properties:Ljava/util/Hashtable;
            ifnonnull 2
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.awt.image.PNGImageDecoder.properties:Ljava/util/Hashtable;
         2: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.properties:Ljava/util/Hashtable;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 88
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/awt/image/PNGImageDecoder;
            0    4     1    key  Ljava/lang/String;
            0    4     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    
      value  

  private void property(java.lang.String, float);
    descriptor: (Ljava/lang/String;F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // java.lang.String key
        start local 2 // float value
         0: .line 90
            aload 0 /* this */
            aload 1 /* key */
            fload 2 /* value */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 91
            return
        end local 2 // float value
        end local 1 // java.lang.String key
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/awt/image/PNGImageDecoder;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  F
    MethodParameters:
       Name  Flags
      key    
      value  

  private final void pngassert(boolean);
    descriptor: (Z)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // boolean b
         0: .line 93
            iload 1 /* b */
            ifne 4
         1: .line 94
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "Broken file"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            astore 2 /* e */
        start local 2 // sun.awt.image.PNGImageDecoder$PNGException e
         2: .line 95
            aload 2 /* e */
            invokevirtual sun.awt.image.PNGImageDecoder$PNGException.printStackTrace:()V
         3: .line 96
            aload 2 /* e */
            athrow
        end local 2 // sun.awt.image.PNGImageDecoder$PNGException e
         4: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean b
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/image/PNGImageDecoder;
            0    5     1     b  Z
            2    4     2     e  Lsun/awt/image/PNGImageDecoder$PNGException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  protected boolean handleChunk(int, byte[], int, int);
    descriptor: (I[BII)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=14, locals=9, args_size=5
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int key
        start local 2 // byte[] buf
        start local 3 // int st
        start local 4 // int len
         0: .line 101
            iload 1 /* key */
            lookupswitch { // 14
           1229209940: 42
           1229278788: 43
           1229472850: 44
           1347179589: 54
           1649100612: 1
           1665684045: 24
           1732332865: 37
           1749635924: 41
           1883789683: 67
           1933723988: 68
           1950701684: 69
           1950960965: 78
           1951551059: 87
           2052348020: 126
              default: 126
          }
         1: .line 103
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* c */
        start local 5 // java.awt.Color c
         2: .line 104
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            tableswitch { // 0 - 7
                    0: 17
                    1: 22
                    2: 3
                    3: 8
                    4: 17
                    5: 22
                    6: 3
                    7: 8
              default: 22
          }
         3: .line 107
      StackMap locals: java.awt.Color
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            bipush 6
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: sun.awt.image.PNGImageDecoder
         4: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int java.awt.Color
      StackMap stack: sun.awt.image.PNGImageDecoder int
         5: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
         6: .line 108
            new java.awt.Color
            dup
            aload 2 /* buf */
            iload 3 /* st */
            baload
            sipush 255
            iand
            aload 2 /* buf */
            iload 3 /* st */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            aload 2 /* buf */
            iload 3 /* st */
            iconst_4
            iadd
            baload
            sipush 255
            iand
            invokespecial java.awt.Color.<init>:(III)V
            astore 5 /* c */
         7: .line 109
            goto 22
         8: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            iconst_1
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack: sun.awt.image.PNGImageDecoder
         9: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int java.awt.Color
      StackMap stack: sun.awt.image.PNGImageDecoder int
        10: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
        11: .line 113
            aload 2 /* buf */
            iload 3 /* st */
            baload
            sipush 255
            iand
            istore 6 /* ix */
        start local 6 // int ix
        12: .line 114
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            ifnull 13
            iload 6 /* ix */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            arraylength
            if_icmpge 13
            iconst_1
            goto 14
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int java.awt.Color int
      StackMap stack: sun.awt.image.PNGImageDecoder
        13: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int java.awt.Color int
      StackMap stack: sun.awt.image.PNGImageDecoder int
        14: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
        15: .line 115
            new java.awt.Color
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            iload 6 /* ix */
            baload
            sipush 255
            iand
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.green_map:[B
            iload 6 /* ix */
            baload
            sipush 255
            iand
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.blue_map:[B
            iload 6 /* ix */
            baload
            sipush 255
            iand
            invokespecial java.awt.Color.<init>:(III)V
            astore 5 /* c */
        16: .line 116
            goto 22
        end local 6 // int ix
        17: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            iconst_2
            if_icmpne 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack: sun.awt.image.PNGImageDecoder
        18: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int java.awt.Color
      StackMap stack: sun.awt.image.PNGImageDecoder int
        19: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
        20: .line 120
            aload 2 /* buf */
            iload 3 /* st */
            baload
            sipush 255
            iand
            istore 7 /* t */
        start local 7 // int t
        21: .line 121
            new java.awt.Color
            dup
            iload 7 /* t */
            iload 7 /* t */
            iload 7 /* t */
            invokespecial java.awt.Color.<init>:(III)V
            astore 5 /* c */
        end local 7 // int t
        22: .line 124
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            ifnull 126
            aload 0 /* this */
            ldc "background"
            aload 5 /* c */
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 125
            goto 126
        end local 5 // java.awt.Color c
        24: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "chromaticities"
        25: .line 128
            new sun.awt.image.PNGImageDecoder$Chromaticities
            dup
        26: .line 129
            aload 0 /* this */
            iload 3 /* st */
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        27: .line 130
            aload 0 /* this */
            iload 3 /* st */
            iconst_4
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        28: .line 131
            aload 0 /* this */
            iload 3 /* st */
            bipush 8
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        29: .line 132
            aload 0 /* this */
            iload 3 /* st */
            bipush 12
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        30: .line 133
            aload 0 /* this */
            iload 3 /* st */
            bipush 16
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        31: .line 134
            aload 0 /* this */
            iload 3 /* st */
            bipush 20
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        32: .line 135
            aload 0 /* this */
            iload 3 /* st */
            bipush 24
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        33: .line 136
            aload 0 /* this */
            iload 3 /* st */
            bipush 28
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
        34: .line 128
            invokespecial sun.awt.image.PNGImageDecoder$Chromaticities.<init>:(IIIIIIII)V
        35: .line 127
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 137
            goto 126
        37: .line 139
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            iconst_4
            if_icmpeq 38
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "bogus gAMA"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        38: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            putfield sun.awt.image.PNGImageDecoder.gamma:I
        39: .line 141
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.gamma:I
            ldc 100000
            if_icmpeq 126
            aload 0 /* this */
            ldc "gamma"
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.gamma:I
            i2f
            ldc 100000.0
            fdiv
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;F)V
        40: .line 142
            goto 126
        41: .line 143
      StackMap locals:
      StackMap stack:
            goto 126
        42: .line 144
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        43: .line 145
      StackMap locals:
      StackMap stack:
            goto 126
        44: .line 147
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            bipush 13
            if_icmpne 47
        45: .line 148
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            dup_x1
            putfield sun.awt.image.PNGImageDecoder.width:I
            ifeq 47
        46: .line 149
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            iconst_4
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            dup_x1
            putfield sun.awt.image.PNGImageDecoder.height:I
            ifne 48
        47: .line 150
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "bogus IHDR"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        48: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            bipush 8
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            putfield sun.awt.image.PNGImageDecoder.bitDepth:I
        49: .line 152
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            bipush 9
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            putfield sun.awt.image.PNGImageDecoder.colorType:I
        50: .line 153
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            bipush 10
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            putfield sun.awt.image.PNGImageDecoder.compressionMethod:I
        51: .line 154
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            bipush 11
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            putfield sun.awt.image.PNGImageDecoder.filterMethod:I
        52: .line 155
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* st */
            bipush 12
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            putfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
        53: .line 159
            goto 126
        54: .line 161
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            iconst_3
            idiv
            istore 6 /* tsize */
        start local 6 // int tsize
        55: .line 162
            aload 0 /* this */
            iload 6 /* tsize */
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.red_map:[B
        56: .line 163
            aload 0 /* this */
            iload 6 /* tsize */
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.green_map:[B
        57: .line 164
            aload 0 /* this */
            iload 6 /* tsize */
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.blue_map:[B
        58: .line 165
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        59: iload 3 /* st */
            istore 8 /* j */
        start local 8 // int j
        60: goto 65
        61: .line 166
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            iload 7 /* i */
            aload 2 /* buf */
            iload 8 /* j */
            baload
            bastore
        62: .line 167
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.green_map:[B
            iload 7 /* i */
            aload 2 /* buf */
            iload 8 /* j */
            iconst_1
            iadd
            baload
            bastore
        63: .line 168
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.blue_map:[B
            iload 7 /* i */
            aload 2 /* buf */
            iload 8 /* j */
            iconst_2
            iadd
            baload
            bastore
        64: .line 165
            iinc 7 /* i */ 1
            iinc 8 /* j */ 3
      StackMap locals:
      StackMap stack:
        65: iload 7 /* i */
            iload 6 /* tsize */
            if_icmplt 61
        end local 8 // int j
        end local 7 // int i
        end local 6 // int tsize
        66: .line 171
            goto 126
        67: .line 172
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack:
            goto 126
        68: .line 173
      StackMap locals:
      StackMap stack:
            goto 126
        69: .line 175
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* klen */
        start local 6 // int klen
        70: .line 176
            goto 72
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top int
      StackMap stack:
        71: iinc 6 /* klen */ 1
      StackMap locals:
      StackMap stack:
        72: iload 6 /* klen */
            iload 4 /* len */
            if_icmpge 73
            aload 2 /* buf */
            iload 3 /* st */
            iload 6 /* klen */
            iadd
            baload
            ifne 71
        73: .line 177
      StackMap locals:
      StackMap stack:
            iload 6 /* klen */
            iload 4 /* len */
            if_icmpge 126
        74: .line 178
            new java.lang.String
            dup
            aload 2 /* buf */
            iload 3 /* st */
            iload 6 /* klen */
            invokespecial java.lang.String.<init>:([BII)V
            astore 7 /* tkey */
        start local 7 // java.lang.String tkey
        75: .line 179
            new java.lang.String
            dup
            aload 2 /* buf */
            iload 3 /* st */
            iload 6 /* klen */
            iadd
            iconst_1
            iadd
            iload 4 /* len */
            iload 6 /* klen */
            isub
            iconst_1
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 8 /* tvalue */
        start local 8 // java.lang.String tvalue
        76: .line 180
            aload 0 /* this */
            aload 7 /* tkey */
            aload 8 /* tvalue */
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 8 // java.lang.String tvalue
        end local 7 // java.lang.String tkey
        77: .line 182
            goto 126
        end local 6 // int klen
        78: .line 184
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack:
            aload 0 /* this */
            ldc "modtime"
            new java.util.GregorianCalendar
            dup
        79: .line 185
            aload 0 /* this */
            iload 3 /* st */
            iconst_0
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getShort:(I)I
        80: .line 186
            aload 0 /* this */
            iload 3 /* st */
            iconst_2
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            iconst_1
            isub
        81: .line 187
            aload 0 /* this */
            iload 3 /* st */
            iconst_3
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
        82: .line 188
            aload 0 /* this */
            iload 3 /* st */
            iconst_4
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
        83: .line 189
            aload 0 /* this */
            iload 3 /* st */
            iconst_5
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
        84: .line 190
            aload 0 /* this */
            iload 3 /* st */
            bipush 6
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            invokespecial java.util.GregorianCalendar.<init>:(IIIIII)V
            invokevirtual java.util.GregorianCalendar.getTime:()Ljava/util/Date;
        85: .line 184
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
        86: .line 191
            goto 126
        87: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            tableswitch { // 0 - 7
                    0: 117
                    1: 125
                    2: 98
                    3: 88
                    4: 117
                    5: 125
                    6: 98
                    7: 88
              default: 125
          }
        88: .line 196
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            istore 7 /* alen */
        start local 7 // int alen
        89: .line 197
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            ifnull 90
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            arraylength
            istore 7 /* alen */
        90: .line 198
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* alen */
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.alpha_map:[B
        91: .line 199
            aload 2 /* buf */
            iload 3 /* st */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.alpha_map:[B
            iconst_0
            iload 4 /* len */
            iload 7 /* alen */
            if_icmpge 92
            iload 4 /* len */
            goto 93
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top int
      StackMap stack: byte[] int byte[] int
        92: iload 7 /* alen */
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top int
      StackMap stack: byte[] int byte[] int int
        93: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        94: .line 200
            goto 96
      StackMap locals:
      StackMap stack:
        95: aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.alpha_map:[B
            iload 7 /* alen */
            iconst_m1
            bastore
      StackMap locals:
      StackMap stack:
        96: iinc 7 /* alen */ -1
            iload 7 /* alen */
            iload 4 /* len */
            if_icmpge 95
        97: .line 201
            goto 126
        end local 7 // int alen
        98: .line 204
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            bipush 6
            if_icmpne 99
            iconst_1
            goto 100
      StackMap locals:
      StackMap stack: sun.awt.image.PNGImageDecoder
        99: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack: sun.awt.image.PNGImageDecoder int
       100: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
       101: .line 205
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            bipush 16
            if_icmpne 109
       102: .line 206
            aload 0 /* this */
            bipush 6
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.transparentPixel_16:[B
       103: .line 207
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       104: goto 107
       105: .line 208
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel_16:[B
            iload 8 /* i */
            aload 0 /* this */
            iload 3 /* st */
            iload 8 /* i */
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getByte:(I)I
            i2b
            bastore
       106: .line 207
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       107: iload 8 /* i */
            bipush 6
            if_icmplt 105
        end local 8 // int i
       108: .line 210
            goto 126
       109: .line 211
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack:
            aload 0 /* this */
       110: .line 212
            aload 0 /* this */
            iload 3 /* st */
            iconst_0
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getShort:(I)I
            sipush 255
            iand
            bipush 16
            ishl
       111: .line 213
            aload 0 /* this */
            iload 3 /* st */
            iconst_2
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getShort:(I)I
            sipush 255
            iand
            bipush 8
            ishl
       112: .line 212
            ior
       113: .line 214
            aload 0 /* this */
            iload 3 /* st */
            iconst_4
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getShort:(I)I
            sipush 255
            iand
       114: .line 212
            ior
       115: .line 211
            putfield sun.awt.image.PNGImageDecoder.transparentPixel:I
       116: .line 216
            goto 126
       117: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* len */
            iconst_2
            if_icmpne 118
            iconst_1
            goto 119
      StackMap locals:
      StackMap stack: sun.awt.image.PNGImageDecoder
       118: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack: sun.awt.image.PNGImageDecoder int
       119: invokevirtual sun.awt.image.PNGImageDecoder.pngassert:(Z)V
       120: .line 224
            aload 0 /* this */
            iload 3 /* st */
            invokevirtual sun.awt.image.PNGImageDecoder.getShort:(I)I
            istore 8 /* t */
        start local 8 // int t
       121: .line 225
            sipush 255
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            bipush 16
            if_icmpne 122
            iload 8 /* t */
            bipush 8
            ishr
            goto 123
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top top int
      StackMap stack: int
       122: iload 8 /* t */
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int top top top int
      StackMap stack: int int
       123: iand
            istore 8 /* t */
       124: .line 226
            aload 0 /* this */
            iload 8 /* t */
            bipush 16
            ishl
            iload 8 /* t */
            bipush 8
            ishl
            ior
            iload 8 /* t */
            ior
            putfield sun.awt.image.PNGImageDecoder.transparentPixel:I
        end local 8 // int t
       125: .line 229
      StackMap locals: sun.awt.image.PNGImageDecoder int byte[] int int
      StackMap stack:
            goto 126
       126: .line 232
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int len
        end local 3 // int st
        end local 2 // byte[] buf
        end local 1 // int key
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  127     0    this  Lsun/awt/image/PNGImageDecoder;
            0  127     1     key  I
            0  127     2     buf  [B
            0  127     3      st  I
            0  127     4     len  I
            2   24     5       c  Ljava/awt/Color;
           12   17     6      ix  I
           21   22     7       t  I
           55   66     6   tsize  I
           59   66     7       i  I
           60   66     8       j  I
           70   78     6    klen  I
           75   77     7    tkey  Ljava/lang/String;
           76   77     8  tvalue  Ljava/lang/String;
           89   98     7    alen  I
          104  108     8       i  I
          121  125     8       t  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   
      buf   
      st    
      len   

  public void produceImage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=31, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 247
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 5
         2: .line 248
      StackMap locals: int
      StackMap stack:
            getstatic sun.awt.image.PNGImageDecoder.signature:[B
            iload 1 /* i */
            baload
            sipush 255
            iand
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.underlyingInputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            if_icmpeq 4
         3: .line 249
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "Chunk signature mismatch"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
         4: .line 247
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic sun.awt.image.PNGImageDecoder.signature:[B
            arraylength
            if_icmplt 2
        end local 1 // int i
         6: .line 251
            new java.io.BufferedInputStream
            dup
            new java.util.zip.InflaterInputStream
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inputStream:Lsun/awt/image/PNGFilterInputStream;
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         7: .line 253
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.getData:()Z
            pop
         8: .line 255
            aconst_null
            astore 2 /* bPixels */
        start local 2 // byte[] bPixels
         9: .line 256
            aconst_null
            astore 3 /* wPixels */
        start local 3 // int[] wPixels
        10: .line 257
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            istore 4 /* pixSize */
        start local 4 // int pixSize
        11: .line 259
            iconst_0
            istore 6 /* logDepth */
        start local 6 // int logDepth
        12: .line 260
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            lookupswitch { // 5
                    1: 13
                    2: 14
                    4: 15
                    8: 16
                   16: 17
              default: 18
          }
        13: .line 261
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int top int
      StackMap stack:
            iconst_0
            istore 6 /* logDepth */
            goto 19
        14: .line 262
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* logDepth */
            goto 19
        15: .line 263
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* logDepth */
            goto 19
        16: .line 264
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 6 /* logDepth */
            goto 19
        17: .line 265
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 6 /* logDepth */
            goto 19
        18: .line 266
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "invalid depth"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        19: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifeq 21
            iload 4 /* pixSize */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.height:I
            imul
            istore 4 /* pixSize */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            istore 5 /* rowStride */
        start local 5 // int rowStride
        20: goto 22
        end local 5 // int rowStride
        21: .line 269
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* rowStride */
        start local 5 // int rowStride
        22: .line 270
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            iconst_3
            ishl
            ior
            istore 7 /* combinedType */
        start local 7 // int combinedType
        23: .line 271
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            bipush 8
            if_icmplt 24
        24: .line 273
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            tableswitch { // 0 - 7
                    0: 36
                    1: 58
                    2: 55
                    3: 25
                    4: 55
                    5: 58
                    6: 55
                    7: 25
              default: 58
          }
        25: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            ifnonnull 26
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "palette expected"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        26: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.alpha_map:[B
            ifnonnull 31
        27: .line 278
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            arraylength
        28: .line 279
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.green_map:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.blue_map:[B
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
        29: .line 278
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
        30: .line 279
            goto 34
        31: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            arraylength
        32: .line 282
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.red_map:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.green_map:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.blue_map:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.alpha_map:[B
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B[B)V
        33: .line 281
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
        34: .line 283
      StackMap locals:
      StackMap stack:
            iload 4 /* pixSize */
            newarray 8
            astore 2 /* bPixels */
        35: .line 284
            goto 59
        36: .line 286
      StackMap locals:
      StackMap stack:
            iload 6 /* logDepth */
            iconst_4
            if_icmplt 37
            iconst_3
            goto 38
      StackMap locals:
      StackMap stack:
        37: iload 6 /* logDepth */
      StackMap locals:
      StackMap stack: int
        38: istore 8 /* llog */
        start local 8 // int llog
        39: .line 287
            aload 0 /* this */
            getstatic sun.awt.image.PNGImageDecoder.greyModels:[Ljava/awt/image/ColorModel;
            iload 8 /* llog */
            aaload
            dup_x1
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
            ifnonnull 53
        40: .line 288
            iconst_1
            iconst_1
            iload 8 /* llog */
            ishl
            ishl
            istore 9 /* size */
        start local 9 // int size
        41: .line 290
            iload 9 /* size */
            newarray 8
            astore 10 /* ramp */
        start local 10 // byte[] ramp
        42: .line 291
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        43: goto 45
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int byte[] int
      StackMap stack:
        44: aload 10 /* ramp */
            iload 11 /* i */
            sipush 255
            iload 11 /* i */
            imul
            iload 9 /* size */
            iconst_1
            isub
            idiv
            i2b
            bastore
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 11 /* i */
            iload 9 /* size */
            if_icmplt 44
        end local 11 // int i
        46: .line 293
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel:I
            iconst_m1
            if_icmpne 49
        47: .line 294
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            aload 10 /* ramp */
            arraylength
            aload 10 /* ramp */
            aload 10 /* ramp */
            aload 10 /* ramp */
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
        48: .line 295
            goto 52
        49: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.awt.image.IndexColorModel
            dup
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            aload 10 /* ramp */
            arraylength
            aload 10 /* ramp */
            aload 10 /* ramp */
            aload 10 /* ramp */
        50: .line 297
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel:I
            sipush 255
            iand
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[BI)V
        51: .line 296
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
        52: .line 299
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.image.PNGImageDecoder.greyModels:[Ljava/awt/image/ColorModel;
            iload 8 /* llog */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
            aastore
        end local 10 // byte[] ramp
        end local 9 // int size
        end local 8 // int llog
        53: .line 302
      StackMap locals:
      StackMap stack:
            iload 4 /* pixSize */
            newarray 8
            astore 2 /* bPixels */
        54: .line 303
            goto 59
        55: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
            putfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
        56: .line 308
            iload 4 /* pixSize */
            newarray 10
            astore 3 /* wPixels */
        57: .line 309
            goto 59
        58: .line 311
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "invalid color type"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        59: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.height:I
            invokevirtual sun.awt.image.PNGImageDecoder.setDimensions:(II)I
            pop
        60: .line 322
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
            invokevirtual sun.awt.image.PNGImageDecoder.setColorModel:(Ljava/awt/image/ColorModel;)I
            pop
        61: .line 323
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifeq 63
        62: .line 324
            bipush 6
            goto 64
        63: .line 325
      StackMap locals:
      StackMap stack:
            bipush 30
        64: .line 323
      StackMap locals:
      StackMap stack: int
            istore 8 /* flags */
        start local 8 // int flags
        65: .line 327
            aload 0 /* this */
            iload 8 /* flags */
            invokevirtual sun.awt.image.PNGImageDecoder.setHints:(I)I
            pop
        66: .line 328
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.headerComplete:()V
        67: .line 331
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            iconst_1
            iand
            ifeq 68
            iconst_1
            goto 73
        68: .line 332
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            iconst_2
            iand
            ifeq 69
            iconst_3
            goto 70
      StackMap locals:
      StackMap stack:
        69: iconst_1
      StackMap locals:
      StackMap stack: int
        70: aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.colorType:I
            iconst_4
            iand
            ifeq 71
            iconst_1
            goto 72
      StackMap locals:
      StackMap stack: int
        71: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int
      StackMap stack: int int
        72: iadd
        73: .line 331
      StackMap locals:
      StackMap stack: int
            istore 9 /* samplesPerPixel */
        start local 9 // int samplesPerPixel
        74: .line 333
            iload 9 /* samplesPerPixel */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            imul
            istore 10 /* bitsPerPixel */
        start local 10 // int bitsPerPixel
        75: .line 334
            iload 10 /* bitsPerPixel */
            bipush 7
            iadd
            iconst_3
            ishr
            istore 11 /* bytesPerPixel */
        start local 11 // int bytesPerPixel
        76: .line 336
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifne 79
            iconst_m1
            istore 12 /* pass */
        start local 12 // int pass
        77: iconst_0
            istore 13 /* passLimit */
        start local 13 // int passLimit
        78: goto 228
        end local 13 // int passLimit
        end local 12 // int pass
        79: .line 337
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            istore 12 /* pass */
        start local 12 // int pass
        80: bipush 7
            istore 13 /* passLimit */
        start local 13 // int passLimit
        81: .line 343
            goto 228
        82: .line 344
      StackMap locals: int int
      StackMap stack:
            getstatic sun.awt.image.PNGImageDecoder.startingRow:[B
            iload 12 /* pass */
            baload
            istore 14 /* row */
        start local 14 // int row
        83: .line 345
            getstatic sun.awt.image.PNGImageDecoder.rowIncrement:[B
            iload 12 /* pass */
            baload
            istore 15 /* rowInc */
        start local 15 // int rowInc
        84: .line 346
            getstatic sun.awt.image.PNGImageDecoder.colIncrement:[B
            iload 12 /* pass */
            baload
            istore 16 /* colInc */
        start local 16 // int colInc
        85: .line 347
            getstatic sun.awt.image.PNGImageDecoder.blockWidth:[B
            iload 12 /* pass */
            baload
            pop
        86: .line 348
            getstatic sun.awt.image.PNGImageDecoder.blockHeight:[B
            iload 12 /* pass */
            baload
            pop
        87: .line 349
            getstatic sun.awt.image.PNGImageDecoder.startingCol:[B
            iload 12 /* pass */
            baload
            istore 17 /* sCol */
        start local 17 // int sCol
        88: .line 350
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            iload 17 /* sCol */
            isub
            iload 16 /* colInc */
            iconst_1
            isub
            iadd
            iload 16 /* colInc */
            idiv
            istore 18 /* rowPixelWidth */
        start local 18 // int rowPixelWidth
        89: .line 351
            iload 18 /* rowPixelWidth */
            iload 10 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 19 /* rowByteWidth */
        start local 19 // int rowByteWidth
        90: .line 352
            iload 19 /* rowByteWidth */
            ifne 91
            goto 228
        91: .line 353
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifne 92
        92: .line 354
      StackMap locals:
      StackMap stack:
            iload 5 /* rowStride */
            iload 14 /* row */
            imul
            istore 20 /* rowOffset */
        start local 20 // int rowOffset
        93: .line 355
            iconst_1
            istore 21 /* firstRow */
        start local 21 // boolean firstRow
        94: .line 357
            iload 19 /* rowByteWidth */
            newarray 8
            astore 22 /* rowByteBuffer */
        start local 22 // byte[] rowByteBuffer
        95: .line 358
            iload 19 /* rowByteWidth */
            newarray 8
            astore 23 /* prevRowByteBuffer */
        start local 23 // byte[] prevRowByteBuffer
        96: .line 362
            goto 222
        97: .line 363
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int int int byte[] byte[]
      StackMap stack:
            aload 1 /* is */
            invokevirtual java.io.InputStream.read:()I
            istore 24 /* rowFilter */
        start local 24 // int rowFilter
        98: .line 364
            iconst_0
            istore 25 /* rowFillPos */
        start local 25 // int rowFillPos
        99: goto 103
       100: .line 365
      StackMap locals: int int
      StackMap stack:
            aload 1 /* is */
            aload 22 /* rowByteBuffer */
            iload 25 /* rowFillPos */
            iload 19 /* rowByteWidth */
            iload 25 /* rowFillPos */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 26 /* n */
        start local 26 // int n
       101: .line 366
            iload 26 /* n */
            ifgt 102
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "missing data"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
       102: .line 367
      StackMap locals: int
      StackMap stack:
            iload 25 /* rowFillPos */
            iload 26 /* n */
            iadd
            istore 25 /* rowFillPos */
        end local 26 // int n
       103: .line 364
      StackMap locals:
      StackMap stack:
            iload 25 /* rowFillPos */
            iload 19 /* rowByteWidth */
            if_icmplt 100
        end local 25 // int rowFillPos
       104: .line 369
            aload 0 /* this */
            aload 22 /* rowByteBuffer */
       105: .line 370
            iload 21 /* firstRow */
            ifeq 106
            aconst_null
            goto 107
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int int int byte[] byte[] int
      StackMap stack: sun.awt.image.PNGImageDecoder byte[]
       106: aload 23 /* prevRowByteBuffer */
       107: .line 371
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int int int byte[] byte[] int
      StackMap stack: sun.awt.image.PNGImageDecoder byte[] byte[]
            iload 24 /* rowFilter */
            iload 19 /* rowByteWidth */
            iload 11 /* bytesPerPixel */
       108: .line 369
            invokevirtual sun.awt.image.PNGImageDecoder.filterRow:([B[BIII)V
       109: .line 372
            iload 17 /* sCol */
            istore 25 /* col */
        start local 25 // int col
       110: .line 373
            iconst_0
            istore 26 /* spos */
        start local 26 // int spos
       111: .line 374
            iconst_0
            istore 27 /* pixel */
        start local 27 // int pixel
       112: .line 375
            goto 210
       113: .line 376
      StackMap locals: int int int
      StackMap stack:
            aload 3 /* wPixels */
            ifnull 188
       114: .line 377
            iload 7 /* combinedType */
            lookupswitch { // 6
                   66: 137
                   68: 170
                   70: 115
                  130: 148
                  132: 178
                  134: 126
              default: 186
          }
       115: .line 379
      StackMap locals:
      StackMap stack:
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       116: .line 380
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            bipush 16
            ishl
       117: .line 381
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
       118: .line 380
            ior
       119: .line 382
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
       120: .line 380
            ior
       121: .line 383
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
       122: .line 380
            ior
       123: .line 379
            iastore
       124: .line 384
            iinc 26 /* spos */ 4
       125: .line 385
            goto 209
       126: .line 387
      StackMap locals:
      StackMap stack:
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       127: .line 388
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            bipush 16
            ishl
       128: .line 389
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
       129: .line 388
            ior
       130: .line 390
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_4
            iadd
            baload
            sipush 255
            iand
       131: .line 388
            ior
       132: .line 391
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            bipush 6
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
       133: .line 388
            ior
       134: .line 387
            iastore
       135: .line 392
            iinc 26 /* spos */ 8
       136: .line 393
            goto 209
       137: .line 396
      StackMap locals:
      StackMap stack:
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            bipush 16
            ishl
       138: .line 397
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
       139: .line 396
            ior
       140: .line 398
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
       141: .line 396
            ior
       142: .line 395
            istore 27 /* pixel */
       143: .line 399
            iload 27 /* pixel */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel:I
            if_icmpeq 145
       144: .line 400
            iload 27 /* pixel */
            ldc -16777216
            ior
            istore 27 /* pixel */
       145: .line 402
      StackMap locals:
      StackMap stack:
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
            iload 27 /* pixel */
            iastore
       146: .line 403
            iinc 26 /* spos */ 3
       147: .line 404
            goto 209
       148: .line 407
      StackMap locals:
      StackMap stack:
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            bipush 16
            ishl
       149: .line 408
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
       150: .line 407
            ior
       151: .line 409
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_4
            iadd
            baload
            sipush 255
            iand
       152: .line 407
            ior
       153: .line 406
            istore 27 /* pixel */
       154: .line 411
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel_16:[B
            ifnull 155
            iconst_1
            goto 156
      StackMap locals:
      StackMap stack:
       155: iconst_0
      StackMap locals:
      StackMap stack: int
       156: istore 28 /* isTransparent */
        start local 28 // boolean isTransparent
       157: .line 412
            iconst_0
            istore 29 /* i */
        start local 29 // int i
       158: goto 164
       159: .line 413
      StackMap locals: int int
      StackMap stack:
            iload 28 /* isTransparent */
       160: .line 414
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iload 29 /* i */
            iadd
            baload
            sipush 255
            iand
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.transparentPixel_16:[B
            iload 29 /* i */
            baload
            sipush 255
            iand
            if_icmpne 161
            iconst_1
            goto 162
      StackMap locals:
      StackMap stack: int
       161: iconst_0
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int int int byte[] byte[] int int int int int int
      StackMap stack: int int
       162: iand
            istore 28 /* isTransparent */
       163: .line 412
            iinc 29 /* i */ 1
      StackMap locals:
      StackMap stack:
       164: iload 28 /* isTransparent */
            ifeq 165
            iload 29 /* i */
            bipush 6
            if_icmplt 159
        end local 29 // int i
       165: .line 416
      StackMap locals:
      StackMap stack:
            iload 28 /* isTransparent */
            ifne 167
       166: .line 417
            iload 27 /* pixel */
            ldc -16777216
            ior
            istore 27 /* pixel */
       167: .line 419
      StackMap locals:
      StackMap stack:
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
            iload 27 /* pixel */
            iastore
       168: .line 420
            iinc 26 /* spos */ 6
       169: .line 421
            goto 209
        end local 28 // boolean isTransparent
       170: .line 423
      StackMap locals:
      StackMap stack:
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            istore 29 /* tx */
        start local 29 // int tx
       171: .line 424
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       172: .line 425
            iload 29 /* tx */
            bipush 16
            ishl
            iload 29 /* tx */
            bipush 8
            ishl
            ior
            iload 29 /* tx */
            ior
       173: .line 426
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
       174: .line 425
            ior
       175: .line 424
            iastore
        end local 29 // int tx
       176: .line 427
            iinc 26 /* spos */ 2
       177: .line 428
            goto 209
       178: .line 430
      StackMap locals:
      StackMap stack:
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            sipush 255
            iand
            istore 29 /* tx */
        start local 29 // int tx
       179: .line 431
            aload 3 /* wPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       180: .line 432
            iload 29 /* tx */
            bipush 16
            ishl
            iload 29 /* tx */
            bipush 8
            ishl
            ior
            iload 29 /* tx */
            ior
       181: .line 433
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
       182: .line 432
            ior
       183: .line 431
            iastore
        end local 29 // int tx
       184: .line 434
            iinc 26 /* spos */ 4
       185: .line 435
            goto 209
       186: .line 436
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "illegal type/depth"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
       187: .line 438
      StackMap locals:
      StackMap stack:
            goto 209
      StackMap locals:
      StackMap stack:
       188: aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.bitDepth:I
            lookupswitch { // 5
                    1: 189
                    2: 194
                    4: 199
                    8: 204
                   16: 206
              default: 208
          }
       189: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* bPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       190: .line 441
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_3
            ishr
            baload
            bipush 7
            iload 26 /* spos */
            bipush 7
            iand
            isub
            ishr
            iconst_1
            iand
            i2b
       191: .line 440
            bastore
       192: .line 442
            iinc 26 /* spos */ 1
       193: .line 443
            goto 209
       194: .line 445
      StackMap locals:
      StackMap stack:
            aload 2 /* bPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       195: .line 446
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_2
            ishr
            baload
            iconst_3
            iload 26 /* spos */
            iconst_3
            iand
            isub
            iconst_2
            imul
            ishr
            iconst_3
            iand
            i2b
       196: .line 445
            bastore
       197: .line 447
            iinc 26 /* spos */ 1
       198: .line 448
            goto 209
       199: .line 450
      StackMap locals:
      StackMap stack:
            aload 2 /* bPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
       200: .line 451
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iconst_1
            ishr
            baload
            iconst_1
            iload 26 /* spos */
            iconst_1
            iand
            isub
            iconst_4
            imul
            ishr
            bipush 15
            iand
            i2b
       201: .line 450
            bastore
       202: .line 452
            iinc 26 /* spos */ 1
       203: .line 453
            goto 209
       204: .line 454
      StackMap locals:
      StackMap stack:
            aload 2 /* bPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            iinc 26 /* spos */ 1
            baload
            bastore
       205: .line 455
            goto 209
       206: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* bPixels */
            iload 25 /* col */
            iload 20 /* rowOffset */
            iadd
            aload 22 /* rowByteBuffer */
            iload 26 /* spos */
            baload
            bastore
            iinc 26 /* spos */ 2
       207: .line 457
            goto 209
       208: .line 458
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "illegal type/depth"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
       209: .line 463
      StackMap locals:
      StackMap stack:
            iload 25 /* col */
            iload 16 /* colInc */
            iadd
            istore 25 /* col */
       210: .line 375
      StackMap locals:
      StackMap stack:
            iload 25 /* col */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            if_icmplt 113
       211: .line 465
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifne 216
       212: .line 466
            aload 3 /* wPixels */
            ifnull 215
       213: .line 471
            aload 0 /* this */
            iconst_0
            iload 14 /* row */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            iconst_1
            aload 3 /* wPixels */
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            invokevirtual sun.awt.image.PNGImageDecoder.sendPixels:(IIII[III)Z
            pop
       214: .line 473
            goto 216
       215: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 14 /* row */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            iconst_1
            aload 2 /* bPixels */
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            invokevirtual sun.awt.image.PNGImageDecoder.sendPixels:(IIII[BII)Z
            pop
       216: .line 482
      StackMap locals:
      StackMap stack:
            iload 14 /* row */
            iload 15 /* rowInc */
            iadd
            istore 14 /* row */
       217: .line 483
            iload 20 /* rowOffset */
            iload 15 /* rowInc */
            iload 5 /* rowStride */
            imul
            iadd
            istore 20 /* rowOffset */
       218: .line 484
            aload 22 /* rowByteBuffer */
            astore 28 /* T */
        start local 28 // byte[] T
       219: .line 485
            aload 23 /* prevRowByteBuffer */
            astore 22 /* rowByteBuffer */
       220: .line 486
            aload 28 /* T */
            astore 23 /* prevRowByteBuffer */
       221: .line 487
            iconst_0
            istore 21 /* firstRow */
        end local 28 // byte[] T
        end local 27 // int pixel
        end local 26 // int spos
        end local 25 // int col
        end local 24 // int rowFilter
       222: .line 362
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int int int int int int int int int byte[] byte[]
      StackMap stack:
            iload 14 /* row */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.height:I
            if_icmplt 97
       223: .line 489
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.interlaceMethod:I
            ifeq 228
       224: .line 490
            aload 3 /* wPixels */
            ifnull 227
       225: .line 495
            aload 0 /* this */
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.height:I
            aload 3 /* wPixels */
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            invokevirtual sun.awt.image.PNGImageDecoder.sendPixels:(IIII[III)Z
            pop
       226: .line 497
            goto 228
       227: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.height:I
            aload 2 /* bPixels */
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.width:I
            invokevirtual sun.awt.image.PNGImageDecoder.sendPixels:(IIII[BII)Z
            pop
        end local 23 // byte[] prevRowByteBuffer
        end local 22 // byte[] rowByteBuffer
        end local 21 // boolean firstRow
        end local 20 // int rowOffset
        end local 19 // int rowByteWidth
        end local 18 // int rowPixelWidth
        end local 17 // int sCol
        end local 16 // int colInc
        end local 15 // int rowInc
        end local 14 // int row
       228: .line 343
      StackMap locals: sun.awt.image.PNGImageDecoder java.io.InputStream byte[] int[] int int int int int int int int int int
      StackMap stack:
            iinc 12 /* pass */ 1
            iload 12 /* pass */
            iload 13 /* passLimit */
            if_icmple 82
       229: .line 520
            aload 0 /* this */
            iconst_3
            iconst_1
            invokevirtual sun.awt.image.PNGImageDecoder.imageComplete:(IZ)I
            pop
        end local 13 // int passLimit
        end local 12 // int pass
        end local 11 // int bytesPerPixel
        end local 10 // int bitsPerPixel
        end local 9 // int samplesPerPixel
        end local 8 // int flags
        end local 7 // int combinedType
        end local 6 // int logDepth
        end local 5 // int rowStride
        end local 4 // int pixSize
        end local 3 // int[] wPixels
        end local 2 // byte[] bPixels
        end local 1 // java.io.InputStream is
       230: .line 525
            goto 244
      StackMap locals: sun.awt.image.PNGImageDecoder
      StackMap stack: java.io.IOException
       231: astore 1 /* e */
        start local 1 // java.io.IOException e
       232: .line 526
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.aborted:Z
            ifne 236
       233: .line 531
            aload 0 /* this */
            ldc "error"
            aload 1 /* e */
            invokevirtual sun.awt.image.PNGImageDecoder.property:(Ljava/lang/String;Ljava/lang/Object;)V
       234: .line 536
            aload 0 /* this */
            iconst_3
            iconst_1
            invokevirtual sun.awt.image.PNGImageDecoder.imageComplete:(IZ)I
            pop
       235: .line 537
            aload 1 /* e */
            athrow
        end local 1 // java.io.IOException e
       236: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.close:()V
       237: goto 247
      StackMap locals:
      StackMap stack: java.lang.Throwable
       238: pop
            goto 247
       239: .line 539
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 30
       240: .line 540
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.close:()V
       241: goto 243
      StackMap locals: sun.awt.image.PNGImageDecoder top top top top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
       242: pop
       243: .line 545
      StackMap locals:
      StackMap stack:
            aload 30
            athrow
       244: .line 540
      StackMap locals: sun.awt.image.PNGImageDecoder
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.close:()V
       245: goto 247
      StackMap locals:
      StackMap stack: java.lang.Throwable
       246: pop
       247: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  248     0               this  Lsun/awt/image/PNGImageDecoder;
            1    6     1                  i  I
            7  230     1                 is  Ljava/io/InputStream;
            9  230     2            bPixels  [B
           10  230     3            wPixels  [I
           11  230     4            pixSize  I
           20   21     5          rowStride  I
           22  230     5          rowStride  I
           12  230     6           logDepth  I
           23  230     7       combinedType  I
           39   53     8               llog  I
           41   53     9               size  I
           42   53    10               ramp  [B
           43   46    11                  i  I
           65  230     8              flags  I
           74  230     9    samplesPerPixel  I
           75  230    10       bitsPerPixel  I
           76  230    11      bytesPerPixel  I
           77   79    12               pass  I
           80  230    12               pass  I
           78   79    13          passLimit  I
           81  230    13          passLimit  I
           83  228    14                row  I
           84  228    15             rowInc  I
           85  228    16             colInc  I
           88  228    17               sCol  I
           89  228    18      rowPixelWidth  I
           90  228    19       rowByteWidth  I
           93  228    20          rowOffset  I
           94  228    21           firstRow  Z
           95  228    22      rowByteBuffer  [B
           96  228    23  prevRowByteBuffer  [B
           98  222    24          rowFilter  I
           99  104    25         rowFillPos  I
          101  103    26                  n  I
          110  222    25                col  I
          111  222    26               spos  I
          112  222    27              pixel  I
          157  170    28      isTransparent  Z
          158  165    29                  i  I
          171  176    29                 tx  I
          179  184    29                 tx  I
          219  222    28                  T  [B
          232  236     1                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0   230     231  Class java.io.IOException
         236   237     238  Class java.lang.Throwable
           0   236     239  any
         240   241     242  Class java.lang.Throwable
         244   245     246  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException, sun.awt.image.ImageFormatException

  private boolean sendPixels(int, int, int, int, int[], int, int);
    descriptor: (IIII[III)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // int[] pixels
        start local 6 // int offset
        start local 7 // int pixlength
         0: .line 550
            aload 0 /* this */
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
         1: .line 551
            aload 5 /* pixels */
            iload 6 /* offset */
            iload 7 /* pixlength */
         2: .line 550
            invokevirtual sun.awt.image.PNGImageDecoder.setPixels:(IIIILjava/awt/image/ColorModel;[III)I
            istore 8 /* count */
        start local 8 // int count
         3: .line 552
            iload 8 /* count */
            ifgt 5
         4: .line 553
            aload 0 /* this */
            iconst_1
            putfield sun.awt.image.PNGImageDecoder.aborted:Z
         5: .line 555
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.aborted:Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 8 // int count
        end local 7 // int pixlength
        end local 6 // int offset
        end local 5 // int[] pixels
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/awt/image/PNGImageDecoder;
            0    8     1          x  I
            0    8     2          y  I
            0    8     3          w  I
            0    8     4          h  I
            0    8     5     pixels  [I
            0    8     6     offset  I
            0    8     7  pixlength  I
            3    8     8      count  I
    MethodParameters:
           Name  Flags
      x          
      y          
      w          
      h          
      pixels     
      offset     
      pixlength  

  private boolean sendPixels(int, int, int, int, byte[], int, int);
    descriptor: (IIII[BII)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // byte[] pixels
        start local 6 // int offset
        start local 7 // int pixlength
         0: .line 559
            aload 0 /* this */
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.cm:Ljava/awt/image/ColorModel;
         1: .line 560
            aload 5 /* pixels */
            iload 6 /* offset */
            iload 7 /* pixlength */
         2: .line 559
            invokevirtual sun.awt.image.PNGImageDecoder.setPixels:(IIIILjava/awt/image/ColorModel;[BII)I
            istore 8 /* count */
        start local 8 // int count
         3: .line 561
            iload 8 /* count */
            ifgt 5
         4: .line 562
            aload 0 /* this */
            iconst_1
            putfield sun.awt.image.PNGImageDecoder.aborted:Z
         5: .line 564
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.aborted:Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 8 // int count
        end local 7 // int pixlength
        end local 6 // int offset
        end local 5 // byte[] pixels
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/awt/image/PNGImageDecoder;
            0    8     1          x  I
            0    8     2          y  I
            0    8     3          w  I
            0    8     4          h  I
            0    8     5     pixels  [B
            0    8     6     offset  I
            0    8     7  pixlength  I
            3    8     8      count  I
    MethodParameters:
           Name  Flags
      x          
      y          
      w          
      h          
      pixels     
      offset     
      pixlength  

  private void filterRow(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=6
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // byte[] rowByteBuffer
        start local 2 // byte[] prevRow
        start local 3 // int rowFilter
        start local 4 // int rowByteWidth
        start local 5 // int bytesPerSample
         0: .line 570
            iconst_0
            istore 6 /* x */
        start local 6 // int x
         1: .line 571
            iload 3 /* rowFilter */
            tableswitch { // 0 - 4
                    0: 2
                    1: 3
                    2: 8
                    3: 14
                    4: 29
              default: 60
          }
         2: .line 573
      StackMap locals: int
      StackMap stack:
            goto 61
         3: .line 575
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesPerSample */
            istore 6 /* x */
            goto 6
         4: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            iadd
            i2b
            bastore
         5: .line 575
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 4
         7: .line 577
            goto 61
         8: .line 579
      StackMap locals:
      StackMap stack:
            aload 2 /* prevRow */
            ifnull 61
         9: .line 580
            goto 12
        10: .line 581
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 2 /* prevRow */
            iload 6 /* x */
            baload
            iadd
            i2b
            bastore
        11: .line 580
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 10
        13: .line 582
            goto 61
        14: .line 584
      StackMap locals:
      StackMap stack:
            aload 2 /* prevRow */
            ifnull 24
        15: .line 585
            goto 18
        16: .line 586
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            sipush 255
            aload 2 /* prevRow */
            iload 6 /* x */
            baload
            iand
            iconst_1
            ishr
            iadd
            i2b
            bastore
        17: .line 585
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* x */
            iload 5 /* bytesPerSample */
            if_icmplt 16
        19: .line 587
            goto 22
        20: .line 588
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 2 /* prevRow */
            iload 6 /* x */
            baload
            sipush 255
            iand
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            sipush 255
            iand
            iadd
            iconst_1
            ishr
            iadd
            i2b
            bastore
        21: .line 587
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 20
        23: .line 589
            goto 61
        24: .line 590
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesPerSample */
            istore 6 /* x */
            goto 27
        25: .line 591
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            sipush 255
            iand
            iconst_1
            ishr
            iadd
            i2b
            bastore
        26: .line 590
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        27: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 25
        28: .line 592
            goto 61
        29: .line 594
      StackMap locals:
      StackMap stack:
            aload 2 /* prevRow */
            ifnull 55
        30: .line 595
            goto 33
        31: .line 596
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 2 /* prevRow */
            iload 6 /* x */
            baload
            iadd
            i2b
            bastore
        32: .line 595
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        33: iload 6 /* x */
            iload 5 /* bytesPerSample */
            if_icmplt 31
        34: .line 597
            goto 53
        35: .line 599
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            sipush 255
            iand
            istore 7 /* a */
        start local 7 // int a
        36: .line 600
            aload 2 /* prevRow */
            iload 6 /* x */
            baload
            sipush 255
            iand
            istore 8 /* b */
        start local 8 // int b
        37: .line 601
            aload 2 /* prevRow */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            sipush 255
            iand
            istore 9 /* c */
        start local 9 // int c
        38: .line 602
            iload 7 /* a */
            iload 8 /* b */
            iadd
            iload 9 /* c */
            isub
            istore 10 /* p */
        start local 10 // int p
        39: .line 603
            iload 10 /* p */
            iload 7 /* a */
            if_icmple 40
            iload 10 /* p */
            iload 7 /* a */
            isub
            goto 41
      StackMap locals: sun.awt.image.PNGImageDecoder byte[] byte[] int int int int int int int int
      StackMap stack:
        40: iload 7 /* a */
            iload 10 /* p */
            isub
      StackMap locals:
      StackMap stack: int
        41: istore 11 /* pa */
        start local 11 // int pa
        42: .line 604
            iload 10 /* p */
            iload 8 /* b */
            if_icmple 43
            iload 10 /* p */
            iload 8 /* b */
            isub
            goto 44
      StackMap locals: int
      StackMap stack:
        43: iload 8 /* b */
            iload 10 /* p */
            isub
      StackMap locals:
      StackMap stack: int
        44: istore 12 /* pb */
        start local 12 // int pb
        45: .line 605
            iload 10 /* p */
            iload 9 /* c */
            if_icmple 46
            iload 10 /* p */
            iload 9 /* c */
            isub
            goto 47
      StackMap locals: int
      StackMap stack:
        46: iload 9 /* c */
            iload 10 /* p */
            isub
      StackMap locals:
      StackMap stack: int
        47: istore 13 /* pc */
        start local 13 // int pc
        48: .line 606
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            iload 11 /* pa */
            iload 12 /* pb */
            if_icmpgt 49
            iload 11 /* pa */
            iload 13 /* pc */
            if_icmpgt 49
            iload 7 /* a */
            goto 51
      StackMap locals: sun.awt.image.PNGImageDecoder byte[] byte[] int int int int int int int int int int int
      StackMap stack: byte[] int int
        49: iload 12 /* pb */
            iload 13 /* pc */
            if_icmpgt 50
            iload 8 /* b */
            goto 51
      StackMap locals: sun.awt.image.PNGImageDecoder byte[] byte[] int int int int int int int int int int int
      StackMap stack: byte[] int int
        50: iload 9 /* c */
      StackMap locals: sun.awt.image.PNGImageDecoder byte[] byte[] int int int int int int int int int int int
      StackMap stack: byte[] int int int
        51: iadd
            i2b
            bastore
        end local 13 // int pc
        end local 12 // int pb
        end local 11 // int pa
        end local 10 // int p
        end local 9 // int c
        end local 8 // int b
        end local 7 // int a
        52: .line 597
            iinc 6 /* x */ 1
      StackMap locals: sun.awt.image.PNGImageDecoder byte[] byte[] int int int int
      StackMap stack:
        53: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 35
        54: .line 608
            goto 61
        55: .line 609
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesPerSample */
            istore 6 /* x */
            goto 58
        56: .line 610
      StackMap locals:
      StackMap stack:
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            dup2
            baload
            aload 1 /* rowByteBuffer */
            iload 6 /* x */
            iload 5 /* bytesPerSample */
            isub
            baload
            iadd
            i2b
            bastore
        57: .line 609
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        58: iload 6 /* x */
            iload 4 /* rowByteWidth */
            if_icmplt 56
        59: .line 611
            goto 61
        60: .line 613
      StackMap locals:
      StackMap stack:
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "Illegal filter"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        61: .line 615
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int x
        end local 5 // int bytesPerSample
        end local 4 // int rowByteWidth
        end local 3 // int rowFilter
        end local 2 // byte[] prevRow
        end local 1 // byte[] rowByteBuffer
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   62     0            this  Lsun/awt/image/PNGImageDecoder;
            0   62     1   rowByteBuffer  [B
            0   62     2         prevRow  [B
            0   62     3       rowFilter  I
            0   62     4    rowByteWidth  I
            0   62     5  bytesPerSample  I
            1   62     6               x  I
           36   52     7               a  I
           37   52     8               b  I
           38   52     9               c  I
           39   52    10               p  I
           42   52    11              pa  I
           45   52    12              pb  I
           48   52    13              pc  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      rowByteBuffer   
      prevRow         
      rowFilter       
      rowByteWidth    
      bytesPerSample  

  public void <init>(sun.awt.image.InputStreamImageSource, java.io.InputStream);
    descriptor: (Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // sun.awt.image.InputStreamImageSource src
        start local 2 // java.io.InputStream input
         0: .line 640
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* input */
            invokespecial sun.awt.image.ImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
         1: .line 70
            aload 0 /* this */
            ldc 100000
            putfield sun.awt.image.PNGImageDecoder.gamma:I
         2: .line 77
            aload 0 /* this */
            iconst_m1
            putfield sun.awt.image.PNGImageDecoder.transparentPixel:I
         3: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.awt.image.PNGImageDecoder.transparentPixel_16:[B
         4: .line 664
            aload 0 /* this */
            sipush 4096
            newarray 8
            putfield sun.awt.image.PNGImageDecoder.inbuf:[B
         5: .line 641
            aload 0 /* this */
            new sun.awt.image.PNGFilterInputStream
            dup
            aload 0 /* this */
            aload 2 /* input */
            invokespecial sun.awt.image.PNGFilterInputStream.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/io/InputStream;)V
            putfield sun.awt.image.PNGImageDecoder.inputStream:Lsun/awt/image/PNGFilterInputStream;
         6: .line 642
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inputStream:Lsun/awt/image/PNGFilterInputStream;
            getfield sun.awt.image.PNGFilterInputStream.underlyingInputStream:Ljava/io/InputStream;
            putfield sun.awt.image.PNGImageDecoder.underlyingInputStream:Ljava/io/InputStream;
         7: .line 650
            return
        end local 2 // java.io.InputStream input
        end local 1 // sun.awt.image.InputStreamImageSource src
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/awt/image/PNGImageDecoder;
            0    8     1    src  Lsun/awt/image/InputStreamImageSource;
            0    8     2  input  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      src    
      input  

  private void fill();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 666
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.seenEOF:Z
            ifne 14
         1: .line 667
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            ifle 6
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            if_icmpge 6
         2: .line 668
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 669
            aload 0 /* this */
            dup
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            putfield sun.awt.image.PNGImageDecoder.limit:I
         4: .line 670
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.pos:I
         5: .line 671
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            if_icmplt 8
         7: .line 672
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.pos:I
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.limit:I
         8: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            arraylength
            istore 1 /* bsize */
        start local 1 // int bsize
         9: .line 675
            goto 13
        10: .line 676
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.underlyingInputStream:Ljava/io/InputStream;
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            iload 1 /* bsize */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 2 /* n */
        start local 2 // int n
        11: .line 677
            iload 2 /* n */
            ifgt 12
            aload 0 /* this */
            iconst_1
            putfield sun.awt.image.PNGImageDecoder.seenEOF:Z
            goto 14
        12: .line 678
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.awt.image.PNGImageDecoder.limit:I
            iload 2 /* n */
            iadd
            putfield sun.awt.image.PNGImageDecoder.limit:I
        end local 2 // int n
        13: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            iload 1 /* bsize */
            if_icmplt 10
        end local 1 // int bsize
        14: .line 681
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/awt/image/PNGImageDecoder;
            9   14     1  bsize  I
           11   13     2      n  I
    Exceptions:
      throws java.io.IOException

  private boolean need(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int n
         0: .line 683
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            iload 1 /* n */
            if_icmplt 1
            iconst_1
            ireturn
         1: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.fill:()V
         2: .line 685
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            iload 1 /* n */
            if_icmplt 3
            iconst_1
            ireturn
         3: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.seenEOF:Z
            ifeq 4
            iconst_0
            ireturn
         4: .line 687
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            bipush 100
            iadd
            newarray 8
            astore 2 /* nin */
        start local 2 // byte[] nin
         5: .line 688
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            aload 2 /* nin */
            iconst_0
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 689
            aload 0 /* this */
            dup
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            putfield sun.awt.image.PNGImageDecoder.limit:I
         7: .line 690
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.pos:I
         8: .line 691
            aload 0 /* this */
            aload 2 /* nin */
            putfield sun.awt.image.PNGImageDecoder.inbuf:[B
         9: .line 692
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.fill:()V
        10: .line 693
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.limit:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            isub
            iload 1 /* n */
            if_icmplt 11
            iconst_1
            ireturn
      StackMap locals: byte[]
      StackMap stack:
        11: iconst_0
            ireturn
        end local 2 // byte[] nin
        end local 1 // int n
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/awt/image/PNGImageDecoder;
            0   12     1     n  I
            5   12     2   nin  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  private final int getInt(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int pos
         0: .line 696
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            baload
            sipush 255
            iand
            bipush 24
            ishl
         1: .line 697
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 16
            ishl
         2: .line 696
            ior
         3: .line 698
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
         4: .line 696
            ior
         5: .line 699
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            iconst_3
            iadd
            baload
            sipush 255
            iand
         6: .line 696
            ior
            ireturn
        end local 1 // int pos
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/image/PNGImageDecoder;
            0    7     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  private final int getShort(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int pos
         0: .line 702
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            baload
            sipush 255
            iand
            bipush 8
            ishl
         1: .line 703
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
         2: .line 702
            ior
            i2s
            ireturn
        end local 1 // int pos
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/PNGImageDecoder;
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  private final int getByte(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int pos
         0: .line 706
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            iload 1 /* pos */
            baload
            sipush 255
            iand
            ireturn
        end local 1 // int pos
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/PNGImageDecoder;
            0    1     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  private final boolean getChunk();
    descriptor: ()Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 709
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.chunkLength:I
         1: .line 710
            aload 0 /* this */
            bipush 8
            invokevirtual sun.awt.image.PNGImageDecoder.need:(I)Z
            ifne 2
            iconst_0
            ireturn
         2: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            putfield sun.awt.image.PNGImageDecoder.chunkLength:I
         3: .line 712
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            iconst_4
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            putfield sun.awt.image.PNGImageDecoder.chunkKey:I
         4: .line 713
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            ifge 5
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "bogus length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
         5: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            bipush 12
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.need:(I)Z
            ifne 6
            iconst_0
            ireturn
         6: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            bipush 8
            iadd
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            iadd
            invokevirtual sun.awt.image.PNGImageDecoder.getInt:(I)I
            putfield sun.awt.image.PNGImageDecoder.chunkCRC:I
         7: .line 716
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            bipush 8
            iadd
            putfield sun.awt.image.PNGImageDecoder.chunkStart:I
         8: .line 717
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.pos:I
            iconst_4
            iadd
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            iconst_4
            iadd
            invokestatic sun.awt.image.PNGImageDecoder.crc:([BII)I
            istore 1 /* calcCRC */
        start local 1 // int calcCRC
         9: .line 718
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkCRC:I
            iload 1 /* calcCRC */
            if_icmpeq 10
            getstatic sun.awt.image.PNGImageDecoder.checkCRC:Z
            ifeq 10
            new sun.awt.image.PNGImageDecoder$PNGException
            dup
            aload 0 /* this */
            ldc "crc corruption"
            invokespecial sun.awt.image.PNGImageDecoder$PNGException.<init>:(Lsun/awt/image/PNGImageDecoder;Ljava/lang/String;)V
            athrow
        10: .line 719
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.awt.image.PNGImageDecoder.pos:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            bipush 12
            iadd
            iadd
            putfield sun.awt.image.PNGImageDecoder.pos:I
        11: .line 720
            iconst_1
            ireturn
        end local 1 // int calcCRC
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/awt/image/PNGImageDecoder;
            9   12     1  calcCRC  I
    Exceptions:
      throws java.io.IOException

  private void readAll();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 723
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkKey:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkStart:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            invokevirtual sun.awt.image.PNGImageDecoder.handleChunk:(I[BII)Z
            pop
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.getChunk:()Z
            ifne 1
         3: .line 724
            return
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/image/PNGImageDecoder;
    Exceptions:
      throws java.io.IOException

  boolean getData();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 726
            goto 3
         1: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkKey:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.inbuf:[B
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkStart:I
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            invokevirtual sun.awt.image.PNGImageDecoder.handleChunk:(I[BII)Z
            ifeq 3
         2: .line 728
            aload 0 /* this */
            iconst_0
            putfield sun.awt.image.PNGImageDecoder.chunkLength:I
         3: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            ifne 4
            aload 0 /* this */
            invokevirtual sun.awt.image.PNGImageDecoder.getChunk:()Z
            ifne 1
         4: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            ifle 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/image/PNGImageDecoder;
    Exceptions:
      throws java.io.IOException

  public static boolean getCheckCRC();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 734
            getstatic sun.awt.image.PNGImageDecoder.checkCRC:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setCheckCRC(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean c
         0: .line 735
            iload 0 /* c */
            putstatic sun.awt.image.PNGImageDecoder.checkCRC:Z
            return
        end local 0 // boolean c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Z
    MethodParameters:
      Name  Flags
      c     

  protected void wrc(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int c
         0: .line 738
            iload 1 /* c */
            sipush 255
            iand
            istore 1 /* c */
         1: .line 739
            iload 1 /* c */
            bipush 32
            if_icmple 2
            iload 1 /* c */
            bipush 122
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: bipush 63
            istore 1 /* c */
         3: .line 740
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            iload 1 /* c */
            invokevirtual java.io.PrintStream.write:(I)V
         4: .line 741
            return
        end local 1 // int c
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/image/PNGImageDecoder;
            0    5     1     c  I
    MethodParameters:
      Name  Flags
      c     

  protected void wrk(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.image.PNGImageDecoder this
        start local 1 // int n
         0: .line 743
            aload 0 /* this */
            iload 1 /* n */
            bipush 24
            ishr
            invokevirtual sun.awt.image.PNGImageDecoder.wrc:(I)V
         1: .line 744
            aload 0 /* this */
            iload 1 /* n */
            bipush 16
            ishr
            invokevirtual sun.awt.image.PNGImageDecoder.wrc:(I)V
         2: .line 745
            aload 0 /* this */
            iload 1 /* n */
            bipush 8
            ishr
            invokevirtual sun.awt.image.PNGImageDecoder.wrc:(I)V
         3: .line 746
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual sun.awt.image.PNGImageDecoder.wrc:(I)V
         4: .line 747
            return
        end local 1 // int n
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/image/PNGImageDecoder;
            0    5     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public void print();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.image.PNGImageDecoder this
         0: .line 749
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkKey:I
            invokevirtual sun.awt.image.PNGImageDecoder.wrk:(I)V
         1: .line 750
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.awt.image.PNGImageDecoder.chunkLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         2: .line 751
            return
        end local 0 // sun.awt.image.PNGImageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/PNGImageDecoder;

  private static int update_crc(int, byte[], int, int);
    descriptor: (I[BII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // int crc
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int len
         0: .line 775
            iload 0 /* crc */
            istore 4 /* c */
        start local 4 // int c
         1: .line 776
            goto 3
         2: .line 777
      StackMap locals: int
      StackMap stack:
            getstatic sun.awt.image.PNGImageDecoder.crc_table:[I
            iload 4 /* c */
            aload 1 /* buf */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            baload
            ixor
            sipush 255
            iand
            iaload
            iload 4 /* c */
            bipush 8
            iushr
            ixor
            istore 4 /* c */
         3: .line 776
      StackMap locals:
      StackMap stack:
            iinc 3 /* len */ -1
            iload 3 /* len */
            ifge 2
         4: .line 778
            iload 4 /* c */
            ireturn
        end local 4 // int c
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // int crc
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     crc  I
            0    5     1     buf  [B
            0    5     2  offset  I
            0    5     3     len  I
            1    5     4       c  I
    MethodParameters:
        Name  Flags
      crc     
      buf     
      offset  
      len     

  private static int crc(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] buf
        start local 1 // int offset
        start local 2 // int len
         0: .line 783
            iconst_m1
            aload 0 /* buf */
            iload 1 /* offset */
            iload 2 /* len */
            invokestatic sun.awt.image.PNGImageDecoder.update_crc:(I[BII)I
            iconst_m1
            ixor
            ireturn
        end local 2 // int len
        end local 1 // int offset
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     buf  [B
            0    1     1  offset  I
            0    1     2     len  I
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     
}
SourceFile: "PNGImageDecoder.java"
NestMembers:
  sun.awt.image.PNGImageDecoder$Chromaticities  sun.awt.image.PNGImageDecoder$PNGException
InnerClasses:
  public Chromaticities = sun.awt.image.PNGImageDecoder$Chromaticities of sun.awt.image.PNGImageDecoder
  public PNGException = sun.awt.image.PNGImageDecoder$PNGException of sun.awt.image.PNGImageDecoder