Research Question &
Response Variable (Grace Parsons)
The research questions are, how do exam format, practice frequency,
feedback timing, and class time structure affect student performance in
an introductory statistics course, and how do these effects vary among
students in different colleges. The response variable is the student’s
exam grade in the introductory statistics course.
Factors, Levels, and
Design Choice (Kevin Campoverde)
The design used was a blocked full \(2^4\) factorial design with the following
four factors and levels: exam format(standard, modified), practice
frequency(low, high), feedback timing (delayed, immediate), and class
time structure (lecture, interactive). There are two levels of treatment
per factor, producing a total of 16 treatment combinations. Three blocks
are implemented because of concerns surrounding possible differences
among the following colleges; Science and Math, Education, and Arts and
Humanities. Randomization should be executed within each block, giving a
total of 48 experimental runs. A possible restriction could arise from
the difficulty of randomizing every student to the class time structure
factor.
Analysis Results (Kevin
Campoverde)
A blocked \(2^4\) factorial design
was utilized to determine whether exam format, practice frequency,
feedback timing, and class time structure affected student exam grades.
The ANOVA results were statistically significant, \(F(15, 32) = 30.78\), \(p < .001\), indicating a significant
amount of the variation in exam grades was associated with the set of
factorial effects. Significant effects included the following
interactions: Format x Frequency, \(F(1, 32) =
97.48\), \(p < .001\), \(\eta_p^2 \approx .753\); Format x Timing,
\(F(1, 32) = 7.15\), \(p = .012\), \(\eta_p^2 \approx .183\); and Format x
Timing x Structure, \(F(1, 32) =
251.85\), \(p < .001\), \(\eta_p^2 \approx .887\). The interaction
plots showed nonparallel lines, supporting that the effect of one factor
depends on the level of another factor. Main effects were not
interpreted alone due to the significance of the interactions. The
four-way interaction, Format x Frequency x Timing x Structure, was not
statistically significant, \(F(1, 32) =
0.00\), \(p = .991\).



Power (Grace
Parsons)
The post-hoc power for the four-way interaction, using
eta2=0.0020559, (f ≈ 0.0454), df = 1, α = 0.05, and N = 48, was
approximately 0.061 (6.07%), indicating very low power to detect this
effect.
Residual Analysis
(Joshua Xavier)
The residual histogram is a bell-shaped distribution centered near
zero, supporting the normality assumption. There is a slight right skew,
but it is not significant and can be ignored. The residuals vs. run
order plot shows no funnel or fan shape distribution. Points are
scattered randomly above and below zero throughout the entire graph. The
spread is roughly consistent for all three blocks (black = Block 1, red
= Block 2, green = Block 3), with no block sitting noticeably above or
below the zero line, supporting assumptions of homoscedasticity. There
are a couple of points near ±6 but no extreme outliers. Based on the
analysis of the residual plots, the assumptions of normality and
homoscedasticity are met.


Factorial Regularities
(Grace Parsons)
The results display sparsity because only a small number of effects
are statistically significant compared to the total number of possible
effects in the 2^4 factorial. Most of the higher-order interactions are
not significant, but a few effects, including exam format, practice
frequency, exam format x practice frequency, and exam format x feedback
timing x class time structure, were found to be significant. The
hereditary principle is partially supported. The significantly higher
order interaction, exam format x feedback timing x class time structure
(\(p\) = 2.2 \(\times\) 10-16) involves factors
that also show an effect at lower levels. Exam format has a strong main
effect (\(p\) = 3.217 \(\times\) 10-9), and feedback
timing and class time structure appear in lower-order interactions, even
though they are not significant. This suggests that the important
higher-order effect is built from factors that show some influence
individually, or in smaller combinations, which is consistent with the
heredity principle. The results from the ANOVA follow hierarchy because
the strongest effects appear at lower orders and immediate orders, such
as exam format, practice frequency, exam format x practice frequency,
while the higher order interactions are less common and more selective.
However, the exam format x feedback timing x class time structure
interaction is extremely strong (\(p\)
= 2.2 \(\times\) 10-16),
which shows that hierarchy is not extremely strict in this system.
Overall, the experiment demonstrates clear sparsity, partial heredity,
and mostly follows hierarchy, with one higher-order interaction breaking
the strict hierarchy.
Limitations & What
You’d Do Next (Joshua Xavier)
This design only tests each factor at two levels (High/Low), so it
can only detect linear effects. Any curvature in the relationship
between a factor and exam performance would go undetected.
The blocking assumes treatment effects are the same across all three
colleges. If exam format affects science students differently from
humanities students, that difference gets added to the error. A
follow-up experiment that includes college as a factor with interaction
terms would let us test if this is true or not. H0: Exam format affects
all students equally Ha: Exam format affects students differently
depending on the college they are a part of If the interaction between
the college a student is in and the exam format is significant, we
reject the null hypothesis and conclude that exam format affects
students differently depending on college.
Since this is a full 24 factorial, there is no
confounding, but a follow-up screening experiment using a fractional
factorial would introduce aliasing. The fraction would need to be chosen
carefully to avoid aliasing two-factor interactions with main effects,
since those are most likely to be active based on the heredity
principle.
The ExamFormatPracticeFrequencyClassTimeStructure three-way
interaction term (effect = -10) and the ExamFormat*PracticeFrequency
two-way interaction terms have the largest effect in the model, but it
is difficult to interpret and act on. A new model with all factors and
interaction terms would be a good next step to confirm relationships or
possibly build a reduced model
LS0tDQp0aXRsZTogIlNUQTMyMCBGaW5hbCBFeGFtIFRlYW0gNCINCmF1dGhvcjogIiBLZXZpbiBDYW1wb3ZlcmRlLCBHcmFjZSBQYXJzb25zLCBKb3NodWEgWGF2aWVyIg0KZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50OiANCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogNA0KICAgIHRvY19mbG9hdDogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMNCiAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMNCiAgICB0aGVtZTogbHVtZW4NCiAgcGRmX2RvY3VtZW50OiANCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogNA0KICAgIGZpZ19jYXB0aW9uOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIGZpZ193aWR0aDogMw0KICAgIGZpZ19oZWlnaHQ6IDMNCiAgd29yZF9kb2N1bWVudDogDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6IDQNCiAgICBmaWdfY2FwdGlvbjogeWVzDQogICAga2VlcF9tZDogeWVzDQplZGl0b3Jfb3B0aW9uczogDQogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUNCi0tLQ0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQojVE9DOjpiZWZvcmUgew0KICBjb250ZW50OiAiVGFibGUgb2YgQ29udGVudHMiOw0KICBmb250LXdlaWdodDogYm9sZDsNCiAgZm9udC1zaXplOiAxLjJlbTsNCiAgZGlzcGxheTogYmxvY2s7DQogIGNvbG9yOiBuYXZ5Ow0KICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KfQ0KDQoNCmRpdiNUT0MgbGkgeyAgICAgLyogdGFibGUgb2YgY29udGVudCAgKi8NCiAgICBsaXN0LXN0eWxlOnVwcGVyLXJvbWFuOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6bm9uZTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpub25lOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246MDsNCn0NCg0KaDEudGl0bGUgeyAgICAvKiBsZXZlbCAxIGhlYWRlciBvZiB0aXRsZSAgKi8NCiAgZm9udC1zaXplOiAyMnB4Ow0KICBmb250LXdlaWdodDogYm9sZDsNCiAgY29sb3I6IERhcmtSZWQ7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgZm9udC1mYW1pbHk6ICJHaWxsIFNhbnMiLCBzYW5zLXNlcmlmOw0KfQ0KDQpoNC5hdXRob3IgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLw0KICBmb250LXNpemU6IDE1cHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmb250LWZhbWlseTogc3lzdGVtLXVpOw0KICBjb2xvcjogbmF2eTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQpoNC5kYXRlIHsgLyogSGVhZGVyIDQgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8NCiAgZm9udC1zaXplOiAxOHB4Ow0KICBmb250LXdlaWdodDogYm9sZDsNCiAgZm9udC1mYW1pbHk6ICJHaWxsIFNhbnMiLCBzYW5zLXNlcmlmOw0KICBjb2xvcjogRGFya0JsdWU7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KaDEgeyAvKiBIZWFkZXIgMSAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgICBjb2xvcjogZGFya3JlZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQpoMiB7IC8qIEhlYWRlciAyIC0gYW5kIHRoZSBhdXRob3IgYW5kIGRhdGEgaGVhZGVycyB1c2UgdGhpcyB0b28gICovDQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICAgIGNvbG9yOiBuYXZ5Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQoNCmgzIHsgLyogSGVhZGVyIDMgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8NCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogICAgY29sb3I6IG5hdnk7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KaDQgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogICAgY29sb3I6IGRhcmtyZWQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KLyogQWRkIGRvdHMgYWZ0ZXIgbnVtYmVyZWQgaGVhZGVycyAqLw0KLmhlYWRlci1zZWN0aW9uLW51bWJlcjo6YWZ0ZXIgew0KICBjb250ZW50OiAiLiI7DQoNCmJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyB9DQoNCi5oaWdobGlnaHRtZSB7IGJhY2tncm91bmQtY29sb3I6eWVsbG93OyB9DQoNCnAgeyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyB9DQoNCn0NCmBgYA0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGLCBjb21tZW50PU5BLCB3YXJuaW5nPUYpDQoNCiMgU2V0dXAgYW5kIERlc2lnbiBEZWZpbml0aW9uDQoNCiMgTG9hZCByZXF1aXJlZCBsaWJyYXJpZXMNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShlZmZlY3RzKSAgICAjIEZvciBpbnRlcmFjdGlvbiBwbG90cw0KbGlicmFyeShzYXNMTSkNCmxpYnJhcnkoRnJGMikNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGVmZmVjdHNpemUpDQpsaWJyYXJ5KGthYmxlRXh0cmEpDQoNCnNldC5zZWVkKDEyMjIyMykgIyBSZXByb2R1Y2liaWxpdHkNCmBgYA0KDQoNCg0KIyBSZXNlYXJjaCBRdWVzdGlvbiAmIFJlc3BvbnNlIFZhcmlhYmxlIChHcmFjZSBQYXJzb25zKQ0KDQpUaGUgcmVzZWFyY2ggcXVlc3Rpb25zIGFyZSwgaG93IGRvIGV4YW0gZm9ybWF0LCBwcmFjdGljZSBmcmVxdWVuY3ksIGZlZWRiYWNrIHRpbWluZywgYW5kIGNsYXNzIHRpbWUgc3RydWN0dXJlIGFmZmVjdCBzdHVkZW50IHBlcmZvcm1hbmNlIGluIGFuIGludHJvZHVjdG9yeSBzdGF0aXN0aWNzIGNvdXJzZSwgYW5kIGhvdyBkbyB0aGVzZSBlZmZlY3RzIHZhcnkgYW1vbmcgc3R1ZGVudHMgaW4gZGlmZmVyZW50IGNvbGxlZ2VzLiBUaGUgcmVzcG9uc2UgdmFyaWFibGUgaXMgdGhlIHN0dWRlbnTigJlzIGV4YW0gZ3JhZGUgaW4gdGhlIGludHJvZHVjdG9yeSBzdGF0aXN0aWNzIGNvdXJzZS4NCg0KDQojIEZhY3RvcnMsIExldmVscywgYW5kIERlc2lnbiBDaG9pY2UgKEtldmluIENhbXBvdmVyZGUpDQoNClRoZSBkZXNpZ24gdXNlZCB3YXMgYSBibG9ja2VkIGZ1bGwgJDJeNCQgZmFjdG9yaWFsIGRlc2lnbiB3aXRoIHRoZSBmb2xsb3dpbmcgZm91ciBmYWN0b3JzIGFuZCBsZXZlbHM6IGV4YW0gZm9ybWF0KHN0YW5kYXJkLCBtb2RpZmllZCksIHByYWN0aWNlIGZyZXF1ZW5jeShsb3csIGhpZ2gpLCBmZWVkYmFjayB0aW1pbmcgKGRlbGF5ZWQsIGltbWVkaWF0ZSksIGFuZCBjbGFzcyB0aW1lIHN0cnVjdHVyZSAobGVjdHVyZSwgaW50ZXJhY3RpdmUpLiBUaGVyZSBhcmUgdHdvIGxldmVscyBvZiB0cmVhdG1lbnQgcGVyIGZhY3RvciwgcHJvZHVjaW5nIGEgdG90YWwgb2YgMTYgdHJlYXRtZW50IGNvbWJpbmF0aW9ucy4gVGhyZWUgYmxvY2tzIGFyZSBpbXBsZW1lbnRlZCBiZWNhdXNlIG9mIGNvbmNlcm5zIHN1cnJvdW5kaW5nIHBvc3NpYmxlIGRpZmZlcmVuY2VzIGFtb25nIHRoZSBmb2xsb3dpbmcgY29sbGVnZXM7IFNjaWVuY2UgYW5kIE1hdGgsIEVkdWNhdGlvbiwgYW5kIEFydHMgYW5kIEh1bWFuaXRpZXMuIFJhbmRvbWl6YXRpb24gc2hvdWxkIGJlIGV4ZWN1dGVkIHdpdGhpbiBlYWNoIGJsb2NrLCBnaXZpbmcgYSB0b3RhbCBvZiA0OCBleHBlcmltZW50YWwgcnVucy4gQSBwb3NzaWJsZSByZXN0cmljdGlvbiBjb3VsZCBhcmlzZSBmcm9tIHRoZSBkaWZmaWN1bHR5IG9mIHJhbmRvbWl6aW5nIGV2ZXJ5IHN0dWRlbnQgdG8gdGhlIGNsYXNzIHRpbWUgc3RydWN0dXJlIGZhY3Rvci4NCiANCg0KYGBge3IgZGVzaWduLCBpbmNsdWRlPUZ9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBEZWZpbmUgRmFjdG9ycyBhbmQgTGV2ZWxzDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KIyBFeGFtcGxlOiAyXjQgZmFjdG9yaWFsIHdpdGggb3B0aW9uYWwgYmxvY2tpbmcNCg0KYmFzZV9kZXNpZ24gPC0gZXhwYW5kLmdyaWQoDQogIEV4YW1Gb3JtYXQgPSBjKCJMb3ciLCAiSGlnaCIpLA0KICBQcmFjdGljZUZyZXF1ZW5jeSA9IGMoIkxvdyIsICJIaWdoIiksDQogIEZlZWRiYWNrVGltaW5nID0gYygiTG93IiwgIkhpZ2giKSwNCiAgQ2xhc3NUaW1lU3RydWN0dXJlID0gYygiTG93IiwgIkhpZ2giKQ0KKQ0KDQojQ3JlYXRlIGJsb2NraW5nIHZhcmlhYmxlIG9uIHJlcGxpY2F0aW9uDQoNCmRlc2lnbiA8LSBiYXNlX2Rlc2lnbltyZXAoMTpucm93KGJhc2VfZGVzaWduKSwgdGltZXMgPSAzKSwgXQ0KDQpkZXNpZ24kQmxvY2sgPC0gcmVwKHBhc3RlMCgiQmxvY2siLCAxOjMpLCBlYWNoID0gbnJvdyhiYXNlX2Rlc2lnbikpDQoNCiNyYW5kb21pemF0aW9uIHdpdGhpbiBibG9jaw0KDQpkZXNpZ24gPC0gZGVzaWduICU+JQ0KICBncm91cF9ieShCbG9jaykgJT4lDQogIG11dGF0ZShSdW5PcmRlciA9IHNhbXBsZSgxOm4oKSkpICU+JQ0KICB1bmdyb3VwKCkNCg0KZGVzaWduIDwtIGRlc2lnbiAlPiUNCiAgYXJyYW5nZShCbG9jaywgUnVuT3JkZXIpICU+JQ0KICBtdXRhdGUoR2xvYmFsUnVuID0gcm93X251bWJlcigpKQ0KDQpkZXNpZ24gJT4lDQogIGtibChjYXB0aW9uPSIyXjQgVW5yZXBsaWNhdGVkIEZhY3RvcmlhbC1SYW5kb21pemF0aW9uIFNjaGVkdWxlIiwgYWxpZ249ImMiKSAlPiUNCiAga2FibGVfY2xhc3NpYyhmdWxsX3dpZHRoPUYpICU+JQ0KICBjb2x1bW5fc3BlYyg1LCB3aWR0aD0iM2NtIikNCmBgYA0KDQoNCmBgYCB7ciBzaW11bGF0aW9uIGRhdGEsIGluY2x1ZGU9Rn0NCg0KIyBTaW11bGF0ZSBSZXNwb25zZSBEYXRhDQojIERlZmluZSB0cnVlIGVmZmVjdHMNCm11ID0gNjQNCmVmZmVjdF9BID0gNQ0KZWZmZWN0X0IgPSAtMw0KZWZmZWN0X0MgPSAwDQplZmZlY3RfRCA9IC0xDQppbnRlcmFjdGlvbl9BQiA9IDYNCmludGVyYWN0aW9uX0FDRCA9IC0xMA0KDQojIENvbnZlcnQgZmFjdG9ycyB0byBpbmRpY2F0b3JzDQpzaW1fZGF0YSA9IGRlc2lnbiAlPiUNCiAgbXV0YXRlKA0KICAgIEEgPSBpZmVsc2UoRXhhbUZvcm1hdCA9PSAiSGlnaCIsIDEsIC0xKSwNCiAgICBCID0gaWZlbHNlKFByYWN0aWNlRnJlcXVlbmN5ID09ICJIaWdoIiwgMSwgLTEpLA0KICAgIEMgPSBpZmVsc2UoRmVlZGJhY2tUaW1pbmcgPT0gIkhpZ2giLCAxLCAtMSksDQogICAgRCA9IGlmZWxzZShDbGFzc1RpbWVTdHJ1Y3R1cmUgPT0gIkhpZ2giLCAxLCAtMSkgICANCiAgKQ0KDQojIEdlbmVyYXRlIHJlc3BvbnNlDQpzaW1fZGF0YSRyZXNwb25zZSA9IG11ICsNCiAgZWZmZWN0X0EgKiBzaW1fZGF0YSRBICsNCiAgZWZmZWN0X0IgKiBzaW1fZGF0YSRCICsNCiAgZWZmZWN0X0MgKiBzaW1fZGF0YSRDICsNCiAgZWZmZWN0X0QgKiBzaW1fZGF0YSREICsgDQogIGludGVyYWN0aW9uX0FCICogc2ltX2RhdGEkQSAqIHNpbV9kYXRhJEIgKw0KICBpbnRlcmFjdGlvbl9BQ0QgKiBzaW1fZGF0YSRBICogc2ltX2RhdGEkQyAqIHNpbV9kYXRhJEQgKw0KICBybm9ybShucm93KHNpbV9kYXRhKSwgbWVhbiA9IDAsIHNkID0gNSkNCg0KYGBgDQoNCg0KIyBBbmFseXNpcyBSZXN1bHRzIChLZXZpbiBDYW1wb3ZlcmRlKQ0KDQpBIGJsb2NrZWQgJDJeNCQgZmFjdG9yaWFsIGRlc2lnbiB3YXMgdXRpbGl6ZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgZXhhbSBmb3JtYXQsIHByYWN0aWNlIGZyZXF1ZW5jeSwgZmVlZGJhY2sgdGltaW5nLCBhbmQgY2xhc3MgdGltZSBzdHJ1Y3R1cmUgYWZmZWN0ZWQgc3R1ZGVudCBleGFtIGdyYWRlcy4gVGhlIEFOT1ZBIHJlc3VsdHMgd2VyZSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LCAkRigxNSwgMzIpID0gMzAuNzgkLCAkcCA8IC4wMDEkLCBpbmRpY2F0aW5nIGEgc2lnbmlmaWNhbnQgYW1vdW50IG9mIHRoZSB2YXJpYXRpb24gaW4gZXhhbSBncmFkZXMgd2FzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2V0IG9mIGZhY3RvcmlhbCBlZmZlY3RzLiBTaWduaWZpY2FudCBlZmZlY3RzIGluY2x1ZGVkIHRoZSBmb2xsb3dpbmcgaW50ZXJhY3Rpb25zOiBGb3JtYXQgeCBGcmVxdWVuY3ksICRGKDEsIDMyKSA9IDk3LjQ4JCwgJHAgPCAuMDAxJCwgJFxldGFfcF4yIFxhcHByb3ggLjc1MyQ7IEZvcm1hdCB4IFRpbWluZywgJEYoMSwgMzIpID0gNy4xNSQsICRwID0gLjAxMiQsICRcZXRhX3BeMiBcYXBwcm94IC4xODMkOyBhbmQgRm9ybWF0IHggVGltaW5nIHggU3RydWN0dXJlLCAkRigxLCAzMikgPSAyNTEuODUkLCAkcCA8IC4wMDEkLCAkXGV0YV9wXjIgXGFwcHJveCAuODg3JC4gVGhlIGludGVyYWN0aW9uIHBsb3RzIHNob3dlZCBub25wYXJhbGxlbCBsaW5lcywgc3VwcG9ydGluZyB0aGF0IHRoZSBlZmZlY3Qgb2Ygb25lIGZhY3RvciBkZXBlbmRzIG9uIHRoZSBsZXZlbCBvZiBhbm90aGVyIGZhY3Rvci4gTWFpbiBlZmZlY3RzIHdlcmUgbm90IGludGVycHJldGVkIGFsb25lIGR1ZSB0byB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoZSBpbnRlcmFjdGlvbnMuIFRoZSBmb3VyLXdheSBpbnRlcmFjdGlvbiwgRm9ybWF0IHggRnJlcXVlbmN5IHggVGltaW5nIHggU3RydWN0dXJlLCB3YXMgbm90IHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQsICRGKDEsIDMyKSA9IDAuMDAkLCAkcCA9IC45OTEkLg0KDQoNCmBgYHtyIEFOT1ZBLCBpbmNsdWRlPUZ9DQoNCiMgRmFjdG9yaWFsIEFOT1ZBIA0KYW92MShyZXNwb25zZSB+IEV4YW1Gb3JtYXQgKiBQcmFjdGljZUZyZXF1ZW5jeSAqIEZlZWRiYWNrVGltaW5nICogQ2xhc3NUaW1lU3RydWN0dXJlLCBzaW1fZGF0YSkNCg0KbW9kZWw9bG0ocmVzcG9uc2UgfiBFeGFtRm9ybWF0ICogUHJhY3RpY2VGcmVxdWVuY3kgKiBGZWVkYmFja1RpbWluZyAqIENsYXNzVGltZVN0cnVjdHVyZSwgZGF0YT1zaW1fZGF0YSkNCmFvdj1hb3YobW9kZWwpDQoNCmBgYA0KDQoNCmBgYHtyIHBsb3RzLCBpbmNsdWRlPVR9DQoNCiMgSW50ZXJhY3Rpb24gUGxvdHMNCg0KcGFyKG1mcm93PWMoMSwyKSkNCg0KIyBCYXNlIFIgaW50ZXJhY3Rpb24gcGxvdA0KI0FCDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJEV4YW1Gb3JtYXQsDQogIHRyYWNlLmZhY3RvciA9IHNpbV9kYXRhJFByYWN0aWNlRnJlcXVlbmN5LA0KICByZXNwb25zZSA9IHNpbV9kYXRhJHJlc3BvbnNlLA0KICBtYWluID0gIkV4YW0gRm9ybWF0IMOXIFByYWN0aWNlIEZyZXF1ZW5jeSIsIGNleC5tYWluPTAuOCwNCiAgdHlwZSA9ICJiIiwNCiAgY29sID0gYygiYmx1ZSIsICJyZWQiKSwNCiAgcGNoID0gYygxOSwgMTcpDQopDQojQUMNCmludGVyYWN0aW9uLnBsb3QoDQogIHguZmFjdG9yID0gc2ltX2RhdGEkRXhhbUZvcm1hdCwNCiAgdHJhY2UuZmFjdG9yID0gc2ltX2RhdGEkRmVlZGJhY2tUaW1pbmcsDQogIHJlc3BvbnNlID0gc2ltX2RhdGEkcmVzcG9uc2UsDQogICAgbWFpbiA9ICJFeGFtIEZvcm1hdCDDlyBGZWVkYmFjayBUaW1pbmciLCBjZXgubWFpbj0wLjgsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KI0FEDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJEV4YW1Gb3JtYXQsDQogIHRyYWNlLmZhY3RvciA9IHNpbV9kYXRhJENsYXNzVGltZVN0cnVjdHVyZSwNCiAgcmVzcG9uc2UgPSBzaW1fZGF0YSRyZXNwb25zZSwNCiAgICBtYWluID0gIkV4YW0gRm9ybWF0IMOXIENsYXNzIFRpbWUgU3RydWN0dXJlIixjZXgubWFpbj0wLjgsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KDQojQkMNCmludGVyYWN0aW9uLnBsb3QoDQogIHguZmFjdG9yID0gc2ltX2RhdGEkUHJhY3RpY2VGcmVxdWVuY3ksDQogIHRyYWNlLmZhY3RvciA9IHNpbV9kYXRhJEZlZWRiYWNrVGltaW5nLA0KICByZXNwb25zZSA9IHNpbV9kYXRhJHJlc3BvbnNlLA0KICAgIG1haW4gPSAiUHJhY3RpY2UgRnJlcXVlbmN5IMOXIEZlZWRiYWNrIFRpbWluZyIsY2V4Lm1haW49MC44LA0KICB0eXBlID0gImIiLA0KICBjb2wgPSBjKCJibHVlIiwgInJlZCIpLA0KICBwY2ggPSBjKDE5LCAxNykNCikNCg0KI0JEDQppbnRlcmFjdGlvbi5wbG90KA0KICB4LmZhY3RvciA9IHNpbV9kYXRhJFByYWN0aWNlRnJlcXVlbmN5LA0KICB0cmFjZS5mYWN0b3IgPSBzaW1fZGF0YSRDbGFzc1RpbWVTdHJ1Y3R1cmUsDQogIHJlc3BvbnNlID0gc2ltX2RhdGEkcmVzcG9uc2UsDQogICAgbWFpbiA9ICJQcmFjdGljZSBGcmVxdWVuY3kgw5cgQ2xhc3MgVGltZSBTdHJ1Y3R1cmUiLGNleC5tYWluPTAuOCwNCiAgdHlwZSA9ICJiIiwNCiAgY29sID0gYygiYmx1ZSIsICJyZWQiKSwNCiAgcGNoID0gYygxOSwgMTcpDQopDQoNCiNDRA0KaW50ZXJhY3Rpb24ucGxvdCgNCiAgeC5mYWN0b3IgPSBzaW1fZGF0YSRGZWVkYmFja1RpbWluZywNCiAgdHJhY2UuZmFjdG9yID0gc2ltX2RhdGEkQ2xhc3NUaW1lU3RydWN0dXJlLA0KICByZXNwb25zZSA9IHNpbV9kYXRhJHJlc3BvbnNlLA0KICAgIG1haW4gPSAiRmVlZGJhY2sgVGltaW5nIMOXIENsYXNzIFRpbWUgU3RydWN0dXJlIixjZXgubWFpbj0wLjgsDQogIHR5cGUgPSAiYiIsDQogIGNvbCA9IGMoImJsdWUiLCAicmVkIiksDQogIHBjaCA9IGMoMTksIDE3KQ0KKQ0KDQpgYGANCg0KDQoNCg0KYGBgIHtyIHBvd2VyfQ0KI0VmZmVjdCBzaXplIGZyb20gQU5PVkEgbmVlZGVkIGZvciBwb3dlcg0KZWZmc2l6ZT1ldGFfc3F1YXJlZChhb3YpDQojZm91ci53YXkuaW50ZXJhY3Rpb24uZWZmZWN0PWVmZnNpemVbMTUsMl0NCiNDb252ZXJ0IGV0YSBzcXVhcmVkIHRvIENvaGVuJ3MgZiBmb3IgcG9zdCBob2MgcG93ZXIgY2FsYw0KZWZmc2l6ZSA9IGV0YV9zcXVhcmVkKGFvdikNCmV0YTJfdmFsID0gZWZmc2l6ZVsxNSwgMl0gICAgICAgICAgICMgZXRhLXNxdWFyZWQgKGZvciBsYWJlbGluZykNCkUgPSBldGEyX3RvX2YoZXRhMl92YWwpICAgICAgICAgICAgICMgQ29oZW4ncyBmIChmb3IgcG93ZXIgY2FsYykNCg0KYGBgDQojIFBvd2VyIChHcmFjZSBQYXJzb25zKQ0KDQpUaGUgcG9zdC1ob2MgcG93ZXIgZm9yIHRoZSBmb3VyLXdheSBpbnRlcmFjdGlvbiwgdXNpbmcgZXRhMj0wLjAwMjA1NTksIChmIOKJiCAwLjA0NTQpLCBkZiA9IDEsIM6xID0gMC4wNSwgYW5kIE4gPSA0OCwgd2FzIGFwcHJveGltYXRlbHkgMC4wNjEgKDYuMDclKSwgaW5kaWNhdGluZyB2ZXJ5IGxvdyBwb3dlciB0byBkZXRlY3QgdGhpcyBlZmZlY3QuIA0KDQoNCg0KDQoNCiMgUmVzaWR1YWwgQW5hbHlzaXMgKEpvc2h1YSBYYXZpZXIpDQoNClRoZSByZXNpZHVhbCBoaXN0b2dyYW0gaXMgYSBiZWxsLXNoYXBlZCBkaXN0cmlidXRpb24gY2VudGVyZWQgbmVhciB6ZXJvLCBzdXBwb3J0aW5nIHRoZSBub3JtYWxpdHkgYXNzdW1wdGlvbi4gVGhlcmUgaXMgYSBzbGlnaHQgcmlnaHQgc2tldywgYnV0IGl0IGlzIG5vdCBzaWduaWZpY2FudCBhbmQgY2FuIGJlIGlnbm9yZWQuIA0KVGhlIHJlc2lkdWFscyB2cy4gcnVuIG9yZGVyIHBsb3Qgc2hvd3Mgbm8gZnVubmVsIG9yIGZhbiBzaGFwZSBkaXN0cmlidXRpb24uIFBvaW50cyBhcmUgc2NhdHRlcmVkIHJhbmRvbWx5IGFib3ZlIGFuZCBiZWxvdyB6ZXJvIHRocm91Z2hvdXQgdGhlIGVudGlyZSBncmFwaC4gVGhlIHNwcmVhZCBpcyByb3VnaGx5IGNvbnNpc3RlbnQgZm9yIGFsbCB0aHJlZSBibG9ja3MgKGJsYWNrID0gQmxvY2sgMSwgcmVkID0gQmxvY2sgMiwgZ3JlZW4gPSBCbG9jayAzKSwgd2l0aCBubyBibG9jayBzaXR0aW5nIG5vdGljZWFibHkgYWJvdmUgb3IgYmVsb3cgdGhlIHplcm8gbGluZSwgc3VwcG9ydGluZyBhc3N1bXB0aW9ucyBvZiBob21vc2NlZGFzdGljaXR5LiBUaGVyZSBhcmUgYSBjb3VwbGUgb2YgcG9pbnRzIG5lYXIgwrE2IGJ1dCBubyBleHRyZW1lIG91dGxpZXJzLiBCYXNlZCBvbiB0aGUgYW5hbHlzaXMgb2YgdGhlIHJlc2lkdWFsIHBsb3RzLCB0aGUgYXNzdW1wdGlvbnMgb2Ygbm9ybWFsaXR5IGFuZCBob21vc2NlZGFzdGljaXR5IGFyZSBtZXQuDQoNCg0KYGBge3IgYXNzdW1wdGlvbnN9DQoNCmhpc3QobW9kZWwkcmVzaWR1YWxzLCBtYWluPSJSZXNpZHVhbCBIaXN0b2dyYW0iKQ0KDQpkZXNpZ24kQmxvY2sgPC0gZmFjdG9yKGRlc2lnbiRCbG9jaykNCnBsb3QoDQogIGRlc2lnbiRHbG9iYWxSdW4sDQogIG1vZGVsJHJlc2lkdWFscywNCiAgY29sID0gYXMubnVtZXJpYyhkZXNpZ24kQmxvY2spLA0KICBwY2ggPSAxOSwNCiAgeGxhYiA9ICJSdW4gT3JkZXIiLA0KICB5bGFiID0gIlJlc2lkdWFscyIsDQogIG1haW4gPSAiUmVzaWR1YWxzIHZzIFJ1biBPcmRlciAoQ29sb3JlZCBieSBCbG9jaykiDQopDQphYmxpbmUoaCA9IDAsIGx0eSA9IDIpDQoNCmBgYA0KDQoNCg0KIyBGYWN0b3JpYWwgUmVndWxhcml0aWVzIChHcmFjZSBQYXJzb25zKQ0KDQpUaGUgcmVzdWx0cyBkaXNwbGF5IHNwYXJzaXR5IGJlY2F1c2Ugb25seSBhIHNtYWxsIG51bWJlciBvZiBlZmZlY3RzIGFyZSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IGNvbXBhcmVkIHRvIHRoZSB0b3RhbCBudW1iZXIgb2YgcG9zc2libGUgZWZmZWN0cyBpbiB0aGUgMl40IGZhY3RvcmlhbC4gTW9zdCBvZiB0aGUgaGlnaGVyLW9yZGVyIGludGVyYWN0aW9ucyBhcmUgbm90IHNpZ25pZmljYW50LCBidXQgYSBmZXcgZWZmZWN0cywgaW5jbHVkaW5nIGV4YW0gZm9ybWF0LCBwcmFjdGljZSBmcmVxdWVuY3ksIGV4YW0gZm9ybWF0IHggcHJhY3RpY2UgZnJlcXVlbmN5LCBhbmQgZXhhbSBmb3JtYXQgeCBmZWVkYmFjayB0aW1pbmcgeCBjbGFzcyB0aW1lIHN0cnVjdHVyZSwgd2VyZSBmb3VuZCB0byBiZSBzaWduaWZpY2FudC4NClRoZSBoZXJlZGl0YXJ5IHByaW5jaXBsZSBpcyBwYXJ0aWFsbHkgc3VwcG9ydGVkLiBUaGUgc2lnbmlmaWNhbnRseSBoaWdoZXIgb3JkZXIgaW50ZXJhY3Rpb24sIGV4YW0gZm9ybWF0IHggZmVlZGJhY2sgdGltaW5nIHggY2xhc3MgdGltZSBzdHJ1Y3R1cmUgKCRwJCA9IDIuMiAkXHRpbWVzJCAxMF4tMTZeKSBpbnZvbHZlcyBmYWN0b3JzIHRoYXQgYWxzbyBzaG93IGFuIGVmZmVjdCBhdCBsb3dlciBsZXZlbHMuIEV4YW0gZm9ybWF0IGhhcyBhIHN0cm9uZyBtYWluIGVmZmVjdCAoJHAkID0gMy4yMTcgJFx0aW1lcyQgMTBeLTleKSwgYW5kIGZlZWRiYWNrIHRpbWluZyBhbmQgY2xhc3MgdGltZSBzdHJ1Y3R1cmUgYXBwZWFyIGluIGxvd2VyLW9yZGVyIGludGVyYWN0aW9ucywgZXZlbiB0aG91Z2ggdGhleSBhcmUgbm90IHNpZ25pZmljYW50LiBUaGlzIHN1Z2dlc3RzIHRoYXQgdGhlIGltcG9ydGFudCBoaWdoZXItb3JkZXIgZWZmZWN0IGlzIGJ1aWx0IGZyb20gZmFjdG9ycyB0aGF0IHNob3cgc29tZSBpbmZsdWVuY2UgaW5kaXZpZHVhbGx5LCBvciBpbiBzbWFsbGVyIGNvbWJpbmF0aW9ucywgd2hpY2ggaXMgY29uc2lzdGVudCB3aXRoIHRoZSBoZXJlZGl0eSBwcmluY2lwbGUuDQpUaGUgcmVzdWx0cyBmcm9tIHRoZSBBTk9WQSBmb2xsb3cgaGllcmFyY2h5IGJlY2F1c2UgdGhlIHN0cm9uZ2VzdCBlZmZlY3RzIGFwcGVhciBhdCBsb3dlciBvcmRlcnMgYW5kIGltbWVkaWF0ZSBvcmRlcnMsIHN1Y2ggYXMgZXhhbSBmb3JtYXQsIHByYWN0aWNlIGZyZXF1ZW5jeSwgZXhhbSBmb3JtYXQgeCBwcmFjdGljZSBmcmVxdWVuY3ksIHdoaWxlIHRoZSBoaWdoZXIgb3JkZXIgaW50ZXJhY3Rpb25zIGFyZSBsZXNzIGNvbW1vbiBhbmQgbW9yZSBzZWxlY3RpdmUuICBIb3dldmVyLCB0aGUgZXhhbSBmb3JtYXQgeCBmZWVkYmFjayB0aW1pbmcgeCBjbGFzcyB0aW1lIHN0cnVjdHVyZSBpbnRlcmFjdGlvbiBpcyBleHRyZW1lbHkgc3Ryb25nICgkcCQgPSAyLjIgJFx0aW1lcyQgMTBeLTE2XiksIHdoaWNoIHNob3dzIHRoYXQgaGllcmFyY2h5IGlzIG5vdCBleHRyZW1lbHkgc3RyaWN0IGluIHRoaXMgc3lzdGVtLg0KT3ZlcmFsbCwgdGhlIGV4cGVyaW1lbnQgZGVtb25zdHJhdGVzIGNsZWFyIHNwYXJzaXR5LCBwYXJ0aWFsIGhlcmVkaXR5LCBhbmQgbW9zdGx5IGZvbGxvd3MgaGllcmFyY2h5LCB3aXRoIG9uZSBoaWdoZXItb3JkZXIgaW50ZXJhY3Rpb24gYnJlYWtpbmcgdGhlIHN0cmljdCBoaWVyYXJjaHkuDQoNCg0KDQojIExpbWl0YXRpb25zICYgV2hhdCBZb3XigJlkIERvIE5leHQgKEpvc2h1YSBYYXZpZXIpDQoNClRoaXMgZGVzaWduIG9ubHkgdGVzdHMgZWFjaCBmYWN0b3IgYXQgdHdvIGxldmVscyAoSGlnaC9Mb3cpLCBzbyBpdCBjYW4gb25seSBkZXRlY3QgbGluZWFyIGVmZmVjdHMuIEFueSBjdXJ2YXR1cmUgaW4gdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgZmFjdG9yIGFuZCBleGFtIHBlcmZvcm1hbmNlIHdvdWxkIGdvIHVuZGV0ZWN0ZWQuIA0KDQpUaGUgYmxvY2tpbmcgYXNzdW1lcyB0cmVhdG1lbnQgZWZmZWN0cyBhcmUgdGhlIHNhbWUgYWNyb3NzIGFsbCB0aHJlZSBjb2xsZWdlcy4gSWYgZXhhbSBmb3JtYXQgYWZmZWN0cyBzY2llbmNlIHN0dWRlbnRzIGRpZmZlcmVudGx5IGZyb20gaHVtYW5pdGllcyBzdHVkZW50cywgdGhhdCBkaWZmZXJlbmNlIGdldHMgYWRkZWQgdG8gdGhlIGVycm9yLiBBIGZvbGxvdy11cCBleHBlcmltZW50IHRoYXQgaW5jbHVkZXMgY29sbGVnZSBhcyBhIGZhY3RvciB3aXRoIGludGVyYWN0aW9uIHRlcm1zIHdvdWxkIGxldCB1cyB0ZXN0IGlmIHRoaXMgaXMgdHJ1ZSBvciBub3QuIA0KSDA6IEV4YW0gZm9ybWF0IGFmZmVjdHMgYWxsIHN0dWRlbnRzIGVxdWFsbHkNCkhhOiBFeGFtIGZvcm1hdCBhZmZlY3RzIHN0dWRlbnRzIGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbiB0aGUgY29sbGVnZSB0aGV5IGFyZSBhIHBhcnQgb2YNCklmIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSBjb2xsZWdlIGEgc3R1ZGVudCBpcyBpbiBhbmQgdGhlIGV4YW0gZm9ybWF0IGlzIHNpZ25pZmljYW50LCB3ZSByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcyBhbmQgY29uY2x1ZGUgdGhhdCBleGFtIGZvcm1hdCBhZmZlY3RzIHN0dWRlbnRzIGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbiBjb2xsZWdlLiANCg0KU2luY2UgdGhpcyBpcyBhIGZ1bGwgMl40XiBmYWN0b3JpYWwsIHRoZXJlIGlzIG5vIGNvbmZvdW5kaW5nLCBidXQgYSBmb2xsb3ctdXAgc2NyZWVuaW5nIGV4cGVyaW1lbnQgdXNpbmcgYSBmcmFjdGlvbmFsIGZhY3RvcmlhbCB3b3VsZCBpbnRyb2R1Y2UgYWxpYXNpbmcuIFRoZSBmcmFjdGlvbiB3b3VsZCBuZWVkIHRvIGJlIGNob3NlbiBjYXJlZnVsbHkgdG8gYXZvaWQgYWxpYXNpbmcgdHdvLWZhY3RvciBpbnRlcmFjdGlvbnMgd2l0aCBtYWluIGVmZmVjdHMsIHNpbmNlIHRob3NlIGFyZSBtb3N0IGxpa2VseSB0byBiZSBhY3RpdmUgYmFzZWQgb24gdGhlIGhlcmVkaXR5IHByaW5jaXBsZS4gDQoNClRoZSBFeGFtRm9ybWF0KlByYWN0aWNlRnJlcXVlbmN5KkNsYXNzVGltZVN0cnVjdHVyZSB0aHJlZS13YXkgaW50ZXJhY3Rpb24gdGVybSAoZWZmZWN0ID0gLTEwKSBhbmQgdGhlIEV4YW1Gb3JtYXQqUHJhY3RpY2VGcmVxdWVuY3kgdHdvLXdheSBpbnRlcmFjdGlvbiB0ZXJtcyBoYXZlIHRoZSBsYXJnZXN0IGVmZmVjdCBpbiB0aGUgbW9kZWwsIGJ1dCBpdCBpcyBkaWZmaWN1bHQgdG8gaW50ZXJwcmV0IGFuZCBhY3Qgb24uIEEgbmV3IG1vZGVsIHdpdGggYWxsIGZhY3RvcnMgYW5kIGludGVyYWN0aW9uIHRlcm1zIHdvdWxkIGJlIGEgZ29vZCBuZXh0IHN0ZXAgdG8gY29uZmlybSByZWxhdGlvbnNoaXBzIG9yIHBvc3NpYmx5IGJ1aWxkIGEgcmVkdWNlZCBtb2RlbA0K