- University - Western Governors University
- Course - C749 - Introduction to Data Science
- Publish Date - 09/05/2017
Overview
The stroop task consists of completing a test by which contains a list of words displayed in an alternative color of ink or background that is different from the printed word. The purpose of this task/test is to analyze the length of time it takes to identify the printed word within a given word set. The test generally consists of two word conditions congruent vs. incongruent.
This document contains an analysis of the stroop effect by measuring sample data containing incongruent vs. congruent time results.
The project contains a set of Questions for Investigation, for consistency purposes the list of questions will be provided below and can be identified with a header following this pattern Q# - Question.
Questions for Investigation
- What is our independent variable? What is our dependent variable?
- What is an appropriate set of hypotheses for this task? What kind of statistical test do you expect to perform? Justify your choices.
- Report some descriptive statistic regarding this dataset. Include at least one measure of central tendency and at least one measure of variability.
- Provide one or two visualizations that show the distribution of the sample data. Write one or two sentences noting what you observe about the plot or plots.
- Now, perform the statistical test and report your results. What is your confidence level and your critical statistic value? Do you reject the null hypothesis or fail to reject it? Come to a conclusion in terms of the experiment task. Did the results match up with your expectations.
Q1: What is our independent variable? What is our dependent variable?
The given data set stroopdata.csv contains both an independent and dependent variable. Although at first glance the independent variable may not appear directly, we can determine based on contextual information that the independent variable is the the word list which was used to generate the sample data set.
The dependent variable within the given data set is the response time in seconds from all participants (24).
Q3 Report some descriptive statistic regarding this dataset. Include at least one measure of central tendency and at least one measure of variability.
In order to accurately report a descriptive statistic we must first define variables that will be used for reporting.
Define Variables for Descriptive Analysis
# load sample data and assign congruent incongruent
sampledata <- read.csv("stroopdata.csv");
congruent = sampledata$Congruent;
incongruent = sampledata$Incongruent;
# define central/variability tendancies
congruent_mean = round(mean(congruent), 2);
congruent_median = round(median(congruent), 2);
congruent_sd = round(sd(congruent), 2);
incongruent_mean = round(mean(incongruent), 2);
incongruent_median = round(median(incongruent), 2);
incongruent_sd = round(sd(incongruent), 2);
sampledata_summary = summary(sampledata);
# altogether , print out each variable in it's context
cat(str_interp("
Congruent Mean: ${congruent_mean}
Congruent Median: ${congruent_median}
Congruent Standard Deviation: ${congruent_sd}
Incongruent Mean: ${incongruent_mean}
Incongruent Median: ${incongruent_median}
Incongruent Standard Deviation: ${incongruent_sd}
"))
Congruent Mean: 14.05
Congruent Median: 14.36
Congruent Standard Deviation: 3.56
Incongruent Mean: 22.02
Incongruent Median: 21.02
Incongruent Standard Deviation: 4.8
Min. 1st Qu. Median Mean 3rd Qu. Max.
8.63 11.90 14.36 14.05 16.20 22.33
Min. 1st Qu. Median Mean 3rd Qu. Max.
15.69 18.72 21.02 22.02 24.05 35.26
# show the data in a table for quick analysis
DT::datatable(data=sampledata)
Q4: Provide one or two visualizations that show the distribution of the sample data. Write one or two sentences noting what you observe about the plot or plots.
#plot to show the distribution of data and comparison between congruent vs. incongruent.
p1 <- plot_ly(sampledata, x = ~congruent, type = "box", name = "Congruent") %>%
add_trace(name = "Incongruent", x = ~incongruent, type = "box") %>%
layout(xaxis = list(title = "Time in Seconds"), width = 800, autosize = F, margin = list( l = 100, b = 50))
Specifying width/height in layout() is now deprecated.
Please specify in ggplotly() or plot_ly()
Observing the Plot
- While analyzing the box plots we can determine that there are two distinct outliers within the Incongruent dataset.
- We can also determine that the Higher Third Quartile of the Congruent dataset is consistent with the Median Quartile of the Incongruent data.
Conclusion
During the statistical analysis I started by evaluating the t-critical which was determined to be 8.026. If we take another look at the formula defined above we would expect a the value to be < 1.714 in order for our Null Hypothesis to be accepted. According to the formula our results are \(t-statistic = 8.026 > 1.714\). Due to these findings we have no choice but to reject our null hypothesis. If we recall the null hypothesis stated that there were no significant differences in the response time between congruent and incongruent data.
LS0tCnRpdGxlOiAiUDEtIFRlc3RpbmcgYSBQZXJjZXB0dWFsIFBoZW5vbWVub24iCmF1dGhvcjogIlJ5YW4gRC4gV2F0dHMiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgaGlnaGxpZ2h0OiB0YW5nbwogICAgdGhlbWU6IHBhcGVyCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKLS0tCgotICoqVW5pdmVyc2l0eSoqIC0gV2VzdGVybiBHb3Zlcm5vcnMgVW5pdmVyc2l0eQotICoqQ291cnNlKiogLSBDNzQ5IC0gSW50cm9kdWN0aW9uIHRvIERhdGEgU2NpZW5jZQotICoqUHVibGlzaCBEYXRlKiogLSAwOS8wNS8yMDE3CgotLS0KCmBgYHtyLCBlY2hvPUZBTFNFfQpsaWJyYXJ5KHN0cmluZ3IpCmxpYnJhcnkocGxvdGx5KQpgYGAKCgojIE92ZXJ2aWV3ClRoZSBzdHJvb3AgdGFzayBjb25zaXN0cyBvZiBjb21wbGV0aW5nIGEgdGVzdCBieSB3aGljaCBjb250YWlucyBhIGxpc3Qgb2Ygd29yZHMgZGlzcGxheWVkIGluIGFuIGFsdGVybmF0aXZlIGNvbG9yIG9mIGluayBvciBiYWNrZ3JvdW5kIHRoYXQgaXMgZGlmZmVyZW50IGZyb20gdGhlIHByaW50ZWQgd29yZC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyB0YXNrL3Rlc3QgaXMgdG8gYW5hbHl6ZSB0aGUgbGVuZ3RoIG9mIHRpbWUgaXQgdGFrZXMgdG8gaWRlbnRpZnkgdGhlIHByaW50ZWQgd29yZCB3aXRoaW4gYSBnaXZlbiB3b3JkIHNldC4gVGhlIHRlc3QgZ2VuZXJhbGx5IGNvbnNpc3RzIG9mIHR3byB3b3JkIGNvbmRpdGlvbnMgKmNvbmdydWVudCogdnMuICppbmNvbmdydWVudCouCgpUaGlzIGRvY3VtZW50IGNvbnRhaW5zIGFuIGFuYWx5c2lzIG9mIHRoZSBzdHJvb3AgZWZmZWN0IGJ5IG1lYXN1cmluZyBzYW1wbGUgZGF0YSBjb250YWluaW5nIGluY29uZ3J1ZW50IHZzLiBjb25ncnVlbnQgdGltZSByZXN1bHRzLgoKVGhlIHByb2plY3QgY29udGFpbnMgYSBzZXQgb2YgKipRdWVzdGlvbnMgZm9yIEludmVzdGlnYXRpb24qKiwgZm9yIGNvbnNpc3RlbmN5IHB1cnBvc2VzIHRoZSBsaXN0IG9mIHF1ZXN0aW9ucyB3aWxsIGJlIHByb3ZpZGVkIGJlbG93IGFuZCBjYW4gYmUgaWRlbnRpZmllZCB3aXRoIGEgaGVhZGVyIGZvbGxvd2luZyB0aGlzIHBhdHRlcm4gYFEjIC0gUXVlc3Rpb25gLgoKIyBRdWVzdGlvbnMgZm9yIEludmVzdGlnYXRpb24KMS4gV2hhdCBpcyBvdXIgaW5kZXBlbmRlbnQgdmFyaWFibGU/IFdoYXQgaXMgb3VyIGRlcGVuZGVudCB2YXJpYWJsZT8KMi4gV2hhdCBpcyBhbiBhcHByb3ByaWF0ZSBzZXQgb2YgaHlwb3RoZXNlcyBmb3IgdGhpcyB0YXNrPyBXaGF0IGtpbmQgb2Ygc3RhdGlzdGljYWwgdGVzdCBkbyB5b3UgZXhwZWN0IHRvIHBlcmZvcm0/IEp1c3RpZnkgeW91ciBjaG9pY2VzLgozLiBSZXBvcnQgc29tZSBkZXNjcmlwdGl2ZSBzdGF0aXN0aWMgcmVnYXJkaW5nIHRoaXMgZGF0YXNldC4gSW5jbHVkZSBhdCBsZWFzdCBvbmUgbWVhc3VyZSBvZiBjZW50cmFsIHRlbmRlbmN5IGFuZCBhdCBsZWFzdCBvbmUgbWVhc3VyZSBvZiB2YXJpYWJpbGl0eS4KNC4gUHJvdmlkZSBvbmUgb3IgdHdvIHZpc3VhbGl6YXRpb25zIHRoYXQgc2hvdyB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSBzYW1wbGUgZGF0YS4gV3JpdGUgb25lIG9yIHR3byBzZW50ZW5jZXMgbm90aW5nIHdoYXQgeW91IG9ic2VydmUgYWJvdXQgdGhlIHBsb3Qgb3IgcGxvdHMuCjUuIE5vdywgcGVyZm9ybSB0aGUgc3RhdGlzdGljYWwgdGVzdCBhbmQgcmVwb3J0IHlvdXIgcmVzdWx0cy4gV2hhdCBpcyB5b3VyIGNvbmZpZGVuY2UgbGV2ZWwgYW5kIHlvdXIgY3JpdGljYWwgc3RhdGlzdGljIHZhbHVlPyBEbyB5b3UgcmVqZWN0IHRoZSBudWxsIGh5cG90aGVzaXMgb3IgZmFpbCB0byByZWplY3QgaXQ/IENvbWUgdG8gYSBjb25jbHVzaW9uIGluIHRlcm1zIG9mIHRoZSBleHBlcmltZW50IHRhc2suIERpZCB0aGUgcmVzdWx0cyBtYXRjaCB1cCB3aXRoIHlvdXIgZXhwZWN0YXRpb25zLgoKXG5ld3BhZ2UKCiMjIFExOiBXaGF0IGlzIG91ciBpbmRlcGVuZGVudCB2YXJpYWJsZT8gV2hhdCBpcyBvdXIgZGVwZW5kZW50IHZhcmlhYmxlPwpUaGUgZ2l2ZW4gZGF0YSBzZXQgYHN0cm9vcGRhdGEuY3N2YCBjb250YWlucyBib3RoIGFuIGluZGVwZW5kZW50IGFuZCBkZXBlbmRlbnQgdmFyaWFibGUuIEFsdGhvdWdoIGF0IGZpcnN0IGdsYW5jZSB0aGUgaW5kZXBlbmRlbnQgdmFyaWFibGUgbWF5IG5vdCBhcHBlYXIgZGlyZWN0bHksIHdlIGNhbiBkZXRlcm1pbmUgYmFzZWQgb24gY29udGV4dHVhbCBpbmZvcm1hdGlvbiB0aGF0IHRoZSAqKmluZGVwZW5kZW50IHZhcmlhYmxlKiogaXMgdGhlIHRoZSB3b3JkIGxpc3Qgd2hpY2ggd2FzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHNhbXBsZSBkYXRhIHNldC4KClRoZSAqKmRlcGVuZGVudCB2YXJpYWJsZSoqIHdpdGhpbiB0aGUgZ2l2ZW4gZGF0YSBzZXQgaXMgdGhlIHJlc3BvbnNlIHRpbWUgaW4gc2Vjb25kcyBmcm9tIGFsbCBwYXJ0aWNpcGFudHMgKCoyNCopLgoKClxuZXdwYWdlCgojIyBRMjogV2hhdCBpcyBhbiBhcHByb3ByaWF0ZSBzZXQgb2YgaHlwb3RoZXNlcyBmb3IgdGhpcyB0YXNrPyBXaGF0IGtpbmQgb2Ygc3RhdGlzdGljYWwgdGVzdCBkbyB5b3UgZXhwZWN0IHRvIHBlcmZvcm0/CkkgaGF2ZSBlbGVjdGVkIHRvIHVzZSB0aGUgYHR3by10YWlsZWQgdC10ZXN0YCBmb3IgbXkgaHlwb3RoZXNpcy4KCioqVHdvLVRhaWxlZCBULVRlc3QgUmVhc29uIGZvciBTZWxlY3Rpb24qKgoKLSBEdWUgdG8gbGFjayBvZiByYW5kb21pemF0aW9uIHdpdGhpbiB0aGUgZ2l2ZW4gZGF0YXNldCBhbmQgdGhleSB3ZXJlIGFwYXJ0IG9mIGEgZ2l2ZW4gc2V0IHRoZSB0d28tdGFpbGVkIHQtdGVzdCBpcyBhcHByb3ByaWF0ZQotIFRoZSBhYmlsaXR5IHRvIGNvbXBhcmUgdGhlIG1lYW5zIG9mIHRoZSBkYXRhc2V0IGZvciB0aGUgcHJlIGFuZCBwb3N0IHRlc3QgdmFsaWRhdGVzIHRoZSBiZW5lZml0IG9mIHRoaXMgdGVzdCBzZWxlY3Rpb24KCioqSHlwb3RoZXNpcyoqCgpBcyB3ZSBwcmVwYXJlIHRvIGFuYWx5emUgdGhlIGh5cG90aGVzaXMsIHRoZXJlIGFyZSB0d28gdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkLiBUaGUgbWVhbiBvZiBpbmNvbmdydWVudCB3b3JkcyB3aXRoaW4gdGhlIGRhdGFzZXQgd2lsbCBiZSBkZW5vdGVkIGFzIGBpYFteMV0uIFdoaWxlIHRoZSBtZWFuIG9mIGNvbmdydWVudCB3b3JkcyB3aXRoaW4gdGhlIGRhdGFzZXQgaXMgZGVub3RlZCBhcyBgY2BbXjJdLgoKLSBBbHRlcm5hdGl2ZSBIeXBvdGhlc2lzOiAkJEhfQSA9IFVua293biBDaGFyYWN0ZXJfaSAtIFVua293biBDaGFyYWN0ZXIgX2NcbmUwJCQKQmVjYXVzZSB0aGVyZSBpc24ndCBhIHJlbGF0aXZlIGRpZmZlcmVuY2UgcmVnYXJkaW5nIHRoZSByZXNwb25zZSB0aW1lIGluIHRoZSBjb25ncnVlbnQgdnMuIGluY29uZ3J1ZW50IHdvcmRzIHRoZSBudWxsIGh5cG90aGVzaXMgY2FuIGJlIGRldGVybWluZWQgYnkgdGhlIGVxdWF0aW9uIHByb3ZpZGVkIGFib3ZlLgoKLSBOdWxsIEh5cG90aGVzaXM6ICQkSF9PID0gVW5rb3duIENoYXJhY3Rvcl9pIC0gVW5rb3duIENoYXJhY3Rlcl9jID0gMCQkClRoZSByZXNwb25zZSB0aW1lIGluIHJlZ2FyZHMgdG8gdGhlIGluY29uZ3J1ZW50IGFuZCBjb25ncnVlbnQgd29yZHMgYXJlIHNpZ25pZmljYW50bHkgZGlmZmVyZW50IHdoZW4gYW5hbHl6aW5nIGVhY2ggdmFyaWFibGUuIFRoZSByZXNwb25zZSB0aW1lJ3Mgc3BlZWQgaGFzIG5vIHJlZ2FyZHMgdG8gdGhlIHJlc3BvbnNlIHRpbWUgcHJvdmlkZWQgZHVyaW5nIHRoZSBwcmUtdGVzdCBwZXJpb2QuCgpcbmV3cGFnZQoKIyMgUTMgUmVwb3J0IHNvbWUgZGVzY3JpcHRpdmUgc3RhdGlzdGljIHJlZ2FyZGluZyB0aGlzIGRhdGFzZXQuIEluY2x1ZGUgYXQgbGVhc3Qgb25lIG1lYXN1cmUgb2YgY2VudHJhbCB0ZW5kZW5jeSBhbmQgYXQgbGVhc3Qgb25lIG1lYXN1cmUgb2YgdmFyaWFiaWxpdHkuCkluIG9yZGVyIHRvIGFjY3VyYXRlbHkgcmVwb3J0IGEgZGVzY3JpcHRpdmUgc3RhdGlzdGljIHdlIG11c3QgZmlyc3QgZGVmaW5lIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgcmVwb3J0aW5nLgoKKipEZWZpbmUgVmFyaWFibGVzIGZvciBEZXNjcmlwdGl2ZSBBbmFseXNpcyoqCmBgYHtyfQojIGxvYWQgc2FtcGxlIGRhdGEgYW5kIGFzc2lnbiBjb25ncnVlbnQgaW5jb25ncnVlbnQKc2FtcGxlZGF0YSA8LSByZWFkLmNzdigic3Ryb29wZGF0YS5jc3YiKTsKY29uZ3J1ZW50ID0gc2FtcGxlZGF0YSRDb25ncnVlbnQ7CmluY29uZ3J1ZW50ID0gc2FtcGxlZGF0YSRJbmNvbmdydWVudDsKCiMgZGVmaW5lIGNlbnRyYWwvdmFyaWFiaWxpdHkgdGVuZGFuY2llcwpjb25ncnVlbnRfbWVhbiA9IHJvdW5kKG1lYW4oY29uZ3J1ZW50KSwgMik7CmNvbmdydWVudF9tZWRpYW4gPSByb3VuZChtZWRpYW4oY29uZ3J1ZW50KSwgMik7CmNvbmdydWVudF9zZCA9IHJvdW5kKHNkKGNvbmdydWVudCksIDIpOwoKaW5jb25ncnVlbnRfbWVhbiA9IHJvdW5kKG1lYW4oaW5jb25ncnVlbnQpLCAyKTsKaW5jb25ncnVlbnRfbWVkaWFuID0gcm91bmQobWVkaWFuKGluY29uZ3J1ZW50KSwgMik7CmluY29uZ3J1ZW50X3NkID0gcm91bmQoc2QoaW5jb25ncnVlbnQpLCAyKTsKCnNhbXBsZWRhdGFfc3VtbWFyeSA9IHN1bW1hcnkoc2FtcGxlZGF0YSk7CgojIGFsdG9nZXRoZXIgLCBwcmludCBvdXQgZWFjaCB2YXJpYWJsZSBpbiBpdCdzIGNvbnRleHQKY2F0KHN0cl9pbnRlcnAoIgpDb25ncnVlbnQgTWVhbjogJHtjb25ncnVlbnRfbWVhbn0KQ29uZ3J1ZW50IE1lZGlhbjogJHtjb25ncnVlbnRfbWVkaWFufQpDb25ncnVlbnQgU3RhbmRhcmQgRGV2aWF0aW9uOiAke2NvbmdydWVudF9zZH0KCkluY29uZ3J1ZW50IE1lYW46ICR7aW5jb25ncnVlbnRfbWVhbn0KSW5jb25ncnVlbnQgTWVkaWFuOiAke2luY29uZ3J1ZW50X21lZGlhbn0KSW5jb25ncnVlbnQgU3RhbmRhcmQgRGV2aWF0aW9uOiAke2luY29uZ3J1ZW50X3NkfQoiKSkKCnN1bW1hcnkoY29uZ3J1ZW50KQpzdW1tYXJ5KGluY29uZ3J1ZW50KQoKIyBzaG93IHRoZSBkYXRhIGluIGEgdGFibGUgZm9yIHF1aWNrIGFuYWx5c2lzCkRUOjpkYXRhdGFibGUoZGF0YT1zYW1wbGVkYXRhKQpgYGAKClxuZXdwYWdlCgojIyBRNDogUHJvdmlkZSBvbmUgb3IgdHdvIHZpc3VhbGl6YXRpb25zIHRoYXQgc2hvdyB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSBzYW1wbGUgZGF0YS4gV3JpdGUgb25lIG9yIHR3byBzZW50ZW5jZXMgbm90aW5nIHdoYXQgeW91IG9ic2VydmUgYWJvdXQgdGhlIHBsb3Qgb3IgcGxvdHMuCgpgYGB7cn0KI3Bsb3QgdG8gc2hvdyB0aGUgZGlzdHJpYnV0aW9uIG9mIGRhdGEgYW5kIGNvbXBhcmlzb24gYmV0d2VlbiBjb25ncnVlbnQgdnMuIGluY29uZ3J1ZW50LgpwMSA8LSBwbG90X2x5KHNhbXBsZWRhdGEsIHggPSB+Y29uZ3J1ZW50LCB0eXBlID0gImJveCIsIG5hbWUgPSAiQ29uZ3J1ZW50IikgJT4lCiAgYWRkX3RyYWNlKG5hbWUgPSAiSW5jb25ncnVlbnQiLCB4ID0gfmluY29uZ3J1ZW50LCB0eXBlID0gImJveCIpICU+JQogIGxheW91dCh4YXhpcyA9IGxpc3QodGl0bGUgPSAiVGltZSBpbiBTZWNvbmRzIiksIHdpZHRoID0gODAwLCBhdXRvc2l6ZSA9IEYsIG1hcmdpbiA9IGxpc3QoIGwgPSAxMDAsIGIgPSA1MCkpCnAxCmBgYAoKCioqT2JzZXJ2aW5nIHRoZSBQbG90KioKCi0gV2hpbGUgYW5hbHl6aW5nIHRoZSBib3ggcGxvdHMgd2UgY2FuIGRldGVybWluZSB0aGF0IHRoZXJlIGFyZSB0d28gZGlzdGluY3Qgb3V0bGllcnMgd2l0aGluIHRoZSBJbmNvbmdydWVudCBkYXRhc2V0LgotIFdlIGNhbiBhbHNvIGRldGVybWluZSB0aGF0IAp0aGUgSGlnaGVyIFRoaXJkIFF1YXJ0aWxlIG9mIHRoZSBDb25ncnVlbnQgZGF0YXNldCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIE1lZGlhbiBRdWFydGlsZSBvZiB0aGUgSW5jb25ncnVlbnQgZGF0YS4KClxuZXdwYWdlCgojIyBRNTogTm93LCBwZXJmb3JtIHRoZSBzdGF0aXN0aWNhbCB0ZXN0IGFuZCByZXBvcnQgeW91ciByZXN1bHRzLiBXaGF0IGlzIHlvdXIgY29uZmlkZW5jZSBsZXZlbCBhbmQgeW91ciBjcml0aWNhbCBzdGF0aXN0aWMgdmFsdWU/IERvIHlvdSByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcyBvciBmYWlsIHRvIHJlamVjdCBpdD8gQ29tZSB0byBhIGNvbmNsdXNpb24gaW4gdGVybXMgb2YgdGhlIGV4cGVyaW1lbnQgdGFzay4gRGlkIHRoZSByZXN1bHRzIG1hdGNoIHVwIHdpdGggeW91ciBleHBlY3RhdGlvbnMuCgoqKnZhcmlhYmxlcyoqCiQkYSA9IDAuMSQkCiQkRGYgPSAyNCQkCioqdC1zdGF0aXN0aWMqKgokJHQtY3JpdGljYWxcID1cICsxLjcxNFwgLTEuNzE0JCQKCkluIG9yZGVyIHRvIHByb3Blcmx5IGNvbmR1Y3QgYSBzdGF0aXN0aWNhbCBhbmFseXNpcyBvZiB0aGUgZGF0YSwgd2UgbXVzdCBkZWZpbmUgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNhbGN1bGF0ZSBvdXIgZmluZGluZ3MuClRoZSB2YXJpYWJsZXMgZGVmaW5lZCBiZWxvdyB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjb25jbHVzaW9uIG9uIHRoZSBuZXh0IHBhZ2UuCgoKYGBge3J9CiNwcmVwIGRhdGEgZm9yIHN0YXRpc3RpY2FsIHRlc3QKZXN0IDwtIHJvdW5kKChpbmNvbmdydWVudF9tZWFuIC0gY29uZ3J1ZW50X21lYW4pLCAyKTsKI2NyZWF0ZSBhIG5ldyByb3cgb24gZGF0YSB0YWJsZSBmb3IgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBpbmNvbmdydWVudCBhbmQgY29uZ3J1ZW50CnNhbXBsZWRhdGFbIkRpZmZlcmVuY2UiXSA9IHNhbXBsZWRhdGFbIkluY29uZ3J1ZW50Il0gLSBzYW1wbGVkYXRhWyJDb25ncnVlbnQiXTsKI2NyZWF0ZSB0aGUgc3RhbmRhcmQgZGV2aWF0aW9uIGRpZmZlcmVuY2Ugb2YgY29uZ3J1ZW50IGFuZCBpbmNvbmdydWVudCBkYXRhCnNkZGlmZiA8LSByb3VuZChzZChzYW1wbGVkYXRhJERpZmZlcmVuY2UpICwzKTsKI2RldGVybWluZSB0LXN0YXRpc3RpYyB1c2luZyB0aGUgZm9ybXVsYSBnaXZlbiBhYm92ZS4KdHN0YXQgPC0gcm91bmQoZXN0LyhzZGRpZmYvKHNxcnQobnJvdyhzYW1wbGVkYXRhKSkpKSwgMyk7CmBgYAoKClxuZXdwYWdlCgojIENvbmNsdXNpb24KRHVyaW5nIHRoZSBzdGF0aXN0aWNhbCBhbmFseXNpcyBJIHN0YXJ0ZWQgYnkgZXZhbHVhdGluZyB0aGUgdC1jcml0aWNhbCB3aGljaCB3YXMgZGV0ZXJtaW5lZCB0byBiZSBgciB0c3RhdGAuIElmIHdlIHRha2UgYW5vdGhlciBsb29rIGF0IHRoZSBmb3JtdWxhIGRlZmluZWQgYWJvdmUgd2Ugd291bGQgZXhwZWN0IGEgdGhlIHZhbHVlIHRvIGJlIDwgMS43MTQgaW4gb3JkZXIgZm9yIG91ciAqKk51bGwgSHlwb3RoZXNpcyoqIHRvIGJlIGFjY2VwdGVkLgpBY2NvcmRpbmcgdG8gdGhlIGZvcm11bGEgb3VyIHJlc3VsdHMgYXJlICR0LXN0YXRpc3RpYyA9ICBgciB0c3RhdGAgPiAxLjcxNCQuIER1ZSB0byB0aGVzZSBmaW5kaW5ncyB3ZSBoYXZlIG5vIGNob2ljZSBidXQgdG8gcmVqZWN0IG91ciBudWxsIGh5cG90aGVzaXMuIElmIHdlIHJlY2FsbCB0aGUgbnVsbCBoeXBvdGhlc2lzIHN0YXRlZCB0aGF0IHRoZXJlIHdlcmUgbm8gc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgaW4gdGhlIHJlc3BvbnNlIHRpbWUgYmV0d2VlbiBjb25ncnVlbnQgYW5kIGluY29uZ3J1ZW50IGRhdGEuCgoKW14xXTogbWVhbiBvZiBpbmNvbmdydWVudCAtICRfaSQKW14yXTogbWVhbiBvZiBjb25ncnVlbnQgLSAkX2MkCg==