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 (33,16) size 734x484 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-60.00)}]
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGPath {path} at (25,0) size 250x150 [fill={[type=SOLID] [color=#00FFFF]}] [data="M 0 0 L 150 0 L 150 150 Z"]
        RenderSVGPath {path} at (25,0) size 250x150 [fill={[type=SOLID] [color=#FF00FF]}] [data="M 0 0 L 0 150 L 150 0 Z"]
        RenderSVGPath {path} at (25,0) size 250x150 [fill={[type=SOLID] [color=#00FFFF] [opacity=0.50]}] [data="M 0 0 L 150 0 L 150 150 Z"]
        RenderSVGPath {path} at (25,0) size 250x150 [fill={[type=SOLID] [color=#FF00FF] [opacity=0.50]}] [data="M 0 0 L 0 150 L 150 0 Z"]
        RenderSVGResourceFilter {filter} [id="over"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="OVER"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="over50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="OVER"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="in"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="IN"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="in50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="IN"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="out"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="OUT"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="out50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="OUT"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="atop"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="ATOP"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="atop50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="ATOP"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="xor"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="XOR"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="xor50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="XOR"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="arithmetic"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="ARITHMETIC" k1="0.50" k2="0.50" k3="0.50" k4="0.50"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
        RenderSVGResourceFilter {filter} [id="arithmetic50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feComposite operation="ARITHMETIC" k1="0.50" k2="0.50" k3="0.50" k4="0.50"]
            [feImage image-size="150.00x150.00"]
            [feImage image-size="150.00x150.00"]
      RenderSVGContainer {g} at (33,16) size 734x484 [transform={m=((0.40,0.00)(0.00,0.40)) t=(5.00,70.00)}]
        RenderSVGRect {rect} at (33,16) size 734x484 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=1098.00] [height=723.00]
        RenderSVGText {text} at (100,21) size 614x67 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 614x67
            chunk 1 text run 1 at (100.00,75.00) startOffset 0 endOffset 26 width 613.50: "on first Row : opacity 1.0"
        RenderSVGText {text} at (100,126) size 633x67 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 633x67
            chunk 1 text run 1 at (100.00,180.00) startOffset 0 endOffset 25 width 633.00: "on second row opacity 0.5"
        RenderSVGContainer {g} at (43,170) size 101x276 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,230.00)}]
          RenderSVGRect {rect} at (43,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="over"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (10,346) size 107x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 107x67
              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 4 width 106.50: "over"
        RenderSVGContainer {g} at (43,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,430.00)}]
          RenderSVGRect {rect} at (43,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="over50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
        RenderSVGContainer {g} at (163,170) size 101x276 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,230.00)}]
          RenderSVGRect {rect} at (163,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="in"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (10,346) size 47x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 47x67
              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 2 width 46.50: "in"
        RenderSVGContainer {g} at (163,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,430.00)}]
          RenderSVGRect {rect} at (163,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="in50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
        RenderSVGContainer {g} at (283,170) size 101x276 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,230.00)}]
          RenderSVGRect {rect} at (283,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="out"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (10,346) size 77x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 77x67
              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 3 width 76.50: "out"
        RenderSVGContainer {g} at (283,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,430.00)}]
          RenderSVGRect {rect} at (283,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="out50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
        RenderSVGContainer {g} at (403,170) size 101x276 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,230.00)}]
          RenderSVGRect {rect} at (403,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="atop"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (10,346) size 104x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 104x67
              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 4 width 103.50: "atop"
        RenderSVGContainer {g} at (403,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,430.00)}]
          RenderSVGRect {rect} at (403,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="atop50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
        RenderSVGContainer {g} at (523,170) size 101x276 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,230.00)}]
          RenderSVGRect {rect} at (523,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="xor"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (10,346) size 80x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 80x67
              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 3 width 79.50: "xor"
        RenderSVGContainer {g} at (523,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,430.00)}]
          RenderSVGRect {rect} at (523,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="xor50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
        RenderSVGContainer {g} at (626,170) size 118x322 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,230.00)}]
          RenderSVGRect {rect} at (643,170) size 101x100 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="arithmetic"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
          RenderSVGText {text} at (-25,346) size 129x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 129x67
              chunk 1 text run 1 at (-25.00,400.00) startOffset 0 endOffset 6 width 129.00: "arith-"
          RenderSVGText {text} at (-25,416) size 134x67 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 134x67
              chunk 1 text run 1 at (-25.00,470.00) startOffset 0 endOffset 5 width 133.50: "metic"
        RenderSVGContainer {g} at (643,303) size 101x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,430.00)}]
          RenderSVGRect {rect} at (643,303) size 101x101 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=150.00] [height=150.00]
            [filter="arithmetic50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    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.5 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
