layer at (0,0) size 785x1827
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1827
  RenderBlock {HTML} at (0,0) size 785x1827
    RenderBody {BODY} at (8,20) size 769x1787 [bgcolor=#A6A972]
      RenderBlock {DIV} at (83,0) size 603x1787 [bgcolor=#FDFDE9] [border: (1px solid #000000)]
        RenderBlock {DIV} at (1,31) size 600x70
        RenderBlock {DIV} at (1,114) size 600x1601
          RenderBlock {P} at (20,0) size 560x80 [color=#333333]
            RenderText {#text} at (0,2) size 517x35
              text run at (0,2) width 517: "We are trying to understand how UVic students perform Shakespeare related research for"
              text run at (0,22) width 263: "classes as well as for their own interest. The "
            RenderInline {A} at (0,0) size 175x15
              RenderText {#text} at (263,22) size 175x15
                text run at (263,22) width 175: "Internet Shakespeare Editions"
            RenderText {#text} at (438,22) size 559x55
              text run at (438,22) width 120: " are being developed"
              text run at (0,42) width 215: "for students as well as Shakespeare "
              text run at (215,42) width 344: "scholars world wide to better understand the man, his plays"
              text run at (0,62) width 148: "and our interpretations of "
              text run at (148,62) width 33: "them."
          RenderBlock {P} at (20,93) size 560x21 [color=#333333]
            RenderText {#text} at (0,2) size 451x15
              text run at (0,2) width 451: "Please take the time to carefully review and complete the following questions."
          RenderBlock {FORM} at (20,138) size 560x1430
            RenderBlock {H2} at (0,0) size 560x16 [color=#333333]
              RenderText {#text} at (0,0) size 182x15
                text run at (0,0) width 182: "PERSONAL INFORMATION"
            RenderBlock (floating) {SPAN} at (0,26) size 325x20 [color=#333333]
              RenderText {#text} at (0,2) size 69x15
                text run at (0,2) width 69: "Your Name*"
            RenderTextControl {INPUT} at (325,26) size 186x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderBlock (floating) {SPAN} at (0,52) size 325x20 [color=#333333]
              RenderText {#text} at (0,2) size 120x15
                text run at (0,2) width 120: "Your e-mail address*"
            RenderTextControl {INPUT} at (325,52) size 186x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
            RenderBlock (floating) {SPAN} at (0,78) size 325x20 [color=#333333]
              RenderText {#text} at (0,2) size 125x15
                text run at (0,2) width 125: "Your degree program*"
            RenderMenuList {SELECT} at (325,78) size 180x30 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 117x17
                  text run at (9,5) width 117: "Program options"
            RenderBlock (floating) {SPAN} at (0,110) size 325x20 [color=#333333]
              RenderText {#text} at (0,2) size 111x15
                text run at (0,2) width 111: "Your year of study*"
            RenderMenuList {SELECT} at (325,110) size 180x30 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 167x17
                  text run at (9,5) width 167: "Years you've been here"
            RenderBlock (floating) {SPAN} at (0,142) size 325x20 [color=#333333]
              RenderText {#text} at (0,2) size 161x15
                text run at (0,2) width 161: "Shakespeare classes taken"
            RenderMenuList {SELECT} at (325,142) size 180x30 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 100x17
                  text run at (9,5) width 100: "Number taken"
            RenderBlock {P} at (0,185) size 560x21 [color=#333333]
              RenderText {#text} at (0,2) size 150x15
                text run at (0,2) width 150: "* indicates a required field"
            RenderBlock {H2} at (0,230) size 560x17 [color=#333333]
              RenderText {#text} at (0,0) size 270x15
                text run at (0,0) width 270: "SHAKESPEARE RESEARCH QUESTIONS"
            RenderBlock (floating) {SPAN} at (0,256) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 320x15
                text run at (0,2) width 320: "What percentage of your research time is spent online?"
            RenderMenuList {SELECT} at (325,256) size 180x31 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 141x17
                  text run at (9,5) width 141: "Percentages of time"
            RenderBlock (floating) {SPAN} at (0,288) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 298x35
                text run at (0,2) width 298: "What is holding you back from doing more research"
                text run at (0,22) width 41: "online?"
            RenderMenuList {SELECT} at (325,288) size 180x31 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 64x17
                  text run at (9,5) width 64: "Reasons"
            RenderBlock (floating) {SPAN} at (0,320) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 219x15
                text run at (0,2) width 219: "Your research is primarily focused on:"
            RenderBlock {SPAN} at (325,320) size 180x24 [color=#333333]
              RenderBlock {INPUT} at (2,3) size 24x16 [color=#000000]
              RenderText {#text} at (28,5) size 32x15
                text run at (28,5) width 32: "Texts"
            RenderBlock {SPAN} at (325,343) size 180x24 [color=#333333]
              RenderBlock {INPUT} at (2,3) size 24x16 [color=#000000]
              RenderText {#text} at (28,5) size 131x15
                text run at (28,5) width 131: "Performance materials"
            RenderBlock {SPAN} at (325,366) size 180x24 [color=#333333]
              RenderBlock {INPUT} at (2,3) size 24x16 [color=#000000]
              RenderText {#text} at (28,5) size 18x15
                text run at (28,5) width 18: "n/a"
            RenderBlock {H2} at (0,414) size 560x17 [color=#333333]
              RenderText {#text} at (0,0) size 335x15
                text run at (0,0) width 335: "INTERNET SHAKESPEARE EDITIONS QUESTIONS"
            RenderBlock (floating) {SPAN} at (0,440) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 314x15
                text run at (0,2) width 314: "Have you used UVic's Internet Shakespeare Editions?"
            RenderBlock {SPAN} at (325,440) size 180x24 [color=#333333]
              RenderText {#text} at (0,5) size 22x15
                text run at (0,5) width 22: "Yes"
              RenderBlock {INPUT} at (23,3) size 25x16 [color=#000000]
              RenderText {#text} at (49,5) size 21x15
                text run at (49,5) width 5: " "
                text run at (53,5) width 17: "No"
              RenderBlock {INPUT} at (71,3) size 25x16 [color=#000000]
              RenderText {#text} at (0,0) size 0x0
            RenderBlock {P} at (0,476) size 560x21 [color=#333333]
              RenderText {#text} at (0,2) size 371x15
                text run at (0,2) width 371: "-- If you answered no to this question, skip to the next section --"
            RenderBlock (floating) {SPAN} at (0,509) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 278x15
                text run at (0,2) width 278: "Which area of the ISE did you find most useful?"
            RenderMenuList {SELECT} at (325,509) size 180x31 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 135x17
                  text run at (9,5) width 135: "Sections of the ISE"
            RenderBlock (floating) {SPAN} at (0,541) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 251x15
                text run at (0,2) width 251: "How did you find the navigation of the ISE?"
            RenderMenuList {SELECT} at (325,541) size 180x31 [color=#2E3436] [bgcolor=#FFFFFF] [border: (1px solid #2E3436)]
              RenderBlock (anonymous) at (1,1) size 178x28
                RenderText at (9,5) size 118x17
                  text run at (9,5) width 118: "Level of difficulty"
            RenderBlock (floating) {SPAN} at (0,573) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 214x15
                text run at (0,2) width 214: "Please describe your use of the ISE."
            RenderBlock {H2} at (0,727) size 560x17 [color=#333333]
              RenderText {#text} at (0,0) size 264x15
                text run at (0,0) width 264: "TOOLS IN DEVELOPMENT QUESTIONS"
            RenderBlock {P} at (0,757) size 560x61 [color=#333333]
              RenderText {#text} at (0,2) size 544x55
                text run at (0,2) width 444: "We are in the process of both making new material available and developing "
                text run at (443,2) width 101: "new tools to view"
                text run at (0,22) width 348: "and extrapolate information from Shakespeare's works. The "
                text run at (348,22) width 156: "following images are visual"
                text run at (0,42) width 336: "representations of some of the ideas being thrown around."
            RenderBlock {P} at (0,830) size 560x21 [color=#333333]
              RenderText {#text} at (0,2) size 332x15
                text run at (0,2) width 332: "Please review them carefully and provide feedback below"
            RenderBlock (floating) {SPAN} at (0,863) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 146x15
                text run at (0,2) width 146: "Your comments on Fig. 1"
            RenderBlock (floating) {SPAN} at (0,994) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 146x15
                text run at (0,2) width 146: "Your comments on Fig. 2"
            RenderBlock (floating) {SPAN} at (0,1125) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 146x15
                text run at (0,2) width 146: "Your comments on Fig. 3"
            RenderBlock {H2} at (0,1276) size 560x17 [color=#333333]
              RenderText {#text} at (0,0) size 131x15
                text run at (0,0) width 131: "OTHER FEEDBACK"
            RenderBlock (floating) {SPAN} at (0,1302) size 325x21 [color=#333333]
              RenderText {#text} at (0,2) size 218x15
                text run at (0,2) width 218: "Please enter any other thoughts here."
          RenderBlock {P} at (20,1580) size 560x21 [color=#333333]
            RenderText {#text} at (0,2) size 223x15
              text run at (0,2) width 223: "Thank you for your time filling this out."
        RenderBlock {DIV} at (1,1734) size 600x52 [border: (1px dashed #A6A972) none]
          RenderBlock {SPAN} at (0,16) size 600x20 [color=#333333]
            RenderText {#text} at (244,2) size 112x15
              text run at (244,2) width 112: "\x{A9}2003 Kevin Davis"
layer at (441,302) size 180x18
  RenderBlock {DIV} at (3,3) size 180x18
layer at (441,328) size 180x18
  RenderBlock {DIV} at (3,3) size 180x18
layer at (113,870) size 506x106 clip at (114,871) size 504x104
  RenderTextControl {TEXTAREA} at (0,596) size 506x107 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 500x18
layer at (113,1157) size 506x106 clip at (114,1158) size 504x104
  RenderTextControl {TEXTAREA} at (0,883) size 506x107 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 500x18
layer at (113,1288) size 506x106 clip at (114,1289) size 504x104
  RenderTextControl {TEXTAREA} at (0,1014) size 506x107 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 500x18
layer at (113,1419) size 506x106 clip at (114,1420) size 504x104
  RenderTextControl {TEXTAREA} at (0,1145) size 506x107 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 500x18
layer at (113,1596) size 506x106 clip at (114,1597) size 504x104
  RenderTextControl {TEXTAREA} at (0,1322) size 506x107 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 500x18
