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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (82,63) size 652x416
      RenderSVGText {text} at (49,38) size 161x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 161x21
          chunk 1 (end anchor) text run 1 at (49.41,55.00) startOffset 0 endOffset 19 width 160.59: "animVal != baseVal:"
      RenderSVGContainer {g} at (400,66) size 334x413 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(500.00,0.00)}]
        RenderSVGRect {rect} at (700,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=60.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,62) size 158x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 158x16
            chunk 1 text run 1 at (70.00,75.00) startOffset 0 endOffset 21 width 158.00: "SVGAnimatedNumberList"
        RenderSVGRect {rect} at (650,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=90.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,92) size 130x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 130x16
            chunk 1 text run 1 at (70.00,105.00) startOffset 0 endOffset 17 width 129.65: "SVGAnimatedLength"
        RenderSVGRect {rect} at (600,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=120.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,122) size 152x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 152x16
            chunk 1 text run 1 at (70.00,135.00) startOffset 0 endOffset 21 width 151.13: "SVGAnimatedLengthList"
        RenderSVGRect {rect} at (550,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=150.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,152) size 123x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 123x16
            chunk 1 text run 1 at (70.00,165.00) startOffset 0 endOffset 16 width 122.74: "SVGAnimatedAngle"
        RenderSVGRect {rect} at (500,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=180.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,182) size 116x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 116x16
            chunk 1 text run 1 at (70.00,195.00) startOffset 0 endOffset 15 width 115.82: "SVGAnimatedRect"
        RenderSVGRect {rect} at (450,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=210.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,212) size 172x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 172x16
            chunk 1 text run 1 at (70.00,225.00) startOffset 0 endOffset 24 width 171.79: "SVGAnimatedTransformList"
        RenderSVGRect {rect} at (400,66) size 34x34 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=240.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,242) size 218x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 218x16
            chunk 1 text run 1 at (70.00,255.00) startOffset 0 endOffset 30 width 217.07: "SVGAnimatedPreserveAspectRatio"
      RenderSVGHiddenContainer {g} at (0,0) size 0x0
        RenderSVGText {text} at (0,-17) size 38x26 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 38x26
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 10.01: "a"
            chunk 1 text run 2 at (10.01,0.00) startOffset 1 endOffset 2 width 10.01: "b"
            chunk 1 text run 3 at (20.02,0.00) startOffset 2 endOffset 3 width 9.00: "c"
        RenderSVGEllipse {circle} at (0,0) size 84x84 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGResourceMarker {marker} [id="marker"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=90.00]
        RenderSVGViewportContainer {svg} at (0,0) size 0x0
    RenderSVGContainer {g} at (16,517) size 381x62
      RenderSVGText {text} at (10,310) size 229x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 229x37
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 228.03: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
