1 Research Question & Response Variable

What is your research question and your response variable? Give a detailed answer. Do the factors exam format, practice frequency, feedback timing, and class time structure improve student exam scores? We want to improve student exam performance, grade, in an introductory statistics course and are testing if these factors, and the possible interactions between them, do that. Higher exam scores can lead to student success, reflects well on the university and the professor, and can give insight as to how to properly assess students.

2 Factors, Levels, and Design Choice

List your factors and their levels. What is your design choice? Discuss any constraints or restrictions on randomization. Report your design table which includes run randomization. Discuss how you should employ randomization and blocking in this experiment. Our factors are exam format, practice frequency, feedback timing, and class time structure. Each factor has two levels that we will define as “Low” and “High.” This design is a 2^4 full factorial design, has a total of 16 groups, and will be replicated 3 times. We will use a blocking variable called “major” to control for the possible confounding variable that each major/college could perform differently on exams. The blocking variable has three levels, “Science and Math,” “Education,” and “Arts and Humanities.” However, blocking restricts complete randomization. To adjust for this, we will employ randomization within each block. The students in each block will be randomly assigned to one of the 16 groups to ensure that there is equal variation within each block.

3 Analysis Results

Write a comprehensive paragraph on the results of your statistical analysis. Use APA style. Refer to the interaction plots if necessary.

The experiment used a full 2^4 factorial ANOVA design to examine the effects of four two‑level factors (format, frequency, time, and structure) on exam score. This design produced 16 unique treatment combinations. A three-level blocking variable was implemented to control for variation between majors. Each treatment combination received equal replication, resulting in a balanced design suitable for estimating both main effects and interactions. A factorial ANOVA was conducted to evaluate the effects of the four factors and their interactions on the response. The results showed statistical significance for Format: F(1,32)=81.257, p<0.001, Frequency: F(1,32)=11.551, p=0.001829, Format:Frequency: F(1,32)=64.76, p>0.001, Format:Time: F(1,32)=9.469, p=0.00426, and Format:Time:Structure: F(1,32)=188.817, p<0.001. The significant two-way interactions can also be seen in the interaction plots. The lines within the plots are not parallel, they intersect. This statistical significance tells us a lot about the practical significance. We see that format and frequency alone and when combined with other factors showed statistical significance, indicating that these factors are the driving forces of improving student exam scores. On the other hand, time and structure alone are not significantly impacting student exam score, but when combined with format, they show significance in improving scores.

4 Power

Calculate the post-hoc power for this design. Use the effect size from your output. The post-hoc power using the design parameters and using the effect size f=0.0825 is 8.592 percent. This design yields very low power which is concerning. This indicates that there is a low chance (8.592 percent) of finding a real, true effect if it is present. Having low power can inflate the effect size, displaying that there is a important practical effect, when there actually is not (a false positive). Knowing this, we would want to increase sample size for the next experiment to increase our power.

The four-way interaction effect size is eta2=0.1935526. Degrees of freedom for the power calculation is df=1.

5 Residual Analysis

Are your assumptions met? Use the plots to support your argument. The assumptions of normality and equal variances are met. The histogram shows an approximate bell shaped curve, indicating normality. The versus fit plot displays an even spread between blocks and shows no patterns, indicating equal variances.

6 Factorial Regularities

Do the results of your factorial experiment display sparsity, heredity, and hierarchy? Support your answer with your results.

The results of our factorial experiment demonstrates sparsity. Only 5 effects are significant out of 15, meaning only 33 percent are actually significant. This experiment also shows heredity. All of the significant interactions include one parent factor that is significant. The parent factor “format” is highly significant and seen in every significant interaction. There is a weak indication of hierarchy in this design. The hierarchy principle states that main effects tend to be larger than two-way interactions, two-way interactions tend to be larger than three-way interactions, and so on. In this design, 2 main effects were significant, 2 two-way interactions were significant, and 1 three-way interaction was significant. While this is not a huge deviation from the principle, it is worth noting. This is especially important to recognize because two main effects are not statistically significant.

7 Limitations & What You’d Do Next

Discuss issues you see with this design. Do you have issues with Confounding effects? Are there design weaknesses? Give follow up experiment ideas. The main issue we see with this design is the small sample size. Using GPower, we calculated that with a medium effect size, alpha=0.05, and 0.80 power, the sample size needed would be 128. This would fix the low power issue and increase our effect size. We intended to account for the issues of confounding effects by creating a blocking variable. This would allow us to determine if it was the factors that truly effected the exam score without the effect of the nuisance variable “major.” If this experiment was done again, we suggest rerunning it without a blocking variable and instead running a completely randomized design. The blocking variable we used was not statistically significant (p=0.29894), so it is unnecessary to create. With these improvements, the experimenter may be able to find the factors that best improve student exam scores in the course.

LS0tDQp0aXRsZTogIlNUQTMyMCBGaW5hbCBFeGFtIFRlYW0gNCINCmF1dGhvcjogIlRlYW0gNDogQWx5c3NhIFdhbHRvbiBhbmQgS2FlbGkgQW5kcmV3cyINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDogDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6IDQNCiAgICB0b2NfZmxvYXQ6IHllcw0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQogICAgdG9jX2NvbGxhcHNlZDogeWVzDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgc21vb3RoX3Njcm9sbDogeWVzDQogICAgdGhlbWU6IGx1bWVuDQogIHBkZl9kb2N1bWVudDogDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6IDQNCiAgICBmaWdfY2FwdGlvbjogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICBmaWdfd2lkdGg6IDMNCiAgICBmaWdfaGVpZ2h0OiAzDQogIHdvcmRfZG9jdW1lbnQ6IA0KICAgIHRvYzogeWVzDQogICAgdG9jX2RlcHRoOiA0DQogICAgZmlnX2NhcHRpb246IHllcw0KICAgIGtlZXBfbWQ6IHllcw0KZWRpdG9yX29wdGlvbnM6IA0KICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lDQotLS0NCg0KYGBge2NzcywgZWNobyA9IEZBTFNFfQ0KI1RPQzo6YmVmb3JlIHsNCiAgY29udGVudDogIlRhYmxlIG9mIENvbnRlbnRzIjsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGZvbnQtc2l6ZTogMS4yZW07DQogIGRpc3BsYXk6IGJsb2NrOw0KICBjb2xvcjogbmF2eTsNCiAgbWFyZ2luLWJvdHRvbTogMTBweDsNCn0NCg0KDQpkaXYjVE9DIGxpIHsgICAgIC8qIHRhYmxlIG9mIGNvbnRlbnQgICovDQogICAgbGlzdC1zdHlsZTp1cHBlci1yb21hbjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOm5vbmU7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6bm9uZTsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjA7DQp9DQoNCmgxLnRpdGxlIHsgICAgLyogbGV2ZWwgMSBoZWFkZXIgb2YgdGl0bGUgICovDQogIGZvbnQtc2l6ZTogMjJweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGNvbG9yOiBEYXJrUmVkOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAiR2lsbCBTYW5zIiwgc2Fucy1zZXJpZjsNCn0NCg0KaDQuYXV0aG9yIHsgLyogSGVhZGVyIDQgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8NCiAgZm9udC1zaXplOiAxNXB4Ow0KICBmb250LXdlaWdodDogYm9sZDsNCiAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsNCiAgY29sb3I6IG5hdnk7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KaDQuZGF0ZSB7IC8qIEhlYWRlciA0IC0gYW5kIHRoZSBhdXRob3IgYW5kIGRhdGEgaGVhZGVycyB1c2UgdGhpcyB0b28gICovDQogIGZvbnQtc2l6ZTogMThweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGZvbnQtZmFtaWx5OiAiR2lsbCBTYW5zIiwgc2Fucy1zZXJpZjsNCiAgY29sb3I6IERhcmtCbHVlOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCmgxIHsgLyogSGVhZGVyIDEgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8NCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogICAgY29sb3I6IGRhcmtyZWQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KaDIgeyAvKiBIZWFkZXIgMiAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLw0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgICBjb2xvcjogbmF2eTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQpoMyB7IC8qIEhlYWRlciAzIC0gYW5kIHRoZSBhdXRob3IgYW5kIGRhdGEgaGVhZGVycyB1c2UgdGhpcyB0b28gICovDQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICAgIGNvbG9yOiBuYXZ5Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQoNCmg0IHsgLyogSGVhZGVyIDQgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8NCiAgICBmb250LXNpemU6IDE0cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICAgIGNvbG9yOiBkYXJrcmVkOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQoNCi8qIEFkZCBkb3RzIGFmdGVyIG51bWJlcmVkIGhlYWRlcnMgKi8NCi5oZWFkZXItc2VjdGlvbi1udW1iZXI6OmFmdGVyIHsNCiAgY29udGVudDogIi4iOw0KDQpib2R5IHsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgfQ0KDQouaGlnaGxpZ2h0bWUgeyBiYWNrZ3JvdW5kLWNvbG9yOnllbGxvdzsgfQ0KDQpwIHsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgfQ0KDQp9DQpgYGANCg0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRiwgY29tbWVudD1OQSwgd2FybmluZz1GKQ0KDQojIFNldHVwIGFuZCBEZXNpZ24gRGVmaW5pdGlvbg0KDQojIExvYWQgcmVxdWlyZWQgbGlicmFyaWVzDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZWZmZWN0cykgICAgIyBGb3IgaW50ZXJhY3Rpb24gcGxvdHMNCmxpYnJhcnkoc2FzTE0pDQpsaWJyYXJ5KEZyRjIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShlZmZlY3RzaXplKQ0KbGlicmFyeShrYWJsZUV4dHJhKQ0KDQpzZXQuc2VlZCgwMjI2KSAjIFJlcHJvZHVjaWJpbGl0eQ0KYGBgDQoNCg0KDQojIFJlc2VhcmNoIFF1ZXN0aW9uICYgUmVzcG9uc2UgVmFyaWFibGUNCg0KV2hhdCBpcyB5b3VyIHJlc2VhcmNoIHF1ZXN0aW9uIGFuZCB5b3VyIHJlc3BvbnNlIHZhcmlhYmxlPyBHaXZlIGEgZGV0YWlsZWQgYW5zd2VyLg0KRG8gdGhlIGZhY3RvcnMgZXhhbSBmb3JtYXQsIHByYWN0aWNlIGZyZXF1ZW5jeSwgZmVlZGJhY2sgdGltaW5nLCBhbmQgY2xhc3MgdGltZSBzdHJ1Y3R1cmUgaW1wcm92ZSBzdHVkZW50IGV4YW0gc2NvcmVzPyBXZSB3YW50IHRvIGltcHJvdmUgc3R1ZGVudCBleGFtIHBlcmZvcm1hbmNlLCBncmFkZSwgaW4gYW4gaW50cm9kdWN0b3J5IHN0YXRpc3RpY3MgY291cnNlIGFuZCBhcmUgdGVzdGluZyBpZiB0aGVzZSBmYWN0b3JzLCBhbmQgdGhlIHBvc3NpYmxlIGludGVyYWN0aW9ucyBiZXR3ZWVuIHRoZW0sIGRvIHRoYXQuIEhpZ2hlciBleGFtIHNjb3JlcyBjYW4gbGVhZCB0byBzdHVkZW50IHN1Y2Nlc3MsIHJlZmxlY3RzIHdlbGwgb24gdGhlIHVuaXZlcnNpdHkgYW5kIHRoZSBwcm9mZXNzb3IsIGFuZCBjYW4gZ2l2ZSBpbnNpZ2h0IGFzIHRvIGhvdyB0byBwcm9wZXJseSBhc3Nlc3Mgc3R1ZGVudHMuIA0KDQojIEZhY3RvcnMsIExldmVscywgYW5kIERlc2lnbiBDaG9pY2UNCg0KTGlzdCB5b3VyIGZhY3RvcnMgYW5kIHRoZWlyIGxldmVscy4gV2hhdCBpcyB5b3VyIGRlc2lnbiBjaG9pY2U/IERpc2N1c3MgYW55IGNvbnN0cmFpbnRzIG9yIHJlc3RyaWN0aW9ucyBvbiByYW5kb21pemF0aW9uLiBSZXBvcnQgeW91ciBkZXNpZ24gdGFibGUgd2hpY2ggaW5jbHVkZXMgcnVuIHJhbmRvbWl6YXRpb24uIERpc2N1c3MgaG93IHlvdSBzaG91bGQgZW1wbG95IHJhbmRvbWl6YXRpb24gYW5kIGJsb2NraW5nIGluIHRoaXMgZXhwZXJpbWVudC4gDQpPdXIgZmFjdG9ycyBhcmUgZXhhbSBmb3JtYXQsIHByYWN0aWNlIGZyZXF1ZW5jeSwgZmVlZGJhY2sgdGltaW5nLCBhbmQgY2xhc3MgdGltZSBzdHJ1Y3R1cmUuIEVhY2ggZmFjdG9yIGhhcyB0d28gbGV2ZWxzIHRoYXQgd2Ugd2lsbCBkZWZpbmUgYXMgIkxvdyIgYW5kICJIaWdoLiIgVGhpcyBkZXNpZ24gaXMgYSAyXjQgZnVsbCBmYWN0b3JpYWwgZGVzaWduLCBoYXMgYSB0b3RhbCBvZiAxNiBncm91cHMsIGFuZCB3aWxsIGJlIHJlcGxpY2F0ZWQgMyB0aW1lcy4gV2Ugd2lsbCB1c2UgYSBibG9ja2luZyB2YXJpYWJsZSBjYWxsZWQgIm1ham9yIiB0byBjb250cm9sIGZvciB0aGUgcG9zc2libGUgY29uZm91bmRpbmcgdmFyaWFibGUgdGhhdCBlYWNoIG1ham9yL2NvbGxlZ2UgY291bGQgcGVyZm9ybSBkaWZmZXJlbnRseSBvbiBleGFtcy4gVGhlIGJsb2NraW5nIHZhcmlhYmxlIGhhcyB0aHJlZSBsZXZlbHMsICJTY2llbmNlIGFuZCBNYXRoLCIgIkVkdWNhdGlvbiwiIGFuZCAiQXJ0cyBhbmQgSHVtYW5pdGllcy4iIEhvd2V2ZXIsIGJsb2NraW5nIHJlc3RyaWN0cyBjb21wbGV0ZSByYW5kb21pemF0aW9uLiBUbyBhZGp1c3QgZm9yIHRoaXMsIHdlIHdpbGwgZW1wbG95IHJhbmRvbWl6YXRpb24gd2l0aGluIGVhY2ggYmxvY2suIFRoZSBzdHVkZW50cyBpbiBlYWNoIGJsb2NrIHdpbGwgYmUgcmFuZG9tbHkgYXNzaWduZWQgdG8gb25lIG9mIHRoZSAxNiBncm91cHMgdG8gZW5zdXJlIHRoYXQgdGhlcmUgaXMgZXF1YWwgdmFyaWF0aW9uIHdpdGhpbiBlYWNoIGJsb2NrLg0KDQpgYGB7ciBkZXNpZ24sIGluY2x1ZGU9Rn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIERlZmluZSBGYWN0b3JzIGFuZCBMZXZlbHMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQojIEV4YW1wbGU6IDJeNCBmYWN0b3JpYWwgd2l0aCBvcHRpb25hbCBibG9ja2luZw0KDQpiYXNlX2Rlc2lnbiA8LSBleHBhbmQuZ3JpZCgNCiAgRm9ybWF0ID0gYygiTG93IiwgIkhpZ2giKSwNCiAgRnJlcXVlbmN5ID0gYygiTG93IiwgIkhpZ2giKSwNCiAgVGltZSA9IGMoIkxvdyIsICJIaWdoIiksDQogIFN0cnVjdHVyZSA9IGMoIkxvdyIsICJIaWdoIikNCikNCg0KI0NyZWF0ZSBibG9ja2luZyB2YXJpYWJsZSBvbiByZXBsaWNhdGlvbg0KDQpkZXNpZ24gPC0gYmFzZV9kZXNpZ25bcmVwKDE6bnJvdyhiYXNlX2Rlc2lnbiksIHRpbWVzID0gMyksIF0NCg0KZGVzaWduJEJsb2NrIDwtIHJlcChwYXN0ZTAoIkJsb2NrIiwgMTozKSwgZWFjaCA9IG5yb3coYmFzZV9kZXNpZ24pKQ0KDQojcmFuZG9taXphdGlvbiB3aXRoaW4gYmxvY2sNCg0KZGVzaWduIDwtIGRlc2lnbiAlPiUNCiAgZ3JvdXBfYnkoQmxvY2spICU+JQ0KICBtdXRhdGUoUnVuT3JkZXIgPSBzYW1wbGUoMTpuKCkpKSAlPiUNCiAgdW5ncm91cCgpDQoNCmRlc2lnbiA8LSBkZXNpZ24gJT4lDQogIGFycmFuZ2UoQmxvY2ssIFJ1bk9yZGVyKSAlPiUNCiAgbXV0YXRlKEdsb2JhbFJ1biA9IHJvd19udW1iZXIoKSkNCg0KZGVzaWduICU+JQ0KICBrYmwoY2FwdGlvbj0iMl40IFVucmVwbGljYXRlZCBGYWN0b3JpYWwtUmFuZG9taXphdGlvbiBTY2hlZHVsZSIsIGFsaWduPSJjIikgJT4lDQogIGthYmxlX2NsYXNzaWMoZnVsbF93aWR0aD1GKSAlPiUNCiAgY29sdW1uX3NwZWMoNSwgd2lkdGg9IjNjbSIpDQpgYGANCg0KDQpgYGAge3Igc2ltdWxhdGlvbiBkYXRhLCBpbmNsdWRlPUZ9DQoNCiMgU2ltdWxhdGUgUmVzcG9uc2UgRGF0YQ0KIyBEZWZpbmUgdHJ1ZSBlZmZlY3RzDQptdSA9IDY0DQplZmZlY3RfRm9ybWF0ID0gNQ0KZWZmZWN0X0ZyZXF1ZW5jeSA9IC0zDQplZmZlY3RfVGltZSA9IDANCmVmZmVjdF9TdHJ1Y3R1cmUgPSAtMQ0KaW50ZXJhY3Rpb25fRm9ybWF0X0ZyZXF1ZW5jeSA9IDYNCmludGVyYWN0aW9uX0Zvcm1hdF9UaW1lX1N0cnVjdHVyZSA9IC0xMA0KDQojIENvbnZlcnQgZmFjdG9ycyB0byBpbmRpY2F0b3JzDQpzaW1fZGF0YSA9IGRlc2lnbiAlPiUNCiAgbXV0YXRlKA0KICAgIEZvcm1hdCA9IGlmZWxzZShGb3JtYXQgPT0gIkhpZ2giLCAxLCAtMSksDQogICAgRnJlcXVlbmN5ID0gaWZlbHNlKEZyZXF1ZW5jeSA9PSAiSGlnaCIsIDEsIC0xKSwNCiAgICBUaW1lID0gaWZlbHNlKFRpbWUgPT0gIkhpZ2giLCAxLCAtMSksDQogICAgU3RydWN0dXJlID0gaWZlbHNlKFN0cnVjdHVyZSA9PSAiSGlnaCIsIDEsIC0xKSAgIA0KICApDQoNCiMgR2VuZXJhdGUgcmVzcG9uc2UNCnNpbV9kYXRhJHJlc3BvbnNlID0gbXUgKw0KICBlZmZlY3RfRm9ybWF0ICogc2ltX2RhdGEkRm9ybWF0ICsNCiAgZWZmZWN0X0ZyZXF1ZW5jeSAqIHNpbV9kYXRhJEZyZXF1ZW5jeSArDQogIGVmZmVjdF9UaW1lICogc2ltX2RhdGEkVGltZSArDQogIGVmZmVjdF9TdHJ1Y3R1cmUgKiBzaW1fZGF0YSRTdHJ1Y3R1cmUgKyANCiAgaW50ZXJhY3Rpb25fRm9ybWF0X0ZyZXF1ZW5jeSAqIHNpbV9kYXRhJEZvcm1hdCAqIHNpbV9kYXRhJEZyZXF1ZW5jeSArDQogIGludGVyYWN0aW9uX0Zvcm1hdF9UaW1lX1N0cnVjdHVyZSAqIHNpbV9kYXRhJEZvcm1hdCAqIHNpbV9kYXRhJFRpbWUgKiBzaW1fZGF0YSRTdHJ1Y3R1cmUgKw0KICBybm9ybShucm93KHNpbV9kYXRhKSwgbWVhbiA9IDAsIHNkID0gNSkNCg0KYGBgDQoNCg0KIyBBbmFseXNpcyBSZXN1bHRzDQoNCldyaXRlIGEgY29tcHJlaGVuc2l2ZSBwYXJhZ3JhcGggb24gdGhlIHJlc3VsdHMgb2YgeW91ciBzdGF0aXN0aWNhbCBhbmFseXNpcy4gVXNlIEFQQSBzdHlsZS4gUmVmZXIgdG8gdGhlIGludGVyYWN0aW9uIHBsb3RzIGlmIG5lY2Vzc2FyeS4NCg0KVGhlIGV4cGVyaW1lbnQgdXNlZCBhIGZ1bGwgMl40IGZhY3RvcmlhbCBBTk9WQSBkZXNpZ24gdG8gZXhhbWluZSB0aGUgZWZmZWN0cyBvZiBmb3VyIHR3b+KAkWxldmVsIGZhY3RvcnMgKGZvcm1hdCwgZnJlcXVlbmN5LCB0aW1lLCBhbmQgc3RydWN0dXJlKSBvbiBleGFtIHNjb3JlLiBUaGlzIGRlc2lnbiBwcm9kdWNlZCAxNiB1bmlxdWUgdHJlYXRtZW50IGNvbWJpbmF0aW9ucy4gQSB0aHJlZS1sZXZlbCBibG9ja2luZyB2YXJpYWJsZSB3YXMgaW1wbGVtZW50ZWQgdG8gY29udHJvbCBmb3IgdmFyaWF0aW9uIGJldHdlZW4gbWFqb3JzLiBFYWNoIHRyZWF0bWVudCBjb21iaW5hdGlvbiByZWNlaXZlZCBlcXVhbCByZXBsaWNhdGlvbiwgcmVzdWx0aW5nIGluIGEgYmFsYW5jZWQgZGVzaWduIHN1aXRhYmxlIGZvciBlc3RpbWF0aW5nIGJvdGggbWFpbiBlZmZlY3RzIGFuZCBpbnRlcmFjdGlvbnMuIEEgZmFjdG9yaWFsIEFOT1ZBIHdhcyBjb25kdWN0ZWQgdG8gZXZhbHVhdGUgdGhlIGVmZmVjdHMgb2YgdGhlIGZvdXIgZmFjdG9ycyBhbmQgdGhlaXIgaW50ZXJhY3Rpb25zIG9uIHRoZSByZXNwb25zZS4gIFRoZSByZXN1bHRzIHNob3dlZCBzdGF0aXN0aWNhbCBzaWduaWZpY2FuY2UgZm9yIEZvcm1hdDogRigxLDMyKT04MS4yNTcsIHA8MC4wMDEsIEZyZXF1ZW5jeTogRigxLDMyKT0xMS41NTEsIHA9MC4wMDE4MjksIEZvcm1hdDpGcmVxdWVuY3k6IEYoMSwzMik9NjQuNzYsIHA+MC4wMDEsIEZvcm1hdDpUaW1lOiBGKDEsMzIpPTkuNDY5LCBwPTAuMDA0MjYsIGFuZCAgRm9ybWF0OlRpbWU6U3RydWN0dXJlOiBGKDEsMzIpPTE4OC44MTcsIHA8MC4wMDEuIFRoZSBzaWduaWZpY2FudCB0d28td2F5IGludGVyYWN0aW9ucyBjYW4gYWxzbyBiZSBzZWVuIGluIHRoZSBpbnRlcmFjdGlvbiBwbG90cy4gVGhlIGxpbmVzIHdpdGhpbiB0aGUgcGxvdHMgYXJlIG5vdCBwYXJhbGxlbCwgdGhleSBpbnRlcnNlY3QuIFRoaXMgc3RhdGlzdGljYWwgc2lnbmlmaWNhbmNlIHRlbGxzIHVzIGEgbG90IGFib3V0IHRoZSBwcmFjdGljYWwgc2lnbmlmaWNhbmNlLiBXZSBzZWUgdGhhdCBmb3JtYXQgYW5kIGZyZXF1ZW5jeSBhbG9uZSBhbmQgd2hlbiBjb21iaW5lZCB3aXRoIG90aGVyIGZhY3RvcnMgc2hvd2VkIHN0YXRpc3RpY2FsIHNpZ25pZmljYW5jZSwgaW5kaWNhdGluZyB0aGF0IHRoZXNlIGZhY3RvcnMgYXJlIHRoZSBkcml2aW5nIGZvcmNlcyBvZiBpbXByb3Zpbmcgc3R1ZGVudCBleGFtIHNjb3Jlcy4gT24gdGhlIG90aGVyIGhhbmQsIHRpbWUgYW5kIHN0cnVjdHVyZSBhbG9uZSBhcmUgbm90IHNpZ25pZmljYW50bHkgaW1wYWN0aW5nIHN0dWRlbnQgZXhhbSBzY29yZSwgYnV0IHdoZW4gY29tYmluZWQgd2l0aCBmb3JtYXQsIHRoZXkgc2hvdyBzaWduaWZpY2FuY2UgaW4gaW1wcm92aW5nIHNjb3Jlcy4NCg0KYGBge3IgQU5PVkEsIGluY2x1ZGU9Rn0NCg0KIyBGYWN0b3JpYWwgQU5PVkEgDQphb3YxKHJlc3BvbnNlIH4gRm9ybWF0ICogRnJlcXVlbmN5ICogVGltZSAqIFN0cnVjdHVyZSwgc2ltX2RhdGEpDQoNCm1vZGVsPWxtKHJlc3BvbnNlIH4gRm9ybWF0ICogRnJlcXVlbmN5ICogVGltZSAqIFN0cnVjdHVyZSwgZGF0YT1zaW1fZGF0YSkNCmFvdj1hb3YobW9kZWwpDQoNCg0Kc2ltX2RhdGEkQmxvY2sgPC0gZmFjdG9yKHNpbV9kYXRhJEJsb2NrKQ0KDQoNCm1vZGVsMSA8LSBhb3YocmVzcG9uc2UgfiBGb3JtYXQgKiBGcmVxdWVuY3kqIFRpbWUgKiBTdHJ1Y3R1cmUgKyBCbG9jaywgZGF0YSA9IHNpbV9kYXRhKQ0Kc3VtbWFyeShtb2RlbDEpDQoNCmBgYA0KDQoNCmBgYHtyIHBsb3RzLCBpbmNsdWRlPUZ9DQoNCiMgSW50ZXJhY3Rpb24gUGxvdHMNCg0KcGFyKG1mcm93PWMoMSwyKSkNCg0KIyBCYXNlIFIgaW50ZXJhY3Rpb24gcGxvdA0KI0FCDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJEZvcm1hdCwNCiAgdHJhY2UuZmFjdG9yID0gc2ltX2RhdGEkRnJlcXVlbmN5LA0KICByZXNwb25zZSA9IHNpbV9kYXRhJHJlc3BvbnNlLA0KICBtYWluID0gIkZvcm1hdCAqIEZyZXF1ZW5jeSIsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KI0FDDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJEZvcm1hdCwNCiAgdHJhY2UuZmFjdG9yID0gc2ltX2RhdGEkVGltZSwNCiAgcmVzcG9uc2UgPSBzaW1fZGF0YSRyZXNwb25zZSwNCiAgICBtYWluID0gIkZvcm1hdCAqIFRpbWUiLA0KICB0eXBlID0gImIiLA0KICBjb2wgPSBjKCJibHVlIiwgInJlZCIpLA0KICBwY2ggPSBjKDE5LCAxNykNCikNCiNBRA0KaW50ZXJhY3Rpb24ucGxvdCgNCiAgeC5mYWN0b3IgPSBzaW1fZGF0YSRGb3JtYXQsDQogIHRyYWNlLmZhY3RvciA9IHNpbV9kYXRhJFN0cnVjdHVyZSwNCiAgcmVzcG9uc2UgPSBzaW1fZGF0YSRyZXNwb25zZSwNCiAgICBtYWluID0gIkZvcm1hdCAqIFN0cnVjdHVyZSIsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KDQojQkMNCmludGVyYWN0aW9uLnBsb3QoDQogIHguZmFjdG9yID0gc2ltX2RhdGEkRnJlcXVlbmN5LA0KICB0cmFjZS5mYWN0b3IgPSBzaW1fZGF0YSRUaW1lLA0KICByZXNwb25zZSA9IHNpbV9kYXRhJHJlc3BvbnNlLA0KICAgIG1haW4gPSAiRnJlcXVlbmN5ICogVGltZSIsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KDQojQkQNCmludGVyYWN0aW9uLnBsb3QoDQogIHguZmFjdG9yID0gc2ltX2RhdGEkRnJlcXVlbmN5LA0KICB0cmFjZS5mYWN0b3IgPSBzaW1fZGF0YSRTdHJ1Y3R1cmUsDQogIHJlc3BvbnNlID0gc2ltX2RhdGEkcmVzcG9uc2UsDQogICAgbWFpbiA9ICJGcmVxdWVuY3kgKiBTdHJ1Y3R1cmUiLA0KICB0eXBlID0gImIiLA0KICBjb2wgPSBjKCJibHVlIiwgInJlZCIpLA0KICBwY2ggPSBjKDE5LCAxNykNCikNCg0KI0NEDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJFRpbWUsDQogIHRyYWNlLmZhY3RvciA9IHNpbV9kYXRhJFN0cnVjdHVyZSwNCiAgcmVzcG9uc2UgPSBzaW1fZGF0YSRyZXNwb25zZSwNCiAgICBtYWluID0gIlRpbWUgKiBTdHJ1Y3R1cmUiLA0KICB0eXBlID0gImIiLA0KICBjb2wgPSBjKCJibHVlIiwgInJlZCIpLA0KICBwY2ggPSBjKDE5LCAxNykNCikNCg0KYGBgDQoNCg0KDQoNCmBgYCB7ciBwb3dlcn0NCiNFZmZlY3Qgc2l6ZSBmcm9tIEFOT1ZBIG5lZWRlZCBmb3IgcG93ZXINCmVmZnNpemU9ZXRhX3NxdWFyZWQoYW92KQ0KI2ZvdXIud2F5LmludGVyYWN0aW9uLmVmZmVjdD1lZmZzaXplWzE1LDJdDQojQ29udmVydCBldGEgc3F1YXJlZCB0byBDb2hlbidzIGYgZm9yIHBvc3QgaG9jIHBvd2VyIGNhbGMNCkU9ZXRhMl90b19mKGVmZnNpemVbMTUsMl0pDQoNCmBgYA0KIyBQb3dlciANCg0KQ2FsY3VsYXRlIHRoZSBwb3N0LWhvYyBwb3dlciBmb3IgdGhpcyBkZXNpZ24uIFVzZSB0aGUgZWZmZWN0IHNpemUgZnJvbSB5b3VyIG91dHB1dC4gDQpUaGUgcG9zdC1ob2MgcG93ZXIgdXNpbmcgdGhlIGRlc2lnbiBwYXJhbWV0ZXJzIGFuZCB1c2luZyB0aGUgZWZmZWN0IHNpemUgZj0wLjA4MjUgaXMgOC41OTIgcGVyY2VudC4gVGhpcyBkZXNpZ24geWllbGRzIHZlcnkgbG93IHBvd2VyIHdoaWNoIGlzIGNvbmNlcm5pbmcuIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBsb3cgY2hhbmNlICg4LjU5MiBwZXJjZW50KSBvZiBmaW5kaW5nIGEgcmVhbCwgdHJ1ZSBlZmZlY3QgaWYgaXQgaXMgcHJlc2VudC4gSGF2aW5nIGxvdyBwb3dlciBjYW4gaW5mbGF0ZSB0aGUgZWZmZWN0IHNpemUsIGRpc3BsYXlpbmcgdGhhdCB0aGVyZSBpcyBhIGltcG9ydGFudCBwcmFjdGljYWwgZWZmZWN0LCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIG5vdCAoYSBmYWxzZSBwb3NpdGl2ZSkuIEtub3dpbmcgdGhpcywgd2Ugd291bGQgd2FudCB0byBpbmNyZWFzZSBzYW1wbGUgc2l6ZSBmb3IgdGhlIG5leHQgZXhwZXJpbWVudCB0byBpbmNyZWFzZSBvdXIgcG93ZXIuDQoNClRoZSBmb3VyLXdheSBpbnRlcmFjdGlvbiBlZmZlY3Qgc2l6ZSBpcyBldGFeMl49YHIgRWAuIERlZ3JlZXMgb2YgZnJlZWRvbSBmb3IgdGhlIHBvd2VyIGNhbGN1bGF0aW9uIGlzIGRmPTEuIA0KDQoNCg0KDQojIFJlc2lkdWFsIEFuYWx5c2lzDQoNCkFyZSB5b3VyIGFzc3VtcHRpb25zIG1ldD8gVXNlIHRoZSBwbG90cyB0byBzdXBwb3J0IHlvdXIgYXJndW1lbnQuDQpUaGUgYXNzdW1wdGlvbnMgb2Ygbm9ybWFsaXR5IGFuZCBlcXVhbCB2YXJpYW5jZXMgYXJlIG1ldC4gVGhlIGhpc3RvZ3JhbSBzaG93cyBhbiBhcHByb3hpbWF0ZSBiZWxsIHNoYXBlZCBjdXJ2ZSwgaW5kaWNhdGluZyBub3JtYWxpdHkuIFRoZSB2ZXJzdXMgZml0IHBsb3QgZGlzcGxheXMgYW4gZXZlbiBzcHJlYWQgYmV0d2VlbiBibG9ja3MgYW5kIHNob3dzIG5vIHBhdHRlcm5zLCBpbmRpY2F0aW5nIGVxdWFsIHZhcmlhbmNlcy4NCg0KYGBge3IgYXNzdW1wdGlvbnN9DQoNCmhpc3QobW9kZWwkcmVzaWR1YWxzLCBtYWluPSJSZXNpZHVhbCBIaXN0b2dyYW0iKQ0KDQpkZXNpZ24kQmxvY2sgPC0gZmFjdG9yKGRlc2lnbiRCbG9jaykNCnBsb3QoDQogIGRlc2lnbiRHbG9iYWxSdW4sDQogIG1vZGVsJHJlc2lkdWFscywNCiAgY29sID0gYXMubnVtZXJpYyhkZXNpZ24kQmxvY2spLA0KICBwY2ggPSAxOSwNCiAgeGxhYiA9ICJSdW4gT3JkZXIiLA0KICB5bGFiID0gIlJlc2lkdWFscyIsDQogIG1haW4gPSAiUmVzaWR1YWxzIHZzIFJ1biBPcmRlciAoQ29sb3JlZCBieSBCbG9jaykiDQopDQphYmxpbmUoaCA9IDAsIGx0eSA9IDIpDQoNCmBgYA0KDQoNCg0KIyBGYWN0b3JpYWwgUmVndWxhcml0aWVzDQoNCkRvIHRoZSByZXN1bHRzIG9mIHlvdXIgZmFjdG9yaWFsIGV4cGVyaW1lbnQgZGlzcGxheSBzcGFyc2l0eSwgaGVyZWRpdHksIGFuZCBoaWVyYXJjaHk/IFN1cHBvcnQgeW91ciBhbnN3ZXIgd2l0aCB5b3VyIHJlc3VsdHMuDQoNClRoZSByZXN1bHRzIG9mIG91ciBmYWN0b3JpYWwgZXhwZXJpbWVudCBkZW1vbnN0cmF0ZXMgc3BhcnNpdHkuIE9ubHkgNSBlZmZlY3RzIGFyZSBzaWduaWZpY2FudCBvdXQgb2YgMTUsIG1lYW5pbmcgb25seSAzMyBwZXJjZW50IGFyZSBhY3R1YWxseSBzaWduaWZpY2FudC4gVGhpcyBleHBlcmltZW50IGFsc28gc2hvd3MgaGVyZWRpdHkuIEFsbCBvZiB0aGUgc2lnbmlmaWNhbnQgaW50ZXJhY3Rpb25zIGluY2x1ZGUgb25lIHBhcmVudCBmYWN0b3IgdGhhdCBpcyBzaWduaWZpY2FudC4gVGhlIHBhcmVudCBmYWN0b3IgImZvcm1hdCIgaXMgaGlnaGx5IHNpZ25pZmljYW50IGFuZCBzZWVuIGluIGV2ZXJ5IHNpZ25pZmljYW50IGludGVyYWN0aW9uLiBUaGVyZSBpcyBhIHdlYWsgaW5kaWNhdGlvbiBvZiBoaWVyYXJjaHkgaW4gdGhpcyBkZXNpZ24uIFRoZSBoaWVyYXJjaHkgcHJpbmNpcGxlIHN0YXRlcyB0aGF0IG1haW4gZWZmZWN0cyB0ZW5kIHRvIGJlIGxhcmdlciB0aGFuIHR3by13YXkgaW50ZXJhY3Rpb25zLCB0d28td2F5IGludGVyYWN0aW9ucyB0ZW5kIHRvIGJlIGxhcmdlciB0aGFuIHRocmVlLXdheSBpbnRlcmFjdGlvbnMsIGFuZCBzbyBvbi4gSW4gdGhpcyBkZXNpZ24sIDIgbWFpbiBlZmZlY3RzIHdlcmUgc2lnbmlmaWNhbnQsIDIgdHdvLXdheSBpbnRlcmFjdGlvbnMgd2VyZSBzaWduaWZpY2FudCwgYW5kIDEgdGhyZWUtd2F5IGludGVyYWN0aW9uIHdhcyBzaWduaWZpY2FudC4gV2hpbGUgdGhpcyBpcyBub3QgYSBodWdlIGRldmlhdGlvbiBmcm9tIHRoZSBwcmluY2lwbGUsIGl0IGlzIHdvcnRoIG5vdGluZy4gVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB0byByZWNvZ25pemUgYmVjYXVzZSB0d28gbWFpbiBlZmZlY3RzIGFyZSBub3Qgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudC4gDQoNCg0KDQojIExpbWl0YXRpb25zICYgV2hhdCBZb3XigJlkIERvIE5leHQNCg0KRGlzY3VzcyBpc3N1ZXMgeW91IHNlZSB3aXRoIHRoaXMgZGVzaWduLiBEbyB5b3UgaGF2ZSBpc3N1ZXMgd2l0aCBDb25mb3VuZGluZyBlZmZlY3RzPyBBcmUgdGhlcmUgZGVzaWduIHdlYWtuZXNzZXM/IEdpdmUgZm9sbG93IHVwIGV4cGVyaW1lbnQgaWRlYXMuDQpUaGUgbWFpbiBpc3N1ZSB3ZSBzZWUgd2l0aCB0aGlzIGRlc2lnbiBpcyB0aGUgc21hbGwgc2FtcGxlIHNpemUuIFVzaW5nIEdQb3dlciwgd2UgY2FsY3VsYXRlZCB0aGF0IHdpdGggYSBtZWRpdW0gZWZmZWN0IHNpemUsIGFscGhhPTAuMDUsIGFuZCAwLjgwIHBvd2VyLCB0aGUgc2FtcGxlIHNpemUgbmVlZGVkIHdvdWxkIGJlIDEyOC4gVGhpcyB3b3VsZCBmaXggdGhlIGxvdyBwb3dlciBpc3N1ZSBhbmQgaW5jcmVhc2Ugb3VyIGVmZmVjdCBzaXplLiBXZSBpbnRlbmRlZCB0byBhY2NvdW50IGZvciB0aGUgaXNzdWVzIG9mIGNvbmZvdW5kaW5nIGVmZmVjdHMgYnkgY3JlYXRpbmcgYSBibG9ja2luZyB2YXJpYWJsZS4gVGhpcyB3b3VsZCBhbGxvdyB1cyB0byBkZXRlcm1pbmUgaWYgaXQgd2FzIHRoZSBmYWN0b3JzIHRoYXQgdHJ1bHkgZWZmZWN0ZWQgdGhlIGV4YW0gc2NvcmUgd2l0aG91dCB0aGUgZWZmZWN0IG9mIHRoZSBudWlzYW5jZSB2YXJpYWJsZSAibWFqb3IuIiBJZiB0aGlzIGV4cGVyaW1lbnQgd2FzIGRvbmUgYWdhaW4sIHdlIHN1Z2dlc3QgcmVydW5uaW5nIGl0IHdpdGhvdXQgYSBibG9ja2luZyB2YXJpYWJsZSBhbmQgaW5zdGVhZCBydW5uaW5nIGEgY29tcGxldGVseSByYW5kb21pemVkIGRlc2lnbi4gVGhlIGJsb2NraW5nIHZhcmlhYmxlIHdlIHVzZWQgd2FzIG5vdCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IChwPTAuMjk4OTQpLCBzbyBpdCBpcyB1bm5lY2Vzc2FyeSB0byBjcmVhdGUuIFdpdGggdGhlc2UgaW1wcm92ZW1lbnRzLCB0aGUgZXhwZXJpbWVudGVyIG1heSBiZSBhYmxlIHRvIGZpbmQgdGhlIGZhY3RvcnMgdGhhdCBiZXN0IGltcHJvdmUgc3R1ZGVudCBleGFtIHNjb3JlcyBpbiB0aGUgY291cnNlLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K