layer at (0,0) size 785x2579
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2579
  RenderBlock {HTML} at (0,0) size 785x2579
    RenderBody {BODY} at (8,8) size 769x2563 [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 769x320
        RenderText {#text} at (0,0) size 496x320
          text run at (0,0) width 368: "P.one {margin-bottom: 2cm; padding-bottom: 0;}"
          text run at (368,0) width 0: " "
          text run at (0,16) width 320: "P.two {margin-top: 2cm; padding-top: 0;}"
          text run at (320,16) width 0: " "
          text run at (0,32) width 320: "P.three {margin-top: 0; padding-top: 0;}"
          text run at (320,32) width 0: " "
          text run at (0,48) width 344: "P.four {margin-top: -1cm; margin-bottom: 0;"
          text run at (344,48) width 0: " "
          text run at (0,64) width 344: "        padding-top: 0; padding-bottom: 0;}"
          text run at (344,64) width 0: " "
          text run at (0,80) width 368: "DIV.five {margin-top: 1cm; margin-bottom: 1cm;"
          text run at (368,80) width 0: " "
          text run at (0,96) width 376: "          padding-top: 1cm; padding-bottom: 0;}"
          text run at (376,96) width 0: " "
          text run at (0,112) width 344: "P.six {margin-top: 1cm; margin-bottom: 1cm;"
          text run at (344,112) width 0: " "
          text run at (0,128) width 336: "       padding-top: 0; padding-bottom: 0;}"
          text run at (336,128) width 0: " "
          text run at (0,144) width 336: "P.seven {margin-top: 1cm; padding-top: 0;}"
          text run at (336,144) width 0: " "
          text run at (0,160) width 408: "P.eight {margin-bottom: -1cm; padding-bottom: 2cm;}"
          text run at (408,160) width 0: " "
          text run at (0,176) width 344: "P.nine {margin-top: -1cm; padding-top: 1cm;"
          text run at (344,176) width 0: " "
          text run at (0,192) width 376: "        padding-bottom: 0; margin-bottom: 1cm;}"
          text run at (376,192) width 0: " "
          text run at (0,208) width 304: "P.ten {margin-top: 1cm;padding-top: 0;"
          text run at (304,208) width 0: " "
          text run at (0,224) width 248: "       float: left;width: 50%;}"
          text run at (248,224) width 0: " "
          text run at (0,240) width 448: "P.eleven {margin-top: 1cm; padding-top: 0; clear: none;}"
          text run at (448,240) width 0: " "
          text run at (0,256) width 496: "P.twelve {margin-bottom: 0; padding-bottom: 1cm; clear: both;}"
          text run at (496,256) width 0: " "
          text run at (0,272) width 360: "P.thirteen {margin-top: 0; padding-top: 1cm;}"
          text run at (360,272) width 0: " "
          text run at (0,288) width 160: "TABLE {clear: both;}"
          text run at (160,288) width 0: " "
          text run at (0,304) width 0: " "
      RenderBlock {HR} at (0,369) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,387) size 769x40
        RenderText {#text} at (0,0) size 720x39
          text run at (0,0) width 720: "There should be a two-centimeter margin between this paragraph and the next, because adjacent vertical margins should"
          text run at (0,20) width 240: "collapse to the maximum of the margins."
      RenderBlock {P} at (0,502) size 769x21
        RenderText {#text} at (0,0) size 156x19
          text run at (0,0) width 156: "This is another paragraph."
      RenderBlock {P} at (0,538) size 769x21
        RenderText {#text} at (0,0) size 472x19
          text run at (0,0) width 472: "There should be a two-centimeter margin between this paragraph and the next."
      RenderBlock {P} at (0,634) size 769x21
        RenderText {#text} at (0,0) size 156x19
          text run at (0,0) width 156: "This is another paragraph."
      RenderBlock {P} at (0,670) size 769x41
        RenderText {#text} at (0,0) size 756x39
          text run at (0,0) width 756: "There should be a one-centimeter margin between this paragraph and the next, because when there is one negative margin, the"
          text run at (0,20) width 371: "two margins should be added (the minus sign should be kept)."
      RenderBlock {P} at (0,747) size 769x21
        RenderText {#text} at (0,0) size 156x19
          text run at (0,0) width 156: "This is another paragraph."
      RenderBlock {DIV} at (0,805) size 769x117
        RenderBlock {P} at (0,75) size 769x41
          RenderText {#text} at (0,0) size 753x39
            text run at (0,0) width 750: "There should be three centimeters between this text and the text above, but only one centimeter between this text and the text"
            text run at (0,20) width 753: "below, because vertical margins of nested elements should collapse only if there is no border or padding between the margins."
      RenderBlock {P} at (0,959) size 769x21
        RenderText {#text} at (0,0) size 103x19
          text run at (0,0) width 103: "This is more text."
      RenderBlock {P} at (0,995) size 769x116
        RenderText {#text} at (0,0) size 748x39
          text run at (0,0) width 748: "There should be two centimeters between this paragraph and the one below, because negative margins collapse to a negative"
          text run at (0,20) width 376: "margin with the largest absolute value of the margins collapsed."
      RenderBlock {P} at (0,1072) size 769x79
        RenderText {#text} at (0,38) size 753x39
          text run at (0,38) width 753: "This is a paragraph, which I should make very long so that you can easily see how much space there is between it and the one"
          text run at (0,58) width 146: "below it and to the right."
      RenderBlock (floating) {P} at (0,1226) size 385x61
        RenderText {#text} at (0,0) size 366x59
          text run at (0,0) width 366: "There should be two centimeters between this paragraph and"
          text run at (0,20) width 346: "the one above it, since margins do not collapse on floating"
          text run at (0,40) width 56: "elements."
      RenderBlock {P} at (0,1188) size 769x61
        RenderText {#text} at (384,0) size 382x59
          text run at (384,0) width 382: "There should be one centimeter between this paragraph and the"
          text run at (384,20) width 375: "(non-floating) one above it, since the float should not effect the"
          text run at (384,40) width 115: "paragraph spacing."
      RenderBlock {P} at (0,1302) size 769x78
        RenderText {#text} at (0,0) size 766x39
          text run at (0,0) width 531: "There should be two centimeters of padding between this paragraph and the one below. "
          text run at (531,0) width 235: "Padding does not collapse, and there is"
          text run at (0,20) width 177: "1cm of padding on each side."
      RenderBlock {P} at (0,1380) size 769x58
        RenderText {#text} at (0,38) size 158x19
          text run at (0,38) width 158: "This is the next paragraph."
      RenderTable {TABLE} at (0,1453) size 769x1110 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1107
          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 767x1079
            RenderTableCell {TD} at (0,553) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,3) size 4x20
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x1079 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x40
                RenderText {#text} at (0,0) size 720x39
                  text run at (0,0) width 720: "There should be a two-centimeter margin between this paragraph and the next, because adjacent vertical margins should"
                  text run at (0,20) width 240: "collapse to the maximum of the margins."
              RenderBlock {P} at (4,119) size 747x21
                RenderText {#text} at (0,0) size 156x19
                  text run at (0,0) width 156: "This is another paragraph."
              RenderBlock {P} at (4,155) size 747x21
                RenderText {#text} at (0,0) size 472x19
                  text run at (0,0) width 472: "There should be a two-centimeter margin between this paragraph and the next."
              RenderBlock {P} at (4,251) size 747x21
                RenderText {#text} at (0,0) size 156x19
                  text run at (0,0) width 156: "This is another paragraph."
              RenderBlock {P} at (4,287) size 747x41
                RenderText {#text} at (0,0) size 734x39
                  text run at (0,0) width 734: "There should be a one-centimeter margin between this paragraph and the next, because when there is one negative margin,"
                  text run at (0,20) width 393: "the two margins should be added (the minus sign should be kept)."
              RenderBlock {P} at (4,364) size 747x21
                RenderText {#text} at (0,0) size 156x19
                  text run at (0,0) width 156: "This is another paragraph."
              RenderBlock {DIV} at (4,422) size 747x137
                RenderBlock {P} at (0,75) size 747x61
                  RenderText {#text} at (0,0) size 725x59
                    text run at (0,0) width 724: "There should be three centimeters between this text and the text above, but only one centimeter between this text and the"
                    text run at (0,20) width 725: "text below, because vertical margins of nested elements should collapse only if there is no border or padding between the"
                    text run at (0,40) width 50: "margins."
              RenderBlock {P} at (4,596) size 747x21
                RenderText {#text} at (0,0) size 103x19
                  text run at (0,0) width 103: "This is more text."
              RenderBlock {P} at (4,632) size 747x116
                RenderText {#text} at (0,0) size 695x39
                  text run at (0,0) width 695: "There should be two centimeters between this paragraph and the one below, because negative margins collapse to a"
                  text run at (0,20) width 429: "negative margin with the largest absolute value of the margins collapsed."
              RenderBlock {P} at (4,709) size 747x79
                RenderText {#text} at (0,38) size 727x39
                  text run at (0,38) width 727: "This is a paragraph, which I should make very long so that you can easily see how much space there is between it and the"
                  text run at (0,58) width 172: "one below it and to the right."
              RenderBlock (floating) {P} at (4,863) size 374x61
                RenderText {#text} at (0,0) size 366x59
                  text run at (0,0) width 366: "There should be two centimeters between this paragraph and"
                  text run at (0,20) width 346: "the one above it, since margins do not collapse on floating"
                  text run at (0,40) width 56: "elements."
              RenderBlock {P} at (4,825) size 747x61
                RenderText {#text} at (373,0) size 360x59
                  text run at (373,0) width 360: "There should be one centimeter between this paragraph and"
                  text run at (373,20) width 338: "the (non-floating) one above it, since the float should not"
                  text run at (373,40) width 174: "effect the paragraph spacing."
              RenderBlock {P} at (4,939) size 747x78
                RenderText {#text} at (0,0) size 719x39
                  text run at (0,0) width 531: "There should be two centimeters of padding between this paragraph and the one below. "
                  text run at (531,0) width 188: "Padding does not collapse, and"
                  text run at (0,20) width 224: "there is 1cm of padding on each side."
              RenderBlock {P} at (4,1017) size 747x58
                RenderText {#text} at (0,38) size 158x19
                  text run at (0,38) width 158: "This is the next paragraph."
