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
    RenderSVGContainer {g} at (15,5) size 450x300
      RenderSVGViewportContainer {svg} at (15,5) size 450x300
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceLinearGradient {linearGradient} [id="MyGradient"] [gradientUnits=userSpaceOnUse] [start=(10,0)] [end=(590,0)]
            RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
            RenderSVGGradientStop {stop} [offset=0.33] [color=#00FF00]
            RenderSVGGradientStop {stop} [offset=0.67] [color=#0000FF]
            RenderSVGGradientStop {stop} [offset=1.00] [color=#000000]
          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer 
                {red: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Table"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer 
                {red: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Linear"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer 
                {red: type="LINEAR" slope="0.50" intercept="0.25" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="LINEAR" slope="0.50" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="LINEAR" slope="0.50" intercept="0.50" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Gamma"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer 
                {red: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="5.00" offset="0.00"}
                {green: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="3.00" offset="0.00"}
                {blue: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
        RenderSVGRect {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=628.00] [height=418.00]
        RenderSVGContainer {g} at (15,5) size 450x300
          RenderSVGRect {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=628.00] [height=418.00]
          RenderSVGRect {rect} at (22,12) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=10.00] [width=580.00] [height=40.00]
            [filter="Identity"] RenderSVGResourceFilter {filter} at (10,10) size 580x40
          RenderSVGText {text} at (10,53) size 160x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 160x34
              chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 14 width 159.60: "type: identity"
          RenderSVGRect {rect} at (22,83) size 415x30 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=110.00] [width=580.00] [height=40.00]
            [filter="Table"] RenderSVGResourceFilter {filter} at (10,110) size 580x40
          RenderSVGText {text} at (10,153) size 125x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 125x34
              chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 11 width 124.60: "type: table"
          RenderSVGRect {rect} at (22,155) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=210.00] [width=580.00] [height=40.00]
            [filter="Linear"] RenderSVGResourceFilter {filter} at (10,210) size 580x40
          RenderSVGText {text} at (10,253) size 451x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 451x34
              chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 40 width 450.80: "type:linear slope:.5 intercepts:.25/0/.5"
          RenderSVGRect {rect} at (22,226) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=310.00] [width=580.00] [height=40.00]
            [filter="Gamma"] RenderSVGResourceFilter {filter} at (10,310) size 580x40
          RenderSVGText {text} at (10,353) size 443x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 443x34
              chunk 1 text run 1 at (10.00,380.00) startOffset 0 endOffset 34 width 442.40: "type: gamma ampl:2 exponents:5/3/1"
    RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
