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 468x154 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 466x152
          RenderTableRow {TR} at (0,0) size 466x152
            RenderTableCell {TD} at (0,0) size 466x152 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderTable {TABLE} at (1,1) size 464x150 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 462x148
                  RenderTableRow {TR} at (0,1) size 462x30
                    RenderTableCell {TD} at (1,1) size 140x30 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 130x19
                        text run at (5,5) width 130: "General Preferences"
                    RenderTableCell {TD} at (141,1) size 148x30 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 137x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 137x19
                          text run at (5,5) width 137: "Groups / Permissions"
                    RenderTableCell {TD} at (289,1) size 72x30 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 62x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 62x19
                          text run at (5,5) width 62: "Password"
                    RenderTableCell {TD} at (361,1) size 49x30 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
                      RenderInline {A} at (0,0) size 39x19 [color=#0000EE]
                        RenderText {#text} at (5,5) size 39x19
                          text run at (5,5) width 39: "Email"
                    RenderTableCell {TD} at (410,1) size 51x30 [border: (1px inset #808080)] [r=0 c=4 rs=1 cs=1]
                      RenderText {#text} at (5,5) size 40x19
                        text run at (5,5) width 40: "Views"
                  RenderTableRow {TR} at (0,32) size 462x115
                    RenderTableCell {TD} at (1,32) size 460x115 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=5]
                      RenderBlock (anonymous) at (5,5) size 450x20
                        RenderBR {BR} at (224,0) size 1x19
                      RenderTable {TABLE} at (86,25) size 287x85
                        RenderTableSection {TBODY} at (0,0) size 287x85
                          RenderTableRow {TR} at (0,2) size 287x81
                            RenderTableCell {TD} at (2,2) size 283x81 [r=0 c=0 rs=1 cs=1]
                              RenderBlock {FORM} at (1,1) size 281x63
                                RenderTable {TABLE} at (0,0) size 281x63 [border: (1px outset #808080)]
                                  RenderTableSection {TBODY} at (1,1) size 279x61
                                    RenderTableRow {TR} at (0,0) size 279x61
                                      RenderTableCell {TD} at (0,0) size 279x61 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                        RenderBlock (anonymous) at (1,1) size 277x20
                                          RenderText {#text} at (83,0) size 110x19
                                            text run at (83,0) width 110: "User Preferences"
                                        RenderTable {TABLE} at (1,21) size 277x39 [border: (1px outset #808080)]
                                          RenderTableSection {TBODY} at (1,1) size 275x37
                                            RenderTableRow {TR} at (0,1) size 275x35
                                              RenderTableCell {TH} at (1,3) size 120x31 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                                                RenderInline {NOBR} at (0,0) size 110x19
                                                  RenderText {#text} at (5,5) size 110x20
                                                    text run at (5,6) width 110: "Email Address :"
                                              RenderTableCell {TD} at (121,1) size 153x35 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                                                RenderTextControl {INPUT} at (7,7) size 138x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
                                                RenderText {#text} at (0,0) size 0x0
layer at (240,105) size 124x14 scrollWidth 178
  RenderBlock {DIV} at (6,3) size 125x15
    RenderText {#text} at (0,0) size 177x14
      text run at (0,0) width 177: "simon.king@pipinghotnetworks.com"
