layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,15) size 430x276
      RenderSVGText {text} at (10,15) size 302x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 302x19
          chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 35 width 301.10: "Testing liveness of SVG DOM objects"
      RenderSVGContainer {g} at (90,40) size 350x251 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(500.00,0.00)}]
        RenderSVGRect {rect} at (420,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=60.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,63) size 161x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 161x15
            chunk 1 text run 1 at (70.00,75.00) startOffset 0 endOffset 21 width 160.27: "SVGAnimatedNumberList"
        RenderSVGRect {rect} at (390,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=90.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,93) size 132x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 132x15
            chunk 1 text run 1 at (70.00,105.00) startOffset 0 endOffset 17 width 131.52: "SVGAnimatedLength"
        RenderSVGRect {rect} at (360,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=120.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,123) size 154x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 154x15
            chunk 1 text run 1 at (70.00,135.00) startOffset 0 endOffset 21 width 153.30: "SVGAnimatedLengthList"
        RenderSVGRect {rect} at (330,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=150.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,153) size 125x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 125x15
            chunk 1 text run 1 at (70.00,165.00) startOffset 0 endOffset 16 width 124.50: "SVGAnimatedAngle"
        RenderSVGRect {rect} at (300,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=180.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,183) size 118x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 118x15
            chunk 1 text run 1 at (70.00,195.00) startOffset 0 endOffset 15 width 117.49: "SVGAnimatedRect"
        RenderSVGRect {rect} at (270,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=210.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,213) size 175x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 175x15
            chunk 1 text run 1 at (70.00,225.00) startOffset 0 endOffset 24 width 174.27: "SVGAnimatedTransformList"
        RenderSVGRect {rect} at (240,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=240.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,243) size 221x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 221x15
            chunk 1 text run 1 at (70.00,255.00) startOffset 0 endOffset 30 width 220.19: "SVGAnimatedPreserveAspectRatio"
        RenderSVGRect {rect} at (210,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=270.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,273) size 141x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 141x15
            chunk 1 text run 1 at (70.00,285.00) startOffset 0 endOffset 18 width 140.07: "SVGAnimatedBoolean"
        RenderSVGRect {rect} at (180,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=300.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,303) size 126x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 126x15
            chunk 1 text run 1 at (70.00,315.00) startOffset 0 endOffset 17 width 125.27: "SVGAnimatedString"
        RenderSVGRect {rect} at (150,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=330.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,333) size 169x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 169x15
            chunk 1 text run 1 at (70.00,345.00) startOffset 0 endOffset 22 width 168.07: "SVGAnimatedEnumeration"
        RenderSVGRect {rect} at (120,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=360.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,363) size 133x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 133x15
            chunk 1 text run 1 at (70.00,375.00) startOffset 0 endOffset 18 width 132.29: "SVGAnimatedInteger"
        RenderSVGRect {rect} at (90,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=390.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,393) size 139x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 139x15
            chunk 1 text run 1 at (70.00,405.00) startOffset 0 endOffset 17 width 138.49: "SVGAnimatedNumber"
      RenderSVGHiddenContainer {g} at (0,0) size 0x0
        RenderSVGText {text} at (10,-15) size 34x23 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 34x22
            chunk 1 text run 1 at (10.00,0.00) startOffset 0 endOffset 1 width 10.01: "a"
            chunk 1 text run 2 at (20.01,0.00) startOffset 1 endOffset 2 width 10.01: "b"
            chunk 1 text run 3 at (30.02,0.00) startOffset 2 endOffset 3 width 9.00: "c"
        RenderSVGEllipse {circle} at (0,0) size 100x100 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=100.00]
        RenderSVGResourceMarker {marker} [id="marker"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=60.00]
        RenderSVGViewportContainer {svg} at (0,0) size 0x0
        RenderSVGResourceFilter {filter} [id=""] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feTurbulence type="TURBULENCE" baseFrequency="4.00, 5.00" seed="0.00" numOctaves="1" stitchTiles="0"]
        RenderSVGResourceFilter {filter} [id=""] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feConvolveMatrix order="width=1 height=1" kernelMatrix="[1.00]" divisor="1.00" bias="0.00" target="(0,0)" edgeMode="DUPLICATE" kernelUnitLength="(1,1)" preserveAlpha="1"]
            [SourceGraphic]
    RenderSVGContainer {g} at (10,314) size 230x33
      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 230x33
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.7 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
