layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,16) size 420x279
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceFilter {filter} [id="default"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMinYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMidYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
        RenderSVGResourceFilter {filter} [id="xMaxYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100x100"]
      RenderSVGContainer {g} at (10,16) size 420x279 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
        RenderSVGText {text} at (63,-14) size 354x17 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 354x17
            chunk 1 (middle anchor) text run 1 at (63.00,0.00) startOffset 0 endOffset 47 width 354.00: "Test preserveAspectRatio on an feImage element."
        RenderSVGText {text} at (15,22) size 50x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 50x10
            chunk 1 (middle anchor) text run 1 at (15.00,30.00) startOffset 0 endOffset 13 width 50.00: "Raster to fit"
        RenderSVGContainer {g} at (20,70) size 40x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGRect {rect} at (20,70) size 40x40 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=40.00] [height=40.00]
            [filter="default"] RenderSVGResourceFilter {filter} at (0,0) size 40x40
        RenderSVGText {text} at (13,102) size 45x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 44x10
            chunk 1 (middle anchor) text run 1 at (13.50,110.00) startOffset 0 endOffset 10 width 44.00: "Viewport 1"
        RenderSVGContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (13,172) size 45x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 44x10
            chunk 1 (middle anchor) text run 1 at (13.50,180.00) startOffset 0 endOffset 10 width 44.00: "Viewport 2"
        RenderSVGContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (120,52) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
          RenderSVGText {text} at (0,-28) size 117x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 117x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 117.00: "---------- meet --------------------"
          RenderSVGContainer {g} at (120,67) size 50x43
            RenderSVGText {text} at (0,-13) size 24x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "xMin*"
            RenderSVGRect {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (120,80) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMinYMinMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (190,67) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 24x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "xMid*"
            RenderSVGRect {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (190,80) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMidYMidMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (120,117) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
            RenderSVGRect {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (120,130) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMaxYMaxMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
        RenderSVGContainer {g} at (300,52) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
          RenderSVGText {text} at (0,-28) size 129x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 129x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 129.00: "---------- meet ------------------------"
          RenderSVGContainer {g} at (300,67) size 30x73
            RenderSVGText {text} at (0,-13) size 25x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "*YMin"
            RenderSVGRect {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (300,80) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMinYMinMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (350,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 25x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "*YMid"
            RenderSVGRect {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (350,80) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMidYMidMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (400,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
            RenderSVGRect {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (400,80) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMaxYMaxMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
        RenderSVGContainer {g} at (120,187) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
          RenderSVGText {text} at (0,-28) size 130x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 130x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 130.00: "---------- slice -------------------------"
          RenderSVGContainer {g} at (120,202) size 30x73
            RenderSVGText {text} at (0,-13) size 24x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "xMin*"
            RenderSVGRect {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (120,215) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMinYMinSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (170,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 24x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "xMid*"
            RenderSVGRect {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (170,215) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMidYMidSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (220,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 27x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "xMax*"
            RenderSVGRect {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (220,215) size 30x60 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMaxYMaxSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
        RenderSVGContainer {g} at (300,187) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
          RenderSVGText {text} at (0,-28) size 118x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 118x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 118.00: "---------- slice ---------------------"
          RenderSVGContainer {g} at (300,202) size 50x43
            RenderSVGText {text} at (0,-13) size 25x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "*YMin"
            RenderSVGRect {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (300,215) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMinYMinSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (370,202) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 25x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "*YMid"
            RenderSVGRect {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (370,215) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMidYMidSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (300,252) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMax"
            RenderSVGRect {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (300,265) size 50x30 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMaxYMaxSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
    RenderSVGContainer {g} at (10,311) size 231x36
      RenderSVGText {text} at (10,311) size 231x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 231x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 231.00: "$Revision: 1.3 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
