public class org.apache.batik.bridge.FlowTextPainter extends org.apache.batik.bridge.StrokingTextPainter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.FlowTextPainter
  super_class: org.apache.batik.bridge.StrokingTextPainter
{
  protected static org.apache.batik.bridge.TextPainter singleton;
    descriptor: Lorg/apache/batik/bridge/TextPainter;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  public static final char SOFT_HYPHEN;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 173

  public static final char ZERO_WIDTH_SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8203

  public static final char ZERO_WIDTH_JOINER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8205

  public static final char SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final java.text.AttributedCharacterIterator$Attribute WORD_LIMIT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_REGIONS;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute FLOW_LINE_BREAK;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute LINE_HEIGHT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.text.AttributedCharacterIterator$Attribute GVT_FONT;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected static java.util.Set szAtts;
    descriptor: Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new org.apache.batik.bridge.FlowTextPainter
            dup
            invokespecial org.apache.batik.bridge.FlowTextPainter.<init>:()V
            putstatic org.apache.batik.bridge.FlowTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
         1: .line 109
            getstatic org.apache.batik.gvt.flow.TextLineBreaks.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 108
            putstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
         3: .line 112
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_REGIONS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         4: .line 111
            putstatic org.apache.batik.bridge.FlowTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
         5: .line 115
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_LINE_BREAK:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         6: .line 114
            putstatic org.apache.batik.bridge.FlowTextPainter.FLOW_LINE_BREAK:Ljava/text/AttributedCharacterIterator$Attribute;
         7: .line 117
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.LINE_HEIGHT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         8: .line 116
            putstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
         9: .line 120
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        10: .line 119
            putstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
        11: .line 122
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
        12: .line 125
            getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
            getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 126
            getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 127
            getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
            getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 128
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.FlowTextPainter this
         0: .line 54
            aload 0 /* this */
            invokespecial org.apache.batik.bridge.StrokingTextPainter.<init>:()V
            return
        end local 0 // org.apache.batik.bridge.FlowTextPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/FlowTextPainter;

  public static org.apache.batik.bridge.TextPainter getInstance();
    descriptor: ()Lorg/apache/batik/bridge/TextPainter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            getstatic org.apache.batik.bridge.FlowTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator);
    descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.apache.batik.bridge.FlowTextPainter this
        start local 1 // org.apache.batik.bridge.TextNode node
        start local 2 // java.text.AttributedCharacterIterator aci
         0: .line 68
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
            astore 3 /* textRuns */
        start local 3 // java.util.List textRuns
         1: .line 69
            aload 3 /* textRuns */
            ifnull 3
         2: .line 70
            aload 3 /* textRuns */
            areturn
         3: .line 73
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* aci */
            invokevirtual org.apache.batik.bridge.FlowTextPainter.getTextChunkACIs:(Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
            astore 4 /* chunkACIs */
        start local 4 // java.text.AttributedCharacterIterator[] chunkACIs
         4: .line 74
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* aci */
            aload 4 /* chunkACIs */
            invokevirtual org.apache.batik.bridge.FlowTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
            astore 3 /* textRuns */
         5: .line 76
            aload 2 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
         6: .line 77
            aload 2 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* rgns */
        start local 5 // java.util.List rgns
         7: .line 79
            aload 5 /* rgns */
            ifnull 22
         8: .line 80
            aload 3 /* textRuns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
         9: .line 81
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* chunkLayouts */
        start local 7 // java.util.List chunkLayouts
        10: .line 82
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 8 /* tr */
        start local 8 // org.apache.batik.bridge.StrokingTextPainter$TextRun tr
        11: .line 83
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* layouts */
        start local 9 // java.util.List layouts
        12: .line 84
            aload 7 /* chunkLayouts */
            aload 9 /* layouts */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 85
            aload 9 /* layouts */
            aload 8 /* tr */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 86
            goto 20
        15: .line 87
      StackMap locals: org.apache.batik.bridge.FlowTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.text.AttributedCharacterIterator[] java.util.List java.util.Iterator java.util.List org.apache.batik.bridge.StrokingTextPainter$TextRun java.util.List
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
            astore 8 /* tr */
        16: .line 88
            aload 8 /* tr */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
            ifeq 19
        17: .line 89
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* layouts */
        18: .line 90
            aload 7 /* chunkLayouts */
            aload 9 /* layouts */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 92
      StackMap locals:
      StackMap stack:
            aload 9 /* layouts */
            aload 8 /* tr */
            invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 86
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        21: .line 95
            aload 4 /* chunkACIs */
            aload 7 /* chunkLayouts */
            aload 5 /* rgns */
            aload 0 /* this */
            getfield org.apache.batik.bridge.FlowTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
            invokestatic org.apache.batik.bridge.FlowTextPainter.textWrap:([Ljava/text/AttributedCharacterIterator;Ljava/util/List;Ljava/util/List;Ljava/awt/font/FontRenderContext;)Z
            pop
        end local 9 // java.util.List layouts
        end local 8 // org.apache.batik.bridge.StrokingTextPainter$TextRun tr
        end local 7 // java.util.List chunkLayouts
        end local 6 // java.util.Iterator i
        22: .line 99
      StackMap locals: org.apache.batik.bridge.FlowTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.text.AttributedCharacterIterator[] java.util.List
      StackMap stack:
            aload 1 /* node */
            aload 3 /* textRuns */
            invokevirtual org.apache.batik.bridge.TextNode.setTextRuns:(Ljava/util/List;)V
        23: .line 100
            aload 1 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
            areturn
        end local 5 // java.util.List rgns
        end local 4 // java.text.AttributedCharacterIterator[] chunkACIs
        end local 3 // java.util.List textRuns
        end local 2 // java.text.AttributedCharacterIterator aci
        end local 1 // org.apache.batik.bridge.TextNode node
        end local 0 // org.apache.batik.bridge.FlowTextPainter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/apache/batik/bridge/FlowTextPainter;
            0   24     1          node  Lorg/apache/batik/bridge/TextNode;
            0   24     2           aci  Ljava/text/AttributedCharacterIterator;
            1   24     3      textRuns  Ljava/util/List;
            4   24     4     chunkACIs  [Ljava/text/AttributedCharacterIterator;
            7   24     5          rgns  Ljava/util/List;
            9   22     6             i  Ljava/util/Iterator;
           10   22     7  chunkLayouts  Ljava/util/List;
           11   22     8            tr  Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
           12   22     9       layouts  Ljava/util/List;
    MethodParameters:
      Name  Flags
      node  
      aci   

  public static boolean textWrap(java.text.AttributedCharacterIterator[], java.util.List, java.util.List, java.awt.font.FontRenderContext);
    descriptor: ([Ljava/text/AttributedCharacterIterator;Ljava/util/List;Ljava/util/List;Ljava/awt/font/FontRenderContext;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=25, args_size=4
        start local 0 // java.text.AttributedCharacterIterator[] acis
        start local 1 // java.util.List chunkLayouts
        start local 2 // java.util.List flowRects
        start local 3 // java.awt.font.FontRenderContext frc
         0: .line 142
            aload 0 /* acis */
            arraylength
            anewarray org.apache.batik.gvt.flow.WordInfo[]
            astore 4 /* wordInfos */
        start local 4 // org.apache.batik.gvt.flow.WordInfo[][] wordInfos
         1: .line 143
            aload 1 /* chunkLayouts */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* clIter */
        start local 5 // java.util.Iterator clIter
         2: .line 145
            fconst_0
            fstore 6 /* prevBotMargin */
        start local 6 // float prevBotMargin
         3: .line 146
            iconst_0
            istore 7 /* numWords */
        start local 7 // int numWords
         4: .line 147
            aload 0 /* acis */
            arraylength
            anewarray org.apache.batik.gvt.flow.BlockInfo
            astore 8 /* blockInfos */
        start local 8 // org.apache.batik.gvt.flow.BlockInfo[] blockInfos
         5: .line 148
            aload 0 /* acis */
            arraylength
            newarray 6
            astore 9 /* topSkip */
        start local 9 // float[] topSkip
         6: .line 149
            iconst_0
            istore 10 /* chunk */
        start local 10 // int chunk
         7: goto 28
         8: .line 151
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int
      StackMap stack:
            aload 0 /* acis */
            iload 10 /* chunk */
            aaload
            astore 11 /* aci */
        start local 11 // java.text.AttributedCharacterIterator aci
         9: .line 152
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 12 /* gvl */
        start local 12 // java.util.List gvl
        10: .line 153
            aload 5 /* clIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 13 /* layouts */
        start local 13 // java.util.List layouts
        11: .line 154
            aload 13 /* layouts */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 15
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int java.text.AttributedCharacterIterator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 14 /* layout */
        start local 14 // java.lang.Object layout
        13: .line 155
            aload 14 /* layout */
            checkcast org.apache.batik.bridge.GlyphLayout
            astore 16 /* gl */
        start local 16 // org.apache.batik.bridge.GlyphLayout gl
        14: .line 156
            aload 12 /* gvl */
            aload 16 /* gl */
            invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphVector:()Lorg/apache/batik/gvt/font/GVTGlyphVector;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.apache.batik.bridge.GlyphLayout gl
        end local 14 // java.lang.Object layout
        15: .line 154
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 158
            new org.apache.batik.gvt.font.MultiGlyphVector
            dup
            aload 12 /* gvl */
            invokespecial org.apache.batik.gvt.font.MultiGlyphVector.<init>:(Ljava/util/List;)V
            astore 14 /* gv */
        start local 14 // org.apache.batik.gvt.font.GVTGlyphVector gv
        17: .line 160
            aload 4 /* wordInfos */
            iload 10 /* chunk */
            aload 14 /* gv */
            aload 11 /* aci */
            iload 7 /* numWords */
            aload 3 /* frc */
            invokestatic org.apache.batik.bridge.FlowTextPainter.doWordAnalysis:(Lorg/apache/batik/gvt/font/GVTGlyphVector;Ljava/text/AttributedCharacterIterator;ILjava/awt/font/FontRenderContext;)[Lorg/apache/batik/gvt/flow/WordInfo;
            aastore
        18: .line 161
            aload 11 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            pop
        19: .line 162
            aload 11 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.flow.BlockInfo
            astore 15 /* bi */
        start local 15 // org.apache.batik.gvt.flow.BlockInfo bi
        20: .line 163
            aload 15 /* bi */
            aload 3 /* frc */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.initLineInfo:(Ljava/awt/font/FontRenderContext;)V
        21: .line 164
            aload 8 /* blockInfos */
            iload 10 /* chunk */
            aload 15 /* bi */
            aastore
        22: .line 165
            fload 6 /* prevBotMargin */
            aload 15 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getTopMargin:()F
            fcmpl
            ifle 24
        23: .line 166
            aload 9 /* topSkip */
            iload 10 /* chunk */
            fload 6 /* prevBotMargin */
            fastore
            goto 25
        24: .line 168
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int java.text.AttributedCharacterIterator java.util.List java.util.List org.apache.batik.gvt.font.GVTGlyphVector org.apache.batik.gvt.flow.BlockInfo
      StackMap stack:
            aload 9 /* topSkip */
            iload 10 /* chunk */
            aload 15 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getTopMargin:()F
            fastore
        25: .line 169
      StackMap locals:
      StackMap stack:
            aload 15 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getBottomMargin:()F
            fstore 6 /* prevBotMargin */
        26: .line 170
            iload 7 /* numWords */
            aload 4 /* wordInfos */
            iload 10 /* chunk */
            aaload
            arraylength
            iadd
            istore 7 /* numWords */
        end local 15 // org.apache.batik.gvt.flow.BlockInfo bi
        end local 14 // org.apache.batik.gvt.font.GVTGlyphVector gv
        end local 13 // java.util.List layouts
        end local 12 // java.util.List gvl
        end local 11 // java.text.AttributedCharacterIterator aci
        27: .line 149
            iinc 10 /* chunk */ 1
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int
      StackMap stack:
        28: aload 5 /* clIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 10 // int chunk
        29: .line 173
            aload 2 /* flowRects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10 /* frIter */
        start local 10 // java.util.Iterator frIter
        30: .line 174
            aconst_null
            astore 11 /* currentRegion */
        start local 11 // org.apache.batik.gvt.flow.RegionInfo currentRegion
        31: .line 175
            iconst_0
            istore 12 /* currWord */
        start local 12 // int currWord
        32: .line 176
            iconst_0
            istore 13 /* chunk */
        start local 13 // int chunk
        33: .line 177
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 14 /* lineInfos */
        start local 14 // java.util.List lineInfos
        34: .line 178
            goto 83
        35: .line 179
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List
      StackMap stack:
            aload 10 /* frIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.flow.RegionInfo
            astore 11 /* currentRegion */
        36: .line 180
            new org.apache.batik.gvt.flow.FlowRegions
            dup
            aload 11 /* currentRegion */
            invokevirtual org.apache.batik.gvt.flow.RegionInfo.getShape:()Ljava/awt/Shape;
            invokespecial org.apache.batik.gvt.flow.FlowRegions.<init>:(Ljava/awt/Shape;)V
            astore 15 /* fr */
        start local 15 // org.apache.batik.gvt.flow.FlowRegions fr
        37: .line 182
            goto 80
        38: .line 183
      StackMap locals: org.apache.batik.gvt.flow.FlowRegions
      StackMap stack:
            aload 4 /* wordInfos */
            iload 13 /* chunk */
            aaload
            astore 16 /* chunkInfo */
        start local 16 // org.apache.batik.gvt.flow.WordInfo[] chunkInfo
        39: .line 184
            aload 8 /* blockInfos */
            iload 13 /* chunk */
            aaload
            astore 17 /* bi */
        start local 17 // org.apache.batik.gvt.flow.BlockInfo bi
        40: .line 185
            aload 16 /* chunkInfo */
            iload 12 /* currWord */
            aaload
            astore 18 /* wi */
        start local 18 // org.apache.batik.gvt.flow.WordInfo wi
        41: .line 186
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
            astore 19 /* flowLine */
        start local 19 // java.lang.Object flowLine
        42: .line 187
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getLineHeight:()F
            aload 17 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLineHeight:()F
            invokestatic java.lang.Math.max:(FF)F
            f2d
            dstore 20 /* lh */
        start local 20 // double lh
        43: .line 188
            new org.apache.batik.gvt.flow.LineInfo
            dup
            aload 15 /* fr */
            aload 17 /* bi */
            iconst_1
            invokespecial org.apache.batik.gvt.flow.LineInfo.<init>:(Lorg/apache/batik/gvt/flow/FlowRegions;Lorg/apache/batik/gvt/flow/BlockInfo;Z)V
            astore 22 /* li */
        start local 22 // org.apache.batik.gvt.flow.LineInfo li
        44: .line 189
            aload 22 /* li */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
            aload 9 /* topSkip */
            iload 13 /* chunk */
            faload
            f2d
            dadd
            dstore 23 /* newY */
        start local 23 // double newY
        45: .line 190
            aload 9 /* topSkip */
            iload 13 /* chunk */
            fconst_0
            fastore
        46: .line 191
            aload 22 /* li */
            dload 23 /* newY */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
            ifeq 49
            goto 81
        47: .line 195
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List org.apache.batik.gvt.flow.FlowRegions org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.BlockInfo org.apache.batik.gvt.flow.WordInfo java.lang.Object double org.apache.batik.gvt.flow.LineInfo double
      StackMap stack:
            aload 22 /* li */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
            dload 20 /* lh */
            ldc 0.1
            dmul
            dadd
            dstore 23 /* newY */
        48: .line 196
            aload 22 /* li */
            dload 23 /* newY */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
            ifeq 49
            goto 50
        49: .line 193
      StackMap locals:
      StackMap stack:
            aload 22 /* li */
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
            ifeq 47
        50: .line 198
      StackMap locals:
      StackMap stack:
            aload 15 /* fr */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
            ifeq 51
            goto 81
        51: .line 200
      StackMap locals:
      StackMap stack:
            iinc 12 /* currWord */ 1
        52: .line 201
            goto 69
        53: .line 202
      StackMap locals:
      StackMap stack:
            aload 16 /* chunkInfo */
            iload 12 /* currWord */
            aaload
            astore 18 /* wi */
        54: .line 203
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
            aload 19 /* flowLine */
            if_acmpne 56
            aload 22 /* li */
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
            ifeq 56
        55: .line 204
            goto 68
        56: .line 208
      StackMap locals:
      StackMap stack:
            aload 22 /* li */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.layout:()V
        57: .line 209
            aload 14 /* lineInfos */
            aload 22 /* li */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        58: .line 210
            aconst_null
            astore 22 /* li */
        59: .line 212
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
            astore 19 /* flowLine */
        60: .line 213
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getLineHeight:()F
            aload 17 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLineHeight:()F
            invokestatic java.lang.Math.max:(FF)F
            f2d
            dstore 20 /* lh */
        61: .line 214
            aload 15 /* fr */
            dload 20 /* lh */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLine:(D)Z
            ifne 62
            goto 70
        62: .line 216
      StackMap locals:
      StackMap stack:
            new org.apache.batik.gvt.flow.LineInfo
            dup
            aload 15 /* fr */
            aload 17 /* bi */
            iconst_0
            invokespecial org.apache.batik.gvt.flow.LineInfo.<init>:(Lorg/apache/batik/gvt/flow/FlowRegions;Lorg/apache/batik/gvt/flow/BlockInfo;Z)V
            astore 22 /* li */
        63: .line 217
            goto 66
        64: .line 218
      StackMap locals:
      StackMap stack:
            aload 22 /* li */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
            dload 20 /* lh */
            ldc 0.1
            dmul
            dadd
            dstore 23 /* newY */
        65: .line 219
            aload 22 /* li */
            dload 23 /* newY */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
            ifeq 66
            goto 67
        66: .line 217
      StackMap locals:
      StackMap stack:
            aload 22 /* li */
            aload 18 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
            ifeq 64
        67: .line 221
      StackMap locals:
      StackMap stack:
            aload 15 /* fr */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
            ifeq 68
            goto 70
        68: .line 201
      StackMap locals:
      StackMap stack:
            iinc 12 /* currWord */ 1
      StackMap locals:
      StackMap stack:
        69: iload 12 /* currWord */
            aload 16 /* chunkInfo */
            arraylength
            if_icmplt 53
        70: .line 223
      StackMap locals:
      StackMap stack:
            aload 22 /* li */
            ifnull 73
        71: .line 224
            aload 22 /* li */
            iconst_1
            invokevirtual org.apache.batik.gvt.flow.LineInfo.setParaEnd:(Z)V
        72: .line 225
            aload 22 /* li */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.layout:()V
        73: .line 228
      StackMap locals:
      StackMap stack:
            aload 15 /* fr */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
            ifeq 74
            goto 81
        74: .line 230
      StackMap locals:
      StackMap stack:
            iinc 13 /* chunk */ 1
        75: .line 231
            iconst_0
            istore 12 /* currWord */
        76: .line 233
            aload 17 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.isFlowRegionBreak:()Z
            ifeq 78
        77: .line 234
            goto 81
        78: .line 236
      StackMap locals:
      StackMap stack:
            aload 15 /* fr */
            dload 20 /* lh */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLine:(D)Z
            ifne 80
        79: .line 237
            goto 81
        end local 23 // double newY
        end local 22 // org.apache.batik.gvt.flow.LineInfo li
        end local 20 // double lh
        end local 19 // java.lang.Object flowLine
        end local 18 // org.apache.batik.gvt.flow.WordInfo wi
        end local 17 // org.apache.batik.gvt.flow.BlockInfo bi
        end local 16 // org.apache.batik.gvt.flow.WordInfo[] chunkInfo
        80: .line 182
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List org.apache.batik.gvt.flow.FlowRegions
      StackMap stack:
            iload 13 /* chunk */
            aload 4 /* wordInfos */
            arraylength
            if_icmplt 38
        81: .line 239
      StackMap locals:
      StackMap stack:
            iload 13 /* chunk */
            aload 4 /* wordInfos */
            arraylength
            if_icmpne 83
        82: .line 240
            goto 84
        end local 15 // org.apache.batik.gvt.flow.FlowRegions fr
        83: .line 178
      StackMap locals:
      StackMap stack:
            aload 10 /* frIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        84: .line 243
      StackMap locals:
      StackMap stack:
            iload 13 /* chunk */
            aload 4 /* wordInfos */
            arraylength
            if_icmpge 85
            iconst_1
            goto 86
      StackMap locals:
      StackMap stack:
        85: iconst_0
      StackMap locals:
      StackMap stack: int
        86: istore 15 /* overflow */
        start local 15 // boolean overflow
        87: .line 245
            goto 108
        88: .line 246
      StackMap locals: int
      StackMap stack:
            aload 4 /* wordInfos */
            iload 13 /* chunk */
            aaload
            astore 16 /* chunkInfo */
        start local 16 // org.apache.batik.gvt.flow.WordInfo[] chunkInfo
        89: .line 247
            goto 105
        90: .line 248
      StackMap locals: org.apache.batik.gvt.flow.WordInfo[]
      StackMap stack:
            aload 16 /* chunkInfo */
            iload 12 /* currWord */
            aaload
            astore 17 /* wi */
        start local 17 // org.apache.batik.gvt.flow.WordInfo wi
        91: .line 249
            aload 17 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getNumGlyphGroups:()I
            istore 18 /* numGG */
        start local 18 // int numGG
        92: .line 250
            iconst_0
            istore 19 /* gg */
        start local 19 // int gg
        93: goto 103
        94: .line 251
      StackMap locals: org.apache.batik.gvt.flow.WordInfo int int
      StackMap stack:
            aload 17 /* wi */
            iload 19 /* gg */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            astore 20 /* ggi */
        start local 20 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        95: .line 252
            aload 20 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphVector:()Lorg/apache/batik/gvt/font/GVTGlyphVector;
            astore 21 /* gv */
        start local 21 // org.apache.batik.gvt.font.GVTGlyphVector gv
        96: .line 253
            aload 20 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getEnd:()I
            istore 22 /* end */
        start local 22 // int end
        97: .line 254
            aload 20 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 23 /* g */
        start local 23 // int g
        98: goto 101
        99: .line 255
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo int int org.apache.batik.gvt.flow.GlyphGroupInfo org.apache.batik.gvt.font.GVTGlyphVector int int
      StackMap stack:
            aload 21 /* gv */
            iload 23 /* g */
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
       100: .line 254
            iinc 23 /* g */ 1
      StackMap locals:
      StackMap stack:
       101: iload 23 /* g */
            iload 22 /* end */
            if_icmple 99
        end local 23 // int g
        end local 22 // int end
        end local 21 // org.apache.batik.gvt.font.GVTGlyphVector gv
        end local 20 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
       102: .line 250
            iinc 19 /* gg */ 1
      StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo int int
      StackMap stack:
       103: iload 19 /* gg */
            iload 18 /* numGG */
            if_icmplt 94
        end local 19 // int gg
       104: .line 258
            iinc 12 /* currWord */ 1
        end local 18 // int numGG
        end local 17 // org.apache.batik.gvt.flow.WordInfo wi
       105: .line 247
      StackMap locals:
      StackMap stack:
            iload 12 /* currWord */
            aload 16 /* chunkInfo */
            arraylength
            if_icmplt 90
       106: .line 260
            iinc 13 /* chunk */ 1
       107: .line 261
            iconst_0
            istore 12 /* currWord */
        end local 16 // org.apache.batik.gvt.flow.WordInfo[] chunkInfo
       108: .line 245
      StackMap locals:
      StackMap stack:
            iload 13 /* chunk */
            aload 4 /* wordInfos */
            arraylength
            if_icmplt 88
       109: .line 264
            iload 15 /* overflow */
            ireturn
        end local 15 // boolean overflow
        end local 14 // java.util.List lineInfos
        end local 13 // int chunk
        end local 12 // int currWord
        end local 11 // org.apache.batik.gvt.flow.RegionInfo currentRegion
        end local 10 // java.util.Iterator frIter
        end local 9 // float[] topSkip
        end local 8 // org.apache.batik.gvt.flow.BlockInfo[] blockInfos
        end local 7 // int numWords
        end local 6 // float prevBotMargin
        end local 5 // java.util.Iterator clIter
        end local 4 // org.apache.batik.gvt.flow.WordInfo[][] wordInfos
        end local 3 // java.awt.font.FontRenderContext frc
        end local 2 // java.util.List flowRects
        end local 1 // java.util.List chunkLayouts
        end local 0 // java.text.AttributedCharacterIterator[] acis
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  110     0           acis  [Ljava/text/AttributedCharacterIterator;
            0  110     1   chunkLayouts  Ljava/util/List;
            0  110     2      flowRects  Ljava/util/List;
            0  110     3            frc  Ljava/awt/font/FontRenderContext;
            1  110     4      wordInfos  [[Lorg/apache/batik/gvt/flow/WordInfo;
            2  110     5         clIter  Ljava/util/Iterator;
            3  110     6  prevBotMargin  F
            4  110     7       numWords  I
            5  110     8     blockInfos  [Lorg/apache/batik/gvt/flow/BlockInfo;
            6  110     9        topSkip  [F
            7   29    10          chunk  I
            9   27    11            aci  Ljava/text/AttributedCharacterIterator;
           10   27    12            gvl  Ljava/util/List;
           11   27    13        layouts  Ljava/util/List;
           13   15    14         layout  Ljava/lang/Object;
           14   15    16             gl  Lorg/apache/batik/bridge/GlyphLayout;
           17   27    14             gv  Lorg/apache/batik/gvt/font/GVTGlyphVector;
           20   27    15             bi  Lorg/apache/batik/gvt/flow/BlockInfo;
           30  110    10         frIter  Ljava/util/Iterator;
           31  110    11  currentRegion  Lorg/apache/batik/gvt/flow/RegionInfo;
           32  110    12       currWord  I
           33  110    13          chunk  I
           34  110    14      lineInfos  Ljava/util/List;
           37   83    15             fr  Lorg/apache/batik/gvt/flow/FlowRegions;
           39   80    16      chunkInfo  [Lorg/apache/batik/gvt/flow/WordInfo;
           40   80    17             bi  Lorg/apache/batik/gvt/flow/BlockInfo;
           41   80    18             wi  Lorg/apache/batik/gvt/flow/WordInfo;
           42   80    19       flowLine  Ljava/lang/Object;
           43   80    20             lh  D
           44   80    22             li  Lorg/apache/batik/gvt/flow/LineInfo;
           45   80    23           newY  D
           87  110    15       overflow  Z
           89  108    16      chunkInfo  [Lorg/apache/batik/gvt/flow/WordInfo;
           91  105    17             wi  Lorg/apache/batik/gvt/flow/WordInfo;
           92  105    18          numGG  I
           93  104    19             gg  I
           95  102    20            ggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           96  102    21             gv  Lorg/apache/batik/gvt/font/GVTGlyphVector;
           97  102    22            end  I
           98  102    23              g  I
    MethodParameters:
              Name  Flags
      acis          
      chunkLayouts  
      flowRects     
      frc           

  static int[] allocWordMap(int[], int);
    descriptor: ([II)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int[] wordMap
        start local 1 // int sz
         0: .line 268
            aload 0 /* wordMap */
            ifnull 5
         1: .line 269
            iload 1 /* sz */
            aload 0 /* wordMap */
            arraylength
            if_icmpgt 3
         2: .line 270
            aload 0 /* wordMap */
            areturn
         3: .line 272
      StackMap locals:
      StackMap stack:
            iload 1 /* sz */
            aload 0 /* wordMap */
            arraylength
            iconst_2
            imul
            if_icmpge 5
         4: .line 273
            aload 0 /* wordMap */
            arraylength
            iconst_2
            imul
            istore 1 /* sz */
         5: .line 278
      StackMap locals:
      StackMap stack:
            iload 1 /* sz */
            newarray 10
            astore 2 /* ret */
        start local 2 // int[] ret
         6: .line 279
            aload 0 /* wordMap */
            ifnull 7
            aload 0 /* wordMap */
            arraylength
            goto 8
      StackMap locals: int[]
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 3 /* ext */
        start local 3 // int ext
         9: .line 280
            iload 1 /* sz */
            iload 3 /* ext */
            if_icmpge 11
        10: .line 281
            iload 1 /* sz */
            istore 3 /* ext */
        11: .line 283
      StackMap locals: int
      StackMap stack:
            iload 3 /* ext */
            ifeq 13
        12: .line 284
            aload 0 /* wordMap */
            iconst_0
            aload 2 /* ret */
            iconst_0
            iload 3 /* ext */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 286
      StackMap locals:
      StackMap stack:
            aload 2 /* ret */
            iload 3 /* ext */
            iload 1 /* sz */
            iconst_m1
            invokestatic java.util.Arrays.fill:([IIII)V
        14: .line 288
            aload 2 /* ret */
            areturn
        end local 3 // int ext
        end local 2 // int[] ret
        end local 1 // int sz
        end local 0 // int[] wordMap
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0  wordMap  [I
            0   15     1       sz  I
            6   15     2      ret  [I
            9   15     3      ext  I
    MethodParameters:
         Name  Flags
      wordMap  
      sz       

  static org.apache.batik.gvt.flow.WordInfo[] doWordAnalysis(org.apache.batik.gvt.font.GVTGlyphVector, java.text.AttributedCharacterIterator, int, java.awt.font.FontRenderContext);
    descriptor: (Lorg/apache/batik/gvt/font/GVTGlyphVector;Ljava/text/AttributedCharacterIterator;ILjava/awt/font/FontRenderContext;)[Lorg/apache/batik/gvt/flow/WordInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=13, locals=39, args_size=4
        start local 0 // org.apache.batik.gvt.font.GVTGlyphVector gv
        start local 1 // java.text.AttributedCharacterIterator aci
        start local 2 // int numWords
        start local 3 // java.awt.font.FontRenderContext frc
         0: .line 299
            aload 0 /* gv */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
            istore 4 /* numGlyphs */
        start local 4 // int numGlyphs
         1: .line 300
            iload 4 /* numGlyphs */
            newarray 10
            astore 5 /* glyphWords */
        start local 5 // int[] glyphWords
         2: .line 301
            aconst_null
            bipush 10
            invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
            astore 6 /* wordMap */
        start local 6 // int[] wordMap
         3: .line 302
            iconst_0
            istore 7 /* maxWord */
        start local 7 // int maxWord
         4: .line 303
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 8 /* aciIdx */
        start local 8 // int aciIdx
         5: .line 308
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         6: goto 34
         7: .line 309
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int
      StackMap stack:
            aload 0 /* gv */
            iload 9 /* i */
            iload 9 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            istore 10 /* cnt */
        start local 10 // int cnt
         8: .line 310
            aload 1 /* aci */
            iload 8 /* aciIdx */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
         9: .line 311
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* integer */
        start local 11 // java.lang.Integer integer
        10: .line 312
            aload 11 /* integer */
            invokevirtual java.lang.Integer.intValue:()I
            iload 2 /* numWords */
            isub
            istore 12 /* minWord */
        start local 12 // int minWord
        11: .line 313
            iload 12 /* minWord */
            iload 7 /* maxWord */
            if_icmple 14
        12: .line 314
            iload 12 /* minWord */
            istore 7 /* maxWord */
        13: .line 315
            aload 6 /* wordMap */
            iload 7 /* maxWord */
            iconst_1
            iadd
            invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
            astore 6 /* wordMap */
        14: .line 317
      StackMap locals: int java.lang.Integer int
      StackMap stack:
            iinc 8 /* aciIdx */ 1
        15: .line 318
            iconst_1
            istore 13 /* c */
        start local 13 // int c
        16: goto 31
        17: .line 319
      StackMap locals: int
      StackMap stack:
            aload 1 /* aci */
            iload 8 /* aciIdx */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        18: .line 320
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* integer */
        19: .line 321
            aload 11 /* integer */
            invokevirtual java.lang.Integer.intValue:()I
            iload 2 /* numWords */
            isub
            istore 14 /* cWord */
        start local 14 // int cWord
        20: .line 322
            iload 14 /* cWord */
            iload 7 /* maxWord */
            if_icmple 23
        21: .line 323
            iload 14 /* cWord */
            istore 7 /* maxWord */
        22: .line 324
            aload 6 /* wordMap */
            iload 7 /* maxWord */
            iconst_1
            iadd
            invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
            astore 6 /* wordMap */
        23: .line 328
      StackMap locals: int
      StackMap stack:
            iload 14 /* cWord */
            iload 12 /* minWord */
            if_icmpge 27
        24: .line 329
            aload 6 /* wordMap */
            iload 12 /* minWord */
            iload 14 /* cWord */
            iastore
        25: .line 330
            iload 14 /* cWord */
            istore 12 /* minWord */
        26: .line 331
            goto 29
      StackMap locals:
      StackMap stack:
        27: iload 14 /* cWord */
            iload 12 /* minWord */
            if_icmple 29
        28: .line 332
            aload 6 /* wordMap */
            iload 14 /* cWord */
            iload 12 /* minWord */
            iastore
        29: .line 334
      StackMap locals:
      StackMap stack:
            iinc 8 /* aciIdx */ 1
        end local 14 // int cWord
        30: .line 318
            iinc 13 /* c */ 1
      StackMap locals:
      StackMap stack:
        31: iload 13 /* c */
            iload 10 /* cnt */
            if_icmplt 17
        end local 13 // int c
        32: .line 336
            aload 5 /* glyphWords */
            iload 9 /* i */
            iload 12 /* minWord */
            iastore
        end local 12 // int minWord
        end local 11 // java.lang.Integer integer
        end local 10 // int cnt
        33: .line 308
            iinc 9 /* i */ 1
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int
      StackMap stack:
        34: iload 9 /* i */
            iload 4 /* numGlyphs */
            if_icmplt 7
        end local 9 // int i
        35: .line 338
            iconst_0
            istore 9 /* words */
        start local 9 // int words
        36: .line 339
            iload 7 /* maxWord */
            iconst_1
            iadd
            anewarray org.apache.batik.gvt.flow.WordInfo
            astore 10 /* cWordMap */
        start local 10 // org.apache.batik.gvt.flow.WordInfo[] cWordMap
        37: .line 340
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        38: goto 52
        39: .line 341
      StackMap locals: org.apache.batik.gvt.flow.WordInfo[] int
      StackMap stack:
            aload 6 /* wordMap */
            iload 11 /* i */
            iaload
            istore 12 /* nw */
        start local 12 // int nw
        40: .line 342
            iload 12 /* nw */
            iconst_m1
            if_icmpne 43
        41: .line 344
            aload 10 /* cWordMap */
            iload 11 /* i */
            new org.apache.batik.gvt.flow.WordInfo
            dup
            iload 9 /* words */
            iinc 9 /* words */ 1
            invokespecial org.apache.batik.gvt.flow.WordInfo.<init>:(I)V
            aastore
        42: .line 345
            goto 51
        43: .line 346
      StackMap locals: int
      StackMap stack:
            iload 12 /* nw */
            istore 13 /* word */
        start local 13 // int word
        44: .line 347
            aload 6 /* wordMap */
            iload 11 /* i */
            iaload
            istore 12 /* nw */
        45: .line 348
            goto 48
        46: .line 349
      StackMap locals: int
      StackMap stack:
            iload 12 /* nw */
            istore 13 /* word */
        47: .line 350
            aload 6 /* wordMap */
            iload 13 /* word */
            iaload
            istore 12 /* nw */
        48: .line 348
      StackMap locals:
      StackMap stack:
            iload 12 /* nw */
            iconst_m1
            if_icmpne 46
        49: .line 352
            aload 6 /* wordMap */
            iload 11 /* i */
            iload 13 /* word */
            iastore
        50: .line 353
            aload 10 /* cWordMap */
            iload 11 /* i */
            aload 10 /* cWordMap */
            iload 13 /* word */
            aaload
            aastore
        end local 13 // int word
        end local 12 // int nw
        51: .line 340
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 11 /* i */
            iload 7 /* maxWord */
            if_icmple 39
        end local 11 // int i
        53: .line 356
            aconst_null
            astore 6 /* wordMap */
        54: .line 357
            iload 9 /* words */
            anewarray org.apache.batik.gvt.flow.WordInfo
            astore 11 /* wordInfos */
        start local 11 // org.apache.batik.gvt.flow.WordInfo[] wordInfos
        55: .line 358
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        56: goto 60
        57: .line 359
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int
      StackMap stack:
            aload 10 /* cWordMap */
            iload 12 /* i */
            aaload
            astore 13 /* wi */
        start local 13 // org.apache.batik.gvt.flow.WordInfo wi
        58: .line 360
            aload 11 /* wordInfos */
            aload 13 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getIndex:()I
            aload 10 /* cWordMap */
            iload 12 /* i */
            aaload
            aastore
        end local 13 // org.apache.batik.gvt.flow.WordInfo wi
        59: .line 358
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 12 /* i */
            iload 7 /* maxWord */
            if_icmple 57
        end local 12 // int i
        61: .line 363
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 8 /* aciIdx */
        62: .line 364
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            istore 12 /* aciEnd */
        start local 12 // int aciEnd
        63: .line 365
            aload 1 /* aci */
            iload 8 /* aciIdx */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 13 /* ch */
        start local 13 // char ch
        64: .line 367
            iload 8 /* aciIdx */
            istore 14 /* aciWordStart */
        start local 14 // int aciWordStart
        65: .line 368
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.GVTFont
            astore 15 /* gvtFont */
        start local 15 // org.apache.batik.gvt.font.GVTFont gvtFont
        66: .line 369
            fconst_1
            fstore 16 /* lineHeight */
        start local 16 // float lineHeight
        67: .line 370
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 17 /* lineHeightFloat */
        start local 17 // java.lang.Float lineHeightFloat
        68: .line 371
            aload 17 /* lineHeightFloat */
            ifnull 70
        69: .line 372
            aload 17 /* lineHeightFloat */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 16 /* lineHeight */
        70: .line 373
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
            istore 18 /* runLimit */
        start local 18 // int runLimit
        71: .line 374
            aconst_null
            astore 19 /* prevWI */
        start local 19 // org.apache.batik.gvt.flow.WordInfo prevWI
        72: .line 375
            iload 4 /* numGlyphs */
            newarray 6
            astore 20 /* lastAdvAdj */
        start local 20 // float[] lastAdvAdj
        73: .line 376
            iload 4 /* numGlyphs */
            newarray 6
            astore 21 /* advAdj */
        start local 21 // float[] advAdj
        74: .line 377
            iload 4 /* numGlyphs */
            newarray 4
            astore 22 /* hideLast */
        start local 22 // boolean[] hideLast
        75: .line 378
            iload 4 /* numGlyphs */
            newarray 4
            astore 23 /* hide */
        start local 23 // boolean[] hide
        76: .line 379
            iload 4 /* numGlyphs */
            newarray 4
            astore 24 /* space */
        start local 24 // boolean[] space
        77: .line 380
            aload 0 /* gv */
            iconst_0
            iload 4 /* numGlyphs */
            iconst_1
            iadd
            aconst_null
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
            astore 25 /* glyphPos */
        start local 25 // float[] glyphPos
        78: .line 381
            iconst_0
            istore 26 /* i */
        start local 26 // int i
        79: goto 130
        80: .line 382
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] int
      StackMap stack:
            iload 13 /* ch */
            istore 27 /* pch */
        start local 27 // char pch
        81: .line 383
            aload 1 /* aci */
            iload 8 /* aciIdx */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 13 /* ch */
        82: .line 384
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 28 /* integer */
        start local 28 // java.lang.Integer integer
        83: .line 385
            aload 10 /* cWordMap */
            aload 28 /* integer */
            invokevirtual java.lang.Integer.intValue:()I
            iload 2 /* numWords */
            isub
            aaload
            astore 29 /* theWI */
        start local 29 // org.apache.batik.gvt.flow.WordInfo theWI
        84: .line 386
            aload 29 /* theWI */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
            ifnonnull 86
        85: .line 387
            aload 29 /* theWI */
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_LINE_BREAK:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            invokevirtual org.apache.batik.gvt.flow.WordInfo.setFlowLine:(Ljava/lang/Object;)V
        86: .line 389
      StackMap locals: int java.lang.Integer org.apache.batik.gvt.flow.WordInfo
      StackMap stack:
            aload 19 /* prevWI */
            ifnonnull 89
        87: .line 390
            aload 29 /* theWI */
            astore 19 /* prevWI */
        88: .line 391
            goto 97
      StackMap locals:
      StackMap stack:
        89: aload 19 /* prevWI */
            aload 29 /* theWI */
            if_acmpeq 97
        90: .line 392
            aload 15 /* gvtFont */
        91: .line 393
            aload 1 /* aci */
            iload 14 /* aciWordStart */
            iload 8 /* aciIdx */
            aload 3 /* frc */
        92: .line 392
            invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            astore 30 /* lm */
        start local 30 // org.apache.batik.gvt.font.GVTLineMetrics lm
        93: .line 394
            aload 19 /* prevWI */
            aload 15 /* gvtFont */
            aload 30 /* lm */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
        94: .line 395
            aload 19 /* prevWI */
            fload 16 /* lineHeight */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
        95: .line 396
            iload 8 /* aciIdx */
            istore 14 /* aciWordStart */
        96: .line 397
            aload 29 /* theWI */
            astore 19 /* prevWI */
        end local 30 // org.apache.batik.gvt.font.GVTLineMetrics lm
        97: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* gv */
            iload 26 /* i */
            iload 26 /* i */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
            istore 30 /* chCnt */
        start local 30 // int chCnt
        98: .line 401
            iload 30 /* chCnt */
            iconst_1
            if_icmpne 115
        99: .line 404
            iload 13 /* ch */
            lookupswitch { // 4
                   32: 110
                  173: 100
                 8203: 108
                 8205: 106
              default: 115
          }
       100: .line 406
      StackMap locals: int
      StackMap stack:
            aload 22 /* hideLast */
            iload 26 /* i */
            iconst_1
            bastore
       101: .line 407
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 31 /* nch */
        start local 31 // char nch
       102: aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.previous:()C
            pop
       103: .line 408
            aload 15 /* gvtFont */
            iload 27 /* pch */
            iload 31 /* nch */
            invokeinterface org.apache.batik.gvt.font.GVTFont.getHKern:(II)F
            fstore 32 /* kern */
        start local 32 // float kern
       104: .line 409
            aload 21 /* advAdj */
            iload 26 /* i */
            aload 25 /* glyphPos */
            iconst_2
            iload 26 /* i */
            imul
            iconst_2
            iadd
            faload
            aload 25 /* glyphPos */
            iconst_2
            iload 26 /* i */
            imul
            faload
            fsub
            fload 32 /* kern */
            fadd
            fneg
            fastore
       105: .line 410
            goto 115
        end local 32 // float kern
        end local 31 // char nch
       106: .line 412
      StackMap locals:
      StackMap stack:
            aload 23 /* hide */
            iload 26 /* i */
            iconst_1
            bastore
       107: .line 413
            goto 115
       108: .line 415
      StackMap locals:
      StackMap stack:
            aload 23 /* hide */
            iload 26 /* i */
            iconst_1
            bastore
       109: .line 416
            goto 115
       110: .line 418
      StackMap locals:
      StackMap stack:
            aload 24 /* space */
            iload 26 /* i */
            iconst_1
            bastore
       111: .line 419
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 31 /* nch */
        start local 31 // char nch
       112: aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.previous:()C
            pop
       113: .line 420
            aload 15 /* gvtFont */
            iload 27 /* pch */
            iload 31 /* nch */
            invokeinterface org.apache.batik.gvt.font.GVTFont.getHKern:(II)F
            fstore 32 /* kern */
        start local 32 // float kern
       114: .line 421
            aload 20 /* lastAdvAdj */
            iload 26 /* i */
            aload 25 /* glyphPos */
            iconst_2
            iload 26 /* i */
            imul
            iconst_2
            iadd
            faload
            aload 25 /* glyphPos */
            iconst_2
            iload 26 /* i */
            imul
            faload
            fsub
            fload 32 /* kern */
            fadd
            fneg
            fastore
        end local 32 // float kern
        end local 31 // char nch
       115: .line 426
      StackMap locals:
      StackMap stack:
            iload 8 /* aciIdx */
            iload 30 /* chCnt */
            iadd
            istore 8 /* aciIdx */
       116: .line 427
            iload 8 /* aciIdx */
            iload 18 /* runLimit */
            if_icmple 129
            iload 8 /* aciIdx */
            iload 12 /* aciEnd */
            if_icmpge 129
       117: .line 430
            aload 15 /* gvtFont */
       118: .line 431
            aload 1 /* aci */
            iload 14 /* aciWordStart */
            iload 18 /* runLimit */
            aload 3 /* frc */
       119: .line 430
            invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            astore 31 /* lm */
        start local 31 // org.apache.batik.gvt.font.GVTLineMetrics lm
       120: .line 432
            aload 19 /* prevWI */
            aload 15 /* gvtFont */
            aload 31 /* lm */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
       121: .line 433
            aload 19 /* prevWI */
            fload 16 /* lineHeight */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
       122: .line 434
            aconst_null
            astore 19 /* prevWI */
       123: .line 435
            iload 8 /* aciIdx */
            istore 14 /* aciWordStart */
       124: .line 436
            aload 1 /* aci */
            iload 8 /* aciIdx */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
       125: .line 437
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast org.apache.batik.gvt.font.GVTFont
            astore 15 /* gvtFont */
       126: .line 438
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 32 /* f */
        start local 32 // java.lang.Float f
       127: .line 439
            aload 32 /* f */
            invokevirtual java.lang.Float.floatValue:()F
            fstore 16 /* lineHeight */
       128: .line 440
            aload 1 /* aci */
            getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
            istore 18 /* runLimit */
        end local 32 // java.lang.Float f
        end local 31 // org.apache.batik.gvt.font.GVTLineMetrics lm
        end local 30 // int chCnt
        end local 29 // org.apache.batik.gvt.flow.WordInfo theWI
        end local 28 // java.lang.Integer integer
        end local 27 // char pch
       129: .line 381
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] int
      StackMap stack:
            iinc 26 /* i */ 1
      StackMap locals:
      StackMap stack:
       130: iload 26 /* i */
            iload 4 /* numGlyphs */
            if_icmplt 80
        end local 26 // int i
       131: .line 443
            aload 15 /* gvtFont */
       132: .line 444
            aload 1 /* aci */
            iload 14 /* aciWordStart */
            iload 18 /* runLimit */
            aload 3 /* frc */
       133: .line 443
            invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
            astore 26 /* lm */
        start local 26 // org.apache.batik.gvt.font.GVTLineMetrics lm
       134: .line 445
            aload 19 /* prevWI */
            aload 15 /* gvtFont */
            aload 26 /* lm */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
       135: .line 446
            aload 19 /* prevWI */
            fload 16 /* lineHeight */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
       136: .line 448
            iload 9 /* words */
            newarray 10
            astore 27 /* wordGlyphCounts */
        start local 27 // int[] wordGlyphCounts
       137: .line 450
            iconst_0
            istore 28 /* i */
        start local 28 // int i
       138: goto 144
       139: .line 451
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int
      StackMap stack:
            aload 5 /* glyphWords */
            iload 28 /* i */
            iaload
            istore 29 /* word */
        start local 29 // int word
       140: .line 452
            aload 10 /* cWordMap */
            iload 29 /* word */
            aaload
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getIndex:()I
            istore 30 /* cWord */
        start local 30 // int cWord
       141: .line 453
            aload 5 /* glyphWords */
            iload 28 /* i */
            iload 30 /* cWord */
            iastore
       142: .line 454
            aload 27 /* wordGlyphCounts */
            iload 30 /* cWord */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        end local 30 // int cWord
        end local 29 // int word
       143: .line 450
            iinc 28 /* i */ 1
      StackMap locals:
      StackMap stack:
       144: iload 28 /* i */
            iload 4 /* numGlyphs */
            if_icmplt 139
        end local 28 // int i
       145: .line 457
            aconst_null
            astore 10 /* cWordMap */
       146: .line 458
            iload 9 /* words */
            anewarray int[]
            astore 28 /* wordGlyphs */
        start local 28 // int[][] wordGlyphs
       147: .line 459
            iload 9 /* words */
            newarray 10
            astore 29 /* wordGlyphGroupsCounts */
        start local 29 // int[] wordGlyphGroupsCounts
       148: .line 460
            iconst_0
            istore 30 /* i */
        start local 30 // int i
       149: goto 166
       150: .line 461
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int
      StackMap stack:
            aload 5 /* glyphWords */
            iload 30 /* i */
            iaload
            istore 31 /* cWord */
        start local 31 // int cWord
       151: .line 463
            aload 28 /* wordGlyphs */
            iload 31 /* cWord */
            aaload
            astore 32 /* wgs */
        start local 32 // int[] wgs
       152: .line 464
            aload 32 /* wgs */
            ifnonnull 157
       153: .line 465
            aload 28 /* wordGlyphs */
            iload 31 /* cWord */
       154: .line 466
            aload 27 /* wordGlyphCounts */
            iload 31 /* cWord */
            iaload
            newarray 10
       155: .line 465
            dup_x2
            aastore
            astore 32 /* wgs */
       156: .line 470
            aload 27 /* wordGlyphCounts */
            iload 31 /* cWord */
            iconst_0
            iastore
       157: .line 472
      StackMap locals: int int[]
      StackMap stack:
            aload 27 /* wordGlyphCounts */
            iload 31 /* cWord */
            iaload
            istore 33 /* cnt */
        start local 33 // int cnt
       158: .line 473
            aload 32 /* wgs */
            iload 33 /* cnt */
            iload 30 /* i */
            iastore
       159: .line 475
            iload 33 /* cnt */
            ifne 162
       160: .line 476
            aload 29 /* wordGlyphGroupsCounts */
            iload 31 /* cWord */
            dup2
            iaload
            iconst_1
            iadd
            iastore
       161: .line 477
            goto 164
       162: .line 478
      StackMap locals: int
      StackMap stack:
            aload 32 /* wgs */
            iload 33 /* cnt */
            iconst_1
            isub
            iaload
            iload 30 /* i */
            iconst_1
            isub
            if_icmpeq 164
       163: .line 479
            aload 29 /* wordGlyphGroupsCounts */
            iload 31 /* cWord */
            dup2
            iaload
            iconst_1
            iadd
            iastore
       164: .line 481
      StackMap locals:
      StackMap stack:
            aload 27 /* wordGlyphCounts */
            iload 31 /* cWord */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        end local 33 // int cnt
        end local 32 // int[] wgs
        end local 31 // int cWord
       165: .line 460
            iinc 30 /* i */ 1
      StackMap locals:
      StackMap stack:
       166: iload 30 /* i */
            iload 4 /* numGlyphs */
            if_icmplt 150
        end local 30 // int i
       167: .line 484
            iconst_0
            istore 30 /* i */
        start local 30 // int i
       168: goto 204
       169: .line 485
      StackMap locals:
      StackMap stack:
            aload 29 /* wordGlyphGroupsCounts */
            iload 30 /* i */
            iaload
            istore 31 /* cnt */
        start local 31 // int cnt
       170: .line 487
            iload 31 /* cnt */
            anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
            astore 32 /* wordGlyphGroups */
        start local 32 // org.apache.batik.gvt.flow.GlyphGroupInfo[] wordGlyphGroups
       171: .line 488
            iload 31 /* cnt */
            iconst_1
            if_icmpne 180
       172: .line 489
            aload 28 /* wordGlyphs */
            iload 30 /* i */
            aaload
            astore 33 /* glyphs */
        start local 33 // int[] glyphs
       173: .line 490
            aload 33 /* glyphs */
            iconst_0
            iaload
            istore 34 /* start */
        start local 34 // int start
       174: .line 491
            aload 33 /* glyphs */
            aload 33 /* glyphs */
            arraylength
            iconst_1
            isub
            iaload
            istore 35 /* end */
        start local 35 // int end
       175: .line 492
            aload 32 /* wordGlyphGroups */
            iconst_0
            new org.apache.batik.gvt.flow.GlyphGroupInfo
            dup
       176: .line 493
            aload 0 /* gv */
            iload 34 /* start */
            iload 35 /* end */
            aload 23 /* hide */
            aload 22 /* hideLast */
            iload 35 /* end */
            baload
       177: .line 494
            aload 25 /* glyphPos */
            aload 21 /* advAdj */
            aload 20 /* lastAdvAdj */
            aload 24 /* space */
            invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
       178: .line 492
            aastore
        end local 35 // int end
        end local 34 // int start
        end local 33 // int[] glyphs
       179: .line 495
            goto 202
       180: .line 496
      StackMap locals: int org.apache.batik.gvt.flow.GlyphGroupInfo[]
      StackMap stack:
            iconst_0
            istore 33 /* glyphGroup */
        start local 33 // int glyphGroup
       181: .line 497
            aload 28 /* wordGlyphs */
            iload 30 /* i */
            aaload
            astore 34 /* glyphs */
        start local 34 // int[] glyphs
       182: .line 498
            aload 34 /* glyphs */
            iconst_0
            iaload
            istore 35 /* prev */
        start local 35 // int prev
       183: .line 499
            iload 35 /* prev */
            istore 36 /* start */
        start local 36 // int start
       184: .line 500
            iconst_1
            istore 37 /* j */
        start local 37 // int j
       185: goto 196
       186: .line 501
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int int org.apache.batik.gvt.flow.GlyphGroupInfo[] int int[] int int int
      StackMap stack:
            iload 35 /* prev */
            iconst_1
            iadd
            aload 34 /* glyphs */
            iload 37 /* j */
            iaload
            if_icmpeq 194
       187: .line 502
            aload 34 /* glyphs */
            iload 37 /* j */
            iconst_1
            isub
            iaload
            istore 38 /* end */
        start local 38 // int end
       188: .line 503
            aload 32 /* wordGlyphGroups */
            iload 33 /* glyphGroup */
            new org.apache.batik.gvt.flow.GlyphGroupInfo
            dup
       189: .line 504
            aload 0 /* gv */
            iload 36 /* start */
            iload 38 /* end */
            aload 23 /* hide */
            aload 22 /* hideLast */
            iload 38 /* end */
            baload
       190: .line 505
            aload 25 /* glyphPos */
            aload 21 /* advAdj */
            aload 20 /* lastAdvAdj */
            aload 24 /* space */
            invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
       191: .line 503
            aastore
       192: .line 506
            aload 34 /* glyphs */
            iload 37 /* j */
            iaload
            istore 36 /* start */
       193: .line 507
            iinc 33 /* glyphGroup */ 1
        end local 38 // int end
       194: .line 509
      StackMap locals:
      StackMap stack:
            aload 34 /* glyphs */
            iload 37 /* j */
            iaload
            istore 35 /* prev */
       195: .line 500
            iinc 37 /* j */ 1
      StackMap locals:
      StackMap stack:
       196: iload 37 /* j */
            aload 34 /* glyphs */
            arraylength
            if_icmplt 186
        end local 37 // int j
       197: .line 511
            aload 34 /* glyphs */
            aload 34 /* glyphs */
            arraylength
            iconst_1
            isub
            iaload
            istore 37 /* end */
        start local 37 // int end
       198: .line 512
            aload 32 /* wordGlyphGroups */
            iload 33 /* glyphGroup */
            new org.apache.batik.gvt.flow.GlyphGroupInfo
            dup
       199: .line 513
            aload 0 /* gv */
            iload 36 /* start */
            iload 37 /* end */
            aload 23 /* hide */
            aload 22 /* hideLast */
            iload 37 /* end */
            baload
       200: .line 514
            aload 25 /* glyphPos */
            aload 21 /* advAdj */
            aload 20 /* lastAdvAdj */
            aload 24 /* space */
            invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
       201: .line 512
            aastore
        end local 37 // int end
        end local 36 // int start
        end local 35 // int prev
        end local 34 // int[] glyphs
        end local 33 // int glyphGroup
       202: .line 516
      StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int int org.apache.batik.gvt.flow.GlyphGroupInfo[]
      StackMap stack:
            aload 11 /* wordInfos */
            iload 30 /* i */
            aaload
            aload 32 /* wordGlyphGroups */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.setGlyphGroups:([Lorg/apache/batik/gvt/flow/GlyphGroupInfo;)V
        end local 32 // org.apache.batik.gvt.flow.GlyphGroupInfo[] wordGlyphGroups
        end local 31 // int cnt
       203: .line 484
            iinc 30 /* i */ 1
      StackMap locals:
      StackMap stack:
       204: iload 30 /* i */
            iload 9 /* words */
            if_icmplt 169
        end local 30 // int i
       205: .line 518
            aload 11 /* wordInfos */
            areturn
        end local 29 // int[] wordGlyphGroupsCounts
        end local 28 // int[][] wordGlyphs
        end local 27 // int[] wordGlyphCounts
        end local 26 // org.apache.batik.gvt.font.GVTLineMetrics lm
        end local 25 // float[] glyphPos
        end local 24 // boolean[] space
        end local 23 // boolean[] hide
        end local 22 // boolean[] hideLast
        end local 21 // float[] advAdj
        end local 20 // float[] lastAdvAdj
        end local 19 // org.apache.batik.gvt.flow.WordInfo prevWI
        end local 18 // int runLimit
        end local 17 // java.lang.Float lineHeightFloat
        end local 16 // float lineHeight
        end local 15 // org.apache.batik.gvt.font.GVTFont gvtFont
        end local 14 // int aciWordStart
        end local 13 // char ch
        end local 12 // int aciEnd
        end local 11 // org.apache.batik.gvt.flow.WordInfo[] wordInfos
        end local 10 // org.apache.batik.gvt.flow.WordInfo[] cWordMap
        end local 9 // int words
        end local 8 // int aciIdx
        end local 7 // int maxWord
        end local 6 // int[] wordMap
        end local 5 // int[] glyphWords
        end local 4 // int numGlyphs
        end local 3 // java.awt.font.FontRenderContext frc
        end local 2 // int numWords
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // org.apache.batik.gvt.font.GVTGlyphVector gv
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  206     0                     gv  Lorg/apache/batik/gvt/font/GVTGlyphVector;
            0  206     1                    aci  Ljava/text/AttributedCharacterIterator;
            0  206     2               numWords  I
            0  206     3                    frc  Ljava/awt/font/FontRenderContext;
            1  206     4              numGlyphs  I
            2  206     5             glyphWords  [I
            3  206     6                wordMap  [I
            4  206     7                maxWord  I
            5  206     8                 aciIdx  I
            6   35     9                      i  I
            8   33    10                    cnt  I
           10   33    11                integer  Ljava/lang/Integer;
           11   33    12                minWord  I
           16   32    13                      c  I
           20   30    14                  cWord  I
           36  206     9                  words  I
           37  206    10               cWordMap  [Lorg/apache/batik/gvt/flow/WordInfo;
           38   53    11                      i  I
           40   51    12                     nw  I
           44   51    13                   word  I
           55  206    11              wordInfos  [Lorg/apache/batik/gvt/flow/WordInfo;
           56   61    12                      i  I
           58   59    13                     wi  Lorg/apache/batik/gvt/flow/WordInfo;
           63  206    12                 aciEnd  I
           64  206    13                     ch  C
           65  206    14           aciWordStart  I
           66  206    15                gvtFont  Lorg/apache/batik/gvt/font/GVTFont;
           67  206    16             lineHeight  F
           68  206    17        lineHeightFloat  Ljava/lang/Float;
           71  206    18               runLimit  I
           72  206    19                 prevWI  Lorg/apache/batik/gvt/flow/WordInfo;
           73  206    20             lastAdvAdj  [F
           74  206    21                 advAdj  [F
           75  206    22               hideLast  [Z
           76  206    23                   hide  [Z
           77  206    24                  space  [Z
           78  206    25               glyphPos  [F
           79  131    26                      i  I
           81  129    27                    pch  C
           83  129    28                integer  Ljava/lang/Integer;
           84  129    29                  theWI  Lorg/apache/batik/gvt/flow/WordInfo;
           93   97    30                     lm  Lorg/apache/batik/gvt/font/GVTLineMetrics;
           98  129    30                  chCnt  I
          102  106    31                    nch  C
          112  115    31                    nch  C
          104  106    32                   kern  F
          114  115    32                   kern  F
          120  129    31                     lm  Lorg/apache/batik/gvt/font/GVTLineMetrics;
          127  129    32                      f  Ljava/lang/Float;
          134  206    26                     lm  Lorg/apache/batik/gvt/font/GVTLineMetrics;
          137  206    27        wordGlyphCounts  [I
          138  145    28                      i  I
          140  143    29                   word  I
          141  143    30                  cWord  I
          147  206    28             wordGlyphs  [[I
          148  206    29  wordGlyphGroupsCounts  [I
          149  167    30                      i  I
          151  165    31                  cWord  I
          152  165    32                    wgs  [I
          158  165    33                    cnt  I
          168  205    30                      i  I
          170  203    31                    cnt  I
          171  203    32        wordGlyphGroups  [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
          173  179    33                 glyphs  [I
          174  179    34                  start  I
          175  179    35                    end  I
          181  202    33             glyphGroup  I
          182  202    34                 glyphs  [I
          183  202    35                   prev  I
          184  202    36                  start  I
          185  197    37                      j  I
          188  194    38                    end  I
          198  202    37                    end  I
    MethodParameters:
          Name  Flags
      gv        
      aci       
      numWords  
      frc       
}
SourceFile: "FlowTextPainter.java"
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
  public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator