This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

"2.1: Compute the mean and median for the duration of hospitalization for the 25 patients"
[1] "2.1: Compute the mean and median for the duration of hospitalization for the 25 patients"
setwd("~/EPID451 HW3/BIOS 576A ClassHW")
install.packages("psych")
Error in install.packages : Updating loaded packages
install.packages("swirl")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/15203/AppData/Local/R/win-library/4.2’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.2/swirl_2.4.5.zip'
Content type 'application/zip' length 350028 bytes (341 KB)
downloaded 341 KB
package ‘swirl’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\15203\AppData\Local\Temp\RtmpuCzphw\downloaded_packages
install.packages("psych")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Warning in install.packages :
  package ‘psych’ is in use and will not be installed
load("HOSPITAL.DAT.rdata")
library("psych")
describe(hospital$Dur_stay)
"The mean duration for hospitalization for the 25 patients is 8.6 days and the median is 8 days."
[1] "The mean duration for hospitalization for the 25 patients is 8.6 days and the median is 8 days."
"2.2: Compute the standard deviation and range for the duration of hospitalization for the 25 patients"
[1] "2.2: Compute the standard deviation and range for the duration of hospitalization for the 25 patients"
describe(hospital$Dur_stay)
"The standard deviation is 5.72 days and the range is 27 days."
[1] "The standard deviation is 5.72 days and the range is 27 days."
"2.3: It is of clinical interest to know if the duration of hospitalization is affected by whether a patient has received antibiotics. Answer this question descriptively using either numeric or graphic methods.Suppose the scale for a data set is changed by multiplying each observation by a positive constant."
[1] "2.3: It is of clinical interest to know if the duration of hospitalization is affected by whether a patient has received antibiotics. Answer this question descriptively using either numeric or graphic methods.Suppose the scale for a data set is changed by multiplying each observation by a positive constant."
Antibiotic_yes <- subset(hospital, Antibio == 1)
Antibiotic_no <- subset(hospital, Antibio == 2)
describe(Antibiotic_yes$Dur_stay)
describe(Antibiotic_no$Dur_stay)
"The mean for the individuals who answered yes to receiving antibiotics has a greater mean (mean= 11.57 days) and median value (median=8 days) for the number of days that they stayed in the hospital compared to the mean (mean= 7.44 days) and median (median= 6.5 days) for hospital stay for those individuals who answered no to receiving antibiotics.See boxplot for more clarity."
[1] "The mean for the individuals who answered yes to receiving antibiotics has a greater mean (mean= 11.57 days) and median value (median=8 days) for the number of days that they stayed in the hospital compared to the mean (mean= 7.44 days) and median (median= 6.5 days) for hospital stay for those individuals who answered no to receiving antibiotics.See boxplot for more clarity."
boxplot(Dur_stay~Antibio, data = hospital, xlab = "Antibiotics", ylab = "Duration of stay", names = c("Yes", "No"))

"2.13: Compute the mean change in cholesterol"
[1] "2.13: Compute the mean change in cholesterol"
Cholesterol <- read.csv("Cholesterol Revised.csv")
describe(Cholesterol$Difference)
"The mean change in cholesterol is 19.54mg/dL."
[1] "The mean change in cholesterol is 19.54mg/dL."
"2.14: Compute the standard deviation of the change in cholesterol numbers."
[1] "2.14: Compute the standard deviation of the change in cholesterol numbers."
describe(Cholesterol$Difference)
"The standard deviation change in cholesterol is 16.81mg/dL."
[1] "The standard deviation change in cholesterol is 16.81mg/dL."
"2.15: Construct a stem and leaf plot of the cholesterol changes."
[1] "2.15: Construct a stem and leaf plot of the cholesterol changes."
stem(Cholesterol$Difference)

  The decimal point is 1 digit(s) to the right of the |

  -0 | 308
   0 | 2882336999
   2 | 13781256
   4 | 189
"See stem and leaf plot below for answer."
[1] "See stem and leaf plot below for answer."
"2.16: Compute the median change in cholesterol."
[1] "2.16: Compute the median change in cholesterol."
describe(Cholesterol$Difference)
"The median change in cholesterol levels is 19mg/dL."
[1] "The median change in cholesterol levels is 19mg/dL."
"2.17: Construct a boxplot of the cholesterol changes to the right of the stem and leaf plot."
[1] "2.17: Construct a boxplot of the cholesterol changes to the right of the stem and leaf plot."
boxplot(Cholesterol$Difference)

"2.31: Compare the exposed and control groups regarding age and gender, using appropriate numeric and graphic descriptive measures."
[1] "2.31: Compare the exposed and control groups regarding age and gender, using appropriate numeric and graphic descriptive measures."
load("LEAD.DAT.rdata")
"We first have to relabel our groups in the LEAD file."
[1] "We first have to relabel our groups in the LEAD file."
lead$Group <-ifelse(lead$Group == 1, "Control", "Exposed")
control <- subset(lead, Group == "Control")
exposed <- subset(lead, Group == "Exposed")
describe(control$ageyrs)
describe(exposed$ageyrs)
boxplot(ageyrs~Group, data = lead, main = "Age in years based on Group Label", ylab = "Age in years")

"The mean age for the 78 children listed in the control group (mean= 9.33 years) is greater than the mean age for the 46 children in the exposed group (mean= 8.27 years). See boxplot for description."
[1] "The mean age for the 78 children listed in the control group (mean= 9.33 years) is greater than the mean age for the 46 children in the exposed group (mean= 8.27 years). See boxplot for description."
lead$sex <- ifelse(lead$sex == 1, "M", "F")
install.packages("gmodels")
Error in install.packages : Updating loaded packages
library("gmodels")
CrossTable(lead$sex, lead$Group)

 
   Cell Contents
|-------------------------|
|                       N |
| Chi-square contribution |
|           N / Row Total |
|           N / Col Total |
|         N / Table Total |
|-------------------------|

 
Total Observations in Table:  124 

 
             | lead$Group 
    lead$sex |   Control |   Exposed | Row Total | 
-------------|-----------|-----------|-----------|
           F |        32 |        16 |        48 | 
             |     0.108 |     0.183 |           | 
             |     0.667 |     0.333 |     0.387 | 
             |     0.410 |     0.348 |           | 
             |     0.258 |     0.129 |           | 
-------------|-----------|-----------|-----------|
           M |        46 |        30 |        76 | 
             |     0.068 |     0.116 |           | 
             |     0.605 |     0.395 |     0.613 | 
             |     0.590 |     0.652 |           | 
             |     0.371 |     0.242 |           | 
-------------|-----------|-----------|-----------|
Column Total |        78 |        46 |       124 | 
             |     0.629 |     0.371 |           | 
-------------|-----------|-----------|-----------|

 
"There are more males in the exposed group compared to males in the control group, while there are more females in the exposed group compared to females in the control group. See data table for reference."
[1] "There are more males in the exposed group compared to males in the control group, while there are more females in the exposed group compared to females in the control group. See data table for reference."
"2.32: Compared the exposed and control groups regarding verbal and performance IQ, using appropriate numerica and descriptive measures."
[1] "2.32: Compared the exposed and control groups regarding verbal and performance IQ, using appropriate numerica and descriptive measures."
describe(exposed$iqv)
describe(control$iqv)
boxplot(iqv~Group, data = lead, main = "IQV levels based on Group Label", ylab = "IQV")

"Based on the boxplot there appears to be little to no difference between the mean and median values for the verbal IQ among the control and exposed group labels. The mean for the IQV levels among the exposed group appears slightly higher than the mean IQV levels among the control group but by not much hence it is irrevelent."
[1] "Based on the boxplot there appears to be little to no difference between the mean and median values for the verbal IQ among the control and exposed group labels. The mean for the IQV levels among the exposed group appears slightly higher than the mean IQV levels among the control group but by not much hence it is irrevelent."
describe(exposed$iqp)
describe(control$iqp)
boxplot(iqp~Group, data = lead, main ="IQP levels based on Group Label", ylab = "IQP")

"The mean and median IQP levels among the control group is slightly higher than the mean and median IQP levels among the exposed group. See boxplot for reference"
[1] "The mean and median IQP levels among the control group is slightly higher than the mean and median IQP levels among the exposed group. See boxplot for reference"

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIkNoYXB0ZXIgMiBCSU9TNTc2IEhXIg0KQXV0aG9yOiAiQXJtYW5kbyBDYW5jaW5vIg0KVGVhY2hlcjogIkRyLlJvZSINCkRhdGU6ICI4LzMxLzIyIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gDQoNClRyeSBleGVjdXRpbmcgdGhpcyBjaHVuayBieSBjbGlja2luZyB0aGUgKlJ1biogYnV0dG9uIHdpdGhpbiB0aGUgY2h1bmsgb3IgYnkgcGxhY2luZyB5b3VyIGN1cnNvciBpbnNpZGUgaXQgYW5kIHByZXNzaW5nICpDdHJsK1NoaWZ0K0VudGVyKi4gDQoNCmBgYHtyfQ0KIjIuMTogQ29tcHV0ZSB0aGUgbWVhbiBhbmQgbWVkaWFuIGZvciB0aGUgZHVyYXRpb24gb2YgaG9zcGl0YWxpemF0aW9uIGZvciB0aGUgMjUgcGF0aWVudHMiDQpzZXR3ZCgifi9FUElENDUxIEhXMy9CSU9TIDU3NkEgQ2xhc3NIVyIpDQppbnN0YWxsLnBhY2thZ2VzKCJwc3ljaCIpDQppbnN0YWxsLnBhY2thZ2VzKCJzd2lybCIpDQpsb2FkKCJIT1NQSVRBTC5EQVQucmRhdGEiKQ0KbGlicmFyeSgicHN5Y2giKQ0KZGVzY3JpYmUoaG9zcGl0YWwkRHVyX3N0YXkpDQoiVGhlIG1lYW4gZHVyYXRpb24gZm9yIGhvc3BpdGFsaXphdGlvbiBmb3IgdGhlIDI1IHBhdGllbnRzIGlzIDguNiBkYXlzIGFuZCB0aGUgbWVkaWFuIGlzIDggZGF5cy4iDQpgYGANCmBgYHtyfQ0KIjIuMjogQ29tcHV0ZSB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIGFuZCByYW5nZSBmb3IgdGhlIGR1cmF0aW9uIG9mIGhvc3BpdGFsaXphdGlvbiBmb3IgdGhlIDI1IHBhdGllbnRzIg0KZGVzY3JpYmUoaG9zcGl0YWwkRHVyX3N0YXkpDQoiVGhlIHN0YW5kYXJkIGRldmlhdGlvbiBpcyA1LjcyIGRheXMgYW5kIHRoZSByYW5nZSBpcyAyNyBkYXlzLiINCmBgYA0KYGBge3J9DQoiMi4zOiBJdCBpcyBvZiBjbGluaWNhbCBpbnRlcmVzdCB0byBrbm93IGlmIHRoZSBkdXJhdGlvbiBvZiBob3NwaXRhbGl6YXRpb24gaXMgYWZmZWN0ZWQgYnkgd2hldGhlciBhIHBhdGllbnQgaGFzIHJlY2VpdmVkIGFudGliaW90aWNzLiBBbnN3ZXIgdGhpcyBxdWVzdGlvbiBkZXNjcmlwdGl2ZWx5IHVzaW5nIGVpdGhlciBudW1lcmljIG9yIGdyYXBoaWMgbWV0aG9kcy5TdXBwb3NlIHRoZSBzY2FsZSBmb3IgYSBkYXRhIHNldCBpcyBjaGFuZ2VkIGJ5IG11bHRpcGx5aW5nIGVhY2ggb2JzZXJ2YXRpb24gYnkgYSBwb3NpdGl2ZSBjb25zdGFudC4iDQpBbnRpYmlvdGljX3llcyA8LSBzdWJzZXQoaG9zcGl0YWwsIEFudGliaW8gPT0gMSkNCkFudGliaW90aWNfbm8gPC0gc3Vic2V0KGhvc3BpdGFsLCBBbnRpYmlvID09IDIpDQpkZXNjcmliZShBbnRpYmlvdGljX3llcyREdXJfc3RheSkNCmRlc2NyaWJlKEFudGliaW90aWNfbm8kRHVyX3N0YXkpDQoiVGhlIG1lYW4gZm9yIHRoZSBpbmRpdmlkdWFscyB3aG8gYW5zd2VyZWQgeWVzIHRvIHJlY2VpdmluZyBhbnRpYmlvdGljcyBoYXMgYSBncmVhdGVyIG1lYW4gKG1lYW49IDExLjU3IGRheXMpIGFuZCBtZWRpYW4gdmFsdWUgKG1lZGlhbj04IGRheXMpIGZvciB0aGUgbnVtYmVyIG9mIGRheXMgdGhhdCB0aGV5IHN0YXllZCBpbiB0aGUgaG9zcGl0YWwgY29tcGFyZWQgdG8gdGhlIG1lYW4gKG1lYW49IDcuNDQgZGF5cykgYW5kIG1lZGlhbiAobWVkaWFuPSA2LjUgZGF5cykgZm9yIGhvc3BpdGFsIHN0YXkgZm9yIHRob3NlIGluZGl2aWR1YWxzIHdobyBhbnN3ZXJlZCBubyB0byByZWNlaXZpbmcgYW50aWJpb3RpY3MuU2VlIGJveHBsb3QgZm9yIG1vcmUgY2xhcml0eS4iDQpib3hwbG90KER1cl9zdGF5fkFudGliaW8sIGRhdGEgPSBob3NwaXRhbCwgeGxhYiA9ICJBbnRpYmlvdGljcyIsIHlsYWIgPSAiRHVyYXRpb24gb2Ygc3RheSIsIG5hbWVzID0gYygiWWVzIiwgIk5vIikpDQpgYGANCmBgYHtyfQ0KIjIuMTM6IENvbXB1dGUgdGhlIG1lYW4gY2hhbmdlIGluIGNob2xlc3Rlcm9sIg0KQ2hvbGVzdGVyb2wgPC0gcmVhZC5jc3YoIkNob2xlc3Rlcm9sIFJldmlzZWQuY3N2IikNCmRlc2NyaWJlKENob2xlc3Rlcm9sJERpZmZlcmVuY2UpDQoiVGhlIG1lYW4gY2hhbmdlIGluIGNob2xlc3Rlcm9sIGlzIDE5LjU0bWcvZEwuIg0KYGBgDQpgYGB7cn0NCiIyLjE0OiBDb21wdXRlIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgdGhlIGNoYW5nZSBpbiBjaG9sZXN0ZXJvbCBudW1iZXJzLiINCmRlc2NyaWJlKENob2xlc3Rlcm9sJERpZmZlcmVuY2UpDQoiVGhlIHN0YW5kYXJkIGRldmlhdGlvbiBjaGFuZ2UgaW4gY2hvbGVzdGVyb2wgaXMgMTYuODFtZy9kTC4iDQpgYGANCmBgYHtyfQ0KIjIuMTU6IENvbnN0cnVjdCBhIHN0ZW0gYW5kIGxlYWYgcGxvdCBvZiB0aGUgY2hvbGVzdGVyb2wgY2hhbmdlcy4iDQpzdGVtKENob2xlc3Rlcm9sJERpZmZlcmVuY2UpDQoiU2VlIHN0ZW0gYW5kIGxlYWYgcGxvdCBiZWxvdyBmb3IgYW5zd2VyLiINCmBgYA0KYGBge3J9DQoiMi4xNjogQ29tcHV0ZSB0aGUgbWVkaWFuIGNoYW5nZSBpbiBjaG9sZXN0ZXJvbC4iDQpkZXNjcmliZShDaG9sZXN0ZXJvbCREaWZmZXJlbmNlKQ0KIlRoZSBtZWRpYW4gY2hhbmdlIGluIGNob2xlc3Rlcm9sIGxldmVscyBpcyAxOW1nL2RMLiINCmBgYA0KYGBge3J9DQoiMi4xNzogQ29uc3RydWN0IGEgYm94cGxvdCBvZiB0aGUgY2hvbGVzdGVyb2wgY2hhbmdlcyB0byB0aGUgcmlnaHQgb2YgdGhlIHN0ZW0gYW5kIGxlYWYgcGxvdC4iDQpib3hwbG90KENob2xlc3Rlcm9sJERpZmZlcmVuY2UpDQpgYGANCmBgYHtyfQ0KIjIuMzE6IENvbXBhcmUgdGhlIGV4cG9zZWQgYW5kIGNvbnRyb2wgZ3JvdXBzIHJlZ2FyZGluZyBhZ2UgYW5kIGdlbmRlciwgdXNpbmcgYXBwcm9wcmlhdGUgbnVtZXJpYyBhbmQgZ3JhcGhpYyBkZXNjcmlwdGl2ZSBtZWFzdXJlcy4iDQpsb2FkKCJMRUFELkRBVC5yZGF0YSIpDQoiV2UgZmlyc3QgaGF2ZSB0byByZWxhYmVsIG91ciBncm91cHMgaW4gdGhlIExFQUQgZmlsZS4iDQpsZWFkJEdyb3VwIDwtaWZlbHNlKGxlYWQkR3JvdXAgPT0gMSwgIkNvbnRyb2wiLCAiRXhwb3NlZCIpDQpjb250cm9sIDwtIHN1YnNldChsZWFkLCBHcm91cCA9PSAiQ29udHJvbCIpDQpleHBvc2VkIDwtIHN1YnNldChsZWFkLCBHcm91cCA9PSAiRXhwb3NlZCIpDQpkZXNjcmliZShjb250cm9sJGFnZXlycykNCmRlc2NyaWJlKGV4cG9zZWQkYWdleXJzKQ0KYm94cGxvdChhZ2V5cnN+R3JvdXAsIGRhdGEgPSBsZWFkLCBtYWluID0gIkFnZSBpbiB5ZWFycyBiYXNlZCBvbiBHcm91cCBMYWJlbCIsIHlsYWIgPSAiQWdlIGluIHllYXJzIikNCiJUaGUgbWVhbiBhZ2UgZm9yIHRoZSA3OCBjaGlsZHJlbiBsaXN0ZWQgaW4gdGhlIGNvbnRyb2wgZ3JvdXAgKG1lYW49IDkuMzMgeWVhcnMpIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWVhbiBhZ2UgZm9yIHRoZSA0NiBjaGlsZHJlbiBpbiB0aGUgZXhwb3NlZCBncm91cCAobWVhbj0gOC4yNyB5ZWFycykuIFNlZSBib3hwbG90IGZvciBkZXNjcmlwdGlvbi4iDQpsZWFkJHNleCA8LSBpZmVsc2UobGVhZCRzZXggPT0gMSwgIk0iLCAiRiIpDQppbnN0YWxsLnBhY2thZ2VzKCJnbW9kZWxzIikNCmxpYnJhcnkoImdtb2RlbHMiKQ0KQ3Jvc3NUYWJsZShsZWFkJHNleCwgbGVhZCRHcm91cCkNCiJUaGVyZSBhcmUgbW9yZSBtYWxlcyBpbiB0aGUgZXhwb3NlZCBncm91cCBjb21wYXJlZCB0byBtYWxlcyBpbiB0aGUgY29udHJvbCBncm91cCwgd2hpbGUgdGhlcmUgYXJlIG1vcmUgZmVtYWxlcyBpbiB0aGUgZXhwb3NlZCBncm91cCBjb21wYXJlZCB0byBmZW1hbGVzIGluIHRoZSBjb250cm9sIGdyb3VwLiBTZWUgZGF0YSB0YWJsZSBmb3IgcmVmZXJlbmNlLiINCmBgYA0KYGBge3J9DQoiMi4zMjogQ29tcGFyZWQgdGhlIGV4cG9zZWQgYW5kIGNvbnRyb2wgZ3JvdXBzIHJlZ2FyZGluZyB2ZXJiYWwgYW5kIHBlcmZvcm1hbmNlIElRLCB1c2luZyBhcHByb3ByaWF0ZSBudW1lcmljYSBhbmQgZGVzY3JpcHRpdmUgbWVhc3VyZXMuIg0KZGVzY3JpYmUoZXhwb3NlZCRpcXYpDQpkZXNjcmliZShjb250cm9sJGlxdikNCmJveHBsb3QoaXF2fkdyb3VwLCBkYXRhID0gbGVhZCwgbWFpbiA9ICJJUVYgbGV2ZWxzIGJhc2VkIG9uIEdyb3VwIExhYmVsIiwgeWxhYiA9ICJJUVYiKQ0KIkJhc2VkIG9uIHRoZSBib3hwbG90IHRoZXJlIGFwcGVhcnMgdG8gYmUgbGl0dGxlIHRvIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWVhbiBhbmQgbWVkaWFuIHZhbHVlcyBmb3IgdGhlIHZlcmJhbCBJUSBhbW9uZyB0aGUgY29udHJvbCBhbmQgZXhwb3NlZCBncm91cCBsYWJlbHMuIFRoZSBtZWFuIGZvciB0aGUgSVFWIGxldmVscyBhbW9uZyB0aGUgZXhwb3NlZCBncm91cCBhcHBlYXJzIHNsaWdodGx5IGhpZ2hlciB0aGFuIHRoZSBtZWFuIElRViBsZXZlbHMgYW1vbmcgdGhlIGNvbnRyb2wgZ3JvdXAgYnV0IGJ5IG5vdCBtdWNoIGhlbmNlIGl0IGlzIGlycmV2ZWxlbnQuIg0KZGVzY3JpYmUoZXhwb3NlZCRpcXApDQpkZXNjcmliZShjb250cm9sJGlxcCkNCmJveHBsb3QoaXFwfkdyb3VwLCBkYXRhID0gbGVhZCwgbWFpbiA9IklRUCBsZXZlbHMgYmFzZWQgb24gR3JvdXAgTGFiZWwiLCB5bGFiID0gIklRUCIpDQoiVGhlIG1lYW4gYW5kIG1lZGlhbiBJUVAgbGV2ZWxzIGFtb25nIHRoZSBjb250cm9sIGdyb3VwIGlzIHNsaWdodGx5IGhpZ2hlciB0aGFuIHRoZSBtZWFuIGFuZCBtZWRpYW4gSVFQIGxldmVscyBhbW9uZyB0aGUgZXhwb3NlZCBncm91cC4gU2VlIGJveHBsb3QgZm9yIHJlZmVyZW5jZSINCmBgYA0KDQoNCkFkZCBhIG5ldyBjaHVuayBieSBjbGlja2luZyB0aGUgKkluc2VydCBDaHVuayogYnV0dG9uIG9uIHRoZSB0b29sYmFyIG9yIGJ5IHByZXNzaW5nICpDdHJsK0FsdCtJKi4NCg0KV2hlbiB5b3Ugc2F2ZSB0aGUgbm90ZWJvb2ssIGFuIEhUTUwgZmlsZSBjb250YWluaW5nIHRoZSBjb2RlIGFuZCBvdXRwdXQgd2lsbCBiZSBzYXZlZCBhbG9uZ3NpZGUgaXQgKGNsaWNrIHRoZSAqUHJldmlldyogYnV0dG9uIG9yIHByZXNzICpDdHJsK1NoaWZ0K0sqIHRvIHByZXZpZXcgdGhlIEhUTUwgZmlsZSkuDQoNClRoZSBwcmV2aWV3IHNob3dzIHlvdSBhIHJlbmRlcmVkIEhUTUwgY29weSBvZiB0aGUgY29udGVudHMgb2YgdGhlIGVkaXRvci4gQ29uc2VxdWVudGx5LCB1bmxpa2UgKktuaXQqLCAqUHJldmlldyogZG9lcyBub3QgcnVuIGFueSBSIGNvZGUgY2h1bmtzLiBJbnN0ZWFkLCB0aGUgb3V0cHV0IG9mIHRoZSBjaHVuayB3aGVuIGl0IHdhcyBsYXN0IHJ1biBpbiB0aGUgZWRpdG9yIGlzIGRpc3BsYXllZC4NCg==