public class com.sun.javafx.iio.gif.GIFImageLoader2 extends com.sun.javafx.iio.common.ImageLoaderImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.iio.gif.GIFImageLoader2
  super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
  static final byte[] FILE_SIG87;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final byte[] FILE_SIG89;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final byte[] NETSCAPE_SIG;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int DEFAULT_FPS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 25

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 45
            bipush 6
            newarray 8
            dup
            iconst_0
            bipush 71
            bastore
            dup
            iconst_1
            bipush 73
            bastore
            dup
            iconst_2
            bipush 70
            bastore
            dup
            iconst_3
            bipush 56
            bastore
            dup
            iconst_4
            bipush 55
            bastore
            dup
            iconst_5
            bipush 97
            bastore
            putstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG87:[B
         1: .line 46
            bipush 6
            newarray 8
            dup
            iconst_0
            bipush 71
            bastore
            dup
            iconst_1
            bipush 73
            bastore
            dup
            iconst_2
            bipush 70
            bastore
            dup
            iconst_3
            bipush 56
            bastore
            dup
            iconst_4
            bipush 57
            bastore
            dup
            iconst_5
            bipush 97
            bastore
            putstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG89:[B
         2: .line 47
            bipush 11
            newarray 8
            dup
            iconst_0
            bipush 78
            bastore
            dup
            iconst_1
            bipush 69
            bastore
            dup
            iconst_2
            bipush 84
            bastore
            dup
            iconst_3
            bipush 83
            bastore
            dup
            iconst_4
            bipush 67
            bastore
            dup
            iconst_5
            bipush 65
            bastore
            dup
            bipush 6
            bipush 80
            bastore
            dup
            bipush 7
            bipush 69
            bastore
            dup
            bipush 8
            bipush 50
            bastore
            dup
            bipush 9
            bipush 46
            bastore
            dup
            bipush 10
            bipush 48
            bastore
            putstatic com.sun.javafx.iio.gif.GIFImageLoader2.NETSCAPE_SIG:[B
         3: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // java.io.InputStream input
         0: .line 57
            aload 0 /* this */
            invokestatic com.sun.javafx.iio.gif.GIFDescriptor.getInstance:()Lcom/sun/javafx/iio/common/ImageDescriptor;
            invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
         1: .line 50
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
         2: .line 54
            aload 0 /* this */
            iconst_1
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
         3: .line 58
            aload 0 /* this */
            aload 1 /* input */
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
         4: .line 59
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readGlobalHeader:()V
         5: .line 60
            return
        end local 1 // java.io.InputStream input
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0    6     1  input  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  private void readGlobalHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 64
            aload 0 /* this */
            bipush 6
            newarray 8
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
            astore 1 /* signature */
        start local 1 // byte[] signature
         1: .line 65
            getstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG87:[B
            aload 1 /* signature */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 3
            getstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG89:[B
            aload 1 /* signature */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 3
         2: .line 66
            new java.io.IOException
            dup
            ldc "Bad GIF signature!"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 68
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
         4: .line 69
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
         5: .line 70
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 2 /* cInfo */
        start local 2 // int cInfo
         6: .line 71
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.bgColor:I
         7: .line 72
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            pop
         8: .line 74
            iload 2 /* cInfo */
            sipush 128
            iand
            ifeq 10
         9: .line 75
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            iload 2 /* cInfo */
            bipush 7
            iand
            ishl
            iconst_m1
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readPalete:(II)[[B
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.globalPalette:[[B
        10: .line 77
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
            imul
            iconst_4
            imul
            newarray 8
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
        11: .line 78
            return
        end local 2 // int cInfo
        end local 1 // byte[] signature
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1   12     1  signature  [B
            6   12     2      cInfo  I
    Exceptions:
      throws java.io.IOException

  private byte[][] readPalete(int, int);
    descriptor: (II)[[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // int size
        start local 2 // int trnsIndex
         0: .line 82
            iconst_4
            iload 1 /* size */
            multianewarray [[B 2
            astore 3 /* palette */
        start local 3 // byte[][] palette
         1: .line 83
            aload 0 /* this */
            iload 1 /* size */
            iconst_3
            imul
            newarray 8
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
            astore 4 /* paletteData */
        start local 4 // byte[] paletteData
         2: .line 84
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: iconst_0
            istore 6 /* idx */
        start local 6 // int idx
         4: goto 14
         5: .line 85
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
      StackMap stack:
            iconst_0
            istore 7 /* k */
        start local 7 // int k
         6: goto 9
         7: .line 86
      StackMap locals: int
      StackMap stack:
            aload 3 /* palette */
            iload 7 /* k */
            aaload
            iload 5 /* i */
            aload 4 /* paletteData */
            iload 6 /* idx */
            iinc 6 /* idx */ 1
            baload
            bastore
         8: .line 85
            iinc 7 /* k */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* k */
            iconst_3
            if_icmpne 7
        end local 7 // int k
        10: .line 88
            aload 3 /* palette */
            iconst_3
            aaload
            iload 5 /* i */
            iload 5 /* i */
            iload 2 /* trnsIndex */
            if_icmpne 11
            iconst_0
            goto 12
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
      StackMap stack: byte[] int
        11: iconst_m1
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
      StackMap stack: byte[] int int
        12: bastore
        13: .line 84
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 1 /* size */
            if_icmpne 5
        end local 6 // int idx
        end local 5 // int i
        15: .line 90
            aload 3 /* palette */
            areturn
        end local 4 // byte[] paletteData
        end local 3 // byte[][] palette
        end local 2 // int trnsIndex
        end local 1 // int size
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   16     1         size  I
            0   16     2    trnsIndex  I
            1   16     3      palette  [[B
            2   16     4  paletteData  [B
            3   15     5            i  I
            4   15     6          idx  I
            6   10     7            k  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      size       
      trnsIndex  

  private void consumeAnExtension();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 95
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 1 /* blSize */
        start local 1 // int blSize
         1: goto 4
         2: .line 96
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* blSize */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.skipBytes:(I)V
         3: .line 95
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 1 /* blSize */
      StackMap locals:
      StackMap stack:
         4: iload 1 /* blSize */
            ifne 2
        end local 1 // int blSize
         5: .line 98
            return
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1    5     1  blSize  I
    Exceptions:
      throws java.io.IOException

  private void readAppExtension();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 101
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 102
            aload 0 /* this */
            iload 1 /* size */
            newarray 8
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
            astore 2 /* buf */
        start local 2 // byte[] buf
         2: .line 103
            getstatic com.sun.javafx.iio.gif.GIFImageLoader2.NETSCAPE_SIG:[B
            aload 2 /* buf */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 12
         3: .line 104
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 3 /* subBlockSize */
        start local 3 // int subBlockSize
         4: goto 10
         5: .line 105
      StackMap locals: int byte[] int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* subBlockSize */
            newarray 8
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
            astore 4 /* subBlock */
        start local 4 // byte[] subBlock
         6: .line 106
            aload 4 /* subBlock */
            iconst_0
            baload
            istore 5 /* subBlockId */
        start local 5 // int subBlockId
         7: .line 107
            iload 3 /* subBlockSize */
            iconst_3
            if_icmpne 9
            iload 5 /* subBlockId */
            iconst_1
            if_icmpne 9
         8: .line 108
            aload 0 /* this */
            aload 4 /* subBlock */
            iconst_1
            baload
            sipush 255
            iand
            aload 4 /* subBlock */
            iconst_2
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            putfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
        end local 5 // int subBlockId
        end local 4 // byte[] subBlock
         9: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 3 /* subBlockSize */
      StackMap locals:
      StackMap stack:
        10: iload 3 /* subBlockSize */
            ifne 5
        end local 3 // int subBlockSize
        11: .line 111
            goto 13
        12: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.consumeAnExtension:()V
        13: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] buf
        end local 1 // int size
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1   14     1          size  I
            2   14     2           buf  [B
            4   11     3  subBlockSize  I
            6    9     4      subBlock  [B
            7    9     5    subBlockId  I
    Exceptions:
      throws java.io.IOException

  private int readControlCode();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 119
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 120
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 2 /* pField */
        start local 2 // int pField
         2: .line 121
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            istore 3 /* frameDelay */
        start local 3 // int frameDelay
         3: .line 122
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 4 /* trnsIndex */
        start local 4 // int trnsIndex
         4: .line 124
            iload 1 /* size */
            iconst_4
            if_icmpne 5
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            ifeq 6
         5: .line 125
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Bad GIF GraphicControlExtension"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 127
      StackMap locals:
      StackMap stack:
            iload 2 /* pField */
            bipush 31
            iand
            bipush 24
            ishl
            iload 4 /* trnsIndex */
            bipush 16
            ishl
            iadd
            iload 3 /* frameDelay */
            iadd
            ireturn
        end local 4 // int trnsIndex
        end local 3 // int frameDelay
        end local 2 // int pField
        end local 1 // int size
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1    7     1        size  I
            2    7     2      pField  I
            3    7     3  frameDelay  I
            4    7     4   trnsIndex  I
    Exceptions:
      throws java.io.IOException

  private int waitForImageFrame();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 134
            iconst_0
            istore 1 /* controlData */
        start local 1 // int controlData
         1: .line 136
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 2 /* ch */
        start local 2 // int ch
         2: .line 137
            iload 2 /* ch */
            lookupswitch { // 4
                   -1: 11
                   33: 4
                   44: 3
                   59: 11
              default: 12
          }
         3: .line 139
      StackMap locals: int
      StackMap stack:
            iload 1 /* controlData */
            ireturn
         4: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            lookupswitch { // 2
                  249: 5
                  255: 7
              default: 9
          }
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readControlCode:()I
            istore 1 /* controlData */
         6: .line 144
            goto 1
         7: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readAppExtension:()V
         8: .line 147
            goto 1
         9: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.consumeAnExtension:()V
        10: .line 151
            goto 1
        11: .line 153
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        12: .line 155
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected GIF control characher 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 156
            ldc "%02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* ch */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 155
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int ch
        end local 1 // int controlData
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1   15     1  controlData  I
            2   15     2           ch  I
    Exceptions:
      throws java.io.IOException

  private void decodeImage(byte[], int, int, int[]);
    descriptor: ([BII[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // byte[] image
        start local 2 // int w
        start local 3 // int h
        start local 4 // int[] interlace
         0: .line 163
            new com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.<init>:(Lcom/sun/javafx/iio/gif/GIFImageLoader2;)V
            astore 5 /* dec */
        start local 5 // com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder dec
         1: .line 164
            aload 5 /* dec */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.getString:()[B
            astore 6 /* data */
        start local 6 // byte[] data
         2: .line 165
            iconst_0
            istore 7 /* y */
        start local 7 // int y
         3: iconst_0
            istore 8 /* iPos */
        start local 8 // int iPos
         4: iload 2 /* w */
            istore 9 /* xr */
        start local 9 // int xr
         5: .line 167
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int int[] com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder byte[] int int int
      StackMap stack:
            aload 5 /* dec */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.readString:()I
            istore 10 /* len */
        start local 10 // int len
         6: .line 168
            iload 10 /* len */
            iconst_m1
            if_icmpne 9
         7: .line 169
            aload 5 /* dec */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.waitForTerminator:()V
         8: .line 170
            return
         9: .line 172
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* pos */
        start local 11 // int pos
        10: goto 26
        11: .line 173
      StackMap locals: int
      StackMap stack:
            iload 9 /* xr */
            iload 10 /* len */
            iload 11 /* pos */
            isub
            if_icmpge 12
            iload 9 /* xr */
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 10 /* len */
            iload 11 /* pos */
            isub
      StackMap locals:
      StackMap stack: int
        13: istore 12 /* ax */
        start local 12 // int ax
        14: .line 174
            aload 6 /* data */
            iload 11 /* pos */
            aload 1 /* image */
            iload 8 /* iPos */
            iload 12 /* ax */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 175
            iload 8 /* iPos */
            iload 12 /* ax */
            iadd
            istore 8 /* iPos */
        16: .line 176
            iload 11 /* pos */
            iload 12 /* ax */
            iadd
            istore 11 /* pos */
        17: .line 177
            iload 9 /* xr */
            iload 12 /* ax */
            isub
            dup
            istore 9 /* xr */
            ifne 26
        18: .line 178
            iinc 7 /* y */ 1
            iload 7 /* y */
            iload 3 /* h */
            if_icmpne 21
        19: .line 179
            aload 5 /* dec */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.waitForTerminator:()V
        20: .line 180
            return
        21: .line 182
      StackMap locals: int
      StackMap stack:
            aload 4 /* interlace */
            ifnonnull 22
            iload 7 /* y */
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 4 /* interlace */
            iload 7 /* y */
            iaload
      StackMap locals:
      StackMap stack: int
        23: istore 13 /* iY */
        start local 13 // int iY
        24: .line 183
            iload 13 /* iY */
            iload 2 /* w */
            imul
            istore 8 /* iPos */
        25: .line 184
            iload 2 /* w */
            istore 9 /* xr */
        end local 13 // int iY
        end local 12 // int ax
        26: .line 172
      StackMap locals:
      StackMap stack:
            iload 11 /* pos */
            iload 10 /* len */
            if_icmpne 11
        end local 11 // int pos
        end local 10 // int len
        27: .line 166
            goto 5
        end local 9 // int xr
        end local 8 // int iPos
        end local 7 // int y
        end local 6 // byte[] data
        end local 5 // com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder dec
        end local 4 // int[] interlace
        end local 3 // int h
        end local 2 // int w
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   28     1      image  [B
            0   28     2          w  I
            0   28     3          h  I
            0   28     4  interlace  [I
            1   28     5        dec  Lcom/sun/javafx/iio/gif/GIFImageLoader2$LZWDecoder;
            2   28     6       data  [B
            3   28     7          y  I
            4   28     8       iPos  I
            5   28     9         xr  I
            6   27    10        len  I
           10   27    11        pos  I
           14   26    12         ax  I
           24   26    13         iY  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      w          
      h          
      interlace  

  private int[] computeInterlaceReIndex(int);
    descriptor: (I)[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // int h
         0: .line 192
            iload 1 /* h */
            newarray 10
            astore 2 /* data */
        start local 2 // int[] data
         1: iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 193
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 5
      StackMap locals: int[] int int
      StackMap stack:
         4: aload 2 /* data */
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            iload 4 /* i */
            iastore
            iinc 4 /* i */ 8
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 1 /* h */
            if_icmplt 4
        end local 4 // int i
         6: .line 194
            iconst_4
            istore 4 /* i */
        start local 4 // int i
         7: goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2 /* data */
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            iload 4 /* i */
            iastore
            iinc 4 /* i */ 8
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 1 /* h */
            if_icmplt 8
        end local 4 // int i
        10: .line 195
            iconst_2
            istore 4 /* i */
        start local 4 // int i
        11: goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2 /* data */
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            iload 4 /* i */
            iastore
            iinc 4 /* i */ 4
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 1 /* h */
            if_icmplt 12
        end local 4 // int i
        14: .line 196
            iconst_1
            istore 4 /* i */
        start local 4 // int i
        15: goto 17
      StackMap locals:
      StackMap stack:
        16: aload 2 /* data */
            iload 3 /* pos */
            iinc 3 /* pos */ 1
            iload 4 /* i */
            iastore
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 1 /* h */
            if_icmplt 16
        end local 4 // int i
        18: .line 197
            aload 2 /* data */
            areturn
        end local 3 // int pos
        end local 2 // int[] data
        end local 1 // int h
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   19     1     h  I
            1   19     2  data  [I
            2   19     3   pos  I
            3    6     4     i  I
            7   10     4     i  I
           11   14     4     i  I
           15   18     4     i  I
    MethodParameters:
      Name  Flags
      h     

  public com.sun.javafx.iio.ImageFrame load(int, int, int, boolean, boolean);
    descriptor: (IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=22, args_size=6
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // int imageIndex
        start local 2 // int width
        start local 3 // int height
        start local 4 // boolean preserveAspectRatio
        start local 5 // boolean smooth
         0: .line 202
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.waitForImageFrame:()I
            istore 6 /* imageControlCode */
        start local 6 // int imageControlCode
         1: .line 204
            iload 6 /* imageControlCode */
            ifge 3
         2: .line 205
            aconst_null
            areturn
         3: .line 208
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            istore 7 /* left */
        start local 7 // int left
         4: aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            istore 8 /* top */
        start local 8 // int top
         5: aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            istore 9 /* w */
        start local 9 // int w
         6: aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
            istore 10 /* h */
        start local 10 // int h
         7: .line 211
            iload 7 /* left */
            iload 9 /* w */
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            if_icmpgt 8
            iload 8 /* top */
            iload 10 /* h */
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
            if_icmple 9
         8: .line 212
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Wrong GIF image frame size"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 11 /* imgCtrl */
        start local 11 // int imgCtrl
        10: .line 217
            iload 6 /* imageControlCode */
            bipush 24
            iushr
            iconst_1
            iand
            iconst_1
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 12 /* isTRNS */
        start local 12 // boolean isTRNS
        13: .line 218
            iload 12 /* isTRNS */
            ifeq 14
            iload 6 /* imageControlCode */
            bipush 16
            iushr
            sipush 255
            iand
            goto 15
      StackMap locals: int
      StackMap stack:
        14: iconst_m1
      StackMap locals:
      StackMap stack: int
        15: istore 13 /* trnsIndex */
        start local 13 // int trnsIndex
        16: .line 219
            iload 11 /* imgCtrl */
            sipush 128
            iand
            ifeq 17
            iconst_1
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 14 /* localPalette */
        start local 14 // boolean localPalette
        19: .line 220
            iload 11 /* imgCtrl */
            bipush 64
            iand
            ifeq 20
            iconst_1
            goto 21
      StackMap locals: int
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 15 /* isInterlaced */
        start local 15 // boolean isInterlaced
        22: .line 222
            iload 14 /* localPalette */
            ifeq 23
            aload 0 /* this */
            iconst_2
            iload 11 /* imgCtrl */
            bipush 7
            iand
            ishl
            iload 13 /* trnsIndex */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readPalete:(II)[[B
            goto 24
      StackMap locals: int
      StackMap stack:
        23: aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.globalPalette:[[B
      StackMap locals:
      StackMap stack: byte[][]
        24: astore 16 /* palette */
        start local 16 // byte[][] palette
        25: .line 224
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
            iload 2 /* width */
            iload 3 /* height */
            iload 4 /* preserveAspectRatio */
            invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
            astore 17 /* outWH */
        start local 17 // int[] outWH
        26: .line 225
            aload 17 /* outWH */
            iconst_0
            iaload
            istore 2 /* width */
        27: .line 226
            aload 17 /* outWH */
            iconst_1
            iaload
            istore 3 /* height */
        28: .line 228
            aload 0 /* this */
            iload 2 /* width */
            iload 3 /* height */
            iload 6 /* imageControlCode */
            ldc 65535
            iand
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.updateMetadata:(III)Lcom/sun/javafx/iio/ImageMetadata;
            astore 18 /* metadata */
        start local 18 // com.sun.javafx.iio.ImageMetadata metadata
        29: .line 230
            iload 6 /* imageControlCode */
            bipush 26
            iushr
            bipush 7
            iand
            istore 19 /* disposalCode */
        start local 19 // int disposalCode
        30: .line 231
            iload 9 /* w */
            iload 10 /* h */
            imul
            newarray 8
            astore 20 /* pImage */
        start local 20 // byte[] pImage
        31: .line 232
            aload 0 /* this */
            aload 20 /* pImage */
            iload 9 /* w */
            iload 10 /* h */
            iload 15 /* isInterlaced */
            ifeq 32
            aload 0 /* this */
            iload 10 /* h */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.computeInterlaceReIndex:(I)[I
            goto 33
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int int int int int int byte[][] int[] com.sun.javafx.iio.ImageMetadata int byte[]
      StackMap stack: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int
        32: aconst_null
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int int int int int int byte[][] int[] com.sun.javafx.iio.ImageMetadata int byte[]
      StackMap stack: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int int[]
        33: invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.decodeImage:([BII[I)V
        34: .line 234
            aload 0 /* this */
            aload 20 /* pImage */
            aload 16 /* palette */
            iload 13 /* trnsIndex */
        35: .line 235
            iload 7 /* left */
            iload 8 /* top */
            iload 9 /* w */
            iload 10 /* h */
            iload 19 /* disposalCode */
        36: .line 234
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.decodePalette:([B[[BIIIIII)Ljava/nio/ByteBuffer;
            astore 21 /* img */
        start local 21 // java.nio.ByteBuffer img
        37: .line 237
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            iload 2 /* width */
            if_icmpne 38
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
            iload 3 /* height */
            if_icmpeq 41
        38: .line 238
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 21 /* img */
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
            iconst_4
        39: .line 239
            iload 2 /* width */
            iload 3 /* height */
            iload 5 /* smooth */
        40: .line 238
            invokestatic com.sun.javafx.iio.common.ImageTools.scaleImage:(Ljava/nio/ByteBuffer;IIIIIZ)Ljava/nio/ByteBuffer;
            astore 21 /* img */
        41: .line 242
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageFrame
            dup
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            aload 21 /* img */
        42: .line 243
            iload 2 /* width */
            iload 3 /* height */
            iload 2 /* width */
            iconst_4
            imul
            aconst_null
            aload 18 /* metadata */
        43: .line 242
            invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
            areturn
        end local 21 // java.nio.ByteBuffer img
        end local 20 // byte[] pImage
        end local 19 // int disposalCode
        end local 18 // com.sun.javafx.iio.ImageMetadata metadata
        end local 17 // int[] outWH
        end local 16 // byte[][] palette
        end local 15 // boolean isInterlaced
        end local 14 // boolean localPalette
        end local 13 // int trnsIndex
        end local 12 // boolean isTRNS
        end local 11 // int imgCtrl
        end local 10 // int h
        end local 9 // int w
        end local 8 // int top
        end local 7 // int left
        end local 6 // int imageControlCode
        end local 5 // boolean smooth
        end local 4 // boolean preserveAspectRatio
        end local 3 // int height
        end local 2 // int width
        end local 1 // int imageIndex
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   44     0                 this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   44     1           imageIndex  I
            0   44     2                width  I
            0   44     3               height  I
            0   44     4  preserveAspectRatio  Z
            0   44     5               smooth  Z
            1   44     6     imageControlCode  I
            4   44     7                 left  I
            5   44     8                  top  I
            6   44     9                    w  I
            7   44    10                    h  I
           10   44    11              imgCtrl  I
           13   44    12               isTRNS  Z
           16   44    13            trnsIndex  I
           19   44    14         localPalette  Z
           22   44    15         isInterlaced  Z
           25   44    16              palette  [[B
           26   44    17                outWH  [I
           29   44    18             metadata  Lcom/sun/javafx/iio/ImageMetadata;
           30   44    19         disposalCode  I
           31   44    20               pImage  [B
           37   44    21                  img  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      imageIndex           
      width                
      height               
      preserveAspectRatio  
      smooth               

  private int readByte();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 248
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 1 /* ch */
        start local 1 // int ch
         1: .line 249
            iload 1 /* ch */
            ifge 3
         2: .line 250
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         3: .line 252
      StackMap locals: int
      StackMap stack:
            iload 1 /* ch */
            ireturn
        end local 1 // int ch
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1    4     1    ch  I
    Exceptions:
      throws java.io.IOException

  private int readShort();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 256
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 1 /* lsb */
        start local 1 // int lsb
         1: aload 0 /* this */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
            istore 2 /* msb */
        start local 2 // int msb
         2: .line 257
            iload 1 /* lsb */
            iload 2 /* msb */
            bipush 8
            ishl
            iadd
            ireturn
        end local 2 // int msb
        end local 1 // int lsb
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            1    3     1   lsb  I
            2    3     2   msb  I
    Exceptions:
      throws java.io.IOException

  private byte[] readBytes(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // byte[] data
         0: .line 261
            aload 0 /* this */
            aload 1 /* data */
            iconst_0
            aload 1 /* data */
            arraylength
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([BII)[B
            areturn
        end local 1 // byte[] data
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0    1     1  data  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  

  private byte[] readBytes(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // byte[] data
        start local 2 // int offs
        start local 3 // int size
         0: .line 265
            goto 6
         1: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
            aload 1 /* data */
            iload 2 /* offs */
            iload 3 /* size */
            invokevirtual java.io.InputStream.read:([BII)I
            istore 4 /* sz */
        start local 4 // int sz
         2: .line 267
            iload 4 /* sz */
            ifge 4
         3: .line 268
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         4: .line 270
      StackMap locals: int
      StackMap stack:
            iload 2 /* offs */
            iload 4 /* sz */
            iadd
            istore 2 /* offs */
         5: .line 271
            iload 3 /* size */
            iload 4 /* sz */
            isub
            istore 3 /* size */
        end local 4 // int sz
         6: .line 265
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            ifgt 1
         7: .line 273
            aload 1 /* data */
            areturn
        end local 3 // int size
        end local 2 // int offs
        end local 1 // byte[] data
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0    8     1  data  [B
            0    8     2  offs  I
            0    8     3  size  I
            2    6     4    sz  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  
      offs  
      size  

  private void skipBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // int n
         0: .line 277
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
            iload 1 /* n */
            i2l
            invokestatic com.sun.javafx.iio.common.ImageTools.skipFully:(Ljava/io/InputStream;J)V
         1: .line 278
            return
        end local 1 // int n
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0    2     1     n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
         0: .line 280
            return
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;

  private void restoreToBackground(byte[], int, int, int, int);
    descriptor: ([BIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=6
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // byte[] img
        start local 2 // int left
        start local 3 // int top
        start local 4 // int w
        start local 5 // int h
         0: .line 285
            iconst_0
            istore 6 /* y */
        start local 6 // int y
         1: goto 9
         2: .line 286
      StackMap locals: int
      StackMap stack:
            iload 3 /* top */
            iload 6 /* y */
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            imul
            iload 2 /* left */
            iadd
            iconst_4
            imul
            istore 7 /* iPos */
        start local 7 // int iPos
         3: .line 287
            iconst_0
            istore 8 /* x */
        start local 8 // int x
         4: goto 7
         5: .line 288
      StackMap locals: int int
      StackMap stack:
            aload 1 /* img */
            iload 7 /* iPos */
            iconst_3
            iadd
            iconst_0
            bastore
         6: .line 287
            iinc 7 /* iPos */ 4
            iinc 8 /* x */ 1
      StackMap locals:
      StackMap stack:
         7: iload 8 /* x */
            iload 4 /* w */
            if_icmpne 5
        end local 8 // int x
        end local 7 // int iPos
         8: .line 285
            iinc 6 /* y */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* y */
            iload 5 /* h */
            if_icmpne 2
        end local 6 // int y
        10: .line 291
            return
        end local 5 // int h
        end local 4 // int w
        end local 3 // int top
        end local 2 // int left
        end local 1 // byte[] img
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   11     1   img  [B
            0   11     2  left  I
            0   11     3   top  I
            0   11     4     w  I
            0   11     5     h  I
            1   10     6     y  I
            3    8     7  iPos  I
            4    8     8     x  I
    MethodParameters:
      Name  Flags
      img   
      left  
      top   
      w     
      h     

  private java.nio.ByteBuffer decodePalette(byte[], byte[][], int, int, int, int, int, int);
    descriptor: ([B[[BIIIIII)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=9
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // byte[] srcImage
        start local 2 // byte[][] palette
        start local 3 // int trnsIndex
        start local 4 // int left
        start local 5 // int top
        start local 6 // int w
        start local 7 // int h
        start local 8 // int disposalCode
         0: .line 297
            iload 8 /* disposalCode */
            iconst_3
            if_icmpne 1
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
      StackMap locals:
      StackMap stack: byte[]
         2: astore 9 /* img */
        start local 9 // byte[] img
         3: .line 299
            iconst_0
            istore 10 /* y */
        start local 10 // int y
         4: goto 29
         5: .line 300
      StackMap locals: byte[] int
      StackMap stack:
            iload 5 /* top */
            iload 10 /* y */
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
            imul
            iload 4 /* left */
            iadd
            iconst_4
            imul
            istore 11 /* iPos */
        start local 11 // int iPos
         6: .line 301
            iload 10 /* y */
            iload 6 /* w */
            imul
            istore 12 /* i */
        start local 12 // int i
         7: .line 302
            iload 3 /* trnsIndex */
            ifge 18
         8: .line 303
            iconst_0
            istore 13 /* x */
        start local 13 // int x
         9: goto 16
        10: .line 304
      StackMap locals: int int int
      StackMap stack:
            sipush 255
            aload 1 /* srcImage */
            iload 12 /* i */
            iload 13 /* x */
            iadd
            baload
            iand
            istore 14 /* index */
        start local 14 // int index
        11: .line 305
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_0
            iadd
            aload 2 /* palette */
            iconst_0
            aaload
            iload 14 /* index */
            baload
            bastore
        12: .line 306
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_1
            iadd
            aload 2 /* palette */
            iconst_1
            aaload
            iload 14 /* index */
            baload
            bastore
        13: .line 307
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_2
            iadd
            aload 2 /* palette */
            iconst_2
            aaload
            iload 14 /* index */
            baload
            bastore
        14: .line 308
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_3
            iadd
            aload 2 /* palette */
            iconst_3
            aaload
            iload 14 /* index */
            baload
            bastore
        end local 14 // int index
        15: .line 303
            iinc 11 /* iPos */ 4
            iinc 13 /* x */ 1
      StackMap locals:
      StackMap stack:
        16: iload 13 /* x */
            iload 6 /* w */
            if_icmpne 10
        end local 13 // int x
        17: .line 310
            goto 28
        18: .line 311
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* x */
        start local 13 // int x
        19: goto 27
        20: .line 312
      StackMap locals: int
      StackMap stack:
            sipush 255
            aload 1 /* srcImage */
            iload 12 /* i */
            iload 13 /* x */
            iadd
            baload
            iand
            istore 14 /* index */
        start local 14 // int index
        21: .line 313
            iload 14 /* index */
            iload 3 /* trnsIndex */
            if_icmpeq 26
        22: .line 314
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_0
            iadd
            aload 2 /* palette */
            iconst_0
            aaload
            iload 14 /* index */
            baload
            bastore
        23: .line 315
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_1
            iadd
            aload 2 /* palette */
            iconst_1
            aaload
            iload 14 /* index */
            baload
            bastore
        24: .line 316
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_2
            iadd
            aload 2 /* palette */
            iconst_2
            aaload
            iload 14 /* index */
            baload
            bastore
        25: .line 317
            aload 9 /* img */
            iload 11 /* iPos */
            iconst_3
            iadd
            aload 2 /* palette */
            iconst_3
            aaload
            iload 14 /* index */
            baload
            bastore
        end local 14 // int index
        26: .line 311
      StackMap locals:
      StackMap stack:
            iinc 11 /* iPos */ 4
            iinc 13 /* x */ 1
      StackMap locals:
      StackMap stack:
        27: iload 13 /* x */
            iload 6 /* w */
            if_icmpne 20
        end local 13 // int x
        end local 12 // int i
        end local 11 // int iPos
        28: .line 299
      StackMap locals:
      StackMap stack:
            iinc 10 /* y */ 1
      StackMap locals:
      StackMap stack:
        29: iload 10 /* y */
            iload 7 /* h */
            if_icmpne 5
        end local 10 // int y
        30: .line 323
            iload 8 /* disposalCode */
            iconst_3
            if_icmpeq 31
            aload 9 /* img */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            astore 9 /* img */
        31: .line 324
      StackMap locals:
      StackMap stack:
            iload 8 /* disposalCode */
            iconst_2
            if_icmpne 32
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
            iload 4 /* left */
            iload 5 /* top */
            iload 6 /* w */
            iload 7 /* h */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.restoreToBackground:([BIIII)V
        32: .line 326
      StackMap locals:
      StackMap stack:
            aload 9 /* img */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 9 // byte[] img
        end local 8 // int disposalCode
        end local 7 // int h
        end local 6 // int w
        end local 5 // int top
        end local 4 // int left
        end local 3 // int trnsIndex
        end local 2 // byte[][] palette
        end local 1 // byte[] srcImage
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0   33     1      srcImage  [B
            0   33     2       palette  [[B
            0   33     3     trnsIndex  I
            0   33     4          left  I
            0   33     5           top  I
            0   33     6             w  I
            0   33     7             h  I
            0   33     8  disposalCode  I
            3   33     9           img  [B
            4   30    10             y  I
            6   28    11          iPos  I
            7   28    12             i  I
            9   17    13             x  I
           11   15    14         index  I
           19   28    13             x  I
           21   26    14         index  I
    MethodParameters:
              Name  Flags
      srcImage      
      palette       
      trnsIndex     
      left          
      top           
      w             
      h             
      disposalCode  

  private com.sun.javafx.iio.ImageMetadata updateMetadata(int, int, int);
    descriptor: (III)Lcom/sun/javafx/iio/ImageMetadata;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=5, args_size=4
        start local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
        start local 1 // int w
        start local 2 // int h
        start local 3 // int delayTime
         0: .line 331
            new com.sun.javafx.iio.ImageMetadata
            dup
            aconst_null
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aconst_null
            aconst_null
            aconst_null
         1: .line 332
            iload 3 /* delayTime */
            ifeq 2
            iload 3 /* delayTime */
            bipush 10
            imul
            goto 3
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int
      StackMap stack: new 0 new 0 null java.lang.Boolean null null null
         2: bipush 40
      StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int
      StackMap stack: new 0 new 0 null java.lang.Boolean null null null int
         3: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 1 /* w */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 2 /* h */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            aconst_null
            aconst_null
         4: .line 331
            invokespecial com.sun.javafx.iio.ImageMetadata.<init>:(Ljava/lang/Float;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
            astore 4 /* metaData */
        start local 4 // com.sun.javafx.iio.ImageMetadata metaData
         5: .line 333
            aload 0 /* this */
            aload 4 /* metaData */
            invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
         6: .line 334
            aload 4 /* metaData */
            areturn
        end local 4 // com.sun.javafx.iio.ImageMetadata metaData
        end local 3 // int delayTime
        end local 2 // int h
        end local 1 // int w
        end local 0 // com.sun.javafx.iio.gif.GIFImageLoader2 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/javafx/iio/gif/GIFImageLoader2;
            0    7     1          w  I
            0    7     2          h  I
            0    7     3  delayTime  I
            5    7     4   metaData  Lcom/sun/javafx/iio/ImageMetadata;
    MethodParameters:
           Name  Flags
      w          
      h          
      delayTime  
}
SourceFile: "GIFImageLoader2.java"
NestMembers:
  com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder
InnerClasses:
  public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
  LZWDecoder = com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder of com.sun.javafx.iio.gif.GIFImageLoader2