public class com.sun.imageio.plugins.gif.GIFImageWriter extends javax.imageio.ImageWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.gif.GIFImageWriter
  super_class: javax.imageio.ImageWriter
{
  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final java.lang.String STANDARD_METADATA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "javax_imageio_1.0"

  static final java.lang.String STREAM_METADATA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "javax_imageio_gif_stream_1.0"

  static final java.lang.String IMAGE_METADATA_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "javax_imageio_gif_image_1.0"

  private javax.imageio.stream.ImageOutputStream stream;
    descriptor: Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private boolean isWritingSequence;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean wroteSequenceHeader;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.sun.imageio.plugins.gif.GIFWritableStreamMetadata theStreamMetadata;
    descriptor: Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
    flags: (0x0002) ACC_PRIVATE

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

  private static int getNumBits(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int value
         0: .line 102
            iload 0 /* value */
            lookupswitch { // 8
                    2: 1
                    4: 3
                    8: 5
                   16: 7
                   32: 9
                   64: 11
                  128: 13
                  256: 15
              default: 17
          }
         1: .line 104
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* numBits */
        start local 1 // int numBits
         2: .line 105
            goto 18
        end local 1 // int numBits
         3: .line 107
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 1 /* numBits */
        start local 1 // int numBits
         4: .line 108
            goto 18
        end local 1 // int numBits
         5: .line 110
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 1 /* numBits */
        start local 1 // int numBits
         6: .line 111
            goto 18
        end local 1 // int numBits
         7: .line 113
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 1 /* numBits */
        start local 1 // int numBits
         8: .line 114
            goto 18
        end local 1 // int numBits
         9: .line 116
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 1 /* numBits */
        start local 1 // int numBits
        10: .line 117
            goto 18
        end local 1 // int numBits
        11: .line 119
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 1 /* numBits */
        start local 1 // int numBits
        12: .line 120
            goto 18
        end local 1 // int numBits
        13: .line 122
      StackMap locals:
      StackMap stack:
            bipush 7
            istore 1 /* numBits */
        start local 1 // int numBits
        14: .line 123
            goto 18
        end local 1 // int numBits
        15: .line 125
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 1 /* numBits */
        start local 1 // int numBits
        16: .line 126
            goto 18
        end local 1 // int numBits
        17: .line 128
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad palette length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // int numBits
        18: .line 131
      StackMap locals: int
      StackMap stack:
            iload 1 /* numBits */
            ireturn
        end local 1 // int numBits
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0    value  I
            2    3     1  numBits  I
            4    5     1  numBits  I
            6    7     1  numBits  I
            8    9     1  numBits  I
           10   11     1  numBits  I
           12   13     1  numBits  I
           14   15     1  numBits  I
           16   17     1  numBits  I
           18   19     1  numBits  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  private static void computeRegions(java.awt.Rectangle, java.awt.Dimension, javax.imageio.ImageWriteParam);
    descriptor: (Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.awt.Rectangle sourceBounds
        start local 1 // java.awt.Dimension destSize
        start local 2 // javax.imageio.ImageWriteParam p
         0: .line 142
            iconst_1
            istore 3 /* periodX */
        start local 3 // int periodX
         1: .line 143
            iconst_1
            istore 4 /* periodY */
        start local 4 // int periodY
         2: .line 144
            aload 2 /* p */
            ifnull 20
         3: .line 145
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 5 /* sourceBands */
        start local 5 // int[] sourceBands
         4: .line 146
            aload 5 /* sourceBands */
            ifnull 8
         5: .line 147
            aload 5 /* sourceBands */
            arraylength
            iconst_1
            if_icmpne 7
         6: .line 148
            aload 5 /* sourceBands */
            iconst_0
            iaload
            ifeq 8
         7: .line 149
      StackMap locals: int int int[]
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot sub-band image!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        start local 6 // java.awt.Rectangle sourceRegion
         9: .line 154
            aload 6 /* sourceRegion */
            ifnull 12
        10: .line 156
            aload 6 /* sourceRegion */
            aload 0 /* sourceBounds */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        11: .line 157
            aload 0 /* sourceBounds */
            aload 6 /* sourceRegion */
            invokevirtual java.awt.Rectangle.setBounds:(Ljava/awt/Rectangle;)V
        12: .line 161
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 7 /* gridX */
        start local 7 // int gridX
        13: .line 162
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 8 /* gridY */
        start local 8 // int gridY
        14: .line 163
            aload 0 /* sourceBounds */
            dup
            getfield java.awt.Rectangle.x:I
            iload 7 /* gridX */
            iadd
            putfield java.awt.Rectangle.x:I
        15: .line 164
            aload 0 /* sourceBounds */
            dup
            getfield java.awt.Rectangle.y:I
            iload 8 /* gridY */
            iadd
            putfield java.awt.Rectangle.y:I
        16: .line 165
            aload 0 /* sourceBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iload 7 /* gridX */
            isub
            putfield java.awt.Rectangle.width:I
        17: .line 166
            aload 0 /* sourceBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iload 8 /* gridY */
            isub
            putfield java.awt.Rectangle.height:I
        18: .line 169
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            istore 3 /* periodX */
        19: .line 170
            aload 2 /* p */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            istore 4 /* periodY */
        end local 8 // int gridY
        end local 7 // int gridX
        end local 6 // java.awt.Rectangle sourceRegion
        end local 5 // int[] sourceBands
        20: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* destSize */
            aload 0 /* sourceBounds */
            getfield java.awt.Rectangle.width:I
            iload 3 /* periodX */
            iadd
            iconst_1
            isub
            iload 3 /* periodX */
            idiv
        21: .line 175
            aload 0 /* sourceBounds */
            getfield java.awt.Rectangle.height:I
            iload 4 /* periodY */
            iadd
            iconst_1
            isub
            iload 4 /* periodY */
            idiv
        22: .line 174
            invokevirtual java.awt.Dimension.setSize:(II)V
        23: .line 176
            aload 1 /* destSize */
            getfield java.awt.Dimension.width:I
            ifle 24
            aload 1 /* destSize */
            getfield java.awt.Dimension.height:I
            ifgt 25
        24: .line 177
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty source region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int periodY
        end local 3 // int periodX
        end local 2 // javax.imageio.ImageWriteParam p
        end local 1 // java.awt.Dimension destSize
        end local 0 // java.awt.Rectangle sourceBounds
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0  sourceBounds  Ljava/awt/Rectangle;
            0   26     1      destSize  Ljava/awt/Dimension;
            0   26     2             p  Ljavax/imageio/ImageWriteParam;
            1   26     3       periodX  I
            2   26     4       periodY  I
            4   20     5   sourceBands  [I
            9   20     6  sourceRegion  Ljava/awt/Rectangle;
           13   20     7         gridX  I
           14   20     8         gridY  I
    MethodParameters:
              Name  Flags
      sourceBounds  
      destSize      
      p             

  private static byte[] createColorTable(java.awt.image.ColorModel, java.awt.image.SampleModel);
    descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // java.awt.image.ColorModel colorModel
        start local 1 // java.awt.image.SampleModel sampleModel
         0: .line 188
            aload 0 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 27
         1: .line 189
            aload 0 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            astore 3 /* icm */
        start local 3 // java.awt.image.IndexColorModel icm
         2: .line 190
            aload 3 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 4 /* mapSize */
        start local 4 // int mapSize
         3: .line 197
            iload 4 /* mapSize */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.getGifPaletteSize:(I)I
            istore 5 /* ctSize */
        start local 5 // int ctSize
         4: .line 199
            iload 5 /* ctSize */
            newarray 8
            astore 6 /* reds */
        start local 6 // byte[] reds
         5: .line 200
            iload 5 /* ctSize */
            newarray 8
            astore 7 /* greens */
        start local 7 // byte[] greens
         6: .line 201
            iload 5 /* ctSize */
            newarray 8
            astore 8 /* blues */
        start local 8 // byte[] blues
         7: .line 202
            aload 3 /* icm */
            aload 6 /* reds */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
         8: .line 203
            aload 3 /* icm */
            aload 7 /* greens */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
         9: .line 204
            aload 3 /* icm */
            aload 8 /* blues */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
        10: .line 210
            iload 4 /* mapSize */
            istore 9 /* i */
        start local 9 // int i
        11: goto 16
        12: .line 211
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel top java.awt.image.IndexColorModel int int byte[] byte[] byte[] int
      StackMap stack:
            aload 6 /* reds */
            iload 9 /* i */
            aload 6 /* reds */
            iconst_0
            baload
            bastore
        13: .line 212
            aload 7 /* greens */
            iload 9 /* i */
            aload 7 /* greens */
            iconst_0
            baload
            bastore
        14: .line 213
            aload 8 /* blues */
            iload 9 /* i */
            aload 8 /* blues */
            iconst_0
            baload
            bastore
        15: .line 210
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 5 /* ctSize */
            if_icmplt 12
        end local 9 // int i
        17: .line 216
            iconst_3
            iload 5 /* ctSize */
            imul
            newarray 8
            astore 2 /* colorTable */
        start local 2 // byte[] colorTable
        18: .line 217
            iconst_0
            istore 9 /* idx */
        start local 9 // int idx
        19: .line 218
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        20: goto 25
        21: .line 219
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel byte[] java.awt.image.IndexColorModel int int byte[] byte[] byte[] int int
      StackMap stack:
            aload 2 /* colorTable */
            iload 9 /* idx */
            iinc 9 /* idx */ 1
            aload 6 /* reds */
            iload 10 /* i */
            baload
            bastore
        22: .line 220
            aload 2 /* colorTable */
            iload 9 /* idx */
            iinc 9 /* idx */ 1
            aload 7 /* greens */
            iload 10 /* i */
            baload
            bastore
        23: .line 221
            aload 2 /* colorTable */
            iload 9 /* idx */
            iinc 9 /* idx */ 1
            aload 8 /* blues */
            iload 10 /* i */
            baload
            bastore
        24: .line 218
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 10 /* i */
            iload 5 /* ctSize */
            if_icmplt 21
        end local 10 // int i
        end local 9 // int idx
        end local 8 // byte[] blues
        end local 7 // byte[] greens
        end local 6 // byte[] reds
        end local 5 // int ctSize
        end local 4 // int mapSize
        end local 3 // java.awt.image.IndexColorModel icm
        26: .line 223
            goto 40
        end local 2 // byte[] colorTable
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel
      StackMap stack:
        27: aload 1 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            iconst_1
            if_icmpne 39
        28: .line 225
            aload 1 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            iconst_0
            iaload
            istore 3 /* numBits */
        start local 3 // int numBits
        29: .line 226
            iload 3 /* numBits */
            bipush 8
            if_icmple 31
        30: .line 227
            bipush 8
            istore 3 /* numBits */
        31: .line 229
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel top int
      StackMap stack:
            iconst_3
            iconst_1
            iload 3 /* numBits */
            ishl
            imul
            istore 4 /* colorTableLength */
        start local 4 // int colorTableLength
        32: .line 230
            iload 4 /* colorTableLength */
            newarray 8
            astore 2 /* colorTable */
        start local 2 // byte[] colorTable
        33: .line 231
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        34: goto 37
        35: .line 232
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel byte[] int int int
      StackMap stack:
            aload 2 /* colorTable */
            iload 5 /* i */
            iload 5 /* i */
            iconst_3
            idiv
            i2b
            bastore
        36: .line 231
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 5 /* i */
            iload 4 /* colorTableLength */
            if_icmplt 35
        end local 5 // int i
        end local 4 // int colorTableLength
        end local 3 // int numBits
        38: .line 234
            goto 40
        end local 2 // byte[] colorTable
        39: .line 237
      StackMap locals: java.awt.image.ColorModel java.awt.image.SampleModel
      StackMap stack:
            aconst_null
            astore 2 /* colorTable */
        start local 2 // byte[] colorTable
        40: .line 240
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* colorTable */
            areturn
        end local 2 // byte[] colorTable
        end local 1 // java.awt.image.SampleModel sampleModel
        end local 0 // java.awt.image.ColorModel colorModel
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0        colorModel  Ljava/awt/image/ColorModel;
            0   41     1       sampleModel  Ljava/awt/image/SampleModel;
           18   27     2        colorTable  [B
           33   39     2        colorTable  [B
           40   41     2        colorTable  [B
            2   26     3               icm  Ljava/awt/image/IndexColorModel;
            3   26     4           mapSize  I
            4   26     5            ctSize  I
            5   26     6              reds  [B
            6   26     7            greens  [B
            7   26     8             blues  [B
           11   17     9                 i  I
           19   26     9               idx  I
           20   26    10                 i  I
           29   38     3           numBits  I
           32   38     4  colorTableLength  I
           34   38     5                 i  I
    MethodParameters:
             Name  Flags
      colorModel   
      sampleModel  

  private static int getGifPaletteSize(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int x
         0: .line 248
            iload 0 /* x */
            iconst_2
            if_icmpgt 2
         1: .line 249
            iconst_2
            ireturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            iinc 0 /* x */ -1
         3: .line 252
            iload 0 /* x */
            iload 0 /* x */
            iconst_1
            ishr
            ior
            istore 0 /* x */
         4: .line 253
            iload 0 /* x */
            iload 0 /* x */
            iconst_2
            ishr
            ior
            istore 0 /* x */
         5: .line 254
            iload 0 /* x */
            iload 0 /* x */
            iconst_4
            ishr
            ior
            istore 0 /* x */
         6: .line 255
            iload 0 /* x */
            iload 0 /* x */
            bipush 8
            ishr
            ior
            istore 0 /* x */
         7: .line 256
            iload 0 /* x */
            iload 0 /* x */
            bipush 16
            ishr
            ior
            istore 0 /* x */
         8: .line 257
            iload 0 /* x */
            iconst_1
            iadd
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     x  I
    MethodParameters:
      Name  Flags
      x     

  public void <init>(com.sun.imageio.plugins.gif.GIFImageWriterSpi);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFImageWriterSpi originatingProvider
         0: .line 263
            aload 0 /* this */
            aload 1 /* originatingProvider */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 74
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 79
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
         3: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.wroteSequenceHeader:Z
         4: .line 89
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
         5: .line 94
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.imageIndex:I
         6: .line 267
            return
        end local 1 // com.sun.imageio.plugins.gif.GIFImageWriterSpi originatingProvider
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    7     1  originatingProvider  Lcom/sun/imageio/plugins/gif/GIFImageWriterSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  public boolean canWriteSequence();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 270
            iconst_1
            ireturn
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;

  private void convertMetadata(java.lang.String, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljava/lang/String;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 307
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNode cannot be resolved to a type\n\tThe method getAsTree(String) from the type IIOMetadata refers to the missing type Node\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
    MethodParameters:
                    Name  Flags
      metadataFormatName  
      inData              
      outData             

  public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 321
            aload 1 /* inData */
            ifnonnull 2
         1: .line 322
            new java.lang.IllegalArgumentException
            dup
            ldc "inData == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* param */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.getDefaultStreamMetadata:(Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            astore 3 /* sm */
        start local 3 // javax.imageio.metadata.IIOMetadata sm
         3: .line 327
            aload 0 /* this */
            ldc "javax_imageio_gif_stream_1.0"
            aload 1 /* inData */
            aload 3 /* sm */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.convertMetadata:(Ljava/lang/String;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)V
         4: .line 329
            aload 3 /* sm */
            areturn
        end local 3 // javax.imageio.metadata.IIOMetadata sm
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    5     1  inData  Ljavax/imageio/metadata/IIOMetadata;
            0    5     2   param  Ljavax/imageio/ImageWriteParam;
            3    5     3      sm  Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
        Name  Flags
      inData  
      param   

  public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageTypeSpecifier imageType
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 339
            aload 1 /* inData */
            ifnonnull 2
         1: .line 340
            new java.lang.IllegalArgumentException
            dup
            ldc "inData == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* imageType */
            ifnonnull 4
         3: .line 343
            new java.lang.IllegalArgumentException
            dup
            ldc "imageType == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* imageType */
         5: .line 348
            aload 3 /* param */
         6: .line 347
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.gif.GIFWritableImageMetadata
         7: .line 346
            astore 4 /* im */
        start local 4 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
         8: .line 352
            aload 4 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.interlaceFlag:Z
            istore 5 /* isProgressive */
        start local 5 // boolean isProgressive
         9: .line 354
            aload 0 /* this */
            ldc "javax_imageio_gif_image_1.0"
            aload 1 /* inData */
            aload 4 /* im */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.convertMetadata:(Ljava/lang/String;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)V
        10: .line 358
            aload 3 /* param */
            ifnull 13
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteProgressive:()Z
            ifeq 13
        11: .line 359
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            iconst_3
            if_icmpeq 13
        12: .line 360
            aload 4 /* im */
            iload 5 /* isProgressive */
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.interlaceFlag:Z
        13: .line 363
      StackMap locals: com.sun.imageio.plugins.gif.GIFWritableImageMetadata int
      StackMap stack:
            aload 4 /* im */
            areturn
        end local 5 // boolean isProgressive
        end local 4 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier imageType
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   14     1         inData  Ljavax/imageio/metadata/IIOMetadata;
            0   14     2      imageType  Ljavax/imageio/ImageTypeSpecifier;
            0   14     3          param  Ljavax/imageio/ImageWriteParam;
            8   14     4             im  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
            9   14     5  isProgressive  Z
    MethodParameters:
           Name  Flags
      inData     
      imageType  
      param      

  public void endWriteSequence();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 367
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 368
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
            ifne 4
         3: .line 371
            new java.lang.IllegalStateException
            dup
            ldc "prepareWriteSequence() was not invoked!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeTrailer:()V
         5: .line 374
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.resetLocal:()V
         6: .line 375
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
    Exceptions:
      throws java.io.IOException

  public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 380
            new com.sun.imageio.plugins.gif.GIFWritableImageMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFWritableImageMetadata.<init>:()V
         1: .line 379
            astore 3 /* imageMetadata */
        start local 3 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
         2: .line 384
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 4 /* sampleModel */
        start local 4 // java.awt.image.SampleModel sampleModel
         3: .line 386
            new java.awt.Rectangle
            dup
            aload 4 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getWidth:()I
         4: .line 387
            aload 4 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getHeight:()I
         5: .line 386
            invokespecial java.awt.Rectangle.<init>:(II)V
            astore 5 /* sourceBounds */
        start local 5 // java.awt.Rectangle sourceBounds
         6: .line 388
            new java.awt.Dimension
            dup
            invokespecial java.awt.Dimension.<init>:()V
            astore 6 /* destSize */
        start local 6 // java.awt.Dimension destSize
         7: .line 389
            aload 5 /* sourceBounds */
            aload 6 /* destSize */
            aload 2 /* param */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.computeRegions:(Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljavax/imageio/ImageWriteParam;)V
         8: .line 391
            aload 3 /* imageMetadata */
            aload 6 /* destSize */
            getfield java.awt.Dimension.width:I
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageWidth:I
         9: .line 392
            aload 3 /* imageMetadata */
            aload 6 /* destSize */
            getfield java.awt.Dimension.height:I
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageHeight:I
        10: .line 396
            aload 2 /* param */
            ifnull 14
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteProgressive:()Z
            ifeq 14
        11: .line 397
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            ifne 14
        12: .line 398
            aload 3 /* imageMetadata */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.interlaceFlag:Z
        13: .line 399
            goto 15
        14: .line 400
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter javax.imageio.ImageTypeSpecifier javax.imageio.ImageWriteParam com.sun.imageio.plugins.gif.GIFWritableImageMetadata java.awt.image.SampleModel java.awt.Rectangle java.awt.Dimension
      StackMap stack:
            aload 3 /* imageMetadata */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.interlaceFlag:Z
        15: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            astore 7 /* colorModel */
        start local 7 // java.awt.image.ColorModel colorModel
        16: .line 407
            aload 3 /* imageMetadata */
        17: .line 408
            aload 7 /* colorModel */
            aload 4 /* sampleModel */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.createColorTable:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)[B
        18: .line 407
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
        19: .line 412
            aload 7 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 25
        20: .line 414
            aload 7 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
        21: .line 413
            istore 8 /* transparentIndex */
        start local 8 // int transparentIndex
        22: .line 415
            iload 8 /* transparentIndex */
            iconst_m1
            if_icmpeq 25
        23: .line 416
            aload 3 /* imageMetadata */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorFlag:Z
        24: .line 417
            aload 3 /* imageMetadata */
            iload 8 /* transparentIndex */
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorIndex:I
        end local 8 // int transparentIndex
        25: .line 421
      StackMap locals: java.awt.image.ColorModel
      StackMap stack:
            aload 3 /* imageMetadata */
            areturn
        end local 7 // java.awt.image.ColorModel colorModel
        end local 6 // java.awt.Dimension destSize
        end local 5 // java.awt.Rectangle sourceBounds
        end local 4 // java.awt.image.SampleModel sampleModel
        end local 3 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   26     1         imageType  Ljavax/imageio/ImageTypeSpecifier;
            0   26     2             param  Ljavax/imageio/ImageWriteParam;
            2   26     3     imageMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
            3   26     4       sampleModel  Ljava/awt/image/SampleModel;
            6   26     5      sourceBounds  Ljava/awt/Rectangle;
            7   26     6          destSize  Ljava/awt/Dimension;
           16   26     7        colorModel  Ljava/awt/image/ColorModel;
           22   25     8  transparentIndex  I
    MethodParameters:
           Name  Flags
      imageType  
      param      

  public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 426
            new com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.<init>:()V
         1: .line 425
            astore 2 /* streamMetadata */
        start local 2 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
         2: .line 427
            aload 2 /* streamMetadata */
            ldc "89a"
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.version:Ljava/lang/String;
         3: .line 428
            aload 2 /* streamMetadata */
            areturn
        end local 2 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    4     1           param  Ljavax/imageio/ImageWriteParam;
            2    4     2  streamMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
    MethodParameters:
       Name  Flags
      param  

  public javax.imageio.ImageWriteParam getDefaultWriteParam();
    descriptor: ()Ljavax/imageio/ImageWriteParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 432
            new com.sun.imageio.plugins.gif.GIFImageWriteParam
            dup
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.getLocale:()Ljava/util/Locale;
            invokespecial com.sun.imageio.plugins.gif.GIFImageWriteParam.<init>:(Ljava/util/Locale;)V
            areturn
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;

  public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
         0: .line 438
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 439
            new java.lang.IllegalStateException
            dup
            ldc "Output is not set."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.resetLocal:()V
         3: .line 445
            aload 1 /* streamMetadata */
            ifnonnull 8
         4: .line 446
            aload 0 /* this */
         5: .line 447
            aload 0 /* this */
            aconst_null
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.getDefaultStreamMetadata:(Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
         6: .line 446
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
         7: .line 448
            goto 12
         8: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
         9: .line 450
            aload 0 /* this */
            ldc "javax_imageio_gif_stream_1.0"
            aload 1 /* streamMetadata */
        10: .line 451
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
        11: .line 450
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.convertMetadata:(Ljava/lang/String;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)V
        12: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
        13: .line 455
            return
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   14     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 458
            aload 0 /* this */
            invokespecial javax.imageio.ImageWriter.reset:()V
         1: .line 459
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.resetLocal:()V
         2: .line 460
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;

  private void resetLocal();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 466
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
         1: .line 467
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.wroteSequenceHeader:Z
         2: .line 468
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
         3: .line 469
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.imageIndex:I
         4: .line 470
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;

  public void setOutput(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // java.lang.Object output
         0: .line 473
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         1: .line 474
            aload 1 /* output */
            ifnull 8
         2: .line 475
            aload 1 /* output */
            instanceof javax.imageio.stream.ImageOutputStream
            ifne 5
         3: .line 477
            new java.lang.IllegalArgumentException
            dup
            ldc "output is not an ImageOutputStream"
         4: .line 476
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         6: .line 480
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokeinterface javax.imageio.stream.ImageOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         7: .line 481
            goto 9
         8: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         9: .line 484
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   10     1  output  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      output  

  public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata sm
        start local 2 // javax.imageio.IIOImage iioimage
        start local 3 // javax.imageio.ImageWriteParam p
         0: .line 489
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 490
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 492
      StackMap locals:
      StackMap stack:
            aload 2 /* iioimage */
            ifnonnull 4
         3: .line 493
            new java.lang.IllegalArgumentException
            dup
            ldc "iioimage == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 495
      StackMap locals:
      StackMap stack:
            aload 2 /* iioimage */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            ifeq 6
         5: .line 496
            new java.lang.UnsupportedOperationException
            dup
            ldc "canWriteRasters() == false!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.resetLocal:()V
         7: .line 502
            aload 1 /* sm */
            ifnonnull 11
         8: .line 504
            aload 0 /* this */
            aload 3 /* p */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.getDefaultStreamMetadata:(Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
         9: .line 503
            astore 4 /* streamMetadata */
        start local 4 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        10: .line 505
            goto 13
        end local 4 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        11: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sm */
            aload 3 /* p */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.convertStreamMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
        12: .line 506
            astore 4 /* streamMetadata */
        start local 4 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        13: .line 510
      StackMap locals: com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_1
            aload 4 /* streamMetadata */
            aload 2 /* iioimage */
            aload 3 /* p */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.write:(ZZLjavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        14: .line 511
            return
        end local 4 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        end local 3 // javax.imageio.ImageWriteParam p
        end local 2 // javax.imageio.IIOImage iioimage
        end local 1 // javax.imageio.metadata.IIOMetadata sm
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   15     1              sm  Ljavax/imageio/metadata/IIOMetadata;
            0   15     2        iioimage  Ljavax/imageio/IIOImage;
            0   15     3               p  Ljavax/imageio/ImageWriteParam;
           10   11     4  streamMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
           13   15     4  streamMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      sm        
      iioimage  
      p         

  public void writeToSequence(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // javax.imageio.IIOImage image
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 515
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 516
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* image */
            ifnonnull 4
         3: .line 519
            new java.lang.IllegalArgumentException
            dup
            ldc "image == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 521
      StackMap locals:
      StackMap stack:
            aload 1 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            ifeq 6
         5: .line 522
            new java.lang.UnsupportedOperationException
            dup
            ldc "canWriteRasters() == false!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
            ifne 8
         7: .line 525
            new java.lang.IllegalStateException
            dup
            ldc "prepareWriteSequence() was not invoked!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.wroteSequenceHeader:Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageWriter
         9: iconst_1
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter javax.imageio.IIOImage javax.imageio.ImageWriteParam
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageWriter int
        10: iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
        11: .line 529
            aload 1 /* image */
            aload 2 /* param */
        12: .line 528
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.write:(ZZLjavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        13: .line 531
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.wroteSequenceHeader:Z
            ifne 15
        14: .line 532
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.wroteSequenceHeader:Z
        15: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.imageIndex:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageWriter.imageIndex:I
        16: .line 536
            return
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.IIOImage image
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   17     1  image  Ljavax/imageio/IIOImage;
            0   17     2  param  Ljavax/imageio/ImageWriteParam;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      image  
      param  

  private boolean needToCreateIndex(java.awt.image.RenderedImage);
    descriptor: (Ljava/awt/image/RenderedImage;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // java.awt.image.RenderedImage image
         0: .line 541
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 2 /* sampleModel */
        start local 2 // java.awt.image.SampleModel sampleModel
         1: .line 542
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 3 /* colorModel */
        start local 3 // java.awt.image.ColorModel colorModel
         2: .line 544
            aload 2 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            iconst_1
            if_icmpne 6
         3: .line 545
            aload 2 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            iconst_0
            iaload
            bipush 8
            if_icmpgt 6
         4: .line 546
            aload 3 /* colorModel */
            invokevirtual java.awt.image.ColorModel.getComponentSize:()[I
            iconst_0
            iaload
            bipush 8
         5: .line 544
            if_icmpgt 6
            iconst_0
            ireturn
      StackMap locals: java.awt.image.SampleModel java.awt.image.ColorModel
      StackMap stack:
         6: iconst_1
            ireturn
        end local 3 // java.awt.image.ColorModel colorModel
        end local 2 // java.awt.image.SampleModel sampleModel
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    7     1        image  Ljava/awt/image/RenderedImage;
            1    7     2  sampleModel  Ljava/awt/image/SampleModel;
            2    7     3   colorModel  Ljava/awt/image/ColorModel;
    MethodParameters:
       Name  Flags
      image  

  private void write(boolean, boolean, javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (ZZLjavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=6
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // boolean writeHeader
        start local 2 // boolean writeTrailer
        start local 3 // javax.imageio.metadata.IIOMetadata sm
        start local 4 // javax.imageio.IIOImage iioimage
        start local 5 // javax.imageio.ImageWriteParam p
         0: .line 576
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.clearAbortRequest:()V
         1: .line 578
            aload 4 /* iioimage */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 6 /* image */
        start local 6 // java.awt.image.RenderedImage image
         2: .line 581
            aload 0 /* this */
            aload 6 /* image */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.needToCreateIndex:(Ljava/awt/image/RenderedImage;)Z
            ifeq 5
         3: .line 582
            aload 6 /* image */
            invokestatic com.sun.imageio.plugins.common.PaletteBuilder.createIndexedImage:(Ljava/awt/image/RenderedImage;)Ljava/awt/image/RenderedImage;
            astore 6 /* image */
         4: .line 583
            aload 4 /* iioimage */
            aload 6 /* image */
            invokevirtual javax.imageio.IIOImage.setRenderedImage:(Ljava/awt/image/RenderedImage;)V
         5: .line 586
      StackMap locals: java.awt.image.RenderedImage
      StackMap stack:
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 7 /* colorModel */
        start local 7 // java.awt.image.ColorModel colorModel
         6: .line 587
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 8 /* sampleModel */
        start local 8 // java.awt.image.SampleModel sampleModel
         7: .line 590
            new java.awt.Rectangle
            dup
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
         8: .line 591
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
         9: .line 592
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
        10: .line 593
            aload 6 /* image */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        11: .line 590
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 9 /* sourceBounds */
        start local 9 // java.awt.Rectangle sourceBounds
        12: .line 594
            new java.awt.Dimension
            dup
            invokespecial java.awt.Dimension.<init>:()V
            astore 10 /* destSize */
        start local 10 // java.awt.Dimension destSize
        13: .line 595
            aload 9 /* sourceBounds */
            aload 10 /* destSize */
            aload 5 /* p */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.computeRegions:(Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljavax/imageio/ImageWriteParam;)V
        14: .line 598
            aconst_null
            astore 11 /* imageMetadata */
        start local 11 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
        15: .line 599
            aload 4 /* iioimage */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            ifnull 33
        16: .line 600
            new com.sun.imageio.plugins.gif.GIFWritableImageMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFWritableImageMetadata.<init>:()V
            astore 11 /* imageMetadata */
        17: .line 601
            aload 0 /* this */
            ldc "javax_imageio_gif_image_1.0"
            aload 4 /* iioimage */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
        18: .line 602
            aload 11 /* imageMetadata */
        19: .line 601
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.convertMetadata:(Ljava/lang/String;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)V
        20: .line 610
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
            ifnonnull 33
        21: .line 611
            aload 11 /* imageMetadata */
        22: .line 612
            aload 7 /* colorModel */
            aload 8 /* sampleModel */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.createColorTable:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)[B
        23: .line 611
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
        24: .line 616
            aload 7 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 33
        25: .line 618
            aload 7 /* colorModel */
            checkcast java.awt.image.IndexColorModel
        26: .line 617
            astore 12 /* icm */
        start local 12 // java.awt.image.IndexColorModel icm
        27: .line 619
            aload 12 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
            istore 13 /* index */
        start local 13 // int index
        28: .line 620
            aload 11 /* imageMetadata */
            iload 13 /* index */
            iconst_m1
            if_icmpeq 29
            iconst_1
            goto 30
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter int int javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.ColorModel java.awt.image.SampleModel java.awt.Rectangle java.awt.Dimension com.sun.imageio.plugins.gif.GIFWritableImageMetadata java.awt.image.IndexColorModel int
      StackMap stack: com.sun.imageio.plugins.gif.GIFWritableImageMetadata
        29: iconst_0
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter int int javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.ColorModel java.awt.image.SampleModel java.awt.Rectangle java.awt.Dimension com.sun.imageio.plugins.gif.GIFWritableImageMetadata java.awt.image.IndexColorModel int
      StackMap stack: com.sun.imageio.plugins.gif.GIFWritableImageMetadata int
        30: putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorFlag:Z
        31: .line 621
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorFlag:Z
            ifeq 33
        32: .line 622
            aload 11 /* imageMetadata */
            iload 13 /* index */
            putfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorIndex:I
        end local 13 // int index
        end local 12 // java.awt.image.IndexColorModel icm
        33: .line 635
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 12 /* globalColorTable */
        start local 12 // byte[] globalColorTable
        34: .line 639
            iload 1 /* writeHeader */
            ifeq 80
        35: .line 640
            aload 3 /* sm */
            ifnonnull 37
        36: .line 641
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot write null header!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 645
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* sm */
            checkcast com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
        38: .line 644
            astore 13 /* streamMetadata */
        start local 13 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        39: .line 648
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.version:Ljava/lang/String;
            ifnonnull 41
        40: .line 649
            aload 13 /* streamMetadata */
            ldc "89a"
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.version:Ljava/lang/String;
        41: .line 653
      StackMap locals: com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
      StackMap stack:
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.logicalScreenWidth:I
        42: .line 654
            iconst_m1
        43: .line 653
            if_icmpne 45
        44: .line 656
            aload 13 /* streamMetadata */
            aload 10 /* destSize */
            getfield java.awt.Dimension.width:I
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.logicalScreenWidth:I
        45: .line 659
      StackMap locals:
      StackMap stack:
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.logicalScreenHeight:I
        46: .line 660
            iconst_m1
        47: .line 659
            if_icmpne 49
        48: .line 662
            aload 13 /* streamMetadata */
            aload 10 /* destSize */
            getfield java.awt.Dimension.height:I
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.logicalScreenHeight:I
        49: .line 665
      StackMap locals:
      StackMap stack:
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.colorResolution:I
        50: .line 666
            iconst_m1
        51: .line 665
            if_icmpne 56
        52: .line 668
            aload 13 /* streamMetadata */
            aload 7 /* colorModel */
            ifnull 54
        53: .line 669
            aload 7 /* colorModel */
            invokevirtual java.awt.image.ColorModel.getComponentSize:()[I
            iconst_0
            iaload
            goto 55
        54: .line 670
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
            aload 8 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            iconst_0
            iaload
        55: .line 668
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter int int javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.ColorModel java.awt.image.SampleModel java.awt.Rectangle java.awt.Dimension com.sun.imageio.plugins.gif.GIFWritableImageMetadata byte[] com.sun.imageio.plugins.gif.GIFWritableStreamMetadata
      StackMap stack: com.sun.imageio.plugins.gif.GIFWritableStreamMetadata int
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.colorResolution:I
        56: .line 675
      StackMap locals:
      StackMap stack:
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.globalColorTable:[B
            ifnonnull 68
        57: .line 676
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
            ifeq 63
            aload 11 /* imageMetadata */
            ifnull 63
        58: .line 677
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
            ifnull 63
        59: .line 680
            aload 13 /* streamMetadata */
        60: .line 681
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
        61: .line 680
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.globalColorTable:[B
        62: .line 682
            goto 68
      StackMap locals:
      StackMap stack:
        63: aload 11 /* imageMetadata */
            ifnull 65
        64: .line 683
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
            ifnonnull 68
        65: .line 685
      StackMap locals:
      StackMap stack:
            aload 13 /* streamMetadata */
        66: .line 686
            aload 7 /* colorModel */
            aload 8 /* sampleModel */
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.createColorTable:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)[B
        67: .line 685
            putfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.globalColorTable:[B
        68: .line 699
      StackMap locals:
      StackMap stack:
            aload 13 /* streamMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.globalColorTable:[B
            astore 12 /* globalColorTable */
        69: .line 703
            aload 12 /* globalColorTable */
            ifnull 72
        70: .line 704
            aload 12 /* globalColorTable */
            arraylength
            iconst_3
            idiv
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.getNumBits:(I)I
            istore 14 /* bitsPerPixel */
        start local 14 // int bitsPerPixel
        71: .line 705
            goto 78
        end local 14 // int bitsPerPixel
      StackMap locals:
      StackMap stack:
        72: aload 11 /* imageMetadata */
            ifnull 77
        73: .line 706
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
            ifnull 77
        74: .line 708
            aload 11 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
            arraylength
            iconst_3
            idiv
            invokestatic com.sun.imageio.plugins.gif.GIFImageWriter.getNumBits:(I)I
        75: .line 707
            istore 14 /* bitsPerPixel */
        start local 14 // int bitsPerPixel
        76: .line 709
            goto 78
        end local 14 // int bitsPerPixel
        77: .line 710
      StackMap locals:
      StackMap stack:
            aload 8 /* sampleModel */
            iconst_0
            invokevirtual java.awt.image.SampleModel.getSampleSize:(I)I
            istore 14 /* bitsPerPixel */
        start local 14 // int bitsPerPixel
        78: .line 712
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 13 /* streamMetadata */
            iload 14 /* bitsPerPixel */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeHeader:(Ljavax/imageio/metadata/IIOMetadata;I)V
        end local 14 // int bitsPerPixel
        end local 13 // com.sun.imageio.plugins.gif.GIFWritableStreamMetadata streamMetadata
        79: .line 713
            goto 84
      StackMap locals:
      StackMap stack:
        80: aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.isWritingSequence:Z
            ifeq 83
        81: .line 714
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.theStreamMetadata:Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
            getfield com.sun.imageio.plugins.gif.GIFWritableStreamMetadata.globalColorTable:[B
            astore 12 /* globalColorTable */
        82: .line 715
            goto 84
        83: .line 716
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Must write header for single image!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        84: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* iioimage */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            aload 11 /* imageMetadata */
            aload 5 /* p */
        85: .line 721
            aload 12 /* globalColorTable */
            aload 9 /* sourceBounds */
            aload 10 /* destSize */
        86: .line 720
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeImage:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;Ljavax/imageio/ImageWriteParam;[BLjava/awt/Rectangle;Ljava/awt/Dimension;)V
        87: .line 724
            iload 2 /* writeTrailer */
            ifeq 89
        88: .line 725
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeTrailer:()V
        89: .line 727
      StackMap locals:
      StackMap stack:
            return
        end local 12 // byte[] globalColorTable
        end local 11 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
        end local 10 // java.awt.Dimension destSize
        end local 9 // java.awt.Rectangle sourceBounds
        end local 8 // java.awt.image.SampleModel sampleModel
        end local 7 // java.awt.image.ColorModel colorModel
        end local 6 // java.awt.image.RenderedImage image
        end local 5 // javax.imageio.ImageWriteParam p
        end local 4 // javax.imageio.IIOImage iioimage
        end local 3 // javax.imageio.metadata.IIOMetadata sm
        end local 2 // boolean writeTrailer
        end local 1 // boolean writeHeader
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   90     0              this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   90     1       writeHeader  Z
            0   90     2      writeTrailer  Z
            0   90     3                sm  Ljavax/imageio/metadata/IIOMetadata;
            0   90     4          iioimage  Ljavax/imageio/IIOImage;
            0   90     5                 p  Ljavax/imageio/ImageWriteParam;
            2   90     6             image  Ljava/awt/image/RenderedImage;
            6   90     7        colorModel  Ljava/awt/image/ColorModel;
            7   90     8       sampleModel  Ljava/awt/image/SampleModel;
           12   90     9      sourceBounds  Ljava/awt/Rectangle;
           13   90    10          destSize  Ljava/awt/Dimension;
           15   90    11     imageMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
           27   33    12               icm  Ljava/awt/image/IndexColorModel;
           28   33    13             index  I
           34   90    12  globalColorTable  [B
           39   79    13    streamMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableStreamMetadata;
           71   72    14      bitsPerPixel  I
           76   77    14      bitsPerPixel  I
           78   79    14      bitsPerPixel  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      writeHeader   
      writeTrailer  
      sm            
      iioimage      
      p             

  private void writeImage(java.awt.image.RenderedImage, com.sun.imageio.plugins.gif.GIFWritableImageMetadata, javax.imageio.ImageWriteParam, byte[], java.awt.Rectangle, java.awt.Dimension);
    descriptor: (Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;Ljavax/imageio/ImageWriteParam;[BLjava/awt/Rectangle;Ljava/awt/Dimension;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 757
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNodeList cannot be resolved to a type\n\tThe method getAsTree(String) from the type GIFImageMetadata refers to the missing type Node\n\tThe method getElementsByTagName(String) from the type IIOMetadataNode refers to the missing type NodeList\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      image             
      imageMetadata     
      param             
      globalColorTable  
      sourceBounds      
      destSize          

  private void writeRows(java.awt.image.RenderedImage, com.sun.imageio.plugins.common.LZWCompressor, int, int, int, int, int, int, int, int, int, int, int);
    descriptor: (Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=20, args_size=14
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // java.awt.image.RenderedImage image
        start local 2 // com.sun.imageio.plugins.common.LZWCompressor compressor
        start local 3 // int sx
        start local 4 // int sdx
        start local 5 // int sy
        start local 6 // int sdy
        start local 7 // int sw
        start local 8 // int dy
        start local 9 // int ddy
        start local 10 // int dw
        start local 11 // int dh
        start local 12 // int numRowsWritten
        start local 13 // int progressReportRowPeriod
         0: .line 823
            iload 7 /* sw */
            newarray 10
            astore 14 /* sbuf */
        start local 14 // int[] sbuf
         1: .line 824
            iload 10 /* dw */
            newarray 8
            astore 15 /* dbuf */
        start local 15 // byte[] dbuf
         2: .line 827
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getNumXTiles:()I
            iconst_1
            if_icmpne 4
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getNumYTiles:()I
            iconst_1
            if_icmpne 4
         3: .line 828
            aload 1 /* image */
            iconst_0
            iconst_0
            invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
            goto 5
      StackMap locals: int[] byte[]
      StackMap stack:
         4: aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getData:()Ljava/awt/image/Raster;
         5: .line 826
      StackMap locals:
      StackMap stack: java.awt.image.Raster
            astore 16 /* raster */
        start local 16 // java.awt.image.Raster raster
         6: .line 829
            iload 8 /* dy */
            istore 17 /* y */
        start local 17 // int y
         7: goto 24
         8: .line 830
      StackMap locals: java.awt.image.Raster int
      StackMap stack:
            iload 12 /* numRowsWritten */
            iload 13 /* progressReportRowPeriod */
            irem
            ifne 13
         9: .line 831
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 12
        10: .line 832
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processWriteAborted:()V
        11: .line 833
            return
        12: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 12 /* numRowsWritten */
            i2f
            ldc 100.0
            fmul
            iload 11 /* dh */
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processImageProgress:(F)V
        13: .line 838
      StackMap locals:
      StackMap stack:
            aload 16 /* raster */
            iload 3 /* sx */
            iload 5 /* sy */
            iload 7 /* sw */
            iconst_1
            iconst_0
            aload 14 /* sbuf */
            invokevirtual java.awt.image.Raster.getSamples:(IIIII[I)[I
            pop
        14: .line 839
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        15: iconst_0
            istore 19 /* j */
        start local 19 // int j
        16: goto 19
        17: .line 840
      StackMap locals: int int
      StackMap stack:
            aload 15 /* dbuf */
            iload 18 /* i */
            aload 14 /* sbuf */
            iload 19 /* j */
            iaload
            i2b
            bastore
        18: .line 839
            iinc 18 /* i */ 1
            iload 19 /* j */
            iload 4 /* sdx */
            iadd
            istore 19 /* j */
      StackMap locals:
      StackMap stack:
        19: iload 18 /* i */
            iload 10 /* dw */
            if_icmplt 17
        end local 19 // int j
        end local 18 // int i
        20: .line 842
            aload 2 /* compressor */
            aload 15 /* dbuf */
            iconst_0
            iload 10 /* dw */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
        21: .line 843
            iinc 12 /* numRowsWritten */ 1
        22: .line 844
            iload 5 /* sy */
            iload 6 /* sdy */
            iadd
            istore 5 /* sy */
        23: .line 829
            iload 17 /* y */
            iload 9 /* ddy */
            iadd
            istore 17 /* y */
      StackMap locals:
      StackMap stack:
        24: iload 17 /* y */
            iload 11 /* dh */
            if_icmplt 8
        end local 17 // int y
        25: .line 846
            return
        end local 16 // java.awt.image.Raster raster
        end local 15 // byte[] dbuf
        end local 14 // int[] sbuf
        end local 13 // int progressReportRowPeriod
        end local 12 // int numRowsWritten
        end local 11 // int dh
        end local 10 // int dw
        end local 9 // int ddy
        end local 8 // int dy
        end local 7 // int sw
        end local 6 // int sdy
        end local 5 // int sy
        end local 4 // int sdx
        end local 3 // int sx
        end local 2 // com.sun.imageio.plugins.common.LZWCompressor compressor
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   26     0                     this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   26     1                    image  Ljava/awt/image/RenderedImage;
            0   26     2               compressor  Lcom/sun/imageio/plugins/common/LZWCompressor;
            0   26     3                       sx  I
            0   26     4                      sdx  I
            0   26     5                       sy  I
            0   26     6                      sdy  I
            0   26     7                       sw  I
            0   26     8                       dy  I
            0   26     9                      ddy  I
            0   26    10                       dw  I
            0   26    11                       dh  I
            0   26    12           numRowsWritten  I
            0   26    13  progressReportRowPeriod  I
            1   26    14                     sbuf  [I
            2   26    15                     dbuf  [B
            6   26    16                   raster  Ljava/awt/image/Raster;
            7   25    17                        y  I
           15   20    18                        i  I
           16   20    19                        j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                         Name  Flags
      image                    
      compressor               
      sx                       
      sdx                      
      sy                       
      sdy                      
      sw                       
      dy                       
      ddy                      
      dw                       
      dh                       
      numRowsWritten           
      progressReportRowPeriod  

  private void writeRowsOpt(byte[], int, int, com.sun.imageio.plugins.common.LZWCompressor, int, int, int, int, int, int);
    descriptor: ([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=11
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // byte[] data
        start local 2 // int offset
        start local 3 // int lineStride
        start local 4 // com.sun.imageio.plugins.common.LZWCompressor compressor
        start local 5 // int dy
        start local 6 // int ddy
        start local 7 // int dw
        start local 8 // int dh
        start local 9 // int numRowsWritten
        start local 10 // int progressReportRowPeriod
         0: .line 855
            iload 2 /* offset */
            iload 5 /* dy */
            iload 3 /* lineStride */
            imul
            iadd
            istore 2 /* offset */
         1: .line 856
            iload 3 /* lineStride */
            iload 6 /* ddy */
            imul
            istore 3 /* lineStride */
         2: .line 857
            iload 5 /* dy */
            istore 11 /* y */
        start local 11 // int y
         3: goto 13
         4: .line 858
      StackMap locals: int
      StackMap stack:
            iload 9 /* numRowsWritten */
            iload 10 /* progressReportRowPeriod */
            irem
            ifne 9
         5: .line 859
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 8
         6: .line 860
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processWriteAborted:()V
         7: .line 861
            return
         8: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* numRowsWritten */
            i2f
            ldc 100.0
            fmul
            iload 8 /* dh */
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processImageProgress:(F)V
         9: .line 866
      StackMap locals:
      StackMap stack:
            aload 4 /* compressor */
            aload 1 /* data */
            iload 2 /* offset */
            iload 7 /* dw */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
        10: .line 867
            iinc 9 /* numRowsWritten */ 1
        11: .line 868
            iload 2 /* offset */
            iload 3 /* lineStride */
            iadd
            istore 2 /* offset */
        12: .line 857
            iload 11 /* y */
            iload 6 /* ddy */
            iadd
            istore 11 /* y */
      StackMap locals:
      StackMap stack:
        13: iload 11 /* y */
            iload 8 /* dh */
            if_icmplt 4
        end local 11 // int y
        14: .line 870
            return
        end local 10 // int progressReportRowPeriod
        end local 9 // int numRowsWritten
        end local 8 // int dh
        end local 7 // int dw
        end local 6 // int ddy
        end local 5 // int dy
        end local 4 // com.sun.imageio.plugins.common.LZWCompressor compressor
        end local 3 // int lineStride
        end local 2 // int offset
        end local 1 // byte[] data
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   15     0                     this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   15     1                     data  [B
            0   15     2                   offset  I
            0   15     3               lineStride  I
            0   15     4               compressor  Lcom/sun/imageio/plugins/common/LZWCompressor;
            0   15     5                       dy  I
            0   15     6                      ddy  I
            0   15     7                       dw  I
            0   15     8                       dh  I
            0   15     9           numRowsWritten  I
            0   15    10  progressReportRowPeriod  I
            3   14    11                        y  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                         Name  Flags
      data                     
      offset                   
      lineStride               
      compressor               
      dy                       
      ddy                      
      dw                       
      dh                       
      numRowsWritten           
      progressReportRowPeriod  

  private void writeRasterData(java.awt.image.RenderedImage, java.awt.Rectangle, java.awt.Dimension, javax.imageio.ImageWriteParam, boolean);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/awt/Rectangle;Ljava/awt/Dimension;Ljavax/imageio/ImageWriteParam;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=25, args_size=6
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // java.awt.image.RenderedImage image
        start local 2 // java.awt.Rectangle sourceBounds
        start local 3 // java.awt.Dimension destSize
        start local 4 // javax.imageio.ImageWriteParam param
        start local 5 // boolean interlaceFlag
         0: .line 878
            aload 2 /* sourceBounds */
            getfield java.awt.Rectangle.x:I
            istore 6 /* sourceXOffset */
        start local 6 // int sourceXOffset
         1: .line 879
            aload 2 /* sourceBounds */
            getfield java.awt.Rectangle.y:I
            istore 7 /* sourceYOffset */
        start local 7 // int sourceYOffset
         2: .line 880
            aload 2 /* sourceBounds */
            getfield java.awt.Rectangle.width:I
            istore 8 /* sourceWidth */
        start local 8 // int sourceWidth
         3: .line 881
            aload 2 /* sourceBounds */
            getfield java.awt.Rectangle.height:I
            pop
         4: .line 883
            aload 3 /* destSize */
            getfield java.awt.Dimension.width:I
            istore 9 /* destWidth */
        start local 9 // int destWidth
         5: .line 884
            aload 3 /* destSize */
            getfield java.awt.Dimension.height:I
            istore 10 /* destHeight */
        start local 10 // int destHeight
         6: .line 888
            aload 4 /* param */
            ifnonnull 10
         7: .line 889
            iconst_1
            istore 11 /* periodX */
        start local 11 // int periodX
         8: .line 890
            iconst_1
            istore 12 /* periodY */
        start local 12 // int periodY
         9: .line 891
            goto 12
        end local 12 // int periodY
        end local 11 // int periodX
        10: .line 892
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter java.awt.image.RenderedImage java.awt.Rectangle java.awt.Dimension javax.imageio.ImageWriteParam int int int int int int
      StackMap stack:
            aload 4 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            istore 11 /* periodX */
        start local 11 // int periodX
        11: .line 893
            aload 4 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            istore 12 /* periodY */
        start local 12 // int periodY
        12: .line 896
      StackMap locals: int int
      StackMap stack:
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        start local 13 // java.awt.image.SampleModel sampleModel
        13: .line 897
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            iconst_0
            iaload
            istore 14 /* bitsPerPixel */
        start local 14 // int bitsPerPixel
        14: .line 899
            iload 14 /* bitsPerPixel */
            istore 15 /* initCodeSize */
        start local 15 // int initCodeSize
        15: .line 900
            iload 15 /* initCodeSize */
            iconst_1
            if_icmpne 17
        16: .line 901
            iinc 15 /* initCodeSize */ 1
        17: .line 903
      StackMap locals: java.awt.image.SampleModel int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 15 /* initCodeSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        18: .line 906
            new com.sun.imageio.plugins.common.LZWCompressor
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 15 /* initCodeSize */
            iconst_0
            invokespecial com.sun.imageio.plugins.common.LZWCompressor.<init>:(Ljavax/imageio/stream/ImageOutputStream;IZ)V
        19: .line 905
            astore 16 /* compressor */
        start local 16 // com.sun.imageio.plugins.common.LZWCompressor compressor
        20: .line 909
            iload 11 /* periodX */
            iconst_1
            if_icmpne 25
            iload 12 /* periodY */
            iconst_1
            if_icmpne 25
        21: .line 910
            aload 13 /* sampleModel */
            instanceof java.awt.image.ComponentSampleModel
            ifeq 25
        22: .line 911
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getNumXTiles:()I
            iconst_1
            if_icmpne 25
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getNumYTiles:()I
            iconst_1
            if_icmpne 25
        23: .line 912
            aload 1 /* image */
            iconst_0
            iconst_0
            invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            instanceof java.awt.image.DataBufferByte
            ifeq 25
        24: .line 908
            iconst_1
            goto 26
      StackMap locals: com.sun.imageio.plugins.common.LZWCompressor
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 17 /* isOptimizedCase */
        start local 17 // boolean isOptimizedCase
        27: .line 914
            iconst_0
            istore 18 /* numRowsWritten */
        start local 18 // int numRowsWritten
        28: .line 916
            iload 10 /* destHeight */
            bipush 20
            idiv
            iconst_1
            invokestatic java.lang.Math.max:(II)I
            istore 19 /* progressReportRowPeriod */
        start local 19 // int progressReportRowPeriod
        29: .line 918
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.imageIndex:I
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processImageStarted:(I)V
        30: .line 920
            iload 5 /* interlaceFlag */
            ifeq 99
        31: .line 923
            iload 17 /* isOptimizedCase */
            ifeq 64
        32: .line 924
            aload 1 /* image */
            iconst_0
            iconst_0
            invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
            astore 20 /* tile */
        start local 20 // java.awt.image.Raster tile
        33: .line 925
            aload 20 /* tile */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferByte
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
            astore 21 /* data */
        start local 21 // byte[] data
        34: .line 927
            aload 20 /* tile */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            checkcast java.awt.image.ComponentSampleModel
        35: .line 926
            astore 22 /* csm */
        start local 22 // java.awt.image.ComponentSampleModel csm
        36: .line 928
            aload 22 /* csm */
            iload 6 /* sourceXOffset */
            iload 7 /* sourceYOffset */
            iconst_0
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 23 /* offset */
        start local 23 // int offset
        37: .line 929
            aload 22 /* csm */
            invokevirtual java.awt.image.ComponentSampleModel.getScanlineStride:()I
            istore 24 /* lineStride */
        start local 24 // int lineStride
        38: .line 931
            aload 0 /* this */
            aload 21 /* data */
            iload 23 /* offset */
            iload 24 /* lineStride */
            aload 16 /* compressor */
        39: .line 932
            iconst_0
            bipush 8
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        40: .line 933
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        41: .line 931
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRowsOpt:([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
        42: .line 935
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 44
        43: .line 936
            return
        44: .line 939
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter java.awt.image.RenderedImage java.awt.Rectangle java.awt.Dimension javax.imageio.ImageWriteParam int int int int int int int int java.awt.image.SampleModel int int com.sun.imageio.plugins.common.LZWCompressor int int int java.awt.image.Raster byte[] java.awt.image.ComponentSampleModel int int
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            bipush 8
            idiv
            iadd
            istore 18 /* numRowsWritten */
        45: .line 941
            aload 0 /* this */
            aload 21 /* data */
            iload 23 /* offset */
            iload 24 /* lineStride */
            aload 16 /* compressor */
        46: .line 942
            iconst_4
            bipush 8
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        47: .line 943
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        48: .line 941
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRowsOpt:([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
        49: .line 945
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 51
        50: .line 946
            return
        51: .line 949
      StackMap locals:
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            iconst_4
            isub
            bipush 8
            idiv
            iadd
            istore 18 /* numRowsWritten */
        52: .line 951
            aload 0 /* this */
            aload 21 /* data */
            iload 23 /* offset */
            iload 24 /* lineStride */
            aload 16 /* compressor */
        53: .line 952
            iconst_2
            iconst_4
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        54: .line 953
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        55: .line 951
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRowsOpt:([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
        56: .line 955
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 58
        57: .line 956
            return
        58: .line 959
      StackMap locals:
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            iconst_2
            isub
            iconst_4
            idiv
            iadd
            istore 18 /* numRowsWritten */
        59: .line 961
            aload 0 /* this */
            aload 21 /* data */
            iload 23 /* offset */
            iload 24 /* lineStride */
            aload 16 /* compressor */
        60: .line 962
            iconst_1
            iconst_2
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        61: .line 963
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        62: .line 961
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRowsOpt:([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
        end local 24 // int lineStride
        end local 23 // int offset
        end local 22 // java.awt.image.ComponentSampleModel csm
        end local 21 // byte[] data
        end local 20 // java.awt.image.Raster tile
        63: .line 964
            goto 118
        64: .line 965
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter java.awt.image.RenderedImage java.awt.Rectangle java.awt.Dimension javax.imageio.ImageWriteParam int int int int int int int int java.awt.image.SampleModel int int com.sun.imageio.plugins.common.LZWCompressor int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            aload 16 /* compressor */
        65: .line 966
            iload 6 /* sourceXOffset */
            iload 11 /* periodX */
        66: .line 967
            iload 7 /* sourceYOffset */
            bipush 8
            iload 12 /* periodY */
            imul
        67: .line 968
            iload 8 /* sourceWidth */
        68: .line 969
            iconst_0
            bipush 8
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        69: .line 970
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        70: .line 965
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRows:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
        71: .line 972
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 73
        72: .line 973
            return
        73: .line 976
      StackMap locals:
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            bipush 8
            idiv
            iadd
            istore 18 /* numRowsWritten */
        74: .line 978
            aload 0 /* this */
            aload 1 /* image */
            aload 16 /* compressor */
            iload 6 /* sourceXOffset */
            iload 11 /* periodX */
        75: .line 979
            iload 7 /* sourceYOffset */
            iconst_4
            iload 12 /* periodY */
            imul
            iadd
            bipush 8
            iload 12 /* periodY */
            imul
        76: .line 980
            iload 8 /* sourceWidth */
        77: .line 981
            iconst_4
            bipush 8
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        78: .line 982
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        79: .line 978
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRows:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
        80: .line 984
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 82
        81: .line 985
            return
        82: .line 988
      StackMap locals:
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            iconst_4
            isub
            bipush 8
            idiv
            iadd
            istore 18 /* numRowsWritten */
        83: .line 990
            aload 0 /* this */
            aload 1 /* image */
            aload 16 /* compressor */
            iload 6 /* sourceXOffset */
            iload 11 /* periodX */
        84: .line 991
            iload 7 /* sourceYOffset */
            iconst_2
            iload 12 /* periodY */
            imul
            iadd
            iconst_4
            iload 12 /* periodY */
            imul
        85: .line 992
            iload 8 /* sourceWidth */
        86: .line 993
            iconst_2
            iconst_4
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        87: .line 994
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        88: .line 990
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRows:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
        89: .line 996
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 91
        90: .line 997
            return
        91: .line 1000
      StackMap locals:
      StackMap stack:
            iload 18 /* numRowsWritten */
            iload 10 /* destHeight */
            iconst_2
            isub
            iconst_4
            idiv
            iadd
            istore 18 /* numRowsWritten */
        92: .line 1002
            aload 0 /* this */
            aload 1 /* image */
            aload 16 /* compressor */
            iload 6 /* sourceXOffset */
            iload 11 /* periodX */
        93: .line 1003
            iload 7 /* sourceYOffset */
            iload 12 /* periodY */
            iadd
            iconst_2
            iload 12 /* periodY */
            imul
        94: .line 1004
            iload 8 /* sourceWidth */
        95: .line 1005
            iconst_1
            iconst_2
            iload 9 /* destWidth */
            iload 10 /* destHeight */
        96: .line 1006
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
        97: .line 1002
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRows:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
        98: .line 1008
            goto 118
        99: .line 1011
      StackMap locals:
      StackMap stack:
            iload 17 /* isOptimizedCase */
            ifeq 111
       100: .line 1012
            aload 1 /* image */
            iconst_0
            iconst_0
            invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
            astore 20 /* tile */
        start local 20 // java.awt.image.Raster tile
       101: .line 1013
            aload 20 /* tile */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferByte
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
            astore 21 /* data */
        start local 21 // byte[] data
       102: .line 1015
            aload 20 /* tile */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            checkcast java.awt.image.ComponentSampleModel
       103: .line 1014
            astore 22 /* csm */
        start local 22 // java.awt.image.ComponentSampleModel csm
       104: .line 1016
            aload 22 /* csm */
            iload 6 /* sourceXOffset */
            iload 7 /* sourceYOffset */
            iconst_0
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 23 /* offset */
        start local 23 // int offset
       105: .line 1017
            aload 22 /* csm */
            invokevirtual java.awt.image.ComponentSampleModel.getScanlineStride:()I
            istore 24 /* lineStride */
        start local 24 // int lineStride
       106: .line 1019
            aload 0 /* this */
            aload 21 /* data */
            iload 23 /* offset */
            iload 24 /* lineStride */
            aload 16 /* compressor */
       107: .line 1020
            iconst_0
            iconst_1
            iload 9 /* destWidth */
            iload 10 /* destHeight */
       108: .line 1021
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
       109: .line 1019
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRowsOpt:([BIILcom/sun/imageio/plugins/common/LZWCompressor;IIIIII)V
        end local 24 // int lineStride
        end local 23 // int offset
        end local 22 // java.awt.image.ComponentSampleModel csm
        end local 21 // byte[] data
        end local 20 // java.awt.image.Raster tile
       110: .line 1022
            goto 118
       111: .line 1023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            aload 16 /* compressor */
       112: .line 1024
            iload 6 /* sourceXOffset */
            iload 11 /* periodX */
       113: .line 1025
            iload 7 /* sourceYOffset */
            iload 12 /* periodY */
       114: .line 1026
            iload 8 /* sourceWidth */
       115: .line 1027
            iconst_0
            iconst_1
            iload 9 /* destWidth */
            iload 10 /* destHeight */
       116: .line 1028
            iload 18 /* numRowsWritten */
            iload 19 /* progressReportRowPeriod */
       117: .line 1023
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeRows:(Ljava/awt/image/RenderedImage;Lcom/sun/imageio/plugins/common/LZWCompressor;IIIIIIIIIII)V
       118: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.abortRequested:()Z
            ifeq 120
       119: .line 1033
            return
       120: .line 1036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 100.0
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processImageProgress:(F)V
       121: .line 1038
            aload 16 /* compressor */
            invokevirtual com.sun.imageio.plugins.common.LZWCompressor.flush:()V
       122: .line 1040
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
       123: .line 1042
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.processImageComplete:()V
       124: .line 1043
            return
        end local 19 // int progressReportRowPeriod
        end local 18 // int numRowsWritten
        end local 17 // boolean isOptimizedCase
        end local 16 // com.sun.imageio.plugins.common.LZWCompressor compressor
        end local 15 // int initCodeSize
        end local 14 // int bitsPerPixel
        end local 13 // java.awt.image.SampleModel sampleModel
        end local 12 // int periodY
        end local 11 // int periodX
        end local 10 // int destHeight
        end local 9 // int destWidth
        end local 8 // int sourceWidth
        end local 7 // int sourceYOffset
        end local 6 // int sourceXOffset
        end local 5 // boolean interlaceFlag
        end local 4 // javax.imageio.ImageWriteParam param
        end local 3 // java.awt.Dimension destSize
        end local 2 // java.awt.Rectangle sourceBounds
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  125     0                     this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0  125     1                    image  Ljava/awt/image/RenderedImage;
            0  125     2             sourceBounds  Ljava/awt/Rectangle;
            0  125     3                 destSize  Ljava/awt/Dimension;
            0  125     4                    param  Ljavax/imageio/ImageWriteParam;
            0  125     5            interlaceFlag  Z
            1  125     6            sourceXOffset  I
            2  125     7            sourceYOffset  I
            3  125     8              sourceWidth  I
            5  125     9                destWidth  I
            6  125    10               destHeight  I
            8   10    11                  periodX  I
           11  125    11                  periodX  I
            9   10    12                  periodY  I
           12  125    12                  periodY  I
           13  125    13              sampleModel  Ljava/awt/image/SampleModel;
           14  125    14             bitsPerPixel  I
           15  125    15             initCodeSize  I
           20  125    16               compressor  Lcom/sun/imageio/plugins/common/LZWCompressor;
           27  125    17          isOptimizedCase  Z
           28  125    18           numRowsWritten  I
           29  125    19  progressReportRowPeriod  I
           33   63    20                     tile  Ljava/awt/image/Raster;
           34   63    21                     data  [B
           36   63    22                      csm  Ljava/awt/image/ComponentSampleModel;
           37   63    23                   offset  I
           38   63    24               lineStride  I
          101  110    20                     tile  Ljava/awt/image/Raster;
          102  110    21                     data  [B
          104  110    22                      csm  Ljava/awt/image/ComponentSampleModel;
          105  110    23                   offset  I
          106  110    24               lineStride  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      image          
      sourceBounds   
      destSize       
      param          
      interlaceFlag  

  private void writeHeader(java.lang.String, int, int, int, int, int, boolean, int, byte[]);
    descriptor: (Ljava/lang/String;IIIIIZI[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=10
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // java.lang.String version
        start local 2 // int logicalScreenWidth
        start local 3 // int logicalScreenHeight
        start local 4 // int colorResolution
        start local 5 // int pixelAspectRatio
        start local 6 // int backgroundColorIndex
        start local 7 // boolean sortFlag
        start local 8 // int bitsPerPixel
        start local 9 // byte[] globalColorTable
         0: .line 1056
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            new java.lang.StringBuilder
            dup
            ldc "GIF"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* version */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javax.imageio.stream.ImageOutputStream.writeBytes:(Ljava/lang/String;)V
         1: .line 1060
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* logicalScreenWidth */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         2: .line 1063
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* logicalScreenHeight */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         3: .line 1067
            aload 9 /* globalColorTable */
            ifnull 4
            sipush 128
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 10 /* packedFields */
        start local 10 // int packedFields
         6: .line 1068
            iload 10 /* packedFields */
            iload 4 /* colorResolution */
            iconst_1
            isub
            bipush 7
            iand
            iconst_4
            ishl
            ior
            istore 10 /* packedFields */
         7: .line 1069
            iload 7 /* sortFlag */
            ifeq 9
         8: .line 1070
            iload 10 /* packedFields */
            bipush 8
            ior
            istore 10 /* packedFields */
         9: .line 1072
      StackMap locals: int
      StackMap stack:
            iload 10 /* packedFields */
            iload 8 /* bitsPerPixel */
            iconst_1
            isub
            ior
            istore 10 /* packedFields */
        10: .line 1073
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 10 /* packedFields */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        11: .line 1076
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* backgroundColorIndex */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        12: .line 1079
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 5 /* pixelAspectRatio */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        13: .line 1082
            aload 9 /* globalColorTable */
            ifnull 18
        14: .line 1083
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 9 /* globalColorTable */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
        end local 10 // int packedFields
        15: .line 1085
            goto 18
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter java.lang.String int int int int int int int byte[]
      StackMap stack: java.io.IOException
        16: astore 10 /* e */
        start local 10 // java.io.IOException e
        17: .line 1086
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing header!"
            aload 10 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.io.IOException e
        18: .line 1088
      StackMap locals:
      StackMap stack:
            return
        end local 9 // byte[] globalColorTable
        end local 8 // int bitsPerPixel
        end local 7 // boolean sortFlag
        end local 6 // int backgroundColorIndex
        end local 5 // int pixelAspectRatio
        end local 4 // int colorResolution
        end local 3 // int logicalScreenHeight
        end local 2 // int logicalScreenWidth
        end local 1 // java.lang.String version
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   19     1               version  Ljava/lang/String;
            0   19     2    logicalScreenWidth  I
            0   19     3   logicalScreenHeight  I
            0   19     4       colorResolution  I
            0   19     5      pixelAspectRatio  I
            0   19     6  backgroundColorIndex  I
            0   19     7              sortFlag  Z
            0   19     8          bitsPerPixel  I
            0   19     9      globalColorTable  [B
            6   15    10          packedFields  I
           17   18    10                     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    15      16  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      version               
      logicalScreenWidth    
      logicalScreenHeight   
      colorResolution       
      pixelAspectRatio      
      backgroundColorIndex  
      sortFlag              
      bitsPerPixel          
      globalColorTable      

  private void writeHeader(javax.imageio.metadata.IIOMetadata, int);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 1098
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNode cannot be resolved to a type\n\tThe method getAsTree(String) from the type IIOMetadata refers to the missing type Node\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      bitsPerPixel    

  private void writeGraphicControlExtension(int, boolean, boolean, int, int);
    descriptor: (IZZII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // int disposalMethod
        start local 2 // boolean userInputFlag
        start local 3 // boolean transparentColorFlag
        start local 4 // int delayTime
        start local 5 // int transparentColorIndex
         0: .line 1121
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 33
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         1: .line 1122
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            sipush 249
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         2: .line 1124
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_4
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         3: .line 1126
            iload 1 /* disposalMethod */
            iconst_3
            iand
            iconst_2
            ishl
            istore 6 /* packedFields */
        start local 6 // int packedFields
         4: .line 1127
            iload 2 /* userInputFlag */
            ifeq 6
         5: .line 1128
            iload 6 /* packedFields */
            iconst_2
            ior
            istore 6 /* packedFields */
         6: .line 1130
      StackMap locals: int
      StackMap stack:
            iload 3 /* transparentColorFlag */
            ifeq 8
         7: .line 1131
            iload 6 /* packedFields */
            iconst_1
            ior
            istore 6 /* packedFields */
         8: .line 1133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* packedFields */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         9: .line 1135
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* delayTime */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
        10: .line 1137
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 5 /* transparentColorIndex */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        11: .line 1138
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        end local 6 // int packedFields
        12: .line 1139
            goto 15
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter int int int int int
      StackMap stack: java.io.IOException
        13: astore 6 /* e */
        start local 6 // java.io.IOException e
        14: .line 1140
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing Graphic Control Extension!"
            aload 6 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
        15: .line 1142
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int transparentColorIndex
        end local 4 // int delayTime
        end local 3 // boolean transparentColorFlag
        end local 2 // boolean userInputFlag
        end local 1 // int disposalMethod
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   16     1         disposalMethod  I
            0   16     2          userInputFlag  Z
            0   16     3   transparentColorFlag  Z
            0   16     4              delayTime  I
            0   16     5  transparentColorIndex  I
            4   12     6           packedFields  I
           14   15     6                      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    12      13  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                       Name  Flags
      disposalMethod         
      userInputFlag          
      transparentColorFlag   
      delayTime              
      transparentColorIndex  

  private void writeGraphicControlExtension(com.sun.imageio.plugins.gif.GIFWritableImageMetadata);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
         0: .line 1146
            aload 0 /* this */
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.disposalMethod:I
         1: .line 1147
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.userInputFlag:Z
         2: .line 1148
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorFlag:Z
         3: .line 1149
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.delayTime:I
         4: .line 1150
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.transparentColorIndex:I
         5: .line 1146
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeGraphicControlExtension:(IZZII)V
         6: .line 1151
            return
        end local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    7     1    im  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      im    

  private void writeBlocks(byte[]);
    descriptor: ([B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // byte[] data
         0: .line 1154
            aload 1 /* data */
            ifnull 8
            aload 1 /* data */
            arraylength
            ifle 8
         1: .line 1155
            iconst_0
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 1156
            goto 7
         3: .line 1157
      StackMap locals: int
      StackMap stack:
            aload 1 /* data */
            arraylength
            iload 2 /* offset */
            isub
            sipush 255
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* len */
        start local 3 // int len
         4: .line 1158
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* len */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         5: .line 1159
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* data */
            iload 2 /* offset */
            iload 3 /* len */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
         6: .line 1160
            iload 2 /* offset */
            iload 3 /* len */
            iadd
            istore 2 /* offset */
        end local 3 // int len
         7: .line 1156
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            aload 1 /* data */
            arraylength
            if_icmplt 3
        end local 2 // int offset
         8: .line 1163
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] data
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0    9     1    data  [B
            2    8     2  offset  I
            4    7     3     len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  

  private void writePlainTextExtension(com.sun.imageio.plugins.gif.GIFWritableImageMetadata);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
         0: .line 1167
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.hasPlainTextExtension:Z
            ifeq 17
         1: .line 1169
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 33
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         2: .line 1170
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         3: .line 1172
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 12
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         4: .line 1174
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textGridLeft:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         5: .line 1175
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textGridTop:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         6: .line 1176
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textGridWidth:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         7: .line 1177
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textGridHeight:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         8: .line 1178
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.characterCellWidth:I
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         9: .line 1179
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.characterCellHeight:I
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        10: .line 1180
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textForegroundColor:I
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        11: .line 1181
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.textBackgroundColor:I
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        12: .line 1183
            aload 0 /* this */
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.text:[B
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeBlocks:([B)V
        13: .line 1185
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        14: .line 1186
            goto 17
      StackMap locals:
      StackMap stack: java.io.IOException
        15: astore 2 /* e */
        start local 2 // java.io.IOException e
        16: .line 1187
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing Plain Text Extension!"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        17: .line 1190
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   18     1    im  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
           16   17     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1    14      15  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      im    

  private void writeApplicationExtension(com.sun.imageio.plugins.gif.GIFWritableImageMetadata);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
         0: .line 1194
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.applicationIDs:Ljava/util/List;
            ifnull 16
         1: .line 1195
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.applicationIDs:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* iterIDs */
        start local 2 // java.util.Iterator iterIDs
         2: .line 1196
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.authenticationCodes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iterCodes */
        start local 3 // java.util.Iterator iterCodes
         3: .line 1197
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.applicationData:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* iterData */
        start local 4 // java.util.Iterator iterData
         4: .line 1199
            goto 15
         5: .line 1201
      StackMap locals: java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 33
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         6: .line 1202
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            sipush 255
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         7: .line 1204
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 11
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         8: .line 1205
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 2 /* iterIDs */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            iconst_0
            bipush 8
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
         9: .line 1206
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 3 /* iterCodes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            iconst_0
            iconst_3
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        10: .line 1208
            aload 0 /* this */
            aload 4 /* iterData */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeBlocks:([B)V
        11: .line 1210
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        12: .line 1211
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
        13: astore 5 /* e */
        start local 5 // java.io.IOException e
        14: .line 1212
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing Application Extension!"
            aload 5 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        15: .line 1199
      StackMap locals:
      StackMap stack:
            aload 2 /* iterIDs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator iterData
        end local 3 // java.util.Iterator iterCodes
        end local 2 // java.util.Iterator iterIDs
        16: .line 1216
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   17     1         im  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
            2   16     2    iterIDs  Ljava/util/Iterator;
            3   16     3  iterCodes  Ljava/util/Iterator;
            4   16     4   iterData  Ljava/util/Iterator;
           14   15     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5    12      13  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      im    

  private void writeCommentExtension(com.sun.imageio.plugins.gif.GIFWritableImageMetadata);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
         0: .line 1220
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.comments:Ljava/util/List;
            ifnull 11
         1: .line 1222
            aload 1 /* im */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.comments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 1223
            goto 7
         3: .line 1224
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 33
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         4: .line 1225
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            sipush 254
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         5: .line 1226
            aload 0 /* this */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeBlocks:([B)V
         6: .line 1227
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         7: .line 1223
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator iter
         8: .line 1229
            goto 11
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter com.sun.imageio.plugins.gif.GIFWritableImageMetadata
      StackMap stack: java.io.IOException
         9: astore 2 /* e */
        start local 2 // java.io.IOException e
        10: .line 1230
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing Comment Extension!"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        11: .line 1233
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata im
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   12     1    im  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
            2    8     2  iter  Ljava/util/Iterator;
           10   11     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      im    

  private void writeImageDescriptor(int, int, int, int, boolean, boolean, int, byte[]);
    descriptor: (IIIIZZI[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=9
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // int imageLeftPosition
        start local 2 // int imageTopPosition
        start local 3 // int imageWidth
        start local 4 // int imageHeight
        start local 5 // boolean interlaceFlag
        start local 6 // boolean sortFlag
        start local 7 // int bitsPerPixel
        start local 8 // byte[] localColorTable
         0: .line 1246
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 44
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         1: .line 1248
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* imageLeftPosition */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         2: .line 1249
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* imageTopPosition */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         3: .line 1250
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* imageWidth */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         4: .line 1251
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* imageHeight */
            i2s
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         5: .line 1253
            aload 8 /* localColorTable */
            ifnull 6
            sipush 128
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 9 /* packedFields */
        start local 9 // int packedFields
         8: .line 1254
            iload 5 /* interlaceFlag */
            ifeq 10
         9: .line 1255
            iload 9 /* packedFields */
            bipush 64
            ior
            istore 9 /* packedFields */
        10: .line 1257
      StackMap locals: int
      StackMap stack:
            iload 6 /* sortFlag */
            ifeq 12
        11: .line 1258
            iload 9 /* packedFields */
            bipush 8
            ior
            istore 9 /* packedFields */
        12: .line 1260
      StackMap locals:
      StackMap stack:
            iload 9 /* packedFields */
            iload 7 /* bitsPerPixel */
            iconst_1
            isub
            ior
            istore 9 /* packedFields */
        13: .line 1261
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 9 /* packedFields */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
        14: .line 1263
            aload 8 /* localColorTable */
            ifnull 19
        15: .line 1264
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* localColorTable */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
        end local 9 // int packedFields
        16: .line 1266
            goto 19
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageWriter int int int int int int int byte[]
      StackMap stack: java.io.IOException
        17: astore 9 /* e */
        start local 9 // java.io.IOException e
        18: .line 1267
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing Image Descriptor!"
            aload 9 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.io.IOException e
        19: .line 1269
      StackMap locals:
      StackMap stack:
            return
        end local 8 // byte[] localColorTable
        end local 7 // int bitsPerPixel
        end local 6 // boolean sortFlag
        end local 5 // boolean interlaceFlag
        end local 4 // int imageHeight
        end local 3 // int imageWidth
        end local 2 // int imageTopPosition
        end local 1 // int imageLeftPosition
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   20     1  imageLeftPosition  I
            0   20     2   imageTopPosition  I
            0   20     3         imageWidth  I
            0   20     4        imageHeight  I
            0   20     5      interlaceFlag  Z
            0   20     6           sortFlag  Z
            0   20     7       bitsPerPixel  I
            0   20     8    localColorTable  [B
            8   16     9       packedFields  I
           18   19     9                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    16      17  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      imageLeftPosition  
      imageTopPosition   
      imageWidth         
      imageHeight        
      interlaceFlag      
      sortFlag           
      bitsPerPixel       
      localColorTable    

  private void writeImageDescriptor(com.sun.imageio.plugins.gif.GIFWritableImageMetadata, int);
    descriptor: (Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
        start local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
        start local 2 // int bitsPerPixel
         0: .line 1275
            aload 0 /* this */
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageLeftPosition:I
         1: .line 1276
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageTopPosition:I
         2: .line 1277
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageWidth:I
         3: .line 1278
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.imageHeight:I
         4: .line 1279
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.interlaceFlag:Z
         5: .line 1280
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.sortFlag:Z
         6: .line 1281
            iload 2 /* bitsPerPixel */
         7: .line 1282
            aload 1 /* imageMetadata */
            getfield com.sun.imageio.plugins.gif.GIFWritableImageMetadata.localColorTable:[B
         8: .line 1275
            invokevirtual com.sun.imageio.plugins.gif.GIFImageWriter.writeImageDescriptor:(IIIIZZI[B)V
         9: .line 1283
            return
        end local 2 // int bitsPerPixel
        end local 1 // com.sun.imageio.plugins.gif.GIFWritableImageMetadata imageMetadata
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
            0   10     1  imageMetadata  Lcom/sun/imageio/plugins/gif/GIFWritableImageMetadata;
            0   10     2   bitsPerPixel  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      imageMetadata  
      bitsPerPixel   

  private void writeTrailer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
         0: .line 1286
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 59
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
         1: .line 1287
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/imageio/plugins/gif/GIFImageWriter;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "GIFImageWriter.java"