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 (89,19) size 590x345
      RenderSVGText {text} at (185,11) size 110x24 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 109x23
          chunk 1 (middle anchor) text run 1 at (185.51,30.00) startOffset 0 endOffset 11 width 108.98: "repeatCount"
      RenderSVGContainer {g} at (89,154) size 590x210 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
        RenderSVGContainer {g} at (89,187) size 328x177 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,45.00)}]
          RenderSVGText {text} at (-197,-13) size 197x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 197x16
              chunk 1 (end anchor) text run 1 at (-196.02,0.00) startOffset 0 endOffset 30 width 196.02: "dur=5s repeatCount unspecified"
          RenderSVGText {text} at (-139,12) size 139x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 139x16
              chunk 1 (end anchor) text run 1 at (-138.10,25.00) startOffset 0 endOffset 20 width 138.10: "dur=1s repeatCount=5"
          RenderSVGText {text} at (-158,37) size 158x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 158x16
              chunk 1 (end anchor) text run 1 at (-157.28,50.00) startOffset 0 endOffset 23 width 157.28: "dur=10s repeatCount=0.5"
          RenderSVGText {text} at (-186,62) size 186x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 186x16
              chunk 1 (end anchor) text run 1 at (-185.67,75.00) startOffset 0 endOffset 29 width 185.67: "dur=1s repeatCount=indefinite"
          RenderSVGText {text} at (-46,77) size 46x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 46x16
              chunk 1 (end anchor) text run 1 at (-45.66,90.00) startOffset 0 endOffset 6 width 45.66: "end=5s"
        RenderSVGContainer {g} at (494,154) size 185x27 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,25.00)}]
          RenderSVGText {text} at (-14,-13) size 28x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 27x16
              chunk 1 (middle anchor) text run 1 at (-13.23,0.00) startOffset 0 endOffset 4 width 26.47: "> 5s"
          RenderSVGText {text} at (63,-13) size 34x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 34x16
              chunk 1 (middle anchor) text run 1 at (63.13,0.00) startOffset 0 endOffset 5 width 33.75: "0s-5s"
        RenderSVGContainer {g} at (505,189) size 156x147 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,40.00)}]
          RenderSVGHiddenContainer {defs} at (0,0) size 0x0
            RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,189) size 156x22
            RenderSVGContainer {use} at (505,189) size 23x22
              RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,189) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,230) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,25.00)}]
            RenderSVGContainer {use} at (505,230) size 23x23
              RenderSVGRect {rect} at (505,230) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,230) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,272) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGContainer {use} at (505,272) size 23x23
              RenderSVGRect {rect} at (505,272) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,272) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,314) size 156x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,75.00)}]
            RenderSVGContainer {use} at (505,314) size 23x22
              RenderSVGRect {rect} at (505,314) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,314) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.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.6 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
