public final class com.sun.marlin.Stroker implements com.sun.javafx.geom.PathConsumer2D, com.sun.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.Stroker
  super_class: java.lang.Object
{
  private static final int MOVE_TO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

  private static final float ERR_JOIN;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float ROUND_JOIN_THRESHOLD;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float C;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float SQRT_2;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.javafx.geom.PathConsumer2D out;
    descriptor: Lcom/sun/javafx/geom/PathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

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

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

  private float lineWidth2;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float invHalfLineWidth2Sq;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private final float[] offset0;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] offset1;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] offset2;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] miter;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private float miterLimitSq;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

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

  private float sx0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float sy0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float sdx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float sdy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cx0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cy0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cdx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cdy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float smx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float smy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cmx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float cmy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.Helpers$PolyStack reverse;
    descriptor: Lcom/sun/marlin/Helpers$PolyStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] lp;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float[] rp;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.sun.marlin.RendererContext rdrCtx;
    descriptor: Lcom/sun/marlin/RendererContext;
    flags: (0x0010) ACC_FINAL

  final com.sun.marlin.Curve curve;
    descriptor: Lcom/sun/marlin/Curve;
    flags: (0x0010) ACC_FINAL

  private float[] clipRect;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private final com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter curveSplitter;
    descriptor: Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 38
            ldc Lcom/sun/marlin/Stroker;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.marlin.Stroker.$assertionsDisabled:Z
         3: .line 45
            fconst_1
            getstatic com.sun.marlin.Stroker.MIN_SUBPIXELS:F
            fdiv
            putstatic com.sun.marlin.Stroker.ERR_JOIN:F
         4: .line 46
            getstatic com.sun.marlin.Stroker.ERR_JOIN:F
            getstatic com.sun.marlin.Stroker.ERR_JOIN:F
            fmul
            putstatic com.sun.marlin.Stroker.ROUND_JOIN_THRESHOLD:F
         5: .line 49
            ldc 4.0
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            dconst_1
            dsub
            dmul
            ldc 3.0
            ddiv
            d2f
            putstatic com.sun.marlin.Stroker.C:F
         6: .line 52
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            putstatic com.sun.marlin.Stroker.SQRT_2:F
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.marlin.RendererContext);
    descriptor: (Lcom/sun/marlin/RendererContext;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // com.sun.marlin.RendererContext rdrCtx
         0: .line 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            iconst_2
            newarray 6
            putfield com.sun.marlin.Stroker.offset0:[F
         2: .line 63
            aload 0 /* this */
            iconst_2
            newarray 6
            putfield com.sun.marlin.Stroker.offset1:[F
         3: .line 64
            aload 0 /* this */
            iconst_2
            newarray 6
            putfield com.sun.marlin.Stroker.offset2:[F
         4: .line 65
            aload 0 /* this */
            iconst_2
            newarray 6
            putfield com.sun.marlin.Stroker.miter:[F
         5: .line 84
            aload 0 /* this */
            bipush 8
            newarray 6
            putfield com.sun.marlin.Stroker.lp:[F
         6: .line 85
            aload 0 /* this */
            bipush 8
            newarray 6
            putfield com.sun.marlin.Stroker.rp:[F
         7: .line 97
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.cOutCode:I
         8: .line 100
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.sOutCode:I
         9: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.opened:Z
        10: .line 105
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.capStart:Z
        11: .line 109
            aload 0 /* this */
            getstatic com.sun.marlin.Stroker.DO_CLIP_SUBDIVIDER:Z
            putfield com.sun.marlin.Stroker.subdivide:Z
        12: .line 117
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
        13: .line 119
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            ifnull 22
        14: .line 120
            new com.sun.marlin.Helpers$PolyStack
            dup
            aload 1 /* rdrCtx */
        15: .line 121
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        16: .line 122
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        17: .line 123
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.hist_str_polystack_curves:Lcom/sun/marlin/stats/Histogram;
        18: .line 124
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        19: .line 125
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        20: .line 120
            invokespecial com.sun.marlin.Helpers$PolyStack.<init>:(Lcom/sun/marlin/RendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
        21: .line 125
            goto 23
        22: .line 126
      StackMap locals: com.sun.marlin.Stroker com.sun.marlin.RendererContext
      StackMap stack: com.sun.marlin.Stroker
            new com.sun.marlin.Helpers$PolyStack
            dup
            aload 1 /* rdrCtx */
            invokespecial com.sun.marlin.Helpers$PolyStack.<init>:(Lcom/sun/marlin/RendererContext;)V
        23: .line 119
      StackMap locals: com.sun.marlin.Stroker com.sun.marlin.RendererContext
      StackMap stack: com.sun.marlin.Stroker com.sun.marlin.Helpers$PolyStack
            putfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
        24: .line 128
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.curve:Lcom/sun/marlin/Curve;
            putfield com.sun.marlin.Stroker.curve:Lcom/sun/marlin/Curve;
        25: .line 129
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.curveClipSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            putfield com.sun.marlin.Stroker.curveSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
        26: .line 130
            return
        end local 1 // com.sun.marlin.RendererContext rdrCtx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lcom/sun/marlin/Stroker;
            0   27     1  rdrCtx  Lcom/sun/marlin/RendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  public com.sun.marlin.Stroker init(com.sun.javafx.geom.PathConsumer2D, float, int, int, float, boolean);
    descriptor: (Lcom/sun/javafx/geom/PathConsumer2D;FIIFZ)Lcom/sun/marlin/Stroker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=7
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // com.sun.javafx.geom.PathConsumer2D pc2d
        start local 2 // float lineWidth
        start local 3 // int capStyle
        start local 4 // int joinStyle
        start local 5 // float miterLimit
        start local 6 // boolean subdivideCurves
         0: .line 154
            aload 0 /* this */
            aload 1 /* pc2d */
            putfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
         1: .line 156
            aload 0 /* this */
            fload 2 /* lineWidth */
            fconst_2
            fdiv
            putfield com.sun.marlin.Stroker.lineWidth2:F
         2: .line 157
            aload 0 /* this */
            fconst_1
            fconst_2
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fmul
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fmul
            fdiv
            putfield com.sun.marlin.Stroker.invHalfLineWidth2Sq:F
         3: .line 158
            aload 0 /* this */
            iload 6 /* subdivideCurves */
            putfield com.sun.marlin.Stroker.monotonize:Z
         4: .line 160
            aload 0 /* this */
            iload 3 /* capStyle */
            putfield com.sun.marlin.Stroker.capStyle:I
         5: .line 161
            aload 0 /* this */
            iload 4 /* joinStyle */
            putfield com.sun.marlin.Stroker.joinStyle:I
         6: .line 163
            fload 5 /* miterLimit */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fmul
            fstore 7 /* limit */
        start local 7 // float limit
         7: .line 164
            aload 0 /* this */
            fload 7 /* limit */
            fload 7 /* limit */
            fmul
            putfield com.sun.marlin.Stroker.miterLimitSq:F
         8: .line 166
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.Stroker.prev:I
         9: .line 168
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            iconst_1
            putfield com.sun.marlin.RendererContext.stroking:I
        10: .line 170
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.doClip:Z
            ifeq 32
        11: .line 172
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fstore 8 /* margin */
        start local 8 // float margin
        12: .line 174
            iload 3 /* capStyle */
            iconst_2
            if_icmpne 14
        13: .line 175
            fload 8 /* margin */
            getstatic com.sun.marlin.Stroker.SQRT_2:F
            fmul
            fstore 8 /* margin */
        14: .line 177
      StackMap locals: float float
      StackMap stack:
            iload 4 /* joinStyle */
            ifne 16
            fload 8 /* margin */
            fload 7 /* limit */
            fcmpg
            ifge 16
        15: .line 178
            fload 7 /* limit */
            fstore 8 /* margin */
        16: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.clipRect:[F
            astore 9 /* _clipRect */
        start local 9 // float[] _clipRect
        17: .line 184
            aload 9 /* _clipRect */
            iconst_0
            dup2
            faload
            fload 8 /* margin */
            fsub
            fastore
        18: .line 185
            aload 9 /* _clipRect */
            iconst_1
            dup2
            faload
            fload 8 /* margin */
            fadd
            fastore
        19: .line 186
            aload 9 /* _clipRect */
            iconst_2
            dup2
            faload
            fload 8 /* margin */
            fsub
            fastore
        20: .line 187
            aload 9 /* _clipRect */
            iconst_3
            dup2
            faload
            fload 8 /* margin */
            fadd
            fastore
        21: .line 188
            aload 0 /* this */
            aload 9 /* _clipRect */
            putfield com.sun.marlin.Stroker.clipRect:[F
        22: .line 190
            getstatic com.sun.marlin.MarlinConst.DO_LOG_CLIP:Z
            ifeq 26
        23: .line 191
            new java.lang.StringBuilder
            dup
            ldc "clipRect (stroker): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 192
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.clipRect:[F
            invokestatic java.util.Arrays.toString:([F)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 191
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
        26: .line 196
      StackMap locals: float[]
      StackMap stack:
            getstatic com.sun.marlin.Stroker.DO_CLIP_SUBDIVIDER:Z
            ifeq 30
        27: .line 197
            aload 0 /* this */
            iload 6 /* subdivideCurves */
            putfield com.sun.marlin.Stroker.subdivide:Z
        28: .line 199
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.curveSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter.init:()V
        29: .line 200
            goto 35
        30: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.subdivide:Z
        end local 9 // float[] _clipRect
        end local 8 // float margin
        31: .line 203
            goto 35
        32: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.Stroker.clipRect:[F
        33: .line 205
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.cOutCode:I
        34: .line 206
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.sOutCode:I
        35: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 7 // float limit
        end local 6 // boolean subdivideCurves
        end local 5 // float miterLimit
        end local 4 // int joinStyle
        end local 3 // int capStyle
        end local 2 // float lineWidth
        end local 1 // com.sun.javafx.geom.PathConsumer2D pc2d
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lcom/sun/marlin/Stroker;
            0   36     1             pc2d  Lcom/sun/javafx/geom/PathConsumer2D;
            0   36     2        lineWidth  F
            0   36     3         capStyle  I
            0   36     4        joinStyle  I
            0   36     5       miterLimit  F
            0   36     6  subdivideCurves  Z
            7   36     7            limit  F
           12   31     8           margin  F
           17   31     9        _clipRect  [F
    MethodParameters:
                 Name  Flags
      pc2d             final
      lineWidth        final
      capStyle         final
      joinStyle        final
      miterLimit       final
      subdivideCurves  final

  public void disableClipping();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 212
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.Stroker.clipRect:[F
         1: .line 213
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.cOutCode:I
         2: .line 214
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.sOutCode:I
         3: .line 215
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/Stroker;

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 222
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            invokevirtual com.sun.marlin.Helpers$PolyStack.dispose:()V
         1: .line 224
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.opened:Z
         2: .line 225
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.capStart:Z
         3: .line 236
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/Stroker;

  private static void computeOffset(float, float, float, float[]);
    descriptor: (FFF[F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // float lx
        start local 1 // float ly
        start local 2 // float w
        start local 3 // float[] m
         0: .line 241
            fload 0 /* lx */
            fload 0 /* lx */
            fmul
            fload 1 /* ly */
            fload 1 /* ly */
            fmul
            fadd
            fstore 4 /* len */
        start local 4 // float len
         1: .line 242
            fload 4 /* len */
            fconst_0
            fcmpl
            ifne 5
         2: .line 243
            aload 3 /* m */
            iconst_0
            fconst_0
            fastore
         3: .line 244
            aload 3 /* m */
            iconst_1
            fconst_0
            fastore
         4: .line 245
            goto 8
         5: .line 246
      StackMap locals: float
      StackMap stack:
            fload 4 /* len */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 4 /* len */
         6: .line 247
            aload 3 /* m */
            iconst_0
            fload 1 /* ly */
            fload 2 /* w */
            fmul
            fload 4 /* len */
            fdiv
            fastore
         7: .line 248
            aload 3 /* m */
            iconst_1
            fload 0 /* lx */
            fload 2 /* w */
            fmul
            fneg
            fload 4 /* len */
            fdiv
            fastore
         8: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 4 // float len
        end local 3 // float[] m
        end local 2 // float w
        end local 1 // float ly
        end local 0 // float lx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    lx  F
            0    9     1    ly  F
            0    9     2     w  F
            0    9     3     m  [F
            1    9     4   len  F
    MethodParameters:
      Name  Flags
      lx    final
      ly    final
      w     final
      m     final

  private static boolean isCW(float, float, float, float);
    descriptor: (FFFF)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // float dx1
        start local 1 // float dy1
        start local 2 // float dx2
        start local 3 // float dy2
         0: .line 263
            fload 0 /* dx1 */
            fload 3 /* dy2 */
            fmul
            fload 1 /* dy1 */
            fload 2 /* dx2 */
            fmul
            fcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // float dy2
        end local 2 // float dx2
        end local 1 // float dy1
        end local 0 // float dx1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dx1  F
            0    2     1   dy1  F
            0    2     2   dx2  F
            0    2     3   dy2  F
    MethodParameters:
      Name  Flags
      dx1   final
      dy1   final
      dx2   final
      dy2   final

  private void mayDrawRoundJoin(float, float, float, float, float, float, boolean);
    descriptor: (FFFFFFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=8
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // float omx
        start local 4 // float omy
        start local 5 // float mx
        start local 6 // float my
        start local 7 // boolean rev
         0: .line 271
            fload 3 /* omx */
            fconst_0
            fcmpl
            ifne 1
            fload 4 /* omy */
            fconst_0
            fcmpl
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: fload 5 /* mx */
            fconst_0
            fcmpl
            ifne 3
            fload 6 /* my */
            fconst_0
            fcmpl
            ifne 3
         2: .line 272
      StackMap locals:
      StackMap stack:
            return
         3: .line 275
      StackMap locals:
      StackMap stack:
            fload 3 /* omx */
            fload 5 /* mx */
            fsub
            fstore 8 /* domx */
        start local 8 // float domx
         4: .line 276
            fload 4 /* omy */
            fload 6 /* my */
            fsub
            fstore 9 /* domy */
        start local 9 // float domy
         5: .line 277
            fload 8 /* domx */
            fload 8 /* domx */
            fmul
            fload 9 /* domy */
            fload 9 /* domy */
            fmul
            fadd
            fstore 10 /* lenSq */
        start local 10 // float lenSq
         6: .line 279
            fload 10 /* lenSq */
            getstatic com.sun.marlin.Stroker.ROUND_JOIN_THRESHOLD:F
            fcmpg
            ifge 8
         7: .line 280
            return
         8: .line 283
      StackMap locals: float float float
      StackMap stack:
            iload 7 /* rev */
            ifeq 13
         9: .line 284
            fload 3 /* omx */
            fneg
            fstore 3 /* omx */
        10: .line 285
            fload 4 /* omy */
            fneg
            fstore 4 /* omy */
        11: .line 286
            fload 5 /* mx */
            fneg
            fstore 5 /* mx */
        12: .line 287
            fload 6 /* my */
            fneg
            fstore 6 /* my */
        13: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* cx */
            fload 2 /* cy */
            fload 3 /* omx */
            fload 4 /* omy */
            fload 5 /* mx */
            fload 6 /* my */
            iload 7 /* rev */
            invokevirtual com.sun.marlin.Stroker.drawRoundJoin:(FFFFFFZ)V
        14: .line 290
            return
        end local 10 // float lenSq
        end local 9 // float domy
        end local 8 // float domx
        end local 7 // boolean rev
        end local 6 // float my
        end local 5 // float mx
        end local 4 // float omy
        end local 3 // float omx
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/sun/marlin/Stroker;
            0   15     1     cx  F
            0   15     2     cy  F
            0   15     3    omx  F
            0   15     4    omy  F
            0   15     5     mx  F
            0   15     6     my  F
            0   15     7    rev  Z
            4   15     8   domx  F
            5   15     9   domy  F
            6   15    10  lenSq  F
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawRoundJoin(float, float, float, float, float, float, boolean);
    descriptor: (FFFFFFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=8
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // float omx
        start local 4 // float omy
        start local 5 // float mx
        start local 6 // float my
        start local 7 // boolean rev
         0: .line 300
            fload 3 /* omx */
            fload 5 /* mx */
            fmul
            fload 4 /* omy */
            fload 6 /* my */
            fmul
            fadd
            fstore 8 /* cosext */
        start local 8 // float cosext
         1: .line 304
            fload 8 /* cosext */
            fconst_0
            fcmpl
            iflt 4
         2: .line 305
            aload 0 /* this */
            fload 1 /* cx */
            fload 2 /* cy */
            fload 3 /* omx */
            fload 4 /* omy */
            fload 5 /* mx */
            fload 6 /* my */
            iload 7 /* rev */
            invokevirtual com.sun.marlin.Stroker.drawBezApproxForArc:(FFFFFFZ)V
         3: .line 306
            goto 15
         4: .line 321
      StackMap locals: float
      StackMap stack:
            fload 6 /* my */
            fload 4 /* omy */
            fsub
            fstore 9 /* nx */
        start local 9 // float nx
         5: fload 3 /* omx */
            fload 5 /* mx */
            fsub
            fstore 10 /* ny */
        start local 10 // float ny
         6: .line 322
            fload 9 /* nx */
            fload 9 /* nx */
            fmul
            fload 10 /* ny */
            fload 10 /* ny */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 11 /* nlen */
        start local 11 // float nlen
         7: .line 323
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fload 11 /* nlen */
            fdiv
            fstore 12 /* scale */
        start local 12 // float scale
         8: .line 324
            fload 9 /* nx */
            fload 12 /* scale */
            fmul
            fstore 13 /* mmx */
        start local 13 // float mmx
         9: fload 10 /* ny */
            fload 12 /* scale */
            fmul
            fstore 14 /* mmy */
        start local 14 // float mmy
        10: .line 329
            iload 7 /* rev */
            ifeq 13
        11: .line 330
            fload 13 /* mmx */
            fneg
            fstore 13 /* mmx */
        12: .line 331
            fload 14 /* mmy */
            fneg
            fstore 14 /* mmy */
        13: .line 333
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float float float float float float float
      StackMap stack:
            aload 0 /* this */
            fload 1 /* cx */
            fload 2 /* cy */
            fload 3 /* omx */
            fload 4 /* omy */
            fload 13 /* mmx */
            fload 14 /* mmy */
            iload 7 /* rev */
            invokevirtual com.sun.marlin.Stroker.drawBezApproxForArc:(FFFFFFZ)V
        14: .line 334
            aload 0 /* this */
            fload 1 /* cx */
            fload 2 /* cy */
            fload 13 /* mmx */
            fload 14 /* mmy */
            fload 5 /* mx */
            fload 6 /* my */
            iload 7 /* rev */
            invokevirtual com.sun.marlin.Stroker.drawBezApproxForArc:(FFFFFFZ)V
        end local 14 // float mmy
        end local 13 // float mmx
        end local 12 // float scale
        end local 11 // float nlen
        end local 10 // float ny
        end local 9 // float nx
        15: .line 336
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float
      StackMap stack:
            return
        end local 8 // float cosext
        end local 7 // boolean rev
        end local 6 // float my
        end local 5 // float mx
        end local 4 // float omy
        end local 3 // float omx
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/sun/marlin/Stroker;
            0   16     1      cx  F
            0   16     2      cy  F
            0   16     3     omx  F
            0   16     4     omy  F
            0   16     5      mx  F
            0   16     6      my  F
            0   16     7     rev  Z
            1   16     8  cosext  F
            5   15     9      nx  F
            6   15    10      ny  F
            7   15    11    nlen  F
            8   15    12   scale  F
            9   15    13     mmx  F
           10   15    14     mmy  F
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawBezApproxForArc(float, float, float, float, float, float, boolean);
    descriptor: (FFFFFFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=18, args_size=8
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // float omx
        start local 4 // float omy
        start local 5 // float mx
        start local 6 // float my
        start local 7 // boolean rev
         0: .line 344
            fload 3 /* omx */
            fload 5 /* mx */
            fmul
            fload 4 /* omy */
            fload 6 /* my */
            fmul
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.invHalfLineWidth2Sq:F
            fmul
            fstore 8 /* cosext2 */
        start local 8 // float cosext2
         1: .line 348
            fload 8 /* cosext2 */
            ldc 0.5
            fcmpl
            iflt 3
         2: .line 350
            return
         3: .line 358
      StackMap locals: float
      StackMap stack:
            ldc 1.3333333333333333
            ldc 0.5
            fload 8 /* cosext2 */
            f2d
            dsub
            invokestatic java.lang.Math.sqrt:(D)D
            dmul
         4: .line 359
            dconst_1
            fload 8 /* cosext2 */
            f2d
            ldc 0.5
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dadd
         5: .line 358
            ddiv
            d2f
            fstore 9 /* cv */
        start local 9 // float cv
         6: .line 361
            iload 7 /* rev */
            ifeq 8
         7: .line 362
            fload 9 /* cv */
            fneg
            fstore 9 /* cv */
         8: .line 364
      StackMap locals: float
      StackMap stack:
            fload 1 /* cx */
            fload 3 /* omx */
            fadd
            fstore 10 /* x1 */
        start local 10 // float x1
         9: .line 365
            fload 2 /* cy */
            fload 4 /* omy */
            fadd
            fstore 11 /* y1 */
        start local 11 // float y1
        10: .line 366
            fload 10 /* x1 */
            fload 9 /* cv */
            fload 4 /* omy */
            fmul
            fsub
            fstore 12 /* x2 */
        start local 12 // float x2
        11: .line 367
            fload 11 /* y1 */
            fload 9 /* cv */
            fload 3 /* omx */
            fmul
            fadd
            fstore 13 /* y2 */
        start local 13 // float y2
        12: .line 369
            fload 1 /* cx */
            fload 5 /* mx */
            fadd
            fstore 14 /* x4 */
        start local 14 // float x4
        13: .line 370
            fload 2 /* cy */
            fload 6 /* my */
            fadd
            fstore 15 /* y4 */
        start local 15 // float y4
        14: .line 371
            fload 14 /* x4 */
            fload 9 /* cv */
            fload 6 /* my */
            fmul
            fadd
            fstore 16 /* x3 */
        start local 16 // float x3
        15: .line 372
            fload 15 /* y4 */
            fload 9 /* cv */
            fload 5 /* mx */
            fmul
            fsub
            fstore 17 /* y3 */
        start local 17 // float y3
        16: .line 374
            aload 0 /* this */
            fload 10 /* x1 */
            fload 11 /* y1 */
            fload 12 /* x2 */
            fload 13 /* y2 */
            fload 16 /* x3 */
            fload 17 /* y3 */
            fload 14 /* x4 */
            fload 15 /* y4 */
            iload 7 /* rev */
            invokevirtual com.sun.marlin.Stroker.emitCurveTo:(FFFFFFFFZ)V
        17: .line 375
            return
        end local 17 // float y3
        end local 16 // float x3
        end local 15 // float y4
        end local 14 // float x4
        end local 13 // float y2
        end local 12 // float x2
        end local 11 // float y1
        end local 10 // float x1
        end local 9 // float cv
        end local 8 // float cosext2
        end local 7 // boolean rev
        end local 6 // float my
        end local 5 // float mx
        end local 4 // float omy
        end local 3 // float omx
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/sun/marlin/Stroker;
            0   18     1       cx  F
            0   18     2       cy  F
            0   18     3      omx  F
            0   18     4      omy  F
            0   18     5       mx  F
            0   18     6       my  F
            0   18     7      rev  Z
            1   18     8  cosext2  F
            6   18     9       cv  F
            9   18    10       x1  F
           10   18    11       y1  F
           11   18    12       x2  F
           12   18    13       y2  F
           13   18    14       x4  F
           14   18    15       y4  F
           15   18    16       x3  F
           16   18    17       y3  F
    MethodParameters:
      Name  Flags
      cx    final
      cy    final
      omx   final
      omy   final
      mx    final
      my    final
      rev   

  private void drawRoundCap(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // float mx
        start local 4 // float my
         0: .line 378
            getstatic com.sun.marlin.Stroker.C:F
            fload 3 /* mx */
            fmul
            fstore 5 /* Cmx */
        start local 5 // float Cmx
         1: .line 379
            getstatic com.sun.marlin.Stroker.C:F
            fload 4 /* my */
            fmul
            fstore 6 /* Cmy */
        start local 6 // float Cmy
         2: .line 380
            aload 0 /* this */
            fload 1 /* cx */
            fload 3 /* mx */
            fadd
            fload 6 /* Cmy */
            fsub
            fload 2 /* cy */
            fload 4 /* my */
            fadd
            fload 5 /* Cmx */
            fadd
         3: .line 381
            fload 1 /* cx */
            fload 4 /* my */
            fsub
            fload 5 /* Cmx */
            fadd
            fload 2 /* cy */
            fload 3 /* mx */
            fadd
            fload 6 /* Cmy */
            fadd
         4: .line 382
            fload 1 /* cx */
            fload 4 /* my */
            fsub
            fload 2 /* cy */
            fload 3 /* mx */
            fadd
         5: .line 380
            invokevirtual com.sun.marlin.Stroker.emitCurveTo:(FFFFFF)V
         6: .line 383
            aload 0 /* this */
            fload 1 /* cx */
            fload 4 /* my */
            fsub
            fload 5 /* Cmx */
            fsub
            fload 2 /* cy */
            fload 3 /* mx */
            fadd
            fload 6 /* Cmy */
            fsub
         7: .line 384
            fload 1 /* cx */
            fload 3 /* mx */
            fsub
            fload 6 /* Cmy */
            fsub
            fload 2 /* cy */
            fload 4 /* my */
            fsub
            fload 5 /* Cmx */
            fadd
         8: .line 385
            fload 1 /* cx */
            fload 3 /* mx */
            fsub
            fload 2 /* cy */
            fload 4 /* my */
            fsub
         9: .line 383
            invokevirtual com.sun.marlin.Stroker.emitCurveTo:(FFFFFF)V
        10: .line 386
            return
        end local 6 // float Cmy
        end local 5 // float Cmx
        end local 4 // float my
        end local 3 // float mx
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/marlin/Stroker;
            0   11     1    cx  F
            0   11     2    cy  F
            0   11     3    mx  F
            0   11     4    my  F
            1   11     5   Cmx  F
            2   11     6   Cmy  F
    MethodParameters:
      Name  Flags
      cx    
      cy    
      mx    
      my    

  private static void computeMiter(float, float, float, float, float, float, float, float, float[]);
    descriptor: (FFFFFFFF[F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=9
        start local 0 // float x0
        start local 1 // float y0
        start local 2 // float x1
        start local 3 // float y1
        start local 4 // float x0p
        start local 5 // float y0p
        start local 6 // float x1p
        start local 7 // float y1p
        start local 8 // float[] m
         0: .line 396
            fload 2 /* x1 */
            fload 0 /* x0 */
            fsub
            fstore 9 /* x10 */
        start local 9 // float x10
         1: .line 397
            fload 3 /* y1 */
            fload 1 /* y0 */
            fsub
            fstore 10 /* y10 */
        start local 10 // float y10
         2: .line 398
            fload 6 /* x1p */
            fload 4 /* x0p */
            fsub
            fstore 11 /* x10p */
        start local 11 // float x10p
         3: .line 399
            fload 7 /* y1p */
            fload 5 /* y0p */
            fsub
            fstore 12 /* y10p */
        start local 12 // float y10p
         4: .line 410
            fload 9 /* x10 */
            fload 12 /* y10p */
            fmul
            fload 11 /* x10p */
            fload 10 /* y10 */
            fmul
            fsub
            fstore 13 /* den */
        start local 13 // float den
         5: .line 411
            fload 11 /* x10p */
            fload 1 /* y0 */
            fload 5 /* y0p */
            fsub
            fmul
            fload 12 /* y10p */
            fload 0 /* x0 */
            fload 4 /* x0p */
            fsub
            fmul
            fsub
            fstore 14 /* t */
        start local 14 // float t
         6: .line 412
            fload 14 /* t */
            fload 13 /* den */
            fdiv
            fstore 14 /* t */
         7: .line 413
            aload 8 /* m */
            iconst_0
            fload 0 /* x0 */
            fload 14 /* t */
            fload 9 /* x10 */
            fmul
            fadd
            fastore
         8: .line 414
            aload 8 /* m */
            iconst_1
            fload 1 /* y0 */
            fload 14 /* t */
            fload 10 /* y10 */
            fmul
            fadd
            fastore
         9: .line 415
            return
        end local 14 // float t
        end local 13 // float den
        end local 12 // float y10p
        end local 11 // float x10p
        end local 10 // float y10
        end local 9 // float x10
        end local 8 // float[] m
        end local 7 // float y1p
        end local 6 // float x1p
        end local 5 // float y0p
        end local 4 // float x0p
        end local 3 // float y1
        end local 2 // float x1
        end local 1 // float y0
        end local 0 // float x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    x0  F
            0   10     1    y0  F
            0   10     2    x1  F
            0   10     3    y1  F
            0   10     4   x0p  F
            0   10     5   y0p  F
            0   10     6   x1p  F
            0   10     7   y1p  F
            0   10     8     m  [F
            1   10     9   x10  F
            2   10    10   y10  F
            3   10    11  x10p  F
            4   10    12  y10p  F
            5   10    13   den  F
            6   10    14     t  F
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private static void safeComputeMiter(float, float, float, float, float, float, float, float, float[]);
    descriptor: (FFFFFFFF[F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=9
        start local 0 // float x0
        start local 1 // float y0
        start local 2 // float x1
        start local 3 // float y1
        start local 4 // float x0p
        start local 5 // float y0p
        start local 6 // float x1p
        start local 7 // float y1p
        start local 8 // float[] m
         0: .line 425
            fload 2 /* x1 */
            fload 0 /* x0 */
            fsub
            fstore 9 /* x10 */
        start local 9 // float x10
         1: .line 426
            fload 3 /* y1 */
            fload 1 /* y0 */
            fsub
            fstore 10 /* y10 */
        start local 10 // float y10
         2: .line 427
            fload 6 /* x1p */
            fload 4 /* x0p */
            fsub
            fstore 11 /* x10p */
        start local 11 // float x10p
         3: .line 428
            fload 7 /* y1p */
            fload 5 /* y0p */
            fsub
            fstore 12 /* y10p */
        start local 12 // float y10p
         4: .line 439
            fload 9 /* x10 */
            fload 12 /* y10p */
            fmul
            fload 11 /* x10p */
            fload 10 /* y10 */
            fmul
            fsub
            fstore 13 /* den */
        start local 13 // float den
         5: .line 440
            fload 13 /* den */
            fconst_0
            fcmpl
            ifne 9
         6: .line 441
            aload 8 /* m */
            iconst_2
            fload 0 /* x0 */
            fload 4 /* x0p */
            fadd
            fconst_2
            fdiv
            fastore
         7: .line 442
            aload 8 /* m */
            iconst_3
            fload 1 /* y0 */
            fload 5 /* y0p */
            fadd
            fconst_2
            fdiv
            fastore
         8: .line 443
            goto 13
         9: .line 444
      StackMap locals: float float float float float float float float float[] float float float float float
      StackMap stack:
            fload 11 /* x10p */
            fload 1 /* y0 */
            fload 5 /* y0p */
            fsub
            fmul
            fload 12 /* y10p */
            fload 0 /* x0 */
            fload 4 /* x0p */
            fsub
            fmul
            fsub
            fstore 14 /* t */
        start local 14 // float t
        10: .line 445
            fload 14 /* t */
            fload 13 /* den */
            fdiv
            fstore 14 /* t */
        11: .line 446
            aload 8 /* m */
            iconst_2
            fload 0 /* x0 */
            fload 14 /* t */
            fload 9 /* x10 */
            fmul
            fadd
            fastore
        12: .line 447
            aload 8 /* m */
            iconst_3
            fload 1 /* y0 */
            fload 14 /* t */
            fload 10 /* y10 */
            fmul
            fadd
            fastore
        end local 14 // float t
        13: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 13 // float den
        end local 12 // float y10p
        end local 11 // float x10p
        end local 10 // float y10
        end local 9 // float x10
        end local 8 // float[] m
        end local 7 // float y1p
        end local 6 // float x1p
        end local 5 // float y0p
        end local 4 // float x0p
        end local 3 // float y1
        end local 2 // float x1
        end local 1 // float y0
        end local 0 // float x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0    x0  F
            0   14     1    y0  F
            0   14     2    x1  F
            0   14     3    y1  F
            0   14     4   x0p  F
            0   14     5   y0p  F
            0   14     6   x1p  F
            0   14     7   y1p  F
            0   14     8     m  [F
            1   14     9   x10  F
            2   14    10   y10  F
            3   14    11  x10p  F
            4   14    12  y10p  F
            5   14    13   den  F
           10   13    14     t  F
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private void drawMiter(float, float, float, float, float, float, float, float, float, float, boolean);
    descriptor: (FFFFFFFFFFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=12
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float pdx
        start local 2 // float pdy
        start local 3 // float x0
        start local 4 // float y0
        start local 5 // float dx
        start local 6 // float dy
        start local 7 // float omx
        start local 8 // float omy
        start local 9 // float mx
        start local 10 // float my
        start local 11 // boolean rev
         0: .line 458
            fload 9 /* mx */
            fload 7 /* omx */
            fcmpl
            ifne 1
            fload 10 /* my */
            fload 8 /* omy */
            fcmpl
            ifeq 3
         1: .line 459
      StackMap locals:
      StackMap stack:
            fload 1 /* pdx */
            fconst_0
            fcmpl
            ifne 2
            fload 2 /* pdy */
            fconst_0
            fcmpl
            ifeq 3
         2: .line 460
      StackMap locals:
      StackMap stack:
            fload 5 /* dx */
            fconst_0
            fcmpl
            ifne 4
            fload 6 /* dy */
            fconst_0
            fcmpl
            ifne 4
         3: .line 462
      StackMap locals:
      StackMap stack:
            return
         4: .line 465
      StackMap locals:
      StackMap stack:
            iload 11 /* rev */
            ifeq 9
         5: .line 466
            fload 7 /* omx */
            fneg
            fstore 7 /* omx */
         6: .line 467
            fload 8 /* omy */
            fneg
            fstore 8 /* omy */
         7: .line 468
            fload 9 /* mx */
            fneg
            fstore 9 /* mx */
         8: .line 469
            fload 10 /* my */
            fneg
            fstore 10 /* my */
         9: .line 472
      StackMap locals:
      StackMap stack:
            fload 3 /* x0 */
            fload 1 /* pdx */
            fsub
            fload 7 /* omx */
            fadd
            fload 4 /* y0 */
            fload 2 /* pdy */
            fsub
            fload 8 /* omy */
            fadd
            fload 3 /* x0 */
            fload 7 /* omx */
            fadd
            fload 4 /* y0 */
            fload 8 /* omy */
            fadd
        10: .line 473
            fload 5 /* dx */
            fload 3 /* x0 */
            fadd
            fload 9 /* mx */
            fadd
            fload 6 /* dy */
            fload 4 /* y0 */
            fadd
            fload 10 /* my */
            fadd
            fload 3 /* x0 */
            fload 9 /* mx */
            fadd
            fload 4 /* y0 */
            fload 10 /* my */
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.miter:[F
        11: .line 472
            invokestatic com.sun.marlin.Stroker.computeMiter:(FFFFFFFF[F)V
        12: .line 475
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.miter:[F
            iconst_0
            faload
            fstore 12 /* miterX */
        start local 12 // float miterX
        13: .line 476
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.miter:[F
            iconst_1
            faload
            fstore 13 /* miterY */
        start local 13 // float miterY
        14: .line 477
            fload 12 /* miterX */
            fload 3 /* x0 */
            fsub
            fload 12 /* miterX */
            fload 3 /* x0 */
            fsub
            fmul
            fload 13 /* miterY */
            fload 4 /* y0 */
            fsub
            fload 13 /* miterY */
            fload 4 /* y0 */
            fsub
            fmul
            fadd
            fstore 14 /* lenSq */
        start local 14 // float lenSq
        15: .line 484
            fload 14 /* lenSq */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.miterLimitSq:F
            fcmpg
            ifge 17
        16: .line 485
            aload 0 /* this */
            fload 12 /* miterX */
            fload 13 /* miterY */
            iload 11 /* rev */
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FFZ)V
        17: .line 487
      StackMap locals: float float float
      StackMap stack:
            return
        end local 14 // float lenSq
        end local 13 // float miterY
        end local 12 // float miterX
        end local 11 // boolean rev
        end local 10 // float my
        end local 9 // float mx
        end local 8 // float omy
        end local 7 // float omx
        end local 6 // float dy
        end local 5 // float dx
        end local 4 // float y0
        end local 3 // float x0
        end local 2 // float pdy
        end local 1 // float pdx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lcom/sun/marlin/Stroker;
            0   18     1     pdx  F
            0   18     2     pdy  F
            0   18     3      x0  F
            0   18     4      y0  F
            0   18     5      dx  F
            0   18     6      dy  F
            0   18     7     omx  F
            0   18     8     omy  F
            0   18     9      mx  F
            0   18    10      my  F
            0   18    11     rev  Z
           13   18    12  miterX  F
           14   18    13  miterY  F
           15   18    14   lenSq  F
    MethodParameters:
      Name  Flags
      pdx   final
      pdy   final
      x0    final
      y0    final
      dx    final
      dy    final
      omx   
      omy   
      mx    
      my    
      rev   

  public void moveTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 491
            aload 0 /* this */
            fload 1 /* x0 */
            fload 2 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            invokevirtual com.sun.marlin.Stroker._moveTo:(FFI)V
         1: .line 493
            aload 0 /* this */
            fload 1 /* x0 */
            putfield com.sun.marlin.Stroker.sx0:F
         2: .line 494
            aload 0 /* this */
            fload 2 /* y0 */
            putfield com.sun.marlin.Stroker.sy0:F
         3: .line 495
            aload 0 /* this */
            fconst_1
            putfield com.sun.marlin.Stroker.sdx:F
         4: .line 496
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.sdy:F
         5: .line 497
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.opened:Z
         6: .line 498
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.capStart:Z
         7: .line 500
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 11
         8: .line 501
            fload 1 /* x0 */
            fload 2 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 3 /* outcode */
        start local 3 // int outcode
         9: .line 502
            aload 0 /* this */
            iload 3 /* outcode */
            putfield com.sun.marlin.Stroker.cOutCode:I
        10: .line 503
            aload 0 /* this */
            iload 3 /* outcode */
            putfield com.sun.marlin.Stroker.sOutCode:I
        end local 3 // int outcode
        11: .line 505
      StackMap locals:
      StackMap stack:
            return
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/Stroker;
            0   12     1       x0  F
            0   12     2       y0  F
            9   11     3  outcode  I
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void _moveTo(float, float, int);
    descriptor: (FFI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
        start local 3 // int outcode
         0: .line 510
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            ifne 4
         1: .line 511
            aload 0 /* this */
            fload 1 /* x0 */
            putfield com.sun.marlin.Stroker.cx0:F
         2: .line 512
            aload 0 /* this */
            fload 2 /* y0 */
            putfield com.sun.marlin.Stroker.cy0:F
         3: .line 513
            goto 11
         4: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            iconst_1
            if_icmpne 6
         5: .line 515
            aload 0 /* this */
            iload 3 /* outcode */
            invokevirtual com.sun.marlin.Stroker.finish:(I)V
         6: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.prev:I
         7: .line 518
            aload 0 /* this */
            fload 1 /* x0 */
            putfield com.sun.marlin.Stroker.cx0:F
         8: .line 519
            aload 0 /* this */
            fload 2 /* y0 */
            putfield com.sun.marlin.Stroker.cy0:F
         9: .line 520
            aload 0 /* this */
            fconst_1
            putfield com.sun.marlin.Stroker.cdx:F
        10: .line 521
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.cdy:F
        11: .line 523
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int outcode
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/Stroker;
            0   12     1       x0  F
            0   12     2       y0  F
            0   12     3  outcode  I
    MethodParameters:
         Name  Flags
      x0       final
      y0       final
      outcode  final

  public void lineTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 527
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            iconst_0
            invokevirtual com.sun.marlin.Stroker.lineTo:(FFZ)V
         1: .line 528
            return
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x1  F
            0    2     2    y1  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void lineTo(float, float, boolean);
    descriptor: (FFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=9, args_size=4
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // boolean force
         0: .line 533
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            istore 4 /* outcode0 */
        start local 4 // int outcode0
         1: .line 535
            iload 3 /* force */
            ifne 20
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 20
         2: .line 536
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 5 /* outcode1 */
        start local 5 // int outcode1
         3: .line 539
            iload 4 /* outcode0 */
            iload 5 /* outcode1 */
            ior
            istore 6 /* orCode */
        start local 6 // int orCode
         4: .line 540
            iload 6 /* orCode */
            ifeq 19
         5: .line 541
            iload 4 /* outcode0 */
            iload 5 /* outcode1 */
            iand
            istore 7 /* sideCode */
        start local 7 // int sideCode
         6: .line 544
            iload 7 /* sideCode */
            ifne 15
         7: .line 546
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.subdivide:Z
            ifeq 19
         8: .line 548
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.subdivide:Z
         9: .line 550
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.curveSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
        10: .line 551
            iload 6 /* orCode */
            aload 0 /* this */
        11: .line 550
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitLine:(FFFFILcom/sun/javafx/geom/PathConsumer2D;)Z
            istore 8 /* ret */
        start local 8 // boolean ret
        12: .line 553
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.subdivide:Z
        13: .line 554
            iload 8 /* ret */
            ifeq 19
        14: .line 555
            return
        end local 8 // boolean ret
        15: .line 560
      StackMap locals: com.sun.marlin.Stroker float float int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* outcode1 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        16: .line 561
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            iload 4 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker._moveTo:(FFI)V
        17: .line 562
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.opened:Z
        18: .line 563
            return
        end local 7 // int sideCode
        19: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* outcode1 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        end local 6 // int orCode
        end local 5 // int outcode1
        20: .line 570
      StackMap locals:
      StackMap stack:
            fload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 5 /* dx */
        start local 5 // float dx
        21: .line 571
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 6 /* dy */
        start local 6 // float dy
        22: .line 572
            fload 5 /* dx */
            fconst_0
            fcmpl
            ifne 24
            fload 6 /* dy */
            fconst_0
            fcmpl
            ifne 24
        23: .line 573
            fconst_1
            fstore 5 /* dx */
        24: .line 575
      StackMap locals: float float
      StackMap stack:
            fload 5 /* dx */
            fload 6 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        25: .line 576
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fstore 7 /* mx */
        start local 7 // float mx
        26: .line 577
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fstore 8 /* my */
        start local 8 // float my
        27: .line 579
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 5 /* dx */
            fload 6 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            fload 7 /* mx */
            fload 8 /* my */
            iload 4 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker.drawJoin:(FFFFFFFFFFI)V
        28: .line 581
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fload 7 /* mx */
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 8 /* my */
            fadd
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        29: .line 582
            aload 0 /* this */
            fload 1 /* x1 */
            fload 7 /* mx */
            fadd
            fload 2 /* y1 */
            fload 8 /* my */
            fadd
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        30: .line 584
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fload 7 /* mx */
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 8 /* my */
            fsub
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        31: .line 585
            aload 0 /* this */
            fload 1 /* x1 */
            fload 7 /* mx */
            fsub
            fload 2 /* y1 */
            fload 8 /* my */
            fsub
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        32: .line 587
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.prev:I
        33: .line 588
            aload 0 /* this */
            fload 1 /* x1 */
            putfield com.sun.marlin.Stroker.cx0:F
        34: .line 589
            aload 0 /* this */
            fload 2 /* y1 */
            putfield com.sun.marlin.Stroker.cy0:F
        35: .line 590
            aload 0 /* this */
            fload 5 /* dx */
            putfield com.sun.marlin.Stroker.cdx:F
        36: .line 591
            aload 0 /* this */
            fload 6 /* dy */
            putfield com.sun.marlin.Stroker.cdy:F
        37: .line 592
            aload 0 /* this */
            fload 7 /* mx */
            putfield com.sun.marlin.Stroker.cmx:F
        38: .line 593
            aload 0 /* this */
            fload 8 /* my */
            putfield com.sun.marlin.Stroker.cmy:F
        39: .line 594
            return
        end local 8 // float my
        end local 7 // float mx
        end local 6 // float dy
        end local 5 // float dx
        end local 4 // int outcode0
        end local 3 // boolean force
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/sun/marlin/Stroker;
            0   40     1        x1  F
            0   40     2        y1  F
            0   40     3     force  Z
            1   40     4  outcode0  I
            3   20     5  outcode1  I
            4   20     6    orCode  I
            6   19     7  sideCode  I
           12   15     8       ret  Z
           21   40     5        dx  F
           22   40     6        dy  F
           26   40     7        mx  F
           27   40     8        my  F
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      force  final

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 599
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            iconst_1
            if_icmpeq 14
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.opened:Z
            ifne 14
         1: .line 600
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            iconst_2
            if_icmpne 3
         2: .line 601
            return
         3: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fsub
            invokevirtual com.sun.marlin.Stroker.emitMoveTo:(FF)V
         4: .line 605
            aload 0 /* this */
            fconst_1
            putfield com.sun.marlin.Stroker.sdx:F
         5: .line 606
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.sdy:F
         6: .line 607
            aload 0 /* this */
            fconst_1
            putfield com.sun.marlin.Stroker.cdx:F
         7: .line 608
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.cdy:F
         8: .line 610
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.smx:F
         9: .line 611
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fneg
            putfield com.sun.marlin.Stroker.smy:F
        10: .line 612
            aload 0 /* this */
            fconst_0
            putfield com.sun.marlin.Stroker.cmx:F
        11: .line 613
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            fneg
            putfield com.sun.marlin.Stroker.cmy:F
        12: .line 615
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            invokevirtual com.sun.marlin.Stroker.finish:(I)V
        13: .line 616
            return
        14: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sOutCode:I
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            iand
            ifne 23
        15: .line 621
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            fcmpl
            ifne 16
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            fcmpl
            ifeq 17
        16: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            iconst_1
            invokevirtual com.sun.marlin.Stroker.lineTo:(FFZ)V
        17: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sdx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sdy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sOutCode:I
            invokevirtual com.sun.marlin.Stroker.drawJoin:(FFFFFFFFFFI)V
        18: .line 627
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fadd
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        19: .line 629
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.opened:Z
            ifeq 22
        20: .line 630
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fsub
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        21: .line 631
            goto 23
        22: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fsub
            invokevirtual com.sun.marlin.Stroker.emitMoveTo:(FF)V
        23: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.emitReverse:()V
        24: .line 638
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.Stroker.prev:I
        25: .line 639
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            putfield com.sun.marlin.Stroker.cx0:F
        26: .line 640
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            putfield com.sun.marlin.Stroker.cy0:F
        27: .line 641
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sOutCode:I
            putfield com.sun.marlin.Stroker.cOutCode:I
        28: .line 643
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.opened:Z
            ifeq 31
        29: .line 645
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.opened:Z
        30: .line 646
            goto 32
        31: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.emitClose:()V
        32: .line 649
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lcom/sun/marlin/Stroker;

  private void emitReverse();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 652
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokevirtual com.sun.marlin.Helpers$PolyStack.popAll:(Lcom/sun/javafx/geom/PathConsumer2D;)V
         1: .line 653
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 657
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            iconst_1
            if_icmpne 2
         1: .line 658
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            invokevirtual com.sun.marlin.Stroker.finish:(I)V
         2: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokeinterface com.sun.javafx.geom.PathConsumer2D.pathDone:()V
         3: .line 665
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.Stroker.prev:I
         4: .line 668
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.dispose:()V
         5: .line 669
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/marlin/Stroker;

  private void finish(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // int outcode
         0: .line 676
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.closedPath:Z
            ifeq 3
         1: .line 677
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.emitReverse:()V
         2: .line 678
            goto 20
         3: .line 679
      StackMap locals:
      StackMap stack:
            iload 1 /* outcode */
            ifne 10
         4: .line 681
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.capStyle:I
            iconst_1
            if_icmpne 7
         5: .line 682
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            invokevirtual com.sun.marlin.Stroker.drawRoundCap:(FFFF)V
         6: .line 683
            goto 10
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield com.sun.marlin.Stroker.capStyle:I
            iconst_2
            if_icmpne 10
         8: .line 684
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            fadd
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
         9: .line 685
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            fsub
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        10: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.emitReverse:()V
        11: .line 690
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.capStart:Z
            ifne 20
        12: .line 691
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.capStart:Z
        13: .line 693
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sOutCode:I
            ifne 20
        14: .line 695
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.capStyle:I
            iconst_1
            if_icmpne 17
        15: .line 696
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fneg
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fneg
            invokevirtual com.sun.marlin.Stroker.drawRoundCap:(FFFF)V
        16: .line 697
            goto 20
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.sun.marlin.Stroker.capStyle:I
            iconst_2
            if_icmpne 20
        18: .line 698
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fsub
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        19: .line 699
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fadd
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.sy0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smx:F
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.smy:F
            fadd
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        20: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.Stroker.emitClose:()V
        21: .line 705
            return
        end local 1 // int outcode
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/marlin/Stroker;
            0   22     1  outcode  I
    MethodParameters:
         Name  Flags
      outcode  final

  private void emitMoveTo(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 708
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 1 /* x0 */
            fload 2 /* y0 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
         1: .line 709
            return
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x0  F
            0    2     2    y0  F
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void emitLineTo(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 712
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
         1: .line 713
            return
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x1  F
            0    2     2    y1  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineToRev(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 716
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushLine:(FF)V
         1: .line 717
            return
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x1  F
            0    2     2    y1  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineTo(float, float, boolean);
    descriptor: (FFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // boolean rev
         0: .line 722
            iload 3 /* rev */
            ifeq 3
         1: .line 723
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
         2: .line 724
            goto 4
         3: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
         4: .line 727
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean rev
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/Stroker;
            0    5     1    x1  F
            0    5     2    y1  F
            0    5     3   rev  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      rev   final

  private void emitQuadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
         0: .line 732
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.quadTo:(FFFF)V
         1: .line 733
            return
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x1  F
            0    2     2    y1  F
            0    2     3    x2  F
            0    2     4    y2  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitQuadToRev(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
        start local 3 // float x1
        start local 4 // float y1
         0: .line 738
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            fload 1 /* x0 */
            fload 2 /* y0 */
            fload 3 /* x1 */
            fload 4 /* y1 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushQuad:(FFFF)V
         1: .line 739
            return
        end local 4 // float y1
        end local 3 // float x1
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x0  F
            0    2     2    y0  F
            0    2     3    x1  F
            0    2     4    y1  F
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final

  private void emitCurveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float x3
        start local 6 // float y3
         0: .line 745
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.curveTo:(FFFFFF)V
         1: .line 746
            return
        end local 6 // float y3
        end local 5 // float x3
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x1  F
            0    2     2    y1  F
            0    2     3    x2  F
            0    2     4    y2  F
            0    2     5    x3  F
            0    2     6    y3  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void emitCurveToRev(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
        start local 3 // float x1
        start local 4 // float y1
        start local 5 // float x2
        start local 6 // float y2
         0: .line 752
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            fload 1 /* x0 */
            fload 2 /* y0 */
            fload 3 /* x1 */
            fload 4 /* y1 */
            fload 5 /* x2 */
            fload 6 /* y2 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushCubic:(FFFFFF)V
         1: .line 753
            return
        end local 6 // float y2
        end local 5 // float x2
        end local 4 // float y1
        end local 3 // float x1
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;
            0    2     1    x0  F
            0    2     2    y0  F
            0    2     3    x1  F
            0    2     4    y1  F
            0    2     5    x2  F
            0    2     6    y2  F
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitCurveTo(float, float, float, float, float, float, float, float, boolean);
    descriptor: (FFFFFFFFZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=10
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x0
        start local 2 // float y0
        start local 3 // float x1
        start local 4 // float y1
        start local 5 // float x2
        start local 6 // float y2
        start local 7 // float x3
        start local 8 // float y3
        start local 9 // boolean rev
         0: .line 760
            iload 9 /* rev */
            ifeq 3
         1: .line 761
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.reverse:Lcom/sun/marlin/Helpers$PolyStack;
            fload 1 /* x0 */
            fload 2 /* y0 */
            fload 3 /* x1 */
            fload 4 /* y1 */
            fload 5 /* x2 */
            fload 6 /* y2 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushCubic:(FFFFFF)V
         2: .line 762
            goto 4
         3: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 3 /* x1 */
            fload 4 /* y1 */
            fload 5 /* x2 */
            fload 6 /* y2 */
            fload 7 /* x3 */
            fload 8 /* y3 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.curveTo:(FFFFFF)V
         4: .line 765
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean rev
        end local 8 // float y3
        end local 7 // float x3
        end local 6 // float y2
        end local 5 // float x2
        end local 4 // float y1
        end local 3 // float x1
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/Stroker;
            0    5     1    x0  F
            0    5     2    y0  F
            0    5     3    x1  F
            0    5     4    y1  F
            0    5     5    x2  F
            0    5     6    y2  F
            0    5     7    x3  F
            0    5     8    y3  F
            0    5     9   rev  Z
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final
      rev   final

  private void emitClose();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.Stroker this
         0: .line 768
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokeinterface com.sun.javafx.geom.PathConsumer2D.closePath:()V
         1: .line 769
            return
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/Stroker;

  private void drawJoin(float, float, float, float, float, float, float, float, float, float, int);
    descriptor: (FFFFFFFFFFI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=13, args_size=12
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float pdx
        start local 2 // float pdy
        start local 3 // float x0
        start local 4 // float y0
        start local 5 // float dx
        start local 6 // float dy
        start local 7 // float omx
        start local 8 // float omy
        start local 9 // float mx
        start local 10 // float my
        start local 11 // int outcode
         0: .line 778
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.prev:I
            iconst_1
            if_icmpeq 8
         1: .line 779
            aload 0 /* this */
            fload 3 /* x0 */
            fload 9 /* mx */
            fadd
            fload 4 /* y0 */
            fload 10 /* my */
            fadd
            invokevirtual com.sun.marlin.Stroker.emitMoveTo:(FF)V
         2: .line 780
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.opened:Z
            ifne 18
         3: .line 781
            aload 0 /* this */
            fload 5 /* dx */
            putfield com.sun.marlin.Stroker.sdx:F
         4: .line 782
            aload 0 /* this */
            fload 6 /* dy */
            putfield com.sun.marlin.Stroker.sdy:F
         5: .line 783
            aload 0 /* this */
            fload 9 /* mx */
            putfield com.sun.marlin.Stroker.smx:F
         6: .line 784
            aload 0 /* this */
            fload 10 /* my */
            putfield com.sun.marlin.Stroker.smy:F
         7: .line 786
            goto 18
         8: .line 787
      StackMap locals:
      StackMap stack:
            fload 1 /* pdx */
            fload 2 /* pdy */
            fload 5 /* dx */
            fload 6 /* dy */
            invokestatic com.sun.marlin.Stroker.isCW:(FFFF)Z
            istore 12 /* cw */
        start local 12 // boolean cw
         9: .line 788
            iload 11 /* outcode */
            ifne 15
        10: .line 789
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.joinStyle:I
            ifne 13
        11: .line 790
            aload 0 /* this */
            fload 1 /* pdx */
            fload 2 /* pdy */
            fload 3 /* x0 */
            fload 4 /* y0 */
            fload 5 /* dx */
            fload 6 /* dy */
            fload 7 /* omx */
            fload 8 /* omy */
            fload 9 /* mx */
            fload 10 /* my */
            iload 12 /* cw */
            invokevirtual com.sun.marlin.Stroker.drawMiter:(FFFFFFFFFFZ)V
        12: .line 791
            goto 15
      StackMap locals: int
      StackMap stack:
        13: aload 0 /* this */
            getfield com.sun.marlin.Stroker.joinStyle:I
            iconst_1
            if_icmpne 15
        14: .line 792
            aload 0 /* this */
            fload 3 /* x0 */
            fload 4 /* y0 */
            fload 7 /* omx */
            fload 8 /* omy */
            fload 9 /* mx */
            fload 10 /* my */
            iload 12 /* cw */
            invokevirtual com.sun.marlin.Stroker.mayDrawRoundJoin:(FFFFFFZ)V
        15: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 3 /* x0 */
            fload 4 /* y0 */
            iload 12 /* cw */
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: com.sun.marlin.Stroker float float float float float float float float float float int int
      StackMap stack: com.sun.marlin.Stroker float float
        16: iconst_1
      StackMap locals: com.sun.marlin.Stroker float float float float float float float float float float int int
      StackMap stack: com.sun.marlin.Stroker float float int
        17: invokevirtual com.sun.marlin.Stroker.emitLineTo:(FFZ)V
        end local 12 // boolean cw
        18: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.prev:I
        19: .line 798
            return
        end local 11 // int outcode
        end local 10 // float my
        end local 9 // float mx
        end local 8 // float omy
        end local 7 // float omx
        end local 6 // float dy
        end local 5 // float dx
        end local 4 // float y0
        end local 3 // float x0
        end local 2 // float pdy
        end local 1 // float pdx
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lcom/sun/marlin/Stroker;
            0   20     1      pdx  F
            0   20     2      pdy  F
            0   20     3       x0  F
            0   20     4       y0  F
            0   20     5       dx  F
            0   20     6       dy  F
            0   20     7      omx  F
            0   20     8      omy  F
            0   20     9       mx  F
            0   20    10       my  F
            0   20    11  outcode  I
            9   18    12       cw  Z
    MethodParameters:
         Name  Flags
      pdx      
      pdy      
      x0       
      y0       
      dx       
      dy       
      omx      
      omy      
      mx       
      my       
      outcode  final

  private static boolean within(float, float, float, float, float);
    descriptor: (FFFFF)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // float x1
        start local 1 // float y1
        start local 2 // float x2
        start local 3 // float y2
        start local 4 // float err
         0: .line 804
            getstatic com.sun.marlin.Stroker.$assertionsDisabled:Z
            ifne 1
            fload 4 /* err */
            fconst_0
            fcmpl
            ifgt 1
            new java.lang.AssertionError
            dup
            ldc ""
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 807
      StackMap locals:
      StackMap stack:
            fload 0 /* x1 */
            fload 2 /* x2 */
            fload 4 /* err */
            invokestatic com.sun.marlin.Helpers.within:(FFF)Z
            ifeq 4
         2: .line 808
            fload 1 /* y1 */
            fload 3 /* y2 */
            fload 4 /* err */
            invokestatic com.sun.marlin.Helpers.within:(FFF)Z
            ifeq 4
         3: .line 807
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 4 // float err
        end local 3 // float y2
        end local 2 // float x2
        end local 1 // float y1
        end local 0 // float x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    x1  F
            0    5     1    y1  F
            0    5     2    x2  F
            0    5     3    y2  F
            0    5     4   err  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      err   final

  private void getLineOffsets(float, float, float, float, float[], float[]);
    descriptor: (FFFF[F[F)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float[] left
        start local 6 // float[] right
         0: .line 815
            fload 3 /* x2 */
            fload 1 /* x1 */
            fsub
            fload 4 /* y2 */
            fload 2 /* y1 */
            fsub
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
         1: .line 816
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fstore 7 /* mx */
        start local 7 // float mx
         2: .line 817
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fstore 8 /* my */
        start local 8 // float my
         3: .line 818
            aload 5 /* left */
            iconst_0
            fload 1 /* x1 */
            fload 7 /* mx */
            fadd
            fastore
         4: .line 819
            aload 5 /* left */
            iconst_1
            fload 2 /* y1 */
            fload 8 /* my */
            fadd
            fastore
         5: .line 820
            aload 5 /* left */
            iconst_2
            fload 3 /* x2 */
            fload 7 /* mx */
            fadd
            fastore
         6: .line 821
            aload 5 /* left */
            iconst_3
            fload 4 /* y2 */
            fload 8 /* my */
            fadd
            fastore
         7: .line 823
            aload 6 /* right */
            iconst_0
            fload 1 /* x1 */
            fload 7 /* mx */
            fsub
            fastore
         8: .line 824
            aload 6 /* right */
            iconst_1
            fload 2 /* y1 */
            fload 8 /* my */
            fsub
            fastore
         9: .line 825
            aload 6 /* right */
            iconst_2
            fload 3 /* x2 */
            fload 7 /* mx */
            fsub
            fastore
        10: .line 826
            aload 6 /* right */
            iconst_3
            fload 4 /* y2 */
            fload 8 /* my */
            fsub
            fastore
        11: .line 827
            return
        end local 8 // float my
        end local 7 // float mx
        end local 6 // float[] right
        end local 5 // float[] left
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/sun/marlin/Stroker;
            0   12     1     x1  F
            0   12     2     y1  F
            0   12     3     x2  F
            0   12     4     y2  F
            0   12     5   left  [F
            0   12     6  right  [F
            2   12     7     mx  F
            3   12     8     my  F
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      x2     final
      y2     final
      left   final
      right  final

  private int computeOffsetCubic(float[], int, float[], float[]);
    descriptor: ([FI[F[F)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=41, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float[] pts
        start local 2 // int off
        start local 3 // float[] leftOff
        start local 4 // float[] rightOff
         0: .line 840
            aload 1 /* pts */
            iload 2 /* off */
            faload
            fstore 5 /* x1 */
        start local 5 // float x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            faload
            fstore 6 /* y1 */
        start local 6 // float y1
         2: .line 841
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            fstore 7 /* x2 */
        start local 7 // float x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            faload
            fstore 8 /* y2 */
        start local 8 // float y2
         4: .line 842
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            faload
            fstore 9 /* x3 */
        start local 9 // float x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            faload
            fstore 10 /* y3 */
        start local 10 // float y3
         6: .line 843
            aload 1 /* pts */
            iload 2 /* off */
            bipush 6
            iadd
            faload
            fstore 11 /* x4 */
        start local 11 // float x4
         7: aload 1 /* pts */
            iload 2 /* off */
            bipush 7
            iadd
            faload
            fstore 12 /* y4 */
        start local 12 // float y4
         8: .line 845
            fload 11 /* x4 */
            fload 9 /* x3 */
            fsub
            fstore 13 /* dx4 */
        start local 13 // float dx4
         9: .line 846
            fload 12 /* y4 */
            fload 10 /* y3 */
            fsub
            fstore 14 /* dy4 */
        start local 14 // float dy4
        10: .line 847
            fload 7 /* x2 */
            fload 5 /* x1 */
            fsub
            fstore 15 /* dx1 */
        start local 15 // float dx1
        11: .line 848
            fload 8 /* y2 */
            fload 6 /* y1 */
            fsub
            fstore 16 /* dy1 */
        start local 16 // float dy1
        12: .line 852
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 7 /* x2 */
            fload 8 /* y2 */
            ldc 6.0
            fload 8 /* y2 */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Stroker.within:(FFFFF)Z
            istore 17 /* p1eqp2 */
        start local 17 // boolean p1eqp2
        13: .line 853
            fload 9 /* x3 */
            fload 10 /* y3 */
            fload 11 /* x4 */
            fload 12 /* y4 */
            ldc 6.0
            fload 12 /* y4 */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Stroker.within:(FFFFF)Z
            istore 18 /* p3eqp4 */
        start local 18 // boolean p3eqp4
        14: .line 855
            iload 17 /* p1eqp2 */
            ifeq 17
            iload 18 /* p3eqp4 */
            ifeq 17
        15: .line 856
            aload 0 /* this */
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 11 /* x4 */
            fload 12 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.Stroker.getLineOffsets:(FFFF[F[F)V
        16: .line 857
            iconst_4
            ireturn
        17: .line 858
      StackMap locals: com.sun.marlin.Stroker float[] int float[] float[] float float float float float float float float float float float float int int
      StackMap stack:
            iload 17 /* p1eqp2 */
            ifeq 21
        18: .line 859
            fload 9 /* x3 */
            fload 5 /* x1 */
            fsub
            fstore 15 /* dx1 */
        19: .line 860
            fload 10 /* y3 */
            fload 6 /* y1 */
            fsub
            fstore 16 /* dy1 */
        20: .line 861
            goto 24
      StackMap locals:
      StackMap stack:
        21: iload 18 /* p3eqp4 */
            ifeq 24
        22: .line 862
            fload 11 /* x4 */
            fload 7 /* x2 */
            fsub
            fstore 13 /* dx4 */
        23: .line 863
            fload 12 /* y4 */
            fload 8 /* y2 */
            fsub
            fstore 14 /* dy4 */
        24: .line 867
      StackMap locals:
      StackMap stack:
            fload 15 /* dx1 */
            fload 13 /* dx4 */
            fmul
            fload 16 /* dy1 */
            fload 14 /* dy4 */
            fmul
            fadd
            fstore 19 /* dotsq */
        start local 19 // float dotsq
        25: .line 868
            fload 19 /* dotsq */
            fload 19 /* dotsq */
            fmul
            fstore 19 /* dotsq */
        26: .line 869
            fload 15 /* dx1 */
            fload 15 /* dx1 */
            fmul
            fload 16 /* dy1 */
            fload 16 /* dy1 */
            fmul
            fadd
            fstore 20 /* l1sq */
        start local 20 // float l1sq
        27: fload 13 /* dx4 */
            fload 13 /* dx4 */
            fmul
            fload 14 /* dy4 */
            fload 14 /* dy4 */
            fmul
            fadd
            fstore 21 /* l4sq */
        start local 21 // float l4sq
        28: .line 871
            fload 19 /* dotsq */
            fload 20 /* l1sq */
            fload 21 /* l4sq */
            fmul
            ldc 4.0
            fload 19 /* dotsq */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Helpers.within:(FFF)Z
            ifeq 31
        29: .line 872
            aload 0 /* this */
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 11 /* x4 */
            fload 12 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.Stroker.getLineOffsets:(FFFF[F[F)V
        30: .line 873
            iconst_4
            ireturn
        31: .line 923
      StackMap locals: float float float
      StackMap stack:
            fload 5 /* x1 */
            ldc 3.0
            fload 7 /* x2 */
            fload 9 /* x3 */
            fadd
            fmul
            fadd
            fload 11 /* x4 */
            fadd
            ldc 8.0
            fdiv
            fstore 22 /* x */
        start local 22 // float x
        32: .line 924
            fload 6 /* y1 */
            ldc 3.0
            fload 8 /* y2 */
            fload 10 /* y3 */
            fadd
            fmul
            fadd
            fload 12 /* y4 */
            fadd
            ldc 8.0
            fdiv
            fstore 23 /* y */
        start local 23 // float y
        33: .line 927
            fload 9 /* x3 */
            fload 11 /* x4 */
            fadd
            fload 5 /* x1 */
            fsub
            fload 7 /* x2 */
            fsub
            fstore 24 /* dxm */
        start local 24 // float dxm
        34: fload 10 /* y3 */
            fload 12 /* y4 */
            fadd
            fload 6 /* y1 */
            fsub
            fload 8 /* y2 */
            fsub
            fstore 25 /* dym */
        start local 25 // float dym
        35: .line 932
            fload 15 /* dx1 */
            fload 16 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        36: .line 933
            fload 24 /* dxm */
            fload 25 /* dym */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        37: .line 934
            fload 13 /* dx4 */
            fload 14 /* dy4 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset2:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        38: .line 935
            fload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fadd
            fstore 26 /* x1p */
        start local 26 // float x1p
        39: .line 936
            fload 6 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fadd
            fstore 27 /* y1p */
        start local 27 // float y1p
        40: .line 937
            fload 22 /* x */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_0
            faload
            fadd
            fstore 28 /* xi */
        start local 28 // float xi
        41: .line 938
            fload 23 /* y */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_1
            faload
            fadd
            fstore 29 /* yi */
        start local 29 // float yi
        42: .line 939
            fload 11 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset2:[F
            iconst_0
            faload
            fadd
            fstore 30 /* x4p */
        start local 30 // float x4p
        43: .line 940
            fload 12 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset2:[F
            iconst_1
            faload
            fadd
            fstore 31 /* y4p */
        start local 31 // float y4p
        44: .line 942
            ldc 4.0
            ldc 3.0
            fload 15 /* dx1 */
            fload 14 /* dy4 */
            fmul
            fload 16 /* dy1 */
            fload 13 /* dx4 */
            fmul
            fsub
            fmul
            fdiv
            fstore 32 /* invdet43 */
        start local 32 // float invdet43
        45: .line 944
            fconst_2
            fload 28 /* xi */
            fmul
            fload 26 /* x1p */
            fsub
            fload 30 /* x4p */
            fsub
            fstore 33 /* two_pi_m_p1_m_p4x */
        start local 33 // float two_pi_m_p1_m_p4x
        46: .line 945
            fconst_2
            fload 29 /* yi */
            fmul
            fload 27 /* y1p */
            fsub
            fload 31 /* y4p */
            fsub
            fstore 34 /* two_pi_m_p1_m_p4y */
        start local 34 // float two_pi_m_p1_m_p4y
        47: .line 946
            fload 32 /* invdet43 */
            fload 14 /* dy4 */
            fload 33 /* two_pi_m_p1_m_p4x */
            fmul
            fload 13 /* dx4 */
            fload 34 /* two_pi_m_p1_m_p4y */
            fmul
            fsub
            fmul
            fstore 35 /* c1 */
        start local 35 // float c1
        48: .line 947
            fload 32 /* invdet43 */
            fload 15 /* dx1 */
            fload 34 /* two_pi_m_p1_m_p4y */
            fmul
            fload 16 /* dy1 */
            fload 33 /* two_pi_m_p1_m_p4x */
            fmul
            fsub
            fmul
            fstore 36 /* c2 */
        start local 36 // float c2
        49: .line 950
            fload 26 /* x1p */
            fload 35 /* c1 */
            fload 15 /* dx1 */
            fmul
            fadd
            fstore 37 /* x2p */
        start local 37 // float x2p
        50: .line 951
            fload 27 /* y1p */
            fload 35 /* c1 */
            fload 16 /* dy1 */
            fmul
            fadd
            fstore 38 /* y2p */
        start local 38 // float y2p
        51: .line 952
            fload 30 /* x4p */
            fload 36 /* c2 */
            fload 13 /* dx4 */
            fmul
            fadd
            fstore 39 /* x3p */
        start local 39 // float x3p
        52: .line 953
            fload 31 /* y4p */
            fload 36 /* c2 */
            fload 14 /* dy4 */
            fmul
            fadd
            fstore 40 /* y3p */
        start local 40 // float y3p
        53: .line 955
            aload 3 /* leftOff */
            iconst_0
            fload 26 /* x1p */
            fastore
            aload 3 /* leftOff */
            iconst_1
            fload 27 /* y1p */
            fastore
        54: .line 956
            aload 3 /* leftOff */
            iconst_2
            fload 37 /* x2p */
            fastore
            aload 3 /* leftOff */
            iconst_3
            fload 38 /* y2p */
            fastore
        55: .line 957
            aload 3 /* leftOff */
            iconst_4
            fload 39 /* x3p */
            fastore
            aload 3 /* leftOff */
            iconst_5
            fload 40 /* y3p */
            fastore
        56: .line 958
            aload 3 /* leftOff */
            bipush 6
            fload 30 /* x4p */
            fastore
            aload 3 /* leftOff */
            bipush 7
            fload 31 /* y4p */
            fastore
        57: .line 960
            fload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fsub
            fstore 26 /* x1p */
            fload 6 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fsub
            fstore 27 /* y1p */
        58: .line 961
            fload 28 /* xi */
            fconst_2
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_0
            faload
            fmul
            fsub
            fstore 28 /* xi */
            fload 29 /* yi */
            fconst_2
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_1
            faload
            fmul
            fsub
            fstore 29 /* yi */
        59: .line 962
            fload 11 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset2:[F
            iconst_0
            faload
            fsub
            fstore 30 /* x4p */
            fload 12 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset2:[F
            iconst_1
            faload
            fsub
            fstore 31 /* y4p */
        60: .line 964
            fconst_2
            fload 28 /* xi */
            fmul
            fload 26 /* x1p */
            fsub
            fload 30 /* x4p */
            fsub
            fstore 33 /* two_pi_m_p1_m_p4x */
        61: .line 965
            fconst_2
            fload 29 /* yi */
            fmul
            fload 27 /* y1p */
            fsub
            fload 31 /* y4p */
            fsub
            fstore 34 /* two_pi_m_p1_m_p4y */
        62: .line 966
            fload 32 /* invdet43 */
            fload 14 /* dy4 */
            fload 33 /* two_pi_m_p1_m_p4x */
            fmul
            fload 13 /* dx4 */
            fload 34 /* two_pi_m_p1_m_p4y */
            fmul
            fsub
            fmul
            fstore 35 /* c1 */
        63: .line 967
            fload 32 /* invdet43 */
            fload 15 /* dx1 */
            fload 34 /* two_pi_m_p1_m_p4y */
            fmul
            fload 16 /* dy1 */
            fload 33 /* two_pi_m_p1_m_p4x */
            fmul
            fsub
            fmul
            fstore 36 /* c2 */
        64: .line 969
            fload 26 /* x1p */
            fload 35 /* c1 */
            fload 15 /* dx1 */
            fmul
            fadd
            fstore 37 /* x2p */
        65: .line 970
            fload 27 /* y1p */
            fload 35 /* c1 */
            fload 16 /* dy1 */
            fmul
            fadd
            fstore 38 /* y2p */
        66: .line 971
            fload 30 /* x4p */
            fload 36 /* c2 */
            fload 13 /* dx4 */
            fmul
            fadd
            fstore 39 /* x3p */
        67: .line 972
            fload 31 /* y4p */
            fload 36 /* c2 */
            fload 14 /* dy4 */
            fmul
            fadd
            fstore 40 /* y3p */
        68: .line 974
            aload 4 /* rightOff */
            iconst_0
            fload 26 /* x1p */
            fastore
            aload 4 /* rightOff */
            iconst_1
            fload 27 /* y1p */
            fastore
        69: .line 975
            aload 4 /* rightOff */
            iconst_2
            fload 37 /* x2p */
            fastore
            aload 4 /* rightOff */
            iconst_3
            fload 38 /* y2p */
            fastore
        70: .line 976
            aload 4 /* rightOff */
            iconst_4
            fload 39 /* x3p */
            fastore
            aload 4 /* rightOff */
            iconst_5
            fload 40 /* y3p */
            fastore
        71: .line 977
            aload 4 /* rightOff */
            bipush 6
            fload 30 /* x4p */
            fastore
            aload 4 /* rightOff */
            bipush 7
            fload 31 /* y4p */
            fastore
        72: .line 978
            bipush 8
            ireturn
        end local 40 // float y3p
        end local 39 // float x3p
        end local 38 // float y2p
        end local 37 // float x2p
        end local 36 // float c2
        end local 35 // float c1
        end local 34 // float two_pi_m_p1_m_p4y
        end local 33 // float two_pi_m_p1_m_p4x
        end local 32 // float invdet43
        end local 31 // float y4p
        end local 30 // float x4p
        end local 29 // float yi
        end local 28 // float xi
        end local 27 // float y1p
        end local 26 // float x1p
        end local 25 // float dym
        end local 24 // float dxm
        end local 23 // float y
        end local 22 // float x
        end local 21 // float l4sq
        end local 20 // float l1sq
        end local 19 // float dotsq
        end local 18 // boolean p3eqp4
        end local 17 // boolean p1eqp2
        end local 16 // float dy1
        end local 15 // float dx1
        end local 14 // float dy4
        end local 13 // float dx4
        end local 12 // float y4
        end local 11 // float x4
        end local 10 // float y3
        end local 9 // float x3
        end local 8 // float y2
        end local 7 // float x2
        end local 6 // float y1
        end local 5 // float x1
        end local 4 // float[] rightOff
        end local 3 // float[] leftOff
        end local 2 // int off
        end local 1 // float[] pts
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   73     0               this  Lcom/sun/marlin/Stroker;
            0   73     1                pts  [F
            0   73     2                off  I
            0   73     3            leftOff  [F
            0   73     4           rightOff  [F
            1   73     5                 x1  F
            2   73     6                 y1  F
            3   73     7                 x2  F
            4   73     8                 y2  F
            5   73     9                 x3  F
            6   73    10                 y3  F
            7   73    11                 x4  F
            8   73    12                 y4  F
            9   73    13                dx4  F
           10   73    14                dy4  F
           11   73    15                dx1  F
           12   73    16                dy1  F
           13   73    17             p1eqp2  Z
           14   73    18             p3eqp4  Z
           25   73    19              dotsq  F
           27   73    20               l1sq  F
           28   73    21               l4sq  F
           32   73    22                  x  F
           33   73    23                  y  F
           34   73    24                dxm  F
           35   73    25                dym  F
           39   73    26                x1p  F
           40   73    27                y1p  F
           41   73    28                 xi  F
           42   73    29                 yi  F
           43   73    30                x4p  F
           44   73    31                y4p  F
           45   73    32           invdet43  F
           46   73    33  two_pi_m_p1_m_p4x  F
           47   73    34  two_pi_m_p1_m_p4y  F
           48   73    35                 c1  F
           49   73    36                 c2  F
           50   73    37                x2p  F
           51   73    38                y2p  F
           52   73    39                x3p  F
           53   73    40                y3p  F
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  private int computeOffsetQuad(float[], int, float[], float[]);
    descriptor: ([FI[F[F)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=24, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float[] pts
        start local 2 // int off
        start local 3 // float[] leftOff
        start local 4 // float[] rightOff
         0: .line 988
            aload 1 /* pts */
            iload 2 /* off */
            faload
            fstore 5 /* x1 */
        start local 5 // float x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            faload
            fstore 6 /* y1 */
        start local 6 // float y1
         2: .line 989
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            fstore 7 /* x2 */
        start local 7 // float x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            faload
            fstore 8 /* y2 */
        start local 8 // float y2
         4: .line 990
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            faload
            fstore 9 /* x3 */
        start local 9 // float x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            faload
            fstore 10 /* y3 */
        start local 10 // float y3
         6: .line 992
            fload 9 /* x3 */
            fload 7 /* x2 */
            fsub
            fstore 11 /* dx3 */
        start local 11 // float dx3
         7: .line 993
            fload 10 /* y3 */
            fload 8 /* y2 */
            fsub
            fstore 12 /* dy3 */
        start local 12 // float dy3
         8: .line 994
            fload 7 /* x2 */
            fload 5 /* x1 */
            fsub
            fstore 13 /* dx1 */
        start local 13 // float dx1
         9: .line 995
            fload 8 /* y2 */
            fload 6 /* y1 */
            fsub
            fstore 14 /* dy1 */
        start local 14 // float dy1
        10: .line 1007
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 7 /* x2 */
            fload 8 /* y2 */
            ldc 6.0
            fload 8 /* y2 */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Stroker.within:(FFFFF)Z
            istore 15 /* p1eqp2 */
        start local 15 // boolean p1eqp2
        11: .line 1008
            fload 7 /* x2 */
            fload 8 /* y2 */
            fload 9 /* x3 */
            fload 10 /* y3 */
            ldc 6.0
            fload 10 /* y3 */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Stroker.within:(FFFFF)Z
            istore 16 /* p2eqp3 */
        start local 16 // boolean p2eqp3
        12: .line 1010
            iload 15 /* p1eqp2 */
            ifne 13
            iload 16 /* p2eqp3 */
            ifeq 15
        13: .line 1011
      StackMap locals: com.sun.marlin.Stroker float[] int float[] float[] float float float float float float float float float float int int
      StackMap stack:
            aload 0 /* this */
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 9 /* x3 */
            fload 10 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.Stroker.getLineOffsets:(FFFF[F[F)V
        14: .line 1012
            iconst_4
            ireturn
        15: .line 1016
      StackMap locals:
      StackMap stack:
            fload 13 /* dx1 */
            fload 11 /* dx3 */
            fmul
            fload 14 /* dy1 */
            fload 12 /* dy3 */
            fmul
            fadd
            fstore 17 /* dotsq */
        start local 17 // float dotsq
        16: .line 1017
            fload 17 /* dotsq */
            fload 17 /* dotsq */
            fmul
            fstore 17 /* dotsq */
        17: .line 1018
            fload 13 /* dx1 */
            fload 13 /* dx1 */
            fmul
            fload 14 /* dy1 */
            fload 14 /* dy1 */
            fmul
            fadd
            fstore 18 /* l1sq */
        start local 18 // float l1sq
        18: fload 11 /* dx3 */
            fload 11 /* dx3 */
            fmul
            fload 12 /* dy3 */
            fload 12 /* dy3 */
            fmul
            fadd
            fstore 19 /* l3sq */
        start local 19 // float l3sq
        19: .line 1020
            fload 17 /* dotsq */
            fload 18 /* l1sq */
            fload 19 /* l3sq */
            fmul
            ldc 4.0
            fload 17 /* dotsq */
            invokestatic java.lang.Math.ulp:(F)F
            fmul
            invokestatic com.sun.marlin.Helpers.within:(FFF)Z
            ifeq 22
        20: .line 1021
            aload 0 /* this */
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 9 /* x3 */
            fload 10 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.Stroker.getLineOffsets:(FFFF[F[F)V
        21: .line 1022
            iconst_4
            ireturn
        22: .line 1028
      StackMap locals: float float float
      StackMap stack:
            fload 13 /* dx1 */
            fload 14 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        23: .line 1029
            fload 11 /* dx3 */
            fload 12 /* dy3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        24: .line 1031
            fload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fadd
            fstore 20 /* x1p */
        start local 20 // float x1p
        25: .line 1032
            fload 6 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fadd
            fstore 21 /* y1p */
        start local 21 // float y1p
        26: .line 1033
            fload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_0
            faload
            fadd
            fstore 22 /* x3p */
        start local 22 // float x3p
        27: .line 1034
            fload 10 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_1
            faload
            fadd
            fstore 23 /* y3p */
        start local 23 // float y3p
        28: .line 1035
            fload 20 /* x1p */
            fload 21 /* y1p */
            fload 20 /* x1p */
            fload 13 /* dx1 */
            fadd
            fload 21 /* y1p */
            fload 14 /* dy1 */
            fadd
            fload 22 /* x3p */
            fload 23 /* y3p */
            fload 22 /* x3p */
            fload 11 /* dx3 */
            fsub
            fload 23 /* y3p */
            fload 12 /* dy3 */
            fsub
            aload 3 /* leftOff */
            invokestatic com.sun.marlin.Stroker.safeComputeMiter:(FFFFFFFF[F)V
        29: .line 1036
            aload 3 /* leftOff */
            iconst_0
            fload 20 /* x1p */
            fastore
            aload 3 /* leftOff */
            iconst_1
            fload 21 /* y1p */
            fastore
        30: .line 1037
            aload 3 /* leftOff */
            iconst_4
            fload 22 /* x3p */
            fastore
            aload 3 /* leftOff */
            iconst_5
            fload 23 /* y3p */
            fastore
        31: .line 1039
            fload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            fsub
            fstore 20 /* x1p */
            fload 6 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            fsub
            fstore 21 /* y1p */
        32: .line 1040
            fload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_0
            faload
            fsub
            fstore 22 /* x3p */
            fload 10 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset1:[F
            iconst_1
            faload
            fsub
            fstore 23 /* y3p */
        33: .line 1041
            fload 20 /* x1p */
            fload 21 /* y1p */
            fload 20 /* x1p */
            fload 13 /* dx1 */
            fadd
            fload 21 /* y1p */
            fload 14 /* dy1 */
            fadd
            fload 22 /* x3p */
            fload 23 /* y3p */
            fload 22 /* x3p */
            fload 11 /* dx3 */
            fsub
            fload 23 /* y3p */
            fload 12 /* dy3 */
            fsub
            aload 4 /* rightOff */
            invokestatic com.sun.marlin.Stroker.safeComputeMiter:(FFFFFFFF[F)V
        34: .line 1042
            aload 4 /* rightOff */
            iconst_0
            fload 20 /* x1p */
            fastore
            aload 4 /* rightOff */
            iconst_1
            fload 21 /* y1p */
            fastore
        35: .line 1043
            aload 4 /* rightOff */
            iconst_4
            fload 22 /* x3p */
            fastore
            aload 4 /* rightOff */
            iconst_5
            fload 23 /* y3p */
            fastore
        36: .line 1044
            bipush 6
            ireturn
        end local 23 // float y3p
        end local 22 // float x3p
        end local 21 // float y1p
        end local 20 // float x1p
        end local 19 // float l3sq
        end local 18 // float l1sq
        end local 17 // float dotsq
        end local 16 // boolean p2eqp3
        end local 15 // boolean p1eqp2
        end local 14 // float dy1
        end local 13 // float dx1
        end local 12 // float dy3
        end local 11 // float dx3
        end local 10 // float y3
        end local 9 // float x3
        end local 8 // float y2
        end local 7 // float x2
        end local 6 // float y1
        end local 5 // float x1
        end local 4 // float[] rightOff
        end local 3 // float[] leftOff
        end local 2 // int off
        end local 1 // float[] pts
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lcom/sun/marlin/Stroker;
            0   37     1       pts  [F
            0   37     2       off  I
            0   37     3   leftOff  [F
            0   37     4  rightOff  [F
            1   37     5        x1  F
            2   37     6        y1  F
            3   37     7        x2  F
            4   37     8        y2  F
            5   37     9        x3  F
            6   37    10        y3  F
            7   37    11       dx3  F
            8   37    12       dy3  F
            9   37    13       dx1  F
           10   37    14       dy1  F
           11   37    15    p1eqp2  Z
           12   37    16    p2eqp3  Z
           16   37    17     dotsq  F
           18   37    18      l1sq  F
           19   37    19      l3sq  F
           25   37    20       x1p  F
           26   37    21       y1p  F
           27   37    22       x3p  F
           28   37    23       y3p  F
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  public void curveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=14, args_size=7
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float x3
        start local 6 // float y3
         0: .line 1052
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            istore 7 /* outcode0 */
        start local 7 // int outcode0
         1: .line 1054
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 23
         2: .line 1055
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 8 /* outcode1 */
        start local 8 // int outcode1
         3: .line 1056
            fload 3 /* x2 */
            fload 4 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 9 /* outcode2 */
        start local 9 // int outcode2
         4: .line 1057
            fload 5 /* x3 */
            fload 6 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 10 /* outcode3 */
        start local 10 // int outcode3
         5: .line 1060
            iload 7 /* outcode0 */
            iload 8 /* outcode1 */
            ior
            iload 9 /* outcode2 */
            ior
            iload 10 /* outcode3 */
            ior
            istore 11 /* orCode */
        start local 11 // int orCode
         6: .line 1061
            iload 11 /* orCode */
            ifeq 22
         7: .line 1062
            iload 7 /* outcode0 */
            iload 8 /* outcode1 */
            iand
            iload 9 /* outcode2 */
            iand
            iload 10 /* outcode3 */
            iand
            istore 12 /* sideCode */
        start local 12 // int sideCode
         8: .line 1065
            iload 12 /* sideCode */
            ifne 18
         9: .line 1067
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.subdivide:Z
            ifeq 22
        10: .line 1069
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.subdivide:Z
        11: .line 1071
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.curveSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
        12: .line 1072
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
        13: .line 1073
            iload 11 /* orCode */
            aload 0 /* this */
        14: .line 1071
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitCurve:(FFFFFFFFILcom/sun/javafx/geom/PathConsumer2D;)Z
            istore 13 /* ret */
        start local 13 // boolean ret
        15: .line 1075
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.subdivide:Z
        16: .line 1076
            iload 13 /* ret */
            ifeq 22
        17: .line 1077
            return
        end local 13 // boolean ret
        18: .line 1082
      StackMap locals: com.sun.marlin.Stroker float float float float float float int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* outcode3 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        19: .line 1083
            aload 0 /* this */
            fload 5 /* x3 */
            fload 6 /* y3 */
            iload 7 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker._moveTo:(FFI)V
        20: .line 1084
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.opened:Z
        21: .line 1085
            return
        end local 12 // int sideCode
        22: .line 1089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 10 /* outcode3 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        end local 11 // int orCode
        end local 10 // int outcode3
        end local 9 // int outcode2
        end local 8 // int outcode1
        23: .line 1091
      StackMap locals: com.sun.marlin.Stroker float float float float float float int
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            iload 7 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker._curveTo:(FFFFFFI)V
        24: .line 1092
            return
        end local 7 // int outcode0
        end local 6 // float y3
        end local 5 // float x3
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/sun/marlin/Stroker;
            0   25     1        x1  F
            0   25     2        y1  F
            0   25     3        x2  F
            0   25     4        y2  F
            0   25     5        x3  F
            0   25     6        y3  F
            1   25     7  outcode0  I
            3   23     8  outcode1  I
            4   23     9  outcode2  I
            5   23    10  outcode3  I
            6   23    11    orCode  I
            8   22    12  sideCode  I
           15   18    13       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void _curveTo(float, float, float, float, float, float, int);
    descriptor: (FFFFFFI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=19, args_size=8
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float x3
        start local 6 // float y3
        start local 7 // int outcode0
         0: .line 1100
            fload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 8 /* dxs */
        start local 8 // float dxs
         1: .line 1101
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 9 /* dys */
        start local 9 // float dys
         2: .line 1102
            fload 5 /* x3 */
            fload 3 /* x2 */
            fsub
            fstore 10 /* dxf */
        start local 10 // float dxf
         3: .line 1103
            fload 6 /* y3 */
            fload 4 /* y2 */
            fsub
            fstore 11 /* dyf */
        start local 11 // float dyf
         4: .line 1105
            fload 8 /* dxs */
            fconst_0
            fcmpl
            ifne 10
            fload 9 /* dys */
            fconst_0
            fcmpl
            ifne 10
         5: .line 1106
            fload 3 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 8 /* dxs */
         6: .line 1107
            fload 4 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 9 /* dys */
         7: .line 1108
            fload 8 /* dxs */
            fconst_0
            fcmpl
            ifne 10
            fload 9 /* dys */
            fconst_0
            fcmpl
            ifne 10
         8: .line 1109
            fload 5 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 8 /* dxs */
         9: .line 1110
            fload 6 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 9 /* dys */
        10: .line 1113
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float float float float
      StackMap stack:
            fload 10 /* dxf */
            fconst_0
            fcmpl
            ifne 16
            fload 11 /* dyf */
            fconst_0
            fcmpl
            ifne 16
        11: .line 1114
            fload 5 /* x3 */
            fload 1 /* x1 */
            fsub
            fstore 10 /* dxf */
        12: .line 1115
            fload 6 /* y3 */
            fload 2 /* y1 */
            fsub
            fstore 11 /* dyf */
        13: .line 1116
            fload 10 /* dxf */
            fconst_0
            fcmpl
            ifne 16
            fload 11 /* dyf */
            fconst_0
            fcmpl
            ifne 16
        14: .line 1117
            fload 5 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 10 /* dxf */
        15: .line 1118
            fload 6 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 11 /* dyf */
        16: .line 1121
      StackMap locals:
      StackMap stack:
            fload 8 /* dxs */
            fconst_0
            fcmpl
            ifne 21
            fload 9 /* dys */
            fconst_0
            fcmpl
            ifne 21
        17: .line 1124
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 19
        18: .line 1125
            aload 0 /* this */
            iload 7 /* outcode0 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        19: .line 1127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            invokevirtual com.sun.marlin.Stroker.lineTo:(FF)V
        20: .line 1128
            return
        21: .line 1133
      StackMap locals:
      StackMap stack:
            fload 8 /* dxs */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 25
            fload 9 /* dys */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 25
        22: .line 1134
            fload 8 /* dxs */
            fload 8 /* dxs */
            fmul
            fload 9 /* dys */
            fload 9 /* dys */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 12 /* len */
        start local 12 // float len
        23: .line 1135
            fload 8 /* dxs */
            fload 12 /* len */
            fdiv
            fstore 8 /* dxs */
        24: .line 1136
            fload 9 /* dys */
            fload 12 /* len */
            fdiv
            fstore 9 /* dys */
        end local 12 // float len
        25: .line 1138
      StackMap locals:
      StackMap stack:
            fload 10 /* dxf */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 29
            fload 11 /* dyf */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 29
        26: .line 1139
            fload 10 /* dxf */
            fload 10 /* dxf */
            fmul
            fload 11 /* dyf */
            fload 11 /* dyf */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 12 /* len */
        start local 12 // float len
        27: .line 1140
            fload 10 /* dxf */
            fload 12 /* len */
            fdiv
            fstore 10 /* dxf */
        28: .line 1141
            fload 11 /* dyf */
            fload 12 /* len */
            fdiv
            fstore 11 /* dyf */
        end local 12 // float len
        29: .line 1144
      StackMap locals:
      StackMap stack:
            fload 8 /* dxs */
            fload 9 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        30: .line 1145
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 8 /* dxs */
            fload 9 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            iload 7 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker.drawJoin:(FFFFFFFFFFI)V
        31: .line 1147
            iconst_0
            istore 12 /* nSplits */
        start local 12 // int nSplits
        32: .line 1149
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lp:[F
            astore 14 /* l */
        start local 14 // float[] l
        33: .line 1151
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.monotonize:Z
            ifeq 39
        34: .line 1154
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.monotonizer:Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:(FFFFFFFF)Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
        35: .line 1153
            astore 15 /* monotonizer */
        start local 15 // com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        36: .line 1156
            aload 15 /* monotonizer */
            getfield com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 12 /* nSplits */
        37: .line 1157
            aload 15 /* monotonizer */
            getfield com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
            astore 13 /* mid */
        end local 15 // com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 13 // float[] mid
        38: .line 1158
            goto 44
        end local 13 // float[] mid
        39: .line 1160
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float float float float int top float[]
      StackMap stack:
            aload 14 /* l */
            astore 13 /* mid */
        start local 13 // float[] mid
        40: .line 1161
            aload 13 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fastore
            aload 13 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fastore
        41: .line 1162
            aload 13 /* mid */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 13 /* mid */
            iconst_3
            fload 2 /* y1 */
            fastore
        42: .line 1163
            aload 13 /* mid */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 13 /* mid */
            iconst_5
            fload 4 /* y2 */
            fastore
        43: .line 1164
            aload 13 /* mid */
            bipush 6
            fload 5 /* x3 */
            fastore
            aload 13 /* mid */
            bipush 7
            fload 6 /* y3 */
            fastore
        44: .line 1166
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float float float float int float[] float[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rp:[F
            astore 15 /* r */
        start local 15 // float[] r
        45: .line 1168
            iconst_0
            istore 16 /* kind */
        start local 16 // int kind
        46: .line 1169
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        47: iconst_0
            istore 18 /* off */
        start local 18 // int off
        48: goto 59
        49: .line 1170
      StackMap locals: com.sun.marlin.Stroker float float float float float float int float float float float int float[] float[] float[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 13 /* mid */
            iload 18 /* off */
            aload 14 /* l */
            aload 15 /* r */
            invokevirtual com.sun.marlin.Stroker.computeOffsetCubic:([FI[F[F)I
            istore 16 /* kind */
        50: .line 1172
            aload 0 /* this */
            aload 14 /* l */
            iconst_0
            faload
            aload 14 /* l */
            iconst_1
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        51: .line 1174
            iload 16 /* kind */
            tableswitch { // 4 - 8
                    4: 55
                    5: 57
                    6: 57
                    7: 57
                    8: 52
              default: 57
          }
        52: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* l */
            iconst_2
            faload
            aload 14 /* l */
            iconst_3
            faload
            aload 14 /* l */
            iconst_4
            faload
            aload 14 /* l */
            iconst_5
            faload
            aload 14 /* l */
            bipush 6
            faload
            aload 14 /* l */
            bipush 7
            faload
            invokevirtual com.sun.marlin.Stroker.emitCurveTo:(FFFFFF)V
        53: .line 1177
            aload 0 /* this */
            aload 15 /* r */
            iconst_0
            faload
            aload 15 /* r */
            iconst_1
            faload
            aload 15 /* r */
            iconst_2
            faload
            aload 15 /* r */
            iconst_3
            faload
            aload 15 /* r */
            iconst_4
            faload
            aload 15 /* r */
            iconst_5
            faload
            invokevirtual com.sun.marlin.Stroker.emitCurveToRev:(FFFFFF)V
        54: .line 1178
            goto 57
        55: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* l */
            iconst_2
            faload
            aload 14 /* l */
            iconst_3
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        56: .line 1181
            aload 0 /* this */
            aload 15 /* r */
            iconst_0
            faload
            aload 15 /* r */
            iconst_1
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        57: .line 1185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* r */
            iload 16 /* kind */
            iconst_2
            isub
            faload
            aload 15 /* r */
            iload 16 /* kind */
            iconst_1
            isub
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        58: .line 1169
            iinc 17 /* i */ 1
            iinc 18 /* off */ 6
      StackMap locals:
      StackMap stack:
        59: iload 17 /* i */
            iload 12 /* nSplits */
            if_icmple 49
        end local 18 // int off
        end local 17 // int i
        60: .line 1188
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.prev:I
        61: .line 1189
            aload 0 /* this */
            fload 5 /* x3 */
            putfield com.sun.marlin.Stroker.cx0:F
        62: .line 1190
            aload 0 /* this */
            fload 6 /* y3 */
            putfield com.sun.marlin.Stroker.cy0:F
        63: .line 1191
            aload 0 /* this */
            fload 10 /* dxf */
            putfield com.sun.marlin.Stroker.cdx:F
        64: .line 1192
            aload 0 /* this */
            fload 11 /* dyf */
            putfield com.sun.marlin.Stroker.cdy:F
        65: .line 1193
            aload 0 /* this */
            aload 14 /* l */
            iload 16 /* kind */
            iconst_2
            isub
            faload
            aload 15 /* r */
            iload 16 /* kind */
            iconst_2
            isub
            faload
            fsub
            fconst_2
            fdiv
            putfield com.sun.marlin.Stroker.cmx:F
        66: .line 1194
            aload 0 /* this */
            aload 14 /* l */
            iload 16 /* kind */
            iconst_1
            isub
            faload
            aload 15 /* r */
            iload 16 /* kind */
            iconst_1
            isub
            faload
            fsub
            fconst_2
            fdiv
            putfield com.sun.marlin.Stroker.cmy:F
        67: .line 1195
            return
        end local 16 // int kind
        end local 15 // float[] r
        end local 14 // float[] l
        end local 13 // float[] mid
        end local 12 // int nSplits
        end local 11 // float dyf
        end local 10 // float dxf
        end local 9 // float dys
        end local 8 // float dxs
        end local 7 // int outcode0
        end local 6 // float y3
        end local 5 // float x3
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   68     0         this  Lcom/sun/marlin/Stroker;
            0   68     1           x1  F
            0   68     2           y1  F
            0   68     3           x2  F
            0   68     4           y2  F
            0   68     5           x3  F
            0   68     6           y3  F
            0   68     7     outcode0  I
            1   68     8          dxs  F
            2   68     9          dys  F
            3   68    10          dxf  F
            4   68    11          dyf  F
           23   25    12          len  F
           27   29    12          len  F
           32   68    12      nSplits  I
           38   39    13          mid  [F
           40   68    13          mid  [F
           33   68    14            l  [F
           36   38    15  monotonizer  Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
           45   68    15            r  [F
           46   68    16         kind  I
           47   60    17            i  I
           48   60    18          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      x3        final
      y3        final
      outcode0  final

  public void quadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=5
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
         0: .line 1201
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cOutCode:I
            istore 5 /* outcode0 */
        start local 5 // int outcode0
         1: .line 1203
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 21
         2: .line 1204
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 6 /* outcode1 */
        start local 6 // int outcode1
         3: .line 1205
            fload 3 /* x2 */
            fload 4 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            invokestatic com.sun.marlin.Helpers.outcode:(FF[F)I
            istore 7 /* outcode2 */
        start local 7 // int outcode2
         4: .line 1208
            iload 5 /* outcode0 */
            iload 6 /* outcode1 */
            ior
            iload 7 /* outcode2 */
            ior
            istore 8 /* orCode */
        start local 8 // int orCode
         5: .line 1209
            iload 8 /* orCode */
            ifeq 20
         6: .line 1210
            iload 5 /* outcode0 */
            iload 6 /* outcode1 */
            iand
            iload 7 /* outcode2 */
            iand
            istore 9 /* sideCode */
        start local 9 // int sideCode
         7: .line 1213
            iload 9 /* sideCode */
            ifne 16
         8: .line 1215
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.subdivide:Z
            ifeq 20
         9: .line 1217
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.Stroker.subdivide:Z
        10: .line 1219
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.curveSplitter:Lcom/sun/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
        11: .line 1220
            fload 3 /* x2 */
            fload 4 /* y2 */
            iload 8 /* orCode */
            aload 0 /* this */
        12: .line 1219
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitQuad:(FFFFFFILcom/sun/javafx/geom/PathConsumer2D;)Z
            istore 10 /* ret */
        start local 10 // boolean ret
        13: .line 1222
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.subdivide:Z
        14: .line 1223
            iload 10 /* ret */
            ifeq 20
        15: .line 1224
            return
        end local 10 // boolean ret
        16: .line 1229
      StackMap locals: com.sun.marlin.Stroker float float float float int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode2 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        17: .line 1230
            aload 0 /* this */
            fload 3 /* x2 */
            fload 4 /* y2 */
            iload 5 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker._moveTo:(FFI)V
        18: .line 1231
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.opened:Z
        19: .line 1232
            return
        end local 9 // int sideCode
        20: .line 1236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode2 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        end local 8 // int orCode
        end local 7 // int outcode2
        end local 6 // int outcode1
        21: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            iload 5 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker._quadTo:(FFFFI)V
        22: .line 1239
            return
        end local 5 // int outcode0
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lcom/sun/marlin/Stroker;
            0   23     1        x1  F
            0   23     2        y1  F
            0   23     3        x2  F
            0   23     4        y2  F
            1   23     5  outcode0  I
            3   21     6  outcode1  I
            4   21     7  outcode2  I
            5   21     8    orCode  I
            7   20     9  sideCode  I
           13   16    10       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void _quadTo(float, float, float, float, int);
    descriptor: (FFFFI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=17, args_size=6
        start local 0 // com.sun.marlin.Stroker this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // int outcode0
         0: .line 1246
            fload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            fstore 6 /* dxs */
        start local 6 // float dxs
         1: .line 1247
            fload 2 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            fstore 7 /* dys */
        start local 7 // float dys
         2: .line 1248
            fload 3 /* x2 */
            fload 1 /* x1 */
            fsub
            fstore 8 /* dxf */
        start local 8 // float dxf
         3: .line 1249
            fload 4 /* y2 */
            fload 2 /* y1 */
            fsub
            fstore 9 /* dyf */
        start local 9 // float dyf
         4: .line 1251
            fload 6 /* dxs */
            fconst_0
            fcmpl
            ifne 5
            fload 7 /* dys */
            fconst_0
            fcmpl
            ifeq 6
      StackMap locals: com.sun.marlin.Stroker float float float float int float float float float
      StackMap stack:
         5: fload 8 /* dxf */
            fconst_0
            fcmpl
            ifne 8
            fload 9 /* dyf */
            fconst_0
            fcmpl
            ifne 8
         6: .line 1252
      StackMap locals:
      StackMap stack:
            fload 3 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fsub
            dup
            fstore 8 /* dxf */
            fstore 6 /* dxs */
         7: .line 1253
            fload 4 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fsub
            dup
            fstore 9 /* dyf */
            fstore 7 /* dys */
         8: .line 1255
      StackMap locals:
      StackMap stack:
            fload 6 /* dxs */
            fconst_0
            fcmpl
            ifne 13
            fload 7 /* dys */
            fconst_0
            fcmpl
            ifne 13
         9: .line 1258
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.clipRect:[F
            ifnull 11
        10: .line 1259
            aload 0 /* this */
            iload 5 /* outcode0 */
            putfield com.sun.marlin.Stroker.cOutCode:I
        11: .line 1261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            invokevirtual com.sun.marlin.Stroker.lineTo:(FF)V
        12: .line 1262
            return
        13: .line 1266
      StackMap locals:
      StackMap stack:
            fload 6 /* dxs */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 17
            fload 7 /* dys */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 17
        14: .line 1267
            fload 6 /* dxs */
            fload 6 /* dxs */
            fmul
            fload 7 /* dys */
            fload 7 /* dys */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 10 /* len */
        start local 10 // float len
        15: .line 1268
            fload 6 /* dxs */
            fload 10 /* len */
            fdiv
            fstore 6 /* dxs */
        16: .line 1269
            fload 7 /* dys */
            fload 10 /* len */
            fdiv
            fstore 7 /* dys */
        end local 10 // float len
        17: .line 1271
      StackMap locals:
      StackMap stack:
            fload 8 /* dxf */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 21
            fload 9 /* dyf */
            invokestatic java.lang.Math.abs:(F)F
            ldc 0.1
            fcmpg
            ifge 21
        18: .line 1272
            fload 8 /* dxf */
            fload 8 /* dxf */
            fmul
            fload 9 /* dyf */
            fload 9 /* dyf */
            fmul
            fadd
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 10 /* len */
        start local 10 // float len
        19: .line 1273
            fload 8 /* dxf */
            fload 10 /* len */
            fdiv
            fstore 8 /* dxf */
        20: .line 1274
            fload 9 /* dyf */
            fload 10 /* len */
            fdiv
            fstore 9 /* dyf */
        end local 10 // float len
        21: .line 1276
      StackMap locals:
      StackMap stack:
            fload 6 /* dxs */
            fload 7 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lineWidth2:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            invokestatic com.sun.marlin.Stroker.computeOffset:(FFF[F)V
        22: .line 1277
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cdy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 6 /* dxs */
            fload 7 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmx:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cmy:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_0
            faload
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.offset0:[F
            iconst_1
            faload
            iload 5 /* outcode0 */
            invokevirtual com.sun.marlin.Stroker.drawJoin:(FFFFFFFFFFI)V
        23: .line 1279
            iconst_0
            istore 10 /* nSplits */
        start local 10 // int nSplits
        24: .line 1281
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.lp:[F
            astore 12 /* l */
        start local 12 // float[] l
        25: .line 1283
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.monotonize:Z
            ifeq 31
        26: .line 1286
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rdrCtx:Lcom/sun/marlin/RendererContext;
            getfield com.sun.marlin.RendererContext.monotonizer:Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.quad:(FFFFFF)Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
        27: .line 1285
            astore 13 /* monotonizer */
        start local 13 // com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        28: .line 1288
            aload 13 /* monotonizer */
            getfield com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 10 /* nSplits */
        29: .line 1289
            aload 13 /* monotonizer */
            getfield com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
            astore 11 /* mid */
        end local 13 // com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 11 // float[] mid
        30: .line 1290
            goto 35
        end local 11 // float[] mid
        31: .line 1292
      StackMap locals: com.sun.marlin.Stroker float float float float int float float float float int top float[]
      StackMap stack:
            aload 12 /* l */
            astore 11 /* mid */
        start local 11 // float[] mid
        32: .line 1293
            aload 11 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cx0:F
            fastore
            aload 11 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.cy0:F
            fastore
        33: .line 1294
            aload 11 /* mid */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 11 /* mid */
            iconst_3
            fload 2 /* y1 */
            fastore
        34: .line 1295
            aload 11 /* mid */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 11 /* mid */
            iconst_5
            fload 4 /* y2 */
            fastore
        35: .line 1297
      StackMap locals: com.sun.marlin.Stroker float float float float int float float float float int float[] float[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.Stroker.rp:[F
            astore 13 /* r */
        start local 13 // float[] r
        36: .line 1299
            iconst_0
            istore 14 /* kind */
        start local 14 // int kind
        37: .line 1300
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        38: iconst_0
            istore 16 /* off */
        start local 16 // int off
        39: goto 50
        40: .line 1301
      StackMap locals: com.sun.marlin.Stroker float float float float int float float float float int float[] float[] float[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 11 /* mid */
            iload 16 /* off */
            aload 12 /* l */
            aload 13 /* r */
            invokevirtual com.sun.marlin.Stroker.computeOffsetQuad:([FI[F[F)I
            istore 14 /* kind */
        41: .line 1303
            aload 0 /* this */
            aload 12 /* l */
            iconst_0
            faload
            aload 12 /* l */
            iconst_1
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        42: .line 1305
            iload 14 /* kind */
            tableswitch { // 4 - 6
                    4: 46
                    5: 48
                    6: 43
              default: 48
          }
        43: .line 1307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* l */
            iconst_2
            faload
            aload 12 /* l */
            iconst_3
            faload
            aload 12 /* l */
            iconst_4
            faload
            aload 12 /* l */
            iconst_5
            faload
            invokevirtual com.sun.marlin.Stroker.emitQuadTo:(FFFF)V
        44: .line 1308
            aload 0 /* this */
            aload 13 /* r */
            iconst_0
            faload
            aload 13 /* r */
            iconst_1
            faload
            aload 13 /* r */
            iconst_2
            faload
            aload 13 /* r */
            iconst_3
            faload
            invokevirtual com.sun.marlin.Stroker.emitQuadToRev:(FFFF)V
        45: .line 1309
            goto 48
        46: .line 1311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* l */
            iconst_2
            faload
            aload 12 /* l */
            iconst_3
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineTo:(FF)V
        47: .line 1312
            aload 0 /* this */
            aload 13 /* r */
            iconst_0
            faload
            aload 13 /* r */
            iconst_1
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        48: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* r */
            iload 14 /* kind */
            iconst_2
            isub
            faload
            aload 13 /* r */
            iload 14 /* kind */
            iconst_1
            isub
            faload
            invokevirtual com.sun.marlin.Stroker.emitLineToRev:(FF)V
        49: .line 1300
            iinc 15 /* i */ 1
            iinc 16 /* off */ 4
      StackMap locals:
      StackMap stack:
        50: iload 15 /* i */
            iload 10 /* nSplits */
            if_icmple 40
        end local 16 // int off
        end local 15 // int i
        51: .line 1319
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.Stroker.prev:I
        52: .line 1320
            aload 0 /* this */
            fload 3 /* x2 */
            putfield com.sun.marlin.Stroker.cx0:F
        53: .line 1321
            aload 0 /* this */
            fload 4 /* y2 */
            putfield com.sun.marlin.Stroker.cy0:F
        54: .line 1322
            aload 0 /* this */
            fload 8 /* dxf */
            putfield com.sun.marlin.Stroker.cdx:F
        55: .line 1323
            aload 0 /* this */
            fload 9 /* dyf */
            putfield com.sun.marlin.Stroker.cdy:F
        56: .line 1324
            aload 0 /* this */
            aload 12 /* l */
            iload 14 /* kind */
            iconst_2
            isub
            faload
            aload 13 /* r */
            iload 14 /* kind */
            iconst_2
            isub
            faload
            fsub
            fconst_2
            fdiv
            putfield com.sun.marlin.Stroker.cmx:F
        57: .line 1325
            aload 0 /* this */
            aload 12 /* l */
            iload 14 /* kind */
            iconst_1
            isub
            faload
            aload 13 /* r */
            iload 14 /* kind */
            iconst_1
            isub
            faload
            fsub
            fconst_2
            fdiv
            putfield com.sun.marlin.Stroker.cmy:F
        58: .line 1326
            return
        end local 14 // int kind
        end local 13 // float[] r
        end local 12 // float[] l
        end local 11 // float[] mid
        end local 10 // int nSplits
        end local 9 // float dyf
        end local 8 // float dxf
        end local 7 // float dys
        end local 6 // float dxs
        end local 5 // int outcode0
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.Stroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   59     0         this  Lcom/sun/marlin/Stroker;
            0   59     1           x1  F
            0   59     2           y1  F
            0   59     3           x2  F
            0   59     4           y2  F
            0   59     5     outcode0  I
            1   59     6          dxs  F
            2   59     7          dys  F
            3   59     8          dxf  F
            4   59     9          dyf  F
           15   17    10          len  F
           19   21    10          len  F
           24   59    10      nSplits  I
           30   31    11          mid  [F
           32   59    11          mid  [F
           25   59    12            l  [F
           28   30    13  monotonizer  Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
           36   59    13            r  [F
           37   59    14         kind  I
           38   51    15            i  I
           39   51    16          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      outcode0  final
}
SourceFile: "Stroker.java"
InnerClasses:
  final PolyStack = com.sun.marlin.Helpers$PolyStack of com.sun.marlin.Helpers
  public final CurveBasicMonotonizer = com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer of com.sun.marlin.TransformingPathConsumer2D
  final CurveClipSplitter = com.sun.marlin.TransformingPathConsumer2D$CurveClipSplitter of com.sun.marlin.TransformingPathConsumer2D