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 (24,24) size 752x468
      RenderSVGRect {rect} at (24,24) size 752x468 [stroke={[type=SOLID] [color=#000000] [stroke width=0.25]}] [x=15.00] [y=15.00] [width=450.00] [height=280.00]
      RenderSVGContainer {g} at (161,27) size 478x67
        RenderSVGText {text} at (96,16) size 288x18 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 287x17
            chunk 1 (middle anchor) text run 1 at (96.90,30.00) startOffset 0 endOffset 42 width 286.20: "Testing pointer-events and rendering order"
        RenderSVGText {text} at (143,32) size 194x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 194x12
            chunk 1 (middle anchor) text run 1 at (143.10,42.00) startOffset 0 endOffset 39 width 193.80: "Rectangles should turn RED on mouseover"
        RenderSVGText {text} at (112,44) size 256x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 255x12
            chunk 1 (middle anchor) text run 1 at (112.80,54.00) startOffset 0 endOffset 56 width 254.40: "Ovals should turn RED if Pointer-Events are set to \"ALL\""
      RenderSVGContainer {g} at (182,105) size 567x375
        RenderSVGContainer {g} at (584,105) size 165x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,10.00)}]
          RenderSVGText {text} at (352,77) size 96x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 96x9
              chunk 1 (middle anchor) text run 1 at (352.30,85.00) startOffset 0 endOffset 26 width 95.40: "Change \"Pointer-Events\" of"
          RenderSVGText {text} at (350,87) size 100x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 99x9
              chunk 1 (middle anchor) text run 1 at (350.80,95.00) startOffset 0 endOffset 26 width 98.40: "ovals from \"ALL\" to \"NONE\""
          RenderSVGEllipse {circle} at (622,105) size 39x40 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#33CC55]}] [cx=385.00] [cy=65.00] [r=10.00]
          RenderSVGEllipse {circle} at (674,107) size 36x36 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF3355]}] [cx=415.00] [cy=65.00] [r=10.00]
        RenderSVGContainer {g} at (182,456) size 436x24
          RenderSVGText {text} at (112,274) size 256x14 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 256x14
              chunk 1 (middle anchor) text run 1 at (112.20,285.00) startOffset 0 endOffset 48 width 255.60: "Purple ovals have \"Pointer-Events\" set to \"ALL\"."
          RenderSVGText {text} at (109,274) size 262x14 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 261x14
              chunk 1 (middle anchor) text run 1 at (109.80,285.00) startOffset 0 endOffset 47 width 260.40: "Purple ovals have Pointer-Events set to \"NONE\"."
      RenderSVGContainer {g} at (136,112) size 490x335 [transform={m=((0.75,0.00)(0.00,0.50)) t=(75.00,42.50)}]
        RenderSVGEllipse {circle} at (199,278) size 252x169 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#5533FF]}] [cx=160.00] [cy=350.00] [r=100.00]
        RenderSVGRect {rect} at (136,112) size 378x251 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#3355FF]}] [x=10.00] [y=50.00] [width=300.00] [height=300.00]
        RenderSVGEllipse {circle} at (399,287) size 227x151 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#7755FF]}] [cx=310.00] [cy=350.00] [r=90.00]
        RenderSVGRect {rect} at (199,153) size 252x169 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#5577FF]}] [x=60.00] [y=100.00] [width=200.00] [height=200.00]
        RenderSVGEllipse {circle} at (418,174) size 189x127 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#9977FF]}] [cx=310.00] [cy=200.00] [r=75.00]
        RenderSVGRect {rect} at (261,195) size 128x85 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#7799FF]}] [x=110.00] [y=150.00] [width=100.00] [height=100.00]
        RenderSVGContainer {g} at (137,112) size 376x251
          RenderSVGRect {rect} at (137,112) size 376x251 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50] [dash array={4.00, 4.00}]}] [x=10.00] [y=50.00] [width=300.00] [height=300.00]
          RenderSVGRect {rect} at (199,153) size 252x169 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50] [dash array={4.00, 4.00}]}] [x=60.00] [y=100.00] [width=200.00] [height=200.00]
          RenderSVGRect {rect} at (262,195) size 126x85 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50] [dash array={4.00, 4.00}]}] [x=110.00] [y=150.00] [width=100.00] [height=100.00]
    RenderSVGContainer {g} at (16,518) size 380x60
      RenderSVGText {text} at (10,311) size 228x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.3 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
