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 (14,17) size 776x481
      RenderSVGText {text} at (166,10) size 148x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 148x19
          chunk 1 (middle anchor) text run 1 at (166.21,25.00) startOffset 0 endOffset 18 width 147.58: "<animateTransform>"
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGContainer {g} at (0,0) size 75x75
          RenderSVGEllipse {circle} at (0,0) size 69x69 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
          RenderSVGPath {line} at (0,0) size 75x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
          RenderSVGPath {line} at (0,0) size 1x75 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
      RenderSVGContainer {g} at (14,93) size 776x405
        RenderSVGContainer {g} at (14,93) size 172x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
          RenderSVGRect {rect} at (71,121) size 58x58 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGRect {rect} at (43,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGText {text} at (-52,46) size 104x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 104x17
              chunk 1 (middle anchor) text run 1 at (-51.54,60.00) startOffset 0 endOffset 16 width 103.08: "additive=replace"
        RenderSVGContainer {g} at (210,93) size 180x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
          RenderSVGRect {rect} at (255,121) size 90x58 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGRect {rect} at (210,93) size 180x114 [transform={m=((1.15,2.00)(-2.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGText {text} at (-42,46) size 84x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 84x17
              chunk 1 (middle anchor) text run 1 at (-41.74,60.00) startOffset 0 endOffset 12 width 83.47: "additive=sum"
        RenderSVGContainer {g} at (406,93) size 188x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
          RenderSVGRect {rect} at (471,121) size 58x58 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGRect {rect} at (443,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGText {text} at (-56,46) size 112x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 112x17
              chunk 1 (middle anchor) text run 1 at (-55.85,60.00) startOffset 0 endOffset 15 width 111.71: "accumulate=none"
          RenderSVGText {text} at (-52,61) size 104x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 104x17
              chunk 1 (middle anchor) text run 1 at (-51.54,75.00) startOffset 0 endOffset 16 width 103.08: "additive=replace"
        RenderSVGContainer {g} at (610,93) size 180x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
          RenderSVGRect {rect} at (0,0) size 0x0 [transform={m=((0.00,0.00)(0.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGRect {rect} at (643,93) size 114x114 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGText {text} at (-54,46) size 108x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 107x17
              chunk 1 (middle anchor) text run 1 at (-53.49,60.00) startOffset 0 endOffset 14 width 106.98: "accumulate=sum"
          RenderSVGText {text} at (-52,61) size 104x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 104x17
              chunk 1 (middle anchor) text run 1 at (-51.54,75.00) startOffset 0 endOffset 16 width 103.08: "additive=replace"
        RenderSVGContainer {g} at (406,310) size 188x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
          RenderSVGRect {rect} at (455,338) size 90x57 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGRect {rect} at (410,310) size 180x114 [transform={m=((2.00,0.00)(1.15,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
          RenderSVGText {text} at (-56,46) size 112x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 112x17
              chunk 1 (middle anchor) text run 1 at (-55.85,60.00) startOffset 0 endOffset 15 width 111.71: "accumulate=none"
          RenderSVGText {text} at (-42,61) size 84x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 84x17
              chunk 1 (middle anchor) text run 1 at (-41.74,75.00) startOffset 0 endOffset 12 width 83.47: "additive=sum"
        RenderSVGContainer {g} at (610,310) size 180x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,220.00)}]
          RenderSVGRect {rect} at (0,0) size 0x0 [transform={m=((0.00,0.00)(0.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGRect {rect} at (610,310) size 180x114 [transform={m=((4.00,0.00)(2.31,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
          RenderSVGText {text} at (-54,46) size 108x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 107x17
              chunk 1 (middle anchor) text run 1 at (-53.49,60.00) startOffset 0 endOffset 14 width 106.98: "accumulate=sum"
          RenderSVGText {text} at (-42,61) size 84x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 84x17
              chunk 1 (middle anchor) text run 1 at (-41.74,75.00) startOffset 0 endOffset 12 width 83.47: "additive=sum"
    RenderSVGContainer {g} at (16,516) size 385x64
      RenderSVGText {text} at (10,310) size 231x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 231x38
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 230.19: "$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]
