public class org.apache.batik.bridge.SVGTextPathElementBridge extends org.apache.batik.bridge.AnimatableGenericSVGBridge implements org.apache.batik.bridge.ErrorConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.SVGTextPathElementBridge
  super_class: org.apache.batik.bridge.AnimatableGenericSVGBridge
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
         0: .line 44
            aload 0 /* this */
            invokespecial org.apache.batik.bridge.AnimatableGenericSVGBridge.<init>:()V
            return
        end local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGTextPathElementBridge;

  public java.lang.String getLocalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
         0: .line 50
            ldc "textPath"
            areturn
        end local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGTextPathElementBridge;

  public void handleElement(org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element);
    descriptor: (Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
        start local 1 // org.apache.batik.bridge.BridgeContext ctx
        start local 2 // org.w3c.dom.Element e
         0: .line 55
            return
        end local 2 // org.w3c.dom.Element e
        end local 1 // org.apache.batik.bridge.BridgeContext ctx
        end local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/SVGTextPathElementBridge;
            0    1     1   ctx  Lorg/apache/batik/bridge/BridgeContext;
            0    1     2     e  Lorg/w3c/dom/Element;
    MethodParameters:
      Name  Flags
      ctx   
      e     

  public org.apache.batik.gvt.text.TextPath createTextPath(org.apache.batik.bridge.BridgeContext, org.w3c.dom.Element);
    descriptor: (Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;)Lorg/apache/batik/gvt/text/TextPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=13, args_size=3
        start local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
        start local 1 // org.apache.batik.bridge.BridgeContext ctx
        start local 2 // org.w3c.dom.Element textPathElement
         0: .line 69
            aload 2 /* textPathElement */
            invokestatic org.apache.batik.dom.util.XLinkSupport.getXLinkHref:(Lorg/w3c/dom/Element;)Ljava/lang/String;
            astore 3 /* uri */
        start local 3 // java.lang.String uri
         1: .line 70
            aload 1 /* ctx */
            aload 2 /* textPathElement */
            aload 3 /* uri */
            invokevirtual org.apache.batik.bridge.BridgeContext.getReferencedElement:(Lorg/w3c/dom/Element;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 4 /* pathElement */
        start local 4 // org.w3c.dom.Element pathElement
         2: .line 72
            aload 4 /* pathElement */
            ifnull 5
         3: .line 73
            ldc "http://www.w3.org/2000/svg"
            aload 4 /* pathElement */
            invokeinterface org.w3c.dom.Element.getNamespaceURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 74
            aload 4 /* pathElement */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            ldc "path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 77
      StackMap locals: java.lang.String org.w3c.dom.Element
      StackMap stack:
            new org.apache.batik.bridge.BridgeException
            dup
            aload 1 /* ctx */
            aload 2 /* textPathElement */
            ldc "uri.badTarget"
         6: .line 78
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* uri */
            aastore
         7: .line 77
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 4 /* pathElement */
            aconst_null
            ldc "d"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
         9: .line 83
            aconst_null
            astore 6 /* pathShape */
        start local 6 // java.awt.Shape pathShape
        10: .line 84
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            ifeq 27
        11: .line 85
            new org.apache.batik.parser.AWTPathProducer
            dup
            invokespecial org.apache.batik.parser.AWTPathProducer.<init>:()V
            astore 7 /* app */
        start local 7 // org.apache.batik.parser.AWTPathProducer app
        12: .line 86
            aload 7 /* app */
            aload 4 /* pathElement */
            invokestatic org.apache.batik.bridge.CSSUtilities.convertFillRule:(Lorg/w3c/dom/Element;)I
            invokevirtual org.apache.batik.parser.AWTPathProducer.setWindingRule:(I)V
        13: .line 88
            new org.apache.batik.parser.PathParser
            dup
            invokespecial org.apache.batik.parser.PathParser.<init>:()V
            astore 8 /* pathParser */
        start local 8 // org.apache.batik.parser.PathParser pathParser
        14: .line 89
            aload 8 /* pathParser */
            aload 7 /* app */
            invokevirtual org.apache.batik.parser.PathParser.setPathHandler:(Lorg/apache/batik/parser/PathHandler;)V
        15: .line 90
            aload 8 /* pathParser */
            aload 5 /* s */
            invokevirtual org.apache.batik.parser.PathParser.parse:(Ljava/lang/String;)V
        end local 8 // org.apache.batik.parser.PathParser pathParser
        16: .line 91
            goto 25
      StackMap locals: org.apache.batik.bridge.SVGTextPathElementBridge org.apache.batik.bridge.BridgeContext org.w3c.dom.Element java.lang.String org.w3c.dom.Element java.lang.String java.awt.Shape org.apache.batik.parser.AWTPathProducer
      StackMap stack: org.apache.batik.parser.ParseException
        17: astore 8 /* pEx */
        start local 8 // org.apache.batik.parser.ParseException pEx
        18: .line 92
            new org.apache.batik.bridge.BridgeException
            dup
        19: .line 93
            aload 1 /* ctx */
            aload 4 /* pathElement */
            aload 8 /* pEx */
            ldc "attribute.malformed"
        20: .line 94
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "d"
            aastore
        21: .line 92
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/Exception;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 8 // org.apache.batik.parser.ParseException pEx
        22: .line 95
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        23: .line 96
            aload 7 /* app */
            invokevirtual org.apache.batik.parser.AWTPathProducer.getShape:()Ljava/awt/Shape;
            astore 6 /* pathShape */
        24: .line 97
            aload 9
            athrow
        25: .line 96
      StackMap locals:
      StackMap stack:
            aload 7 /* app */
            invokevirtual org.apache.batik.parser.AWTPathProducer.getShape:()Ljava/awt/Shape;
            astore 6 /* pathShape */
        end local 7 // org.apache.batik.parser.AWTPathProducer app
        26: .line 98
            goto 30
        27: .line 99
      StackMap locals:
      StackMap stack:
            new org.apache.batik.bridge.BridgeException
            dup
            aload 1 /* ctx */
            aload 4 /* pathElement */
            ldc "attribute.missing"
        28: .line 100
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "d"
            aastore
        29: .line 99
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        30: .line 105
      StackMap locals:
      StackMap stack:
            aload 4 /* pathElement */
            aconst_null
            ldc "transform"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* s */
        31: .line 106
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            ifeq 37
        32: .line 108
            aload 4 /* pathElement */
        33: .line 109
            ldc "transform"
            aload 5 /* s */
            aload 1 /* ctx */
        34: .line 108
            invokestatic org.apache.batik.bridge.SVGUtilities.convertTransform:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;Lorg/apache/batik/bridge/BridgeContext;)Ljava/awt/geom/AffineTransform;
        35: .line 107
            astore 7 /* tr */
        start local 7 // java.awt.geom.AffineTransform tr
        36: .line 110
            aload 7 /* tr */
            aload 6 /* pathShape */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            astore 6 /* pathShape */
        end local 7 // java.awt.geom.AffineTransform tr
        37: .line 114
      StackMap locals:
      StackMap stack:
            new org.apache.batik.gvt.text.TextPath
            dup
            new java.awt.geom.GeneralPath
            dup
            aload 6 /* pathShape */
            invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
            invokespecial org.apache.batik.gvt.text.TextPath.<init>:(Ljava/awt/geom/GeneralPath;)V
            astore 7 /* textPath */
        start local 7 // org.apache.batik.gvt.text.TextPath textPath
        38: .line 117
            aload 2 /* textPathElement */
            aconst_null
            ldc "startOffset"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* s */
        39: .line 118
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 58
        40: .line 119
            fconst_0
            fstore 8 /* startOffset */
        start local 8 // float startOffset
        41: .line 120
            aload 5 /* s */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* percentIndex */
        start local 9 // int percentIndex
        42: .line 121
            iload 9 /* percentIndex */
            iconst_m1
            if_icmpeq 55
        43: .line 123
            aload 7 /* textPath */
            invokevirtual org.apache.batik.gvt.text.TextPath.lengthOfPath:()F
            fstore 10 /* pathLength */
        start local 10 // float pathLength
        44: .line 124
            aload 5 /* s */
            iconst_0
            iload 9 /* percentIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* percentString */
        start local 11 // java.lang.String percentString
        45: .line 125
            fconst_0
            fstore 12 /* startOffsetPercent */
        start local 12 // float startOffsetPercent
        46: .line 127
            aload 11 /* percentString */
            invokestatic org.apache.batik.bridge.SVGUtilities.convertSVGNumber:(Ljava/lang/String;)F
            fstore 12 /* startOffsetPercent */
        47: .line 128
            goto 53
      StackMap locals: org.apache.batik.bridge.SVGTextPathElementBridge org.apache.batik.bridge.BridgeContext org.w3c.dom.Element java.lang.String org.w3c.dom.Element java.lang.String java.awt.Shape org.apache.batik.gvt.text.TextPath float int float java.lang.String float
      StackMap stack: java.lang.NumberFormatException
        48: pop
        49: .line 129
            new org.apache.batik.bridge.BridgeException
            dup
        50: .line 130
            aload 1 /* ctx */
            aload 2 /* textPathElement */
            ldc "attribute.malformed"
        51: .line 131
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "startOffset"
            aastore
            dup
            iconst_1
            aload 5 /* s */
            aastore
        52: .line 129
            invokespecial org.apache.batik.bridge.BridgeException.<init>:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        53: .line 133
      StackMap locals:
      StackMap stack:
            fload 12 /* startOffsetPercent */
            fload 10 /* pathLength */
            fmul
            f2d
            ldc 100.0
            ddiv
            d2f
            fstore 8 /* startOffset */
        end local 12 // float startOffsetPercent
        end local 11 // java.lang.String percentString
        end local 10 // float pathLength
        54: .line 135
            goto 57
        55: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 2 /* textPathElement */
            invokestatic org.apache.batik.bridge.UnitProcessor.createContext:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;)Lorg/apache/batik/parser/UnitProcessor$Context;
            astore 10 /* uctx */
        start local 10 // org.apache.batik.parser.UnitProcessor$Context uctx
        56: .line 138
            aload 5 /* s */
            ldc "startOffset"
            aload 10 /* uctx */
            invokestatic org.apache.batik.bridge.UnitProcessor.svgOtherLengthToUserSpace:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/batik/parser/UnitProcessor$Context;)F
            fstore 8 /* startOffset */
        end local 10 // org.apache.batik.parser.UnitProcessor$Context uctx
        57: .line 140
      StackMap locals:
      StackMap stack:
            aload 7 /* textPath */
            fload 8 /* startOffset */
            invokevirtual org.apache.batik.gvt.text.TextPath.setStartOffset:(F)V
        end local 9 // int percentIndex
        end local 8 // float startOffset
        58: .line 143
      StackMap locals:
      StackMap stack:
            aload 7 /* textPath */
            areturn
        end local 7 // org.apache.batik.gvt.text.TextPath textPath
        end local 6 // java.awt.Shape pathShape
        end local 5 // java.lang.String s
        end local 4 // org.w3c.dom.Element pathElement
        end local 3 // java.lang.String uri
        end local 2 // org.w3c.dom.Element textPathElement
        end local 1 // org.apache.batik.bridge.BridgeContext ctx
        end local 0 // org.apache.batik.bridge.SVGTextPathElementBridge this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   59     0                this  Lorg/apache/batik/bridge/SVGTextPathElementBridge;
            0   59     1                 ctx  Lorg/apache/batik/bridge/BridgeContext;
            0   59     2     textPathElement  Lorg/w3c/dom/Element;
            1   59     3                 uri  Ljava/lang/String;
            2   59     4         pathElement  Lorg/w3c/dom/Element;
            9   59     5                   s  Ljava/lang/String;
           10   59     6           pathShape  Ljava/awt/Shape;
           12   26     7                 app  Lorg/apache/batik/parser/AWTPathProducer;
           14   16     8          pathParser  Lorg/apache/batik/parser/PathParser;
           18   22     8                 pEx  Lorg/apache/batik/parser/ParseException;
           36   37     7                  tr  Ljava/awt/geom/AffineTransform;
           38   59     7            textPath  Lorg/apache/batik/gvt/text/TextPath;
           41   58     8         startOffset  F
           42   58     9        percentIndex  I
           44   54    10          pathLength  F
           45   54    11       percentString  Ljava/lang/String;
           46   54    12  startOffsetPercent  F
           56   57    10                uctx  Lorg/apache/batik/parser/UnitProcessor$Context;
      Exception table:
        from    to  target  type
          13    16      17  Class org.apache.batik.parser.ParseException
          13    22      22  any
          46    47      48  Class java.lang.NumberFormatException
    MethodParameters:
                 Name  Flags
      ctx              
      textPathElement  
}
SourceFile: "SVGTextPathElementBridge.java"
InnerClasses:
  public abstract Context = org.apache.batik.parser.UnitProcessor$Context of org.apache.batik.parser.UnitProcessor