layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584
      RenderTable {TABLE} at (0,0) size 468x146 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 466x144
          RenderTableRow {TR} at (0,0) size 466x144
            RenderTableCell {TD} at (0,0) size 466x144 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderTable {TABLE} at (1,1) size 464x142 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 462x140
                  RenderTableRow {TR} at (0,1) size 462x28
                    RenderTableCell {TD} at (1,1) size 140x28 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 130x18
                        text run at (5,5) width 130: "General Preferences"
                    RenderTableCell {TD} at (141,1) size 148x28 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 137x18 [color=#0000EE]
                        RenderText {#text} at (5,5) size 137x18
                          text run at (5,5) width 137: "Groups / Permissions"
                    RenderTableCell {TD} at (289,1) size 72x28 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 62x18 [color=#0000EE]
                        RenderText {#text} at (5,5) size 62x18
                          text run at (5,5) width 62: "Password"
                    RenderTableCell {TD} at (361,1) size 49x28 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 39x18 [color=#0000EE]
                        RenderText {#text} at (5,5) size 39x18
                          text run at (5,5) width 39: "Email"
                    RenderTableCell {TD} at (410,1) size 51x28 [border: (1px inset #808080)] [r=0 c=4 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 40x18
                        text run at (5,5) width 40: "Views"
                  RenderTableRow {TR} at (0,30) size 462x109
                    RenderTableCell {TD} at (1,30) size 460x109 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=5]
                      RenderBlock (anonymous) at (5,5) size 450x18
                        RenderBR {BR} at (224,0) size 1x18
                      RenderTable {TABLE} at (81,23) size 297x81
                        RenderTableSection {TBODY} at (0,0) size 296x81
                          RenderTableRow {TR} at (0,2) size 296x77
                            RenderTableCell {TD} at (2,2) size 292x77 [r=0 c=0 rs=1 cs=1]
                              RenderBlock {FORM} at (1,1) size 290x59
                                RenderTable {TABLE} at (0,0) size 290x59 [border: (1px outset #808080)]
                                  RenderTableSection {TBODY} at (1,1) size 288x57
                                    RenderTableRow {TR} at (0,0) size 288x57
                                      RenderTableCell {TD} at (0,0) size 288x57 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                        RenderBlock (anonymous) at (1,1) size 286x18
                                          RenderText {#text} at (88,0) size 110x18
                                            text run at (88,0) width 110: "User Preferences"
                                        RenderTable {TABLE} at (1,19) size 286x37 [border: (1px outset #808080)]
                                          RenderTableSection {TBODY} at (1,1) size 284x35
                                            RenderTableRow {TR} at (0,1) size 284x33
                                              RenderTableCell {TH} at (1,3) size 120x29 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                                RenderInline {NOBR} at (0,0) size 110x18
                                                  RenderText {#text} at (5,5) size 110x19
                                                    text run at (5,6) width 110: "Email Address :"
                                              RenderTableCell {TD} at (121,1) size 162x33 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                                                RenderTextControl {INPUT} at (7,7) size 147x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
                                                RenderText {#text} at (0,0) size 0x0
layer at (232,99) size 141x13 scrollWidth 191
  RenderBlock {DIV} at (3,3) size 141x13
    RenderText {#text} at (0,0) size 190x13
      text run at (0,0) width 190: "simon.king@pipinghotnetworks.com"
