layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0,0) size 800x600
    RenderSVGText {text} at (10,304) size 269x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 269x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.9 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    RenderSVGText {text} at (159,10) size 162x19 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 162x18
        chunk 1 (middle anchor) text run 1 at (159.30,25.00) startOffset 0 endOffset 23 width 161.40: "<animate> on xlink:href"
    RenderSVGContainer {g} at (27,99) size 737x357
      RenderSVGContainer {g} at (62,137) size 76x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
        RenderSVGText {text} at (-23,-8) size 46x23 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 46x22
            chunk 1 (middle anchor) text run 1 at (-22.50,10.00) startOffset 0 endOffset 5 width 45.00: "<set>"
      RenderSVGContainer {g} at (249,99) size 102x157 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
        RenderSVGContainer {a} at (249,99) size 102x102
          RenderSVGEllipse {circle} at (249,99) size 102x102 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
          RenderSVGText {text} at (-15,-17) size 30x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 30x34
              chunk 1 (middle anchor) text run 1 at (-15.00,10.00) startOffset 0 endOffset 2 width 30.00: "38"
        RenderSVGText {text} at (-13,45) size 26x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 26x18
            chunk 1 (middle anchor) text run 1 at (-12.60,60.00) startOffset 0 endOffset 3 width 25.20: "<a>"
      RenderSVGContainer {g} at (450,100) size 100x156 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
        RenderSVGImage {image} at (450,100) size 100x100
        RenderSVGText {text} at (-30,45) size 60x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 59x18
            chunk 1 (middle anchor) text run 1 at (-29.10,60.00) startOffset 0 endOffset 7 width 58.20: "<image>"
      RenderSVGContainer {g} at (636,103) size 128x153 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGText {text} at (0,-15) size 42x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 42x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 42.00: "Use A"
          RenderSVGText {text} at (0,-15) size 41x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 41x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 40.80: "Use B"
          RenderSVGText {text} at (0,-15) size 41x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 41x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 40.80: "Use C"
        RenderSVGContainer {use} at (636,103) size 128x60
          RenderSVGText {text} at (-37,-27) size 74x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 74x34
              chunk 1 (middle anchor) text run 1 at (-36.90,0.00) startOffset 0 endOffset 5 width 73.80: "Use B"
        RenderSVGText {text} at (-21,45) size 42x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 41x18
            chunk 1 (middle anchor) text run 1 at (-20.10,60.00) startOffset 0 endOffset 5 width 40.20: "<use>"
      RenderSVGContainer {g} at (27,337) size 146x37 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,210.00)}]
        RenderSVGText {text} at (-44,-8) size 88x23 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 87x22
            chunk 1 (middle anchor) text run 1 at (-43.20,10.00) startOffset 0 endOffset 9 width 86.40: "<animate>"
      RenderSVGContainer {g} at (249,299) size 102x157 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,210.00)}]
        RenderSVGContainer {a} at (249,299) size 102x102
          RenderSVGEllipse {circle} at (249,299) size 102x102 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
          RenderSVGText {text} at (-15,-17) size 30x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 30x34
              chunk 1 (middle anchor) text run 1 at (-15.00,10.00) startOffset 0 endOffset 2 width 30.00: "09"
        RenderSVGText {text} at (-13,45) size 26x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 26x18
            chunk 1 (middle anchor) text run 1 at (-12.60,60.00) startOffset 0 endOffset 3 width 25.20: "<a>"
      RenderSVGContainer {g} at (450,300) size 100x156 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,210.00)}]
        RenderSVGImage {image} at (450,300) size 100x100
        RenderSVGText {text} at (-30,45) size 60x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 59x18
            chunk 1 (middle anchor) text run 1 at (-29.10,60.00) startOffset 0 endOffset 7 width 58.20: "<image>"
      RenderSVGContainer {g} at (636,303) size 128x153 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,210.00)}]
        RenderSVGContainer {use} at (636,303) size 128x60
          RenderSVGText {text} at (-37,-27) size 74x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 74x34
              chunk 1 (middle anchor) text run 1 at (-36.90,0.00) startOffset 0 endOffset 5 width 73.80: "Use B"
        RenderSVGText {text} at (-21,45) size 42x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 41x18
            chunk 1 (middle anchor) text run 1 at (-20.10,60.00) startOffset 0 endOffset 5 width 40.20: "<use>"
