layer at (0,0) size 785x791
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x790
  RenderBlock {HTML} at (0,0) size 785x791
    RenderBody {BODY} at (8,8) size 769x775 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x112
        RenderText {#text} at (0,0) size 560x112
          text run at (0,0) width 208: "P.one {line-height: 200%;}"
          text run at (0,16) width 552: "SPAN.two {border-style: solid; border-width: 10px; border-color: red;"
          text run at (0,32) width 304: "          padding: 2pt; margin: 30pt;}"
          text run at (0,48) width 360: "P.three {font-size: 10pt; line-height: 12pt;}"
          text run at (0,64) width 560: "SPAN.four {border-style: solid; border-width: 12px; border-color: red;"
          text run at (0,80) width 192: "          padding: 2pt;}"
          text run at (0,96) width 0: " "
      RenderBlock {HR} at (0,161) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,179) size 769x192
        RenderText {#text} at (0,6) size 179x19
          text run at (0,6) width 179: "This is a paragraph that has a "
        RenderInline {SPAN} at (0,0) size 763x173 [border: (10px solid #FF0000)]
          RenderText {#text} at (231,6) size 763x147
            text run at (231,6) width 532: "very long span in it, and the span has a 10px red border separated from the span by 2pt,"
            text run at (0,38) width 133: "and a margin of 30pt. "
            text run at (133,38) width 621: "The padding and border should be present on all sides of the span (although vertical lines should appear"
            text run at (0,70) width 421: "only at the beginning and the end of the whole span, not on each line). "
            text run at (421,70) width 342: "The padding, border, and margin should all be noticeable"
            text run at (0,102) width 223: "at the beginning and end of the span. "
            text run at (223,102) width 527: "However, the line height should not be changed by any of them, so the margin should be"
            text run at (0,134) width 374: "unnoticeable and the border should overlap text on other lines."
        RenderText {#text} at (426,134) size 730x51
          text run at (426,134) width 5: " "
          text run at (430,134) width 300: "The line spacing in the whole paragraph should be"
          text run at (0,166) width 132: "200% of the font size."
      RenderBlock {P} at (0,387) size 769x64
        RenderText {#text} at (0,0) size 160x15
          text run at (0,0) width 160: "This is a paragraph that has a "
        RenderInline {SPAN} at (0,0) size 757x93 [border: (12px solid #FF0000)]
          RenderText {#text} at (174,0) size 757x63
            text run at (174,0) width 548: "very long span in it, and the span has a 12px red border separated from the span by 2pt of padding (the"
            text run at (0,16) width 752: "difference between the line-height and the font-size), which should overlap with the lines of text above and below the span, since the padding"
            text run at (0,32) width 237: "and border should not effect the line height. "
            text run at (237,32) width 520: "The span's border should have vertical lines only at the beginning and end of the whole span, not"
            text run at (0,48) width 67: "on each line."
        RenderText {#text} at (81,48) size 406x15
          text run at (81,48) width 4: " "
          text run at (84,48) width 403: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
      RenderTable {TABLE} at (0,464) size 769x311 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x308
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x280
            RenderTableCell {TD} at (0,154) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x280 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x192
                RenderText {#text} at (0,6) size 179x19
                  text run at (0,6) width 179: "This is a paragraph that has a "
                RenderInline {SPAN} at (0,0) size 744x173 [border: (10px solid #FF0000)]
                  RenderText {#text} at (231,6) size 744x147
                    text run at (231,6) width 504: "very long span in it, and the span has a 10px red border separated from the span by"
                    text run at (0,38) width 161: "2pt, and a margin of 30pt. "
                    text run at (161,38) width 575: "The padding and border should be present on all sides of the span (although vertical lines should"
                    text run at (0,70) width 467: "appear only at the beginning and the end of the whole span, not on each line). "
                    text run at (467,70) width 277: "The padding, border, and margin should all be"
                    text run at (0,102) width 288: "noticeable at the beginning and end of the span. "
                    text run at (288,102) width 421: "However, the line height should not be changed by any of them, so the"
                    text run at (0,134) width 480: "margin should be unnoticeable and the border should overlap text on other lines."
                RenderText {#text} at (532,134) size 709x51
                  text run at (532,134) width 5: " "
                  text run at (536,134) width 173: "The line spacing in the whole"
                  text run at (0,166) width 259: "paragraph should be 200% of the font size."
              RenderBlock {P} at (4,212) size 747x64
                RenderText {#text} at (0,0) size 160x15
                  text run at (0,0) width 160: "This is a paragraph that has a "
                RenderInline {SPAN} at (0,0) size 722x93 [border: (12px solid #FF0000)]
                  RenderText {#text} at (174,0) size 722x63
                    text run at (174,0) width 548: "very long span in it, and the span has a 12px red border separated from the span by 2pt of padding (the"
                    text run at (0,16) width 705: "difference between the line-height and the font-size), which should overlap with the lines of text above and below the span, since the"
                    text run at (0,32) width 284: "padding and border should not effect the line height. "
                    text run at (284,32) width 432: "The span's border should have vertical lines only at the beginning and end of the"
                    text run at (0,48) width 155: "whole span, not on each line."
                RenderText {#text} at (169,48) size 406x15
                  text run at (169,48) width 4: " "
                  text run at (172,48) width 403: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
