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
    RenderSVGContainer {g} at (11,26) size 343x79 [transform={m=((0.60,0.00)(0.00,0.60)) t=(110.00,50.00)}]
      RenderSVGText {text} at (-160,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-160.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (-50,-57) size 86x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 86x34
          chunk 1 text run 1 at (-50.00,-30.00) startOffset 0 endOffset 7 width 86.00: "0.8-3.2"
      RenderSVGText {text} at (140,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (140.00,-30.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGContainer {g} at (33,82) size 299x2
        RenderSVGPath {polyline} at (33,82) size 299x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-150 0 0 0 150 0"]
      RenderSVGContainer {g} at (12,62) size 342x42
        RenderSVGEllipse {circle} at (12,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-150.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (162,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=0.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (312,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=150.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (11,61) size 44x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (445,26) size 343x79 [transform={m=((0.60,0.00)(0.00,0.60)) t=(370.00,50.00)}]
      RenderSVGText {text} at (-160,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-160.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (-100,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-100.00,-30.00) startOffset 0 endOffset 1 width 15.00: "2"
      RenderSVGText {text} at (80,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (80.00,-30.00) startOffset 0 endOffset 1 width 15.00: "2"
      RenderSVGText {text} at (140,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (140.00,-30.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGContainer {g} at (466,82) size 299x2
        RenderSVGPath {polyline} at (466,82) size 59x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-150 0 -90 0"]
        RenderSVGPath {polyline} at (706,82) size 59x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="90 0 150 0"]
      RenderSVGContainer {g} at (446,62) size 342x42
        RenderSVGEllipse {circle} at (446,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-150.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (506,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-90.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (686,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=90.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (746,62) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=150.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (445,61) size 44x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (57,213) size 252x114 [transform={m=((0.60,0.00)(0.00,0.60)) t=(110.00,180.00)}]
      RenderSVGText {text} at (-115,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-115.00,-30.00) startOffset 0 endOffset 1 width 15.00: "3"
      RenderSVGText {text} at (-85,-87) size 38x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x34
          chunk 1 text run 1 at (-85.00,-60.00) startOffset 0 endOffset 3 width 38.00: "2.6"
      RenderSVGText {text} at (60,-87) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (60.00,-60.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (95,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (95.00,-30.00) startOffset 0 endOffset 1 width 15.00: "1"
      RenderSVGText {text} at (-75,-7) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-75.00,20.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGText {text} at (40,-7) size 38x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x34
          chunk 1 text run 1 at (40.00,20.00) startOffset 0 endOffset 3 width 38.00: "1.4"
      RenderSVGContainer {g} at (78,239) size 211x62
        RenderSVGPath {polyline} at (78,239) size 211x62 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-105 0 -25 -60 25 -60 105 0"]
      RenderSVGContainer {g} at (57,249) size 252x72
        RenderSVGEllipse {circle} at (57,279) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-105.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (97,249) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-65.00] [cy=-30.00] [r=20.00]
        RenderSVGEllipse {circle} at (227,249) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=65.00] [cy=-30.00] [r=20.00]
        RenderSVGEllipse {circle} at (267,279) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=105.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (226,248) size 44x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(65.00,-30.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (471,209) size 292x115 [transform={m=((0.60,0.00)(0.00,0.60)) t=(370.00,160.00)}]
      RenderSVGText {text} at (-135,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-135.00,-30.00) startOffset 0 endOffset 1 width 15.00: "3"
      RenderSVGText {text} at (-95,-57) size 38x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x34
          chunk 1 text run 1 at (-95.00,-30.00) startOffset 0 endOffset 3 width 38.00: "2.6"
      RenderSVGText {text} at (65,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (65.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (115,-57) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (115.00,-30.00) startOffset 0 endOffset 1 width 15.00: "1"
      RenderSVGText {text} at (-85,23) size 15x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x34
          chunk 1 text run 1 at (-85.00,50.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGText {text} at (50,23) size 38x34 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x34
          chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 3 width 38.00: "1.4"
      RenderSVGContainer {g} at (491,266) size 251x2
        RenderSVGPath {polyline} at (491,266) size 251x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-125 0 125 0"]
      RenderSVGContainer {g} at (471,246) size 292x42
        RenderSVGEllipse {circle} at (471,246) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-125.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (521,246) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-75.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (671,246) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=75.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (721,246) size 42x42 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=125.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (670,245) size 44x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGText {text} at (5,209) size 375x33 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 375x32
        chunk 1 text run 1 at (5.00,235.00) startOffset 0 endOffset 31 width 374.40: "Test of keyPoints and keyTimes."
    RenderSVGText {text} at (5,248) size 387x21 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 387x20
        chunk 1 text run 1 at (5.00,265.00) startOffset 0 endOffset 54 width 387.00: "Number indicates the circle's passing time in seconds."
    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.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]
