public abstract class sun.awt.geom.AreaOp
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.geom.AreaOp
  super_class: java.lang.Object
{
  public static final int CTAG_LEFT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

  public static final int ETAG_EXIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

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

  public static final int RSTAG_OUTSIDE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static java.util.Comparator YXTopComparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.awt.geom.CurveLink[] EmptyLinkList;
    descriptor: [Lsun/awt/geom/CurveLink;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.awt.geom.ChainEnd[] EmptyChainList;
    descriptor: [Lsun/awt/geom/ChainEnd;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 181
            new sun.awt.geom.AreaOp$1
            dup
            invokespecial sun.awt.geom.AreaOp$1.<init>:()V
            putstatic sun.awt.geom.AreaOp.YXTopComparator:Ljava/util/Comparator;
         1: .line 437
            iconst_2
            anewarray sun.awt.geom.CurveLink
            putstatic sun.awt.geom.AreaOp.EmptyLinkList:[Lsun/awt/geom/CurveLink;
         2: .line 438
            iconst_2
            anewarray sun.awt.geom.ChainEnd
            putstatic sun.awt.geom.AreaOp.EmptyChainList:[Lsun/awt/geom/ChainEnd;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.geom.AreaOp this
         0: .line 133
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 134
            return
        end local 0 // sun.awt.geom.AreaOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/geom/AreaOp;

  public abstract void newRow();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int classify(sun.awt.geom.Edge);
    descriptor: (Lsun/awt/geom/Edge;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public abstract int getState();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.util.Vector calculate(java.util.Vector, java.util.Vector);
    descriptor: (Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.awt.geom.AreaOp this
        start local 1 // java.util.Vector left
        start local 2 // java.util.Vector right
         0: .line 156
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 3 /* edges */
        start local 3 // java.util.Vector edges
         1: .line 157
            aload 3 /* edges */
            aload 1 /* left */
            iconst_0
            invokestatic sun.awt.geom.AreaOp.addEdges:(Ljava/util/Vector;Ljava/util/Vector;I)V
         2: .line 158
            aload 3 /* edges */
            aload 2 /* right */
            iconst_1
            invokestatic sun.awt.geom.AreaOp.addEdges:(Ljava/util/Vector;Ljava/util/Vector;I)V
         3: .line 159
            aload 0 /* this */
            aload 3 /* edges */
            invokevirtual sun.awt.geom.AreaOp.pruneEdges:(Ljava/util/Vector;)Ljava/util/Vector;
            astore 3 /* edges */
         4: .line 168
            aload 3 /* edges */
            areturn
        end local 3 // java.util.Vector edges
        end local 2 // java.util.Vector right
        end local 1 // java.util.Vector left
        end local 0 // sun.awt.geom.AreaOp this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/awt/geom/AreaOp;
            0    5     1   left  Ljava/util/Vector;
            0    5     2  right  Ljava/util/Vector;
            1    5     3  edges  Ljava/util/Vector;
    MethodParameters:
       Name  Flags
      left   
      right  

  private static void addEdges(java.util.Vector, java.util.Vector, int);
    descriptor: (Ljava/util/Vector;Ljava/util/Vector;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.util.Vector edges
        start local 1 // java.util.Vector curves
        start local 2 // int curvetag
         0: .line 172
            aload 1 /* curves */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 3 /* enum_ */
        start local 3 // java.util.Enumeration enum_
         1: .line 173
            goto 5
         2: .line 174
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            astore 4 /* c */
        start local 4 // sun.awt.geom.Curve c
         3: .line 175
            aload 4 /* c */
            invokevirtual sun.awt.geom.Curve.getOrder:()I
            ifle 5
         4: .line 176
            aload 0 /* edges */
            new sun.awt.geom.Edge
            dup
            aload 4 /* c */
            iload 2 /* curvetag */
            invokespecial sun.awt.geom.Edge.<init>:(Lsun/awt/geom/Curve;I)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // sun.awt.geom.Curve c
         5: .line 173
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         6: .line 179
            return
        end local 3 // java.util.Enumeration enum_
        end local 2 // int curvetag
        end local 1 // java.util.Vector curves
        end local 0 // java.util.Vector edges
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0     edges  Ljava/util/Vector;
            0    7     1    curves  Ljava/util/Vector;
            0    7     2  curvetag  I
            1    7     3     enum_  Ljava/util/Enumeration;
            3    5     4         c  Lsun/awt/geom/Curve;
    MethodParameters:
          Name  Flags
      edges     
      curves    
      curvetag  

  private java.util.Vector pruneEdges(java.util.Vector);
    descriptor: (Ljava/util/Vector;)Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=27, args_size=2
        start local 0 // sun.awt.geom.AreaOp this
        start local 1 // java.util.Vector edges
         0: .line 199
            aload 1 /* edges */
            invokevirtual java.util.Vector.size:()I
            istore 2 /* numedges */
        start local 2 // int numedges
         1: .line 200
            iload 2 /* numedges */
            iconst_2
            if_icmpge 3
         2: .line 201
            aload 1 /* edges */
            areturn
         3: .line 203
      StackMap locals: int
      StackMap stack:
            aload 1 /* edges */
            iload 2 /* numedges */
            anewarray sun.awt.geom.Edge
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.awt.geom.Edge[]
            astore 3 /* edgelist */
        start local 3 // sun.awt.geom.Edge[] edgelist
         4: .line 204
            aload 3 /* edgelist */
            getstatic sun.awt.geom.AreaOp.YXTopComparator:Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         5: .line 212
            iconst_0
            istore 5 /* left */
        start local 5 // int left
         6: .line 213
            iconst_0
            istore 6 /* right */
        start local 6 // int right
         7: .line 214
            iconst_0
            istore 7 /* cur */
        start local 7 // int cur
         8: .line 215
            iconst_0
            istore 8 /* next */
        start local 8 // int next
         9: .line 216
            iconst_2
            newarray 7
            astore 9 /* yrange */
        start local 9 // double[] yrange
        10: .line 217
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 10 /* subcurves */
        start local 10 // java.util.Vector subcurves
        11: .line 218
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 11 /* chains */
        start local 11 // java.util.Vector chains
        12: .line 219
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 12 /* links */
        start local 12 // java.util.Vector links
        13: .line 221
            goto 128
        14: .line 222
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector
      StackMap stack:
            aload 9 /* yrange */
            iconst_0
            daload
            dstore 13 /* y */
        start local 13 // double y
        15: .line 224
            iload 6 /* right */
            iconst_1
            isub
            dup
            istore 8 /* next */
            istore 7 /* cur */
            goto 22
        16: .line 225
      StackMap locals: double
      StackMap stack:
            aload 3 /* edgelist */
            iload 7 /* cur */
            aaload
            astore 4 /* e */
        start local 4 // sun.awt.geom.Edge e
        17: .line 226
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYBot:()D
            dload 13 /* y */
            dcmpl
            ifle 21
        18: .line 227
            iload 8 /* next */
            iload 7 /* cur */
            if_icmple 20
        19: .line 228
            aload 3 /* edgelist */
            iload 8 /* next */
            aload 4 /* e */
            aastore
        20: .line 230
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
      StackMap stack:
            iinc 8 /* next */ -1
        21: .line 224
      StackMap locals:
      StackMap stack:
            iinc 7 /* cur */ -1
        end local 4 // sun.awt.geom.Edge e
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
      StackMap stack:
        22: iload 7 /* cur */
            iload 5 /* left */
            if_icmpge 16
        23: .line 233
            iload 8 /* next */
            iconst_1
            iadd
            istore 5 /* left */
        24: .line 235
            iload 5 /* left */
            iload 6 /* right */
            if_icmplt 36
        25: .line 236
            iload 6 /* right */
            iload 2 /* numedges */
            if_icmplt 27
        26: .line 237
            goto 129
        27: .line 239
      StackMap locals:
      StackMap stack:
            aload 3 /* edgelist */
            iload 6 /* right */
            aaload
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYTop:()D
            dstore 13 /* y */
        28: .line 240
            dload 13 /* y */
            aload 9 /* yrange */
            iconst_0
            daload
            dcmpl
            ifle 30
        29: .line 241
            aload 10 /* subcurves */
            aload 11 /* chains */
            invokestatic sun.awt.geom.AreaOp.finalizeSubCurves:(Ljava/util/Vector;Ljava/util/Vector;)V
        30: .line 243
      StackMap locals:
      StackMap stack:
            aload 9 /* yrange */
            iconst_0
            dload 13 /* y */
            dastore
        31: .line 246
            goto 36
        32: .line 247
      StackMap locals:
      StackMap stack:
            aload 3 /* edgelist */
            iload 6 /* right */
            aaload
            astore 4 /* e */
        start local 4 // sun.awt.geom.Edge e
        33: .line 248
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYTop:()D
            dload 13 /* y */
            dcmpl
            ifle 35
        34: .line 249
            goto 37
        35: .line 251
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
      StackMap stack:
            iinc 6 /* right */ 1
        end local 4 // sun.awt.geom.Edge e
        36: .line 246
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
      StackMap stack:
            iload 6 /* right */
            iload 2 /* numedges */
            if_icmplt 32
        37: .line 256
      StackMap locals:
      StackMap stack:
            aload 9 /* yrange */
            iconst_1
            aload 3 /* edgelist */
            iload 5 /* left */
            aaload
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYBot:()D
            dastore
        38: .line 257
            iload 6 /* right */
            iload 2 /* numedges */
            if_icmpge 42
        39: .line 258
            aload 3 /* edgelist */
            iload 6 /* right */
            aaload
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYTop:()D
            dstore 13 /* y */
        40: .line 259
            aload 9 /* yrange */
            iconst_1
            daload
            dload 13 /* y */
            dcmpl
            ifle 42
        41: .line 260
            aload 9 /* yrange */
            iconst_1
            dload 13 /* y */
            dastore
        42: .line 272
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 15 /* nexteq */
        start local 15 // int nexteq
        43: .line 273
            iload 5 /* left */
            istore 7 /* cur */
            goto 66
        44: .line 274
      StackMap locals: int
      StackMap stack:
            aload 3 /* edgelist */
            iload 7 /* cur */
            aaload
            astore 4 /* e */
        start local 4 // sun.awt.geom.Edge e
        45: .line 275
            aload 4 /* e */
            iconst_0
            invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
        46: .line 276
            iload 7 /* cur */
            istore 8 /* next */
            goto 63
        47: .line 277
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int
      StackMap stack:
            aload 3 /* edgelist */
            iload 8 /* next */
            iconst_1
            isub
            aaload
            astore 16 /* prevedge */
        start local 16 // sun.awt.geom.Edge prevedge
        48: .line 278
            aload 4 /* e */
            aload 16 /* prevedge */
            aload 9 /* yrange */
            invokevirtual sun.awt.geom.Edge.compareTo:(Lsun/awt/geom/Edge;[D)I
            istore 17 /* ordering */
        start local 17 // int ordering
        49: .line 279
            aload 9 /* yrange */
            iconst_1
            daload
            aload 9 /* yrange */
            iconst_0
            daload
            dcmpg
            ifgt 53
        50: .line 280
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "backstepping to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* yrange */
            iconst_1
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        51: .line 281
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* yrange */
            iconst_0
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 280
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 283
      StackMap locals: sun.awt.geom.Edge int
      StackMap stack:
            iload 17 /* ordering */
            iflt 61
        54: .line 284
            iload 17 /* ordering */
            ifne 64
        55: .line 289
            aload 16 /* prevedge */
            invokevirtual sun.awt.geom.Edge.getEquivalence:()I
            istore 18 /* eq */
        start local 18 // int eq
        56: .line 290
            iload 18 /* eq */
            ifne 59
        57: .line 291
            iload 15 /* nexteq */
            iinc 15 /* nexteq */ 1
            istore 18 /* eq */
        58: .line 292
            aload 16 /* prevedge */
            iload 18 /* eq */
            invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
        59: .line 294
      StackMap locals: int
      StackMap stack:
            aload 4 /* e */
            iload 18 /* eq */
            invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
        end local 18 // int eq
        60: .line 296
            goto 64
        61: .line 298
      StackMap locals:
      StackMap stack:
            aload 3 /* edgelist */
            iload 8 /* next */
            aload 16 /* prevedge */
            aastore
        end local 17 // int ordering
        end local 16 // sun.awt.geom.Edge prevedge
        62: .line 276
            iinc 8 /* next */ -1
      StackMap locals:
      StackMap stack:
        63: iload 8 /* next */
            iload 5 /* left */
            if_icmpgt 47
        64: .line 300
      StackMap locals:
      StackMap stack:
            aload 3 /* edgelist */
            iload 8 /* next */
            aload 4 /* e */
            aastore
        65: .line 273
            iinc 7 /* cur */ 1
        end local 4 // sun.awt.geom.Edge e
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int
      StackMap stack:
        66: iload 7 /* cur */
            iload 6 /* right */
            if_icmplt 44
        67: .line 314
            aload 0 /* this */
            invokevirtual sun.awt.geom.AreaOp.newRow:()V
        68: .line 315
            aload 9 /* yrange */
            iconst_0
            daload
            dstore 16 /* ystart */
        start local 16 // double ystart
        69: .line 316
            aload 9 /* yrange */
            iconst_1
            daload
            dstore 18 /* yend */
        start local 18 // double yend
        70: .line 317
            iload 5 /* left */
            istore 7 /* cur */
            goto 105
        71: .line 318
      StackMap locals: double double
      StackMap stack:
            aload 3 /* edgelist */
            iload 7 /* cur */
            aaload
            astore 4 /* e */
        start local 4 // sun.awt.geom.Edge e
        72: .line 320
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getEquivalence:()I
            istore 21 /* eq */
        start local 21 // int eq
        73: .line 321
            iload 21 /* eq */
            ifeq 100
        74: .line 327
            aload 0 /* this */
            invokevirtual sun.awt.geom.AreaOp.getState:()I
            istore 22 /* origstate */
        start local 22 // int origstate
        75: .line 328
            iload 22 /* origstate */
            iconst_1
            if_icmpne 77
        76: .line 329
            iconst_m1
            goto 78
        77: .line 330
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double top int int
      StackMap stack:
            iconst_1
        78: .line 328
      StackMap locals:
      StackMap stack: int
            istore 20 /* etag */
        start local 20 // int etag
        79: .line 331
            aconst_null
            astore 23 /* activematch */
        start local 23 // sun.awt.geom.Edge activematch
        80: .line 332
            aload 4 /* e */
            astore 24 /* longestmatch */
        start local 24 // sun.awt.geom.Edge longestmatch
        81: .line 333
            dload 18 /* yend */
            dstore 25 /* furthesty */
        start local 25 // double furthesty
        82: .line 337
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double int int int sun.awt.geom.Edge sun.awt.geom.Edge double
      StackMap stack:
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual sun.awt.geom.AreaOp.classify:(Lsun/awt/geom/Edge;)I
            pop
        83: .line 338
            aload 23 /* activematch */
            ifnonnull 86
        84: .line 339
            aload 4 /* e */
            dload 16 /* ystart */
            iload 20 /* etag */
            invokevirtual sun.awt.geom.Edge.isActiveFor:(DI)Z
            ifeq 86
        85: .line 341
            aload 4 /* e */
            astore 23 /* activematch */
        86: .line 343
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYBot:()D
            dstore 13 /* y */
        87: .line 344
            dload 13 /* y */
            dload 25 /* furthesty */
            dcmpl
            ifle 90
        88: .line 345
            aload 4 /* e */
            astore 24 /* longestmatch */
        89: .line 346
            dload 13 /* y */
            dstore 25 /* furthesty */
        90: .line 348
      StackMap locals:
      StackMap stack:
            iinc 7 /* cur */ 1
            iload 7 /* cur */
            iload 6 /* right */
            if_icmpge 92
        91: .line 349
            aload 3 /* edgelist */
            iload 7 /* cur */
            aaload
            dup
            astore 4 /* e */
            invokevirtual sun.awt.geom.Edge.getEquivalence:()I
            iload 21 /* eq */
            if_icmpeq 82
        92: .line 350
      StackMap locals:
      StackMap stack:
            iinc 7 /* cur */ -1
        93: .line 351
            aload 0 /* this */
            invokevirtual sun.awt.geom.AreaOp.getState:()I
            iload 22 /* origstate */
            if_icmpne 96
        94: .line 352
            iconst_0
            istore 20 /* etag */
        95: .line 353
            goto 101
        96: .line 354
      StackMap locals:
      StackMap stack:
            aload 23 /* activematch */
            ifnull 97
            aload 23 /* activematch */
            goto 98
      StackMap locals:
      StackMap stack:
        97: aload 24 /* longestmatch */
      StackMap locals:
      StackMap stack: sun.awt.geom.Edge
        98: astore 4 /* e */
        end local 25 // double furthesty
        end local 24 // sun.awt.geom.Edge longestmatch
        end local 23 // sun.awt.geom.Edge activematch
        end local 22 // int origstate
        99: .line 356
            goto 101
        end local 20 // int etag
       100: .line 357
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double top int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual sun.awt.geom.AreaOp.classify:(Lsun/awt/geom/Edge;)I
            istore 20 /* etag */
        start local 20 // int etag
       101: .line 359
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double int int
      StackMap stack:
            iload 20 /* etag */
            ifeq 104
       102: .line 360
            aload 4 /* e */
            dload 18 /* yend */
            iload 20 /* etag */
            invokevirtual sun.awt.geom.Edge.record:(DI)V
       103: .line 361
            aload 12 /* links */
            new sun.awt.geom.CurveLink
            dup
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            dload 16 /* ystart */
            dload 18 /* yend */
            iload 20 /* etag */
            invokespecial sun.awt.geom.CurveLink.<init>:(Lsun/awt/geom/Curve;DDI)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // int eq
        end local 20 // int etag
       104: .line 317
      StackMap locals:
      StackMap stack:
            iinc 7 /* cur */ 1
        end local 4 // sun.awt.geom.Edge e
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
      StackMap stack:
       105: iload 7 /* cur */
            iload 6 /* right */
            if_icmplt 71
       106: .line 365
            aload 0 /* this */
            invokevirtual sun.awt.geom.AreaOp.getState:()I
            iconst_m1
            if_icmpeq 125
       107: .line 366
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Still inside at end of active edge list!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       108: .line 367
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "num curves = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* right */
            iload 5 /* left */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       109: .line 368
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "num links = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* links */
            invokevirtual java.util.Vector.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       110: .line 369
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "y top = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* yrange */
            iconst_0
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       111: .line 370
            iload 6 /* right */
            iload 2 /* numedges */
            if_icmpge 116
       112: .line 371
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "y top of next curve = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       113: .line 372
            aload 3 /* edgelist */
            iload 6 /* right */
            aaload
            invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getYTop:()D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       114: .line 371
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       115: .line 373
            goto 117
       116: .line 374
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "no more curves"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       117: .line 376
      StackMap locals:
      StackMap stack:
            iload 5 /* left */
            istore 7 /* cur */
            goto 124
       118: .line 377
      StackMap locals:
      StackMap stack:
            aload 3 /* edgelist */
            iload 7 /* cur */
            aaload
            astore 4 /* e */
        start local 4 // sun.awt.geom.Edge e
       119: .line 378
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 4 /* e */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
       120: .line 379
            aload 4 /* e */
            invokevirtual sun.awt.geom.Edge.getEquivalence:()I
            istore 20 /* eq */
        start local 20 // int eq
       121: .line 380
            iload 20 /* eq */
            ifeq 123
       122: .line 381
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  was equal to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 20 /* eq */
            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;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 20 // int eq
       123: .line 376
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
      StackMap stack:
            iinc 7 /* cur */ 1
        end local 4 // sun.awt.geom.Edge e
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
      StackMap stack:
       124: iload 7 /* cur */
            iload 6 /* right */
            if_icmplt 118
       125: .line 392
      StackMap locals:
      StackMap stack:
            aload 10 /* subcurves */
            aload 11 /* chains */
            aload 12 /* links */
            invokestatic sun.awt.geom.AreaOp.resolveLinks:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)V
       126: .line 393
            aload 12 /* links */
            invokevirtual java.util.Vector.clear:()V
       127: .line 396
            aload 9 /* yrange */
            iconst_0
            dload 18 /* yend */
            dastore
        end local 18 // double yend
        end local 16 // double ystart
        end local 15 // int nexteq
        end local 13 // double y
       128: .line 221
      StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector
      StackMap stack:
            iload 5 /* left */
            iload 2 /* numedges */
            if_icmplt 14
       129: .line 398
      StackMap locals:
      StackMap stack:
            aload 10 /* subcurves */
            aload 11 /* chains */
            invokestatic sun.awt.geom.AreaOp.finalizeSubCurves:(Ljava/util/Vector;Ljava/util/Vector;)V
       130: .line 399
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 13 /* ret */
        start local 13 // java.util.Vector ret
       131: .line 400
            aload 10 /* subcurves */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 14 /* enum_ */
        start local 14 // java.util.Enumeration enum_
       132: .line 401
            goto 142
       133: .line 402
      StackMap locals: java.util.Vector java.util.Enumeration
      StackMap stack:
            aload 14 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.awt.geom.CurveLink
            astore 15 /* link */
        start local 15 // sun.awt.geom.CurveLink link
       134: .line 403
            aload 13 /* ret */
            aload 15 /* link */
            invokevirtual sun.awt.geom.CurveLink.getMoveto:()Lsun/awt/geom/Curve;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       135: .line 404
            aload 15 /* link */
            astore 16 /* nextlink */
        start local 16 // sun.awt.geom.CurveLink nextlink
       136: .line 405
            goto 140
       137: .line 406
      StackMap locals: sun.awt.geom.CurveLink sun.awt.geom.CurveLink
      StackMap stack:
            aload 15 /* link */
            aload 16 /* nextlink */
            invokevirtual sun.awt.geom.CurveLink.absorb:(Lsun/awt/geom/CurveLink;)Z
            ifne 140
       138: .line 407
            aload 13 /* ret */
            aload 15 /* link */
            invokevirtual sun.awt.geom.CurveLink.getSubCurve:()Lsun/awt/geom/Curve;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       139: .line 408
            aload 16 /* nextlink */
            astore 15 /* link */
       140: .line 405
      StackMap locals:
      StackMap stack:
            aload 16 /* nextlink */
            invokevirtual sun.awt.geom.CurveLink.getNext:()Lsun/awt/geom/CurveLink;
            dup
            astore 16 /* nextlink */
            ifnonnull 137
       141: .line 411
            aload 13 /* ret */
            aload 15 /* link */
            invokevirtual sun.awt.geom.CurveLink.getSubCurve:()Lsun/awt/geom/Curve;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // sun.awt.geom.CurveLink nextlink
        end local 15 // sun.awt.geom.CurveLink link
       142: .line 401
      StackMap locals:
      StackMap stack:
            aload 14 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 133
       143: .line 413
            aload 13 /* ret */
            areturn
        end local 14 // java.util.Enumeration enum_
        end local 13 // java.util.Vector ret
        end local 12 // java.util.Vector links
        end local 11 // java.util.Vector chains
        end local 10 // java.util.Vector subcurves
        end local 9 // double[] yrange
        end local 8 // int next
        end local 7 // int cur
        end local 6 // int right
        end local 5 // int left
        end local 3 // sun.awt.geom.Edge[] edgelist
        end local 2 // int numedges
        end local 1 // java.util.Vector edges
        end local 0 // sun.awt.geom.AreaOp this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  144     0          this  Lsun/awt/geom/AreaOp;
            0  144     1         edges  Ljava/util/Vector;
            1  144     2      numedges  I
            4  144     3      edgelist  [Lsun/awt/geom/Edge;
           17   22     4             e  Lsun/awt/geom/Edge;
           33   36     4             e  Lsun/awt/geom/Edge;
           45   66     4             e  Lsun/awt/geom/Edge;
           72  105     4             e  Lsun/awt/geom/Edge;
          119  124     4             e  Lsun/awt/geom/Edge;
            6  144     5          left  I
            7  144     6         right  I
            8  144     7           cur  I
            9  144     8          next  I
           10  144     9        yrange  [D
           11  144    10     subcurves  Ljava/util/Vector;
           12  144    11        chains  Ljava/util/Vector;
           13  144    12         links  Ljava/util/Vector;
           15  128    13             y  D
           43  128    15        nexteq  I
           48   62    16      prevedge  Lsun/awt/geom/Edge;
           49   62    17      ordering  I
           56   60    18            eq  I
           69  128    16        ystart  D
           70  128    18          yend  D
           79  100    20          etag  I
          101  104    20          etag  I
           73  104    21            eq  I
           75   99    22     origstate  I
           80   99    23   activematch  Lsun/awt/geom/Edge;
           81   99    24  longestmatch  Lsun/awt/geom/Edge;
           82   99    25     furthesty  D
          121  123    20            eq  I
          131  144    13           ret  Ljava/util/Vector;
          132  144    14         enum_  Ljava/util/Enumeration;
          134  142    15          link  Lsun/awt/geom/CurveLink;
          136  142    16      nextlink  Lsun/awt/geom/CurveLink;
    MethodParameters:
       Name  Flags
      edges  

  public static void finalizeSubCurves(java.util.Vector, java.util.Vector);
    descriptor: (Ljava/util/Vector;Ljava/util/Vector;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.Vector subcurves
        start local 1 // java.util.Vector chains
         0: .line 417
            aload 1 /* chains */
            invokevirtual java.util.Vector.size:()I
            istore 2 /* numchains */
        start local 2 // int numchains
         1: .line 418
            iload 2 /* numchains */
            ifne 3
         2: .line 419
            return
         3: .line 421
      StackMap locals: int
      StackMap stack:
            iload 2 /* numchains */
            iconst_1
            iand
            ifeq 5
         4: .line 422
            new java.lang.InternalError
            dup
            ldc "Odd number of chains!"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 424
      StackMap locals:
      StackMap stack:
            iload 2 /* numchains */
            anewarray sun.awt.geom.ChainEnd
            astore 3 /* endlist */
        start local 3 // sun.awt.geom.ChainEnd[] endlist
         6: .line 425
            aload 1 /* chains */
            aload 3 /* endlist */
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         7: .line 426
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         8: goto 15
         9: .line 427
      StackMap locals: sun.awt.geom.ChainEnd[] int
      StackMap stack:
            aload 3 /* endlist */
            iload 4 /* i */
            iconst_1
            isub
            aaload
            astore 5 /* open */
        start local 5 // sun.awt.geom.ChainEnd open
        10: .line 428
            aload 3 /* endlist */
            iload 4 /* i */
            aaload
            astore 6 /* close */
        start local 6 // sun.awt.geom.ChainEnd close
        11: .line 429
            aload 5 /* open */
            aload 6 /* close */
            invokevirtual sun.awt.geom.ChainEnd.linkTo:(Lsun/awt/geom/ChainEnd;)Lsun/awt/geom/CurveLink;
            astore 7 /* subcurve */
        start local 7 // sun.awt.geom.CurveLink subcurve
        12: .line 430
            aload 7 /* subcurve */
            ifnull 14
        13: .line 431
            aload 0 /* subcurves */
            aload 7 /* subcurve */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // sun.awt.geom.CurveLink subcurve
        end local 6 // sun.awt.geom.ChainEnd close
        end local 5 // sun.awt.geom.ChainEnd open
        14: .line 426
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 2 /* numchains */
            if_icmplt 9
        end local 4 // int i
        16: .line 434
            aload 1 /* chains */
            invokevirtual java.util.Vector.clear:()V
        17: .line 435
            return
        end local 3 // sun.awt.geom.ChainEnd[] endlist
        end local 2 // int numchains
        end local 1 // java.util.Vector chains
        end local 0 // java.util.Vector subcurves
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  subcurves  Ljava/util/Vector;
            0   18     1     chains  Ljava/util/Vector;
            1   18     2  numchains  I
            6   18     3    endlist  [Lsun/awt/geom/ChainEnd;
            8   16     4          i  I
           10   14     5       open  Lsun/awt/geom/ChainEnd;
           11   14     6      close  Lsun/awt/geom/ChainEnd;
           12   14     7   subcurve  Lsun/awt/geom/CurveLink;
    MethodParameters:
           Name  Flags
      subcurves  
      chains     

  public static void resolveLinks(java.util.Vector, java.util.Vector, java.util.Vector);
    descriptor: (Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=19, args_size=3
        start local 0 // java.util.Vector subcurves
        start local 1 // java.util.Vector chains
        start local 2 // java.util.Vector links
         0: .line 444
            aload 2 /* links */
            invokevirtual java.util.Vector.size:()I
            istore 3 /* numlinks */
        start local 3 // int numlinks
         1: .line 446
            iload 3 /* numlinks */
            ifne 4
         2: .line 447
            getstatic sun.awt.geom.AreaOp.EmptyLinkList:[Lsun/awt/geom/CurveLink;
            astore 4 /* linklist */
        start local 4 // sun.awt.geom.CurveLink[] linklist
         3: .line 448
            goto 8
        end local 4 // sun.awt.geom.CurveLink[] linklist
         4: .line 449
      StackMap locals: int
      StackMap stack:
            iload 3 /* numlinks */
            iconst_1
            iand
            ifeq 6
         5: .line 450
            new java.lang.InternalError
            dup
            ldc "Odd number of new curves!"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 452
      StackMap locals:
      StackMap stack:
            iload 3 /* numlinks */
            iconst_2
            iadd
            anewarray sun.awt.geom.CurveLink
            astore 4 /* linklist */
        start local 4 // sun.awt.geom.CurveLink[] linklist
         7: .line 453
            aload 2 /* links */
            aload 4 /* linklist */
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         8: .line 455
      StackMap locals: sun.awt.geom.CurveLink[]
      StackMap stack:
            aload 1 /* chains */
            invokevirtual java.util.Vector.size:()I
            istore 5 /* numchains */
        start local 5 // int numchains
         9: .line 457
            iload 5 /* numchains */
            ifne 12
        10: .line 458
            getstatic sun.awt.geom.AreaOp.EmptyChainList:[Lsun/awt/geom/ChainEnd;
            astore 6 /* endlist */
        start local 6 // sun.awt.geom.ChainEnd[] endlist
        11: .line 459
            goto 16
        end local 6 // sun.awt.geom.ChainEnd[] endlist
        12: .line 460
      StackMap locals: int
      StackMap stack:
            iload 5 /* numchains */
            iconst_1
            iand
            ifeq 14
        13: .line 461
            new java.lang.InternalError
            dup
            ldc "Odd number of chains!"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 463
      StackMap locals:
      StackMap stack:
            iload 5 /* numchains */
            iconst_2
            iadd
            anewarray sun.awt.geom.ChainEnd
            astore 6 /* endlist */
        start local 6 // sun.awt.geom.ChainEnd[] endlist
        15: .line 464
            aload 1 /* chains */
            aload 6 /* endlist */
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        16: .line 466
      StackMap locals: sun.awt.geom.ChainEnd[]
      StackMap stack:
            iconst_0
            istore 7 /* curchain */
        start local 7 // int curchain
        17: .line 467
            iconst_0
            istore 8 /* curlink */
        start local 8 // int curlink
        18: .line 468
            aload 1 /* chains */
            invokevirtual java.util.Vector.clear:()V
        19: .line 469
            aload 6 /* endlist */
            iconst_0
            aaload
            astore 9 /* chain */
        start local 9 // sun.awt.geom.ChainEnd chain
        20: .line 470
            aload 6 /* endlist */
            iconst_1
            aaload
            astore 10 /* nextchain */
        start local 10 // sun.awt.geom.ChainEnd nextchain
        21: .line 471
            aload 4 /* linklist */
            iconst_0
            aaload
            astore 11 /* link */
        start local 11 // sun.awt.geom.CurveLink link
        22: .line 472
            aload 4 /* linklist */
            iconst_1
            aaload
            astore 12 /* nextlink */
        start local 12 // sun.awt.geom.CurveLink nextlink
        23: .line 473
            goto 79
        24: .line 478
      StackMap locals: java.util.Vector java.util.Vector java.util.Vector int sun.awt.geom.CurveLink[] int sun.awt.geom.ChainEnd[] int int sun.awt.geom.ChainEnd sun.awt.geom.ChainEnd sun.awt.geom.CurveLink sun.awt.geom.CurveLink
      StackMap stack:
            aload 11 /* link */
            ifnonnull 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 13 /* connectchains */
        start local 13 // boolean connectchains
        27: .line 479
            aload 9 /* chain */
            ifnonnull 28
            iconst_1
            goto 29
      StackMap locals: int
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 14 /* connectlinks */
        start local 14 // boolean connectlinks
        30: .line 481
            iload 13 /* connectchains */
            ifne 54
            iload 14 /* connectlinks */
            ifne 54
        31: .line 487
            iload 7 /* curchain */
            iconst_1
            iand
            ifne 34
        32: .line 488
            aload 9 /* chain */
            invokevirtual sun.awt.geom.ChainEnd.getX:()D
            aload 10 /* nextchain */
            invokevirtual sun.awt.geom.ChainEnd.getX:()D
            dcmpl
            ifne 34
        33: .line 487
            iconst_1
            goto 35
      StackMap locals: int
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 13 /* connectchains */
        36: .line 489
            iload 8 /* curlink */
            iconst_1
            iand
            ifne 39
        37: .line 490
            aload 11 /* link */
            invokevirtual sun.awt.geom.CurveLink.getX:()D
            aload 12 /* nextlink */
            invokevirtual sun.awt.geom.CurveLink.getX:()D
            dcmpl
            ifne 39
        38: .line 489
            iconst_1
            goto 40
      StackMap locals:
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: istore 14 /* connectlinks */
        41: .line 492
            iload 13 /* connectchains */
            ifne 54
            iload 14 /* connectlinks */
            ifne 54
        42: .line 498
            aload 9 /* chain */
            invokevirtual sun.awt.geom.ChainEnd.getX:()D
            dstore 15 /* cx */
        start local 15 // double cx
        43: .line 499
            aload 11 /* link */
            invokevirtual sun.awt.geom.CurveLink.getX:()D
            dstore 17 /* lx */
        start local 17 // double lx
        44: .line 501
            aload 10 /* nextchain */
            ifnull 47
            dload 15 /* cx */
            dload 17 /* lx */
            dcmpg
            ifge 47
        45: .line 502
            aload 10 /* nextchain */
            invokevirtual sun.awt.geom.ChainEnd.getX:()D
            dload 17 /* lx */
            iload 7 /* curchain */
            invokestatic sun.awt.geom.AreaOp.obstructs:(DDI)Z
            ifeq 47
        46: .line 500
            iconst_1
            goto 48
      StackMap locals: double double
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 13 /* connectchains */
        49: .line 504
            aload 12 /* nextlink */
            ifnull 52
            dload 17 /* lx */
            dload 15 /* cx */
            dcmpg
            ifge 52
        50: .line 505
            aload 12 /* nextlink */
            invokevirtual sun.awt.geom.CurveLink.getX:()D
            dload 15 /* cx */
            iload 8 /* curlink */
            invokestatic sun.awt.geom.AreaOp.obstructs:(DDI)Z
            ifeq 52
        51: .line 503
            iconst_1
            goto 53
      StackMap locals:
      StackMap stack:
        52: iconst_0
      StackMap locals:
      StackMap stack: int
        53: istore 14 /* connectlinks */
        end local 17 // double lx
        end local 15 // double cx
        54: .line 508
      StackMap locals:
      StackMap stack:
            iload 13 /* connectchains */
            ifeq 61
        55: .line 509
            aload 9 /* chain */
            aload 10 /* nextchain */
            invokevirtual sun.awt.geom.ChainEnd.linkTo:(Lsun/awt/geom/ChainEnd;)Lsun/awt/geom/CurveLink;
            astore 15 /* subcurve */
        start local 15 // sun.awt.geom.CurveLink subcurve
        56: .line 510
            aload 15 /* subcurve */
            ifnull 58
        57: .line 511
            aload 0 /* subcurves */
            aload 15 /* subcurve */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        58: .line 513
      StackMap locals: sun.awt.geom.CurveLink
      StackMap stack:
            iinc 7 /* curchain */ 2
        59: .line 514
            aload 6 /* endlist */
            iload 7 /* curchain */
            aaload
            astore 9 /* chain */
        60: .line 515
            aload 6 /* endlist */
            iload 7 /* curchain */
            iconst_1
            iadd
            aaload
            astore 10 /* nextchain */
        end local 15 // sun.awt.geom.CurveLink subcurve
        61: .line 517
      StackMap locals:
      StackMap stack:
            iload 14 /* connectlinks */
            ifeq 70
        62: .line 518
            new sun.awt.geom.ChainEnd
            dup
            aload 11 /* link */
            aconst_null
            invokespecial sun.awt.geom.ChainEnd.<init>:(Lsun/awt/geom/CurveLink;Lsun/awt/geom/ChainEnd;)V
            astore 15 /* openend */
        start local 15 // sun.awt.geom.ChainEnd openend
        63: .line 519
            new sun.awt.geom.ChainEnd
            dup
            aload 12 /* nextlink */
            aload 15 /* openend */
            invokespecial sun.awt.geom.ChainEnd.<init>:(Lsun/awt/geom/CurveLink;Lsun/awt/geom/ChainEnd;)V
            astore 16 /* closeend */
        start local 16 // sun.awt.geom.ChainEnd closeend
        64: .line 520
            aload 15 /* openend */
            aload 16 /* closeend */
            invokevirtual sun.awt.geom.ChainEnd.setOtherEnd:(Lsun/awt/geom/ChainEnd;)V
        65: .line 521
            aload 1 /* chains */
            aload 15 /* openend */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        66: .line 522
            aload 1 /* chains */
            aload 16 /* closeend */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        67: .line 523
            iinc 8 /* curlink */ 2
        68: .line 524
            aload 4 /* linklist */
            iload 8 /* curlink */
            aaload
            astore 11 /* link */
        69: .line 525
            aload 4 /* linklist */
            iload 8 /* curlink */
            iconst_1
            iadd
            aaload
            astore 12 /* nextlink */
        end local 16 // sun.awt.geom.ChainEnd closeend
        end local 15 // sun.awt.geom.ChainEnd openend
        70: .line 527
      StackMap locals:
      StackMap stack:
            iload 13 /* connectchains */
            ifne 79
            iload 14 /* connectlinks */
            ifne 79
        71: .line 531
            aload 9 /* chain */
            aload 11 /* link */
            invokevirtual sun.awt.geom.ChainEnd.addLink:(Lsun/awt/geom/CurveLink;)V
        72: .line 532
            aload 1 /* chains */
            aload 9 /* chain */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        73: .line 533
            iinc 7 /* curchain */ 1
        74: .line 534
            aload 10 /* nextchain */
            astore 9 /* chain */
        75: .line 535
            aload 6 /* endlist */
            iload 7 /* curchain */
            iconst_1
            iadd
            aaload
            astore 10 /* nextchain */
        76: .line 536
            iinc 8 /* curlink */ 1
        77: .line 537
            aload 12 /* nextlink */
            astore 11 /* link */
        78: .line 538
            aload 4 /* linklist */
            iload 8 /* curlink */
            iconst_1
            iadd
            aaload
            astore 12 /* nextlink */
        end local 14 // boolean connectlinks
        end local 13 // boolean connectchains
        79: .line 473
      StackMap locals:
      StackMap stack:
            aload 9 /* chain */
            ifnonnull 24
            aload 11 /* link */
            ifnonnull 24
        80: .line 541
            aload 1 /* chains */
            invokevirtual java.util.Vector.size:()I
            iconst_1
            iand
            ifeq 82
        81: .line 542
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Odd number of chains!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        82: .line 544
      StackMap locals:
      StackMap stack:
            return
        end local 12 // sun.awt.geom.CurveLink nextlink
        end local 11 // sun.awt.geom.CurveLink link
        end local 10 // sun.awt.geom.ChainEnd nextchain
        end local 9 // sun.awt.geom.ChainEnd chain
        end local 8 // int curlink
        end local 7 // int curchain
        end local 6 // sun.awt.geom.ChainEnd[] endlist
        end local 5 // int numchains
        end local 4 // sun.awt.geom.CurveLink[] linklist
        end local 3 // int numlinks
        end local 2 // java.util.Vector links
        end local 1 // java.util.Vector chains
        end local 0 // java.util.Vector subcurves
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   83     0      subcurves  Ljava/util/Vector;
            0   83     1         chains  Ljava/util/Vector;
            0   83     2          links  Ljava/util/Vector;
            1   83     3       numlinks  I
            3    4     4       linklist  [Lsun/awt/geom/CurveLink;
            7   83     4       linklist  [Lsun/awt/geom/CurveLink;
            9   83     5      numchains  I
           11   12     6        endlist  [Lsun/awt/geom/ChainEnd;
           15   83     6        endlist  [Lsun/awt/geom/ChainEnd;
           17   83     7       curchain  I
           18   83     8        curlink  I
           20   83     9          chain  Lsun/awt/geom/ChainEnd;
           21   83    10      nextchain  Lsun/awt/geom/ChainEnd;
           22   83    11           link  Lsun/awt/geom/CurveLink;
           23   83    12       nextlink  Lsun/awt/geom/CurveLink;
           27   79    13  connectchains  Z
           30   79    14   connectlinks  Z
           43   54    15             cx  D
           44   54    17             lx  D
           56   61    15       subcurve  Lsun/awt/geom/CurveLink;
           63   70    15        openend  Lsun/awt/geom/ChainEnd;
           64   70    16       closeend  Lsun/awt/geom/ChainEnd;
    MethodParameters:
           Name  Flags
      subcurves  
      chains     
      links      

  public static boolean obstructs(double, double, int);
    descriptor: (DDI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // double v1
        start local 2 // double v2
        start local 4 // int phase
         0: .line 559
            iload 4 /* phase */
            iconst_1
            iand
            ifne 2
            dload 0 /* v1 */
            dload 2 /* v2 */
            dcmpg
            ifgt 1
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         2: dload 0 /* v1 */
            dload 2 /* v2 */
            dcmpg
            ifge 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 4 // int phase
        end local 2 // double v2
        end local 0 // double v1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0     v1  D
            0    5     2     v2  D
            0    5     4  phase  I
    MethodParameters:
       Name  Flags
      v1     
      v2     
      phase  
}
SourceFile: "AreaOp.java"
NestMembers:
  sun.awt.geom.AreaOp$1  sun.awt.geom.AreaOp$AddOp  sun.awt.geom.AreaOp$CAGOp  sun.awt.geom.AreaOp$EOWindOp  sun.awt.geom.AreaOp$IntOp  sun.awt.geom.AreaOp$NZWindOp  sun.awt.geom.AreaOp$SubOp  sun.awt.geom.AreaOp$XorOp
InnerClasses:
  sun.awt.geom.AreaOp$1
  public AddOp = sun.awt.geom.AreaOp$AddOp of sun.awt.geom.AreaOp
  public abstract CAGOp = sun.awt.geom.AreaOp$CAGOp of sun.awt.geom.AreaOp
  public EOWindOp = sun.awt.geom.AreaOp$EOWindOp of sun.awt.geom.AreaOp
  public IntOp = sun.awt.geom.AreaOp$IntOp of sun.awt.geom.AreaOp
  public NZWindOp = sun.awt.geom.AreaOp$NZWindOp of sun.awt.geom.AreaOp
  public SubOp = sun.awt.geom.AreaOp$SubOp of sun.awt.geom.AreaOp
  public XorOp = sun.awt.geom.AreaOp$XorOp of sun.awt.geom.AreaOp