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 (38,76) size 666x473
      RenderSVGContainer {g} at (40,83) size 661x209 [transform={m=((1.20,0.00)(0.00,2.50)) t=(0.00,0.00)}]
        RenderSVGPath {path} at (40,83) size 100x167 [fill={[type=SOLID] [color=#FF0000]}] [data="M 20 20 L 70 20 L 45 60 Z"]
        RenderSVGEllipse {ellipse} at (180,104) size 120x84 [fill={[type=SOLID] [color=#FF0000]}] [cx=120.00] [cy=35.00] [rx=30.00] [ry=10.00]
        RenderSVGText {text} at (160,23) size 80x22 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 80x21
            chunk 1 text run 1 at (160.00,40.00) startOffset 0 endOffset 11 width 79.24: "Filler Text"
        RenderSVGRect {rect} at (500,83) size 60x209 [fill={[type=SOLID] [color=#FF0000]}] [x=250.00] [y=20.00] [width=30.00] [height=50.00]
        RenderSVGPath {line} at (620,83) size 81x209 [fill={[type=SOLID] [color=#FF0000]}] [x1=310.00] [y1=20.00] [x2=350.00] [y2=70.00]
      RenderSVGContainer {g} at (38,76) size 666x223 [transform={m=((1.20,0.00)(0.00,2.50)) t=(0.00,0.00)}]
        RenderSVGPath {path} at (38,81) size 104x173 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M 20 20 L 70 20 L 45 60 Z"]
        RenderSVGEllipse {ellipse} at (179,102) size 122x88 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [cx=120.00] [cy=35.00] [rx=30.00] [ry=10.00]
        RenderSVGText {text} at (160,23) size 80x22 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 80x21
            chunk 1 text run 1 at (160.00,40.00) startOffset 0 endOffset 11 width 79.24: "Filler Text"
        RenderSVGRect {rect} at (499,81) size 62x213 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x=250.00] [y=20.00] [width=30.00] [height=50.00]
        RenderSVGPath {line} at (616,76) size 88x223 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=310.00] [y1=20.00] [x2=350.00] [y2=70.00]
      RenderSVGContainer {g} at (38,326) size 666x223 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
        RenderSVGContainer {g} at (40,333) size 661x209 [transform={m=((1.20,0.00)(0.00,2.50)) t=(0.00,0.00)}]
          RenderSVGPath {path} at (40,333) size 100x167 [fill={[type=SOLID] [color=#FF0000]}] [data="M 20 20 L 70 20 L 45 60 Z"]
          RenderSVGEllipse {ellipse} at (180,354) size 120x84 [fill={[type=SOLID] [color=#FF0000]}] [cx=120.00] [cy=35.00] [rx=30.00] [ry=10.00]
          RenderSVGText {text} at (160,23) size 80x22 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 80x21
              chunk 1 text run 1 at (160.00,40.00) startOffset 0 endOffset 11 width 79.24: "Filler Text"
          RenderSVGRect {rect} at (500,333) size 60x209 [fill={[type=SOLID] [color=#FF0000]}] [x=250.00] [y=20.00] [width=30.00] [height=50.00]
          RenderSVGPath {line} at (620,333) size 81x209 [fill={[type=SOLID] [color=#FF0000]}] [x1=310.00] [y1=20.00] [x2=350.00] [y2=70.00]
        RenderSVGContainer {g} at (38,326) size 666x223 [transform={m=((1.20,0.00)(0.00,2.50)) t=(0.00,0.00)}]
          RenderSVGPath {path} at (38,331) size 104x173 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [data="M 20 20 L 70 20 L 45 60 Z"]
          RenderSVGEllipse {ellipse} at (179,352) size 122x88 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [cx=120.00] [cy=35.00] [rx=30.00] [ry=10.00]
          RenderSVGText {text} at (160,23) size 80x22 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 80x21
              chunk 1 text run 1 at (160.00,40.00) startOffset 0 endOffset 11 width 79.24: "Filler Text"
          RenderSVGRect {rect} at (499,331) size 62x213 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x=250.00] [y=20.00] [width=30.00] [height=50.00]
          RenderSVGPath {line} at (616,326) size 88x223 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=310.00] [y1=20.00] [x2=350.00] [y2=70.00]
    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]
