Introduction
Introduce the dataset in your own words. Discuss, briefly, the
motivation and curiousity behind your choice of research questions.
Is there more theft happening October through March or April through
September?
Research Summary: To explore this question, we created a
new categorical variable called Monthtype, which grouped months into
“Cold” (October through March) and “Warm” (April through September). We
then filtered the dataset to isolate theft-related incidents and
calculated the total number of thefts during each seasonal period. Using
these values, we compared the proportion of crimes that were classified
as thefts in colder months versus warmer ones
Hypotheses:
Null hypothesis (H₀): The proportion of thefts is the same in
cold and warm months (P₁ = P₂).
Alternative hypothesis (Hₐ): The proportions differ between the
two seasonal groups (P₁ ≠ P₂).
The parameter of interest is the difference in population
proportions of thefts (relative to all crimes) between cold and warm
months.
To visualize this, we created a bar chart displaying theft and
non-theft crime counts across the two Monthtypes. From the graph, we can
see that while both types of crime are more common in warm months
overall, theft specifically makes up a larger proportion of total crimes
during the colder months. This suggests a possible seasonal
trend.
To test whether this difference is statistically significant, we
performed a two-proportion z-test with continuity correction. The
results were striking: the p-value was less than 2.2e-16, and the 95%
confidence interval for the difference in proportions was [0.1768,
0.1906]. The estimated proportion of thefts in cold months was
approximately 0.61, compared to just 0.43 in warm months.
In conclusion, we have extremely strong evidence that theft makes
up a significantly larger share of total crimes in colder months than in
warmer months. Whether it’s due to darker evenings, holiday-related
pressures, or other seasonal factors, theft seems to favor the chill.
This insight adds a valuable seasonal lens to understanding crime
patterns.
Appendix
Put your R code to perform the hypothesis tests here. It must
appear in your report with the output
cor.test(crime ~ median_earn, data = data1)
Pearson's product-moment correlation
data: crime and median_earn
t = -1.2299, df = 74, p-value = 0.2226
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.35563869 0.08669053
sample estimates:
cor
-0.1415312
mymodel <- lm(crime ~ median_earn, data = data1)
summary(mymodel)
Call:
lm(formula = crime ~ median_earn, data = data1)
Residuals:
Min 1Q Median 3Q Max
-70.90 -45.86 -29.39 7.49 317.49
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.026e+02 2.476e+01 4.146 8.9e-05 ***
median_earn -5.410e-04 4.399e-04 -1.230 0.223
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 76.39 on 74 degrees of freedom
Multiple R-squared: 0.02003, Adjusted R-squared: 0.006788
F-statistic: 1.513 on 1 and 74 DF, p-value: 0.2226
theft <- RawData |> select("month", "offense_type_id") |> filter(grepl("theft", offense_type_id)) |> mutate(Monthtype = case_when(month == "Oct" | month == "Nov" |month == "Dec"|month == "Jan"|month == "Feb"|month == "Mar"| month == "Sep" ~ "Cold", .default = "Warm")) |> mutate(Theft = case_when(offense_type_id != "theft" & Monthtype == "Cold" ~"ColdTheft", .default = "WarmTheft"))
crime <- RawData |> select("month", "offense_type_id") |> mutate(Monthtype = case_when(month == "Oct" | month == "Nov" |month == "Dec"|month == "Jan"|month == "Feb"|month == "Mar" ~ "Cold", .default = "Warm"))|> mutate(Crime = case_when(offense_type_id != "notcrime" & Monthtype == "Cold" ~ "Coldcrime", .default = "Warmcrime"))
crimeyn <- RawData |> select("month", "offense_type_id") |> mutate(Monthtype = case_when(month == "Oct" | month == "Nov" |month == "Dec"|month == "Jan"|month == "Feb"|month == "Mar" ~ "Cold", .default = "Warm"))|> mutate(Crime = case_when(offense_type_id == "theft-of-motor-vehicle" | offense_type_id == "theft-items-from-vehicle" | offense_type_id == "theft-parts-from-vehicle" | offense_type_id == "theft-shoplift" | offense_type_id ==
"theft-from-bldg" | offense_type_id ==
"theft-other" | offense_type_id ==
"burg-auto-theft-resd-no-force" | offense_type_id ==
"theft-fail-return-rent-veh"| offense_type_id ==
"theft-bicycle" | offense_type_id == "theft-unauth-use-of-ftd" | offense_type_id == "theft-of-services" | offense_type_id ==
"theft-purse-snatch-no-force" | offense_type_id ==
"theft-from-mails" | offense_type_id ==
"theft-stln-vehicle-trailer" | offense_type_id ==
"burg-auto-theft-busn-no-force" | offense_type_id ==
"burg-auto-theft-busn-w-force" | offense_type_id ==
"theft-gas-drive-off" | offense_type_id ==
"theft-pick-pocket" | offense_type_id ==
"theft-stln-veh-const-eqpt" | offense_type_id ==
"theft-embezzle" | offense_type_id == "burg-auto-theft-resd-w-force" | offense_type_id ==
"theft-of-rental-property" | offense_type_id ==
"theft-confidence-game" ~ "Theft", .default = "NotTheft"))
tally(Theft~ Monthtype, data = theft)
Monthtype
Theft Cold Warm
ColdTheft 21976 0
WarmTheft 0 16596
tally(Crime ~ Monthtype, data = crime)
Monthtype
Crime Cold Warm
Coldcrime 36036 0
Warmcrime 0 38964
prop.test(c(21976, 16596), c(36036,38964))
2-sample test for equality of proportions with continuity correction
data: c out of c21976 out of 3603616596 out of 38964
X-squared = 2534, df = 1, p-value < 2.2e-16
alternative hypothesis: two.sided
95 percent confidence interval:
0.1768427 0.1909632
sample estimates:
prop 1 prop 2
0.6098346 0.4259316
```
LS0tCnRpdGxlOiAiR3JvdXAgUHJvamVjdCIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7cn0KIyBDbGVhciB3b3Jrc3BhY2UKcm0obGlzdCA9IGxzKCkpIAoKIyB5b3VyIGNvZGUgd2lsbCBOT1QgYmUgaW5jbHVkZWQgaW4gdGhlIGh0bWwgZm9yIHRoaXMgYXNzaWdubWVudAprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobz1GQUxTRSkgCiMgeW91ciBvdXRwdXQgd2lsbCBOT1QgYmUgaW5jbHVkZWQgaW4gdGhlIGh0bWwgZm9yIHRoaXMgYXNzaWdubWVudCAoZXhjZXB0IGZpZ3VyZXMgYXQgdGhlIGVuZCkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGluY2x1ZGU9RkFMU0UpIAoKIyBsb2FkIHBhY2thZ2VzIHdlIG5lZWQgZm9yIHRoaXMgbGFiCmxpYnJhcnkobW9zYWljLCB3YXJuLmNvbmZsaWN0cyA9IEZBTFNFKSAKbGlicmFyeShnZ2Zvcm11bGEsIHdhcm4uY29uZmxpY3RzID0gRkFMU0UpCmxpYnJhcnkoTG9jazVEYXRhLCB3YXJuLmNvbmZsaWN0cyA9IEZBTFNFKQpsaWJyYXJ5KGRwbHlyLCB3YXJuLmNvbmZsaWN0cyA9IEZBTFNFKQoKCiMgTG9hZCB5b3VyIGRhdGEKUmF3RGF0YSA8LSByZWFkLmNzdihmaWxlLmNob29zZSgpKQoKIyBQZXJmb3JtIGFueSBuZWNlc3NhcnkgdHJhbnNmb3JtYXRpb25zCgoKYGBgCgoKIyMgSW50cm9kdWN0aW9uCgoqSW50cm9kdWNlIHRoZSBkYXRhc2V0IGluIHlvdXIgb3duIHdvcmRzLiAgRGlzY3VzcywgYnJpZWZseSwgdGhlIG1vdGl2YXRpb24gYW5kIGN1cmlvdXNpdHkgYmVoaW5kIHlvdXIgY2hvaWNlIG9mIHJlc2VhcmNoIHF1ZXN0aW9ucy4gICogIAogIAojIyBJcyB0aGVyZSBhIGNvcnJlbGF0aW9uIGJldHdlZW4gbWVkaWFuIGluY29tZSBhbmQgdGhlIGNyaW1lIGhhcHBlbmluZyBpbiB0aG9zZSBuZWlnaGJvcmhvb2RzIGF0IG5pZ2h0PwoKCipSZXNlYXJjaCBTdW1tYXJ5OioKKlRvIGV4cGxvcmUgd2hldGhlciBpbmNvbWUgaXMgbGlua2VkIHRvIG5laWdoYm9yaG9vZCBzYWZldHksIHdlIGV4YW1pbmVkIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZWRpYW4gaG91c2Vob2xkIGluY29tZSBhbmQgdGhlIG51bWJlciBvZiBuaWdodHRpbWUgY3JpbWVzIChkZWZpbmVkIGFzIGluY2lkZW50cyBiZXR3ZWVuIDg6MDAgUE0gYW5kIDY6MDAgQU0pLiBXZSBmaXJzdCBjbGVhbmVkIHRoZSBkYXRhIGJ5IGZpbHRlcmluZyBvdXQgaW5jb21wbGV0ZSBjcmltZSByZXBvcnRzLCB0aGVuIGdyb3VwZWQgdGhlIHZhbGlkIHJlY29yZHMgYnkgbmVpZ2hib3Job29kIGFuZCBjYWxjdWxhdGVkIHRvdGFsIG5pZ2h0dGltZSBjcmltZXMuIFRoZXNlIGNvdW50cyB3ZXJlIHBhaXJlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIG1lZGlhbiBpbmNvbWUgZm9yIGVhY2ggbmVpZ2hib3Job29kLioKCipXZSBhcmUgaW50ZXJlc3RlZCBpbiDPgSAocmhvKSwgdGhlIHBvcHVsYXRpb24gY29ycmVsYXRpb24gY29lZmZpY2llbnQgYmV0d2VlbiBtZWRpYW4gaW5jb21lIGFuZCBuaWdodHRpbWUgY3JpbWUuIFRoaXMgcGFyYW1ldGVyIHF1YW50aWZpZXMgdGhlIGRpcmVjdGlvbiBhbmQgc3RyZW5ndGggb2YgYSBsaW5lYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHR3byB2YXJpYWJsZXMuKgoKKkh5cG90aGVzZXM6KgoKKk51bGwgKEjigoApOiDPgSA9IDAgKG5vIGxpbmVhciBjb3JyZWxhdGlvbikqCgoqQWx0ZXJuYXRpdmUgKEjigpApOiDPgSDiiaAgMCAodGhlcmUgaXMgYSBsaW5lYXIgY29ycmVsYXRpb24pKgoKKldlIGNyZWF0ZWQgYSBzY2F0dGVyIHBsb3Qgc2hvd2luZyBlYWNoIG5laWdoYm9yaG9vZOKAmXMgbWVkaWFuIGluY29tZSAoeC1heGlzKSBhbmQgdG90YWwgbmlnaHR0aW1lIGNyaW1lIGNvdW50ICh5LWF4aXMpLiBUaGlzIHZpc3VhbGl6YXRpb24gYWxsb3dzIHVzIHRvIGFzc2VzcyBhbnkgcG90ZW50aWFsIHRyZW5kcy4gQWx0aG91Z2ggdGhlcmUgYXBwZWFycyB0byBiZSBhIHNsaWdodCBkb3dud2FyZCBzbG9wZSwgdGhlIHNwcmVhZCBpcyB3aWRlLCBzdWdnZXN0aW5nIGEgd2VhayBvciB1bmNsZWFyIHJlbGF0aW9uc2hpcC4qCgoqV2UgdXNlZCBhIFBlYXJzb24gY29ycmVsYXRpb24gdGVzdCB0byBxdWFudGlmeSB0aGUgbGluZWFyIHJlbGF0aW9uc2hpcC4gVGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50IHdhcyAtMC4xNCwgaW5kaWNhdGluZyBhIHZlcnkgd2VhayBuZWdhdGl2ZSB0cmVuZCwgYW5kIHRoZSBwLXZhbHVlIHdhcyAwLjIyMjYuIFRoaXMgcC12YWx1ZSBpcyBtdWNoIGhpZ2hlciB0aGFuIDAuMDUsIHNvIHdlIGZhaWwgdG8gcmVqZWN0IHRoZSBudWxsIGh5cG90aGVzaXMuKgoKKlRoZXJlIGlzIG5vIHN0cm9uZyBzdGF0aXN0aWNhbCBldmlkZW5jZSBvZiBhIGxpbmVhciByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZWRpYW4gaW5jb21lIGFuZCBuaWdodHRpbWUgY3JpbWUgcmF0ZXMgaW4gdGhlc2UgbmVpZ2hib3Job29kcy4gV2hpbGUgdGhlIGRhdGEgc3VnZ2VzdCBhIHNsaWdodCBuZWdhdGl2ZSB0cmVuZCAobG93ZXItaW5jb21lIGFyZWFzIG1heSBoYXZlIHNsaWdodGx5IG1vcmUgbmlnaHR0aW1lIGNyaW1lKSwgdGhlIGNvcnJlbGF0aW9uIGlzIHdlYWsgYW5kIG5vdCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50KgoKCgogCiAgCiMjIElzIHRoZXJlIG1vcmUgdGhlZnQgaGFwcGVuaW5nIE9jdG9iZXIgdGhyb3VnaCBNYXJjaCBvciBBcHJpbCB0aHJvdWdoIFNlcHRlbWJlcj8KCipSZXNlYXJjaCBTdW1tYXJ5OioKKlRvIGV4cGxvcmUgdGhpcyBxdWVzdGlvbiwgd2UgY3JlYXRlZCBhIG5ldyBjYXRlZ29yaWNhbCB2YXJpYWJsZSBjYWxsZWQgTW9udGh0eXBlLCB3aGljaCBncm91cGVkIG1vbnRocyBpbnRvICJDb2xkIiAoT2N0b2JlciB0aHJvdWdoIE1hcmNoKSBhbmQgIldhcm0iIChBcHJpbCB0aHJvdWdoIFNlcHRlbWJlcikuIFdlIHRoZW4gZmlsdGVyZWQgdGhlIGRhdGFzZXQgdG8gaXNvbGF0ZSB0aGVmdC1yZWxhdGVkIGluY2lkZW50cyBhbmQgY2FsY3VsYXRlZCB0aGUgdG90YWwgbnVtYmVyIG9mIHRoZWZ0cyBkdXJpbmcgZWFjaCBzZWFzb25hbCBwZXJpb2QuIFVzaW5nIHRoZXNlIHZhbHVlcywgd2UgY29tcGFyZWQgdGhlIHByb3BvcnRpb24gb2YgY3JpbWVzIHRoYXQgd2VyZSBjbGFzc2lmaWVkIGFzIHRoZWZ0cyBpbiBjb2xkZXIgbW9udGhzIHZlcnN1cyB3YXJtZXIgb25lcyAqICAKCipIeXBvdGhlc2VzOioKCipOdWxsIGh5cG90aGVzaXMgKEjigoApOiBUaGUgcHJvcG9ydGlvbiBvZiB0aGVmdHMgaXMgdGhlIHNhbWUgaW4gY29sZCBhbmQgd2FybSBtb250aHMgKFDigoEgPSBQ4oKCKS4qCgoqQWx0ZXJuYXRpdmUgaHlwb3RoZXNpcyAoSOKCkCk6IFRoZSBwcm9wb3J0aW9ucyBkaWZmZXIgYmV0d2VlbiB0aGUgdHdvIHNlYXNvbmFsIGdyb3VwcyAoUOKCgSDiiaAgUOKCgikuKgoKCipUaGUgcGFyYW1ldGVyIG9mIGludGVyZXN0IGlzIHRoZSBkaWZmZXJlbmNlIGluIHBvcHVsYXRpb24gcHJvcG9ydGlvbnMgb2YgdGhlZnRzIChyZWxhdGl2ZSB0byBhbGwgY3JpbWVzKSBiZXR3ZWVuIGNvbGQgYW5kIHdhcm0gbW9udGhzLioKCipUbyB2aXN1YWxpemUgdGhpcywgd2UgY3JlYXRlZCBhIGJhciBjaGFydCBkaXNwbGF5aW5nIHRoZWZ0IGFuZCBub24tdGhlZnQgY3JpbWUgY291bnRzIGFjcm9zcyB0aGUgdHdvIE1vbnRodHlwZXMuIEZyb20gdGhlIGdyYXBoLCB3ZSBjYW4gc2VlIHRoYXQgd2hpbGUgYm90aCB0eXBlcyBvZiBjcmltZSBhcmUgbW9yZSBjb21tb24gaW4gd2FybSBtb250aHMgb3ZlcmFsbCwgdGhlZnQgc3BlY2lmaWNhbGx5IG1ha2VzIHVwIGEgbGFyZ2VyIHByb3BvcnRpb24gb2YgdG90YWwgY3JpbWVzIGR1cmluZyB0aGUgY29sZGVyIG1vbnRocy4gVGhpcyBzdWdnZXN0cyBhIHBvc3NpYmxlIHNlYXNvbmFsIHRyZW5kLioKCipUbyB0ZXN0IHdoZXRoZXIgdGhpcyBkaWZmZXJlbmNlIGlzIHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQsIHdlIHBlcmZvcm1lZCBhIHR3by1wcm9wb3J0aW9uIHotdGVzdCB3aXRoIGNvbnRpbnVpdHkgY29ycmVjdGlvbi4gVGhlIHJlc3VsdHMgd2VyZSBzdHJpa2luZzogdGhlIHAtdmFsdWUgd2FzIGxlc3MgdGhhbiAyLjJlLTE2LCBhbmQgdGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsIGZvciB0aGUgZGlmZmVyZW5jZSBpbiBwcm9wb3J0aW9ucyB3YXMgWzAuMTc2OCwgMC4xOTA2XS4gVGhlIGVzdGltYXRlZCBwcm9wb3J0aW9uIG9mIHRoZWZ0cyBpbiBjb2xkIG1vbnRocyB3YXMgYXBwcm94aW1hdGVseSAwLjYxLCBjb21wYXJlZCB0byBqdXN0IDAuNDMgaW4gd2FybSBtb250aHMuKgoKKkluIGNvbmNsdXNpb24sIHdlIGhhdmUgZXh0cmVtZWx5IHN0cm9uZyBldmlkZW5jZSB0aGF0IHRoZWZ0IG1ha2VzIHVwIGEgc2lnbmlmaWNhbnRseSBsYXJnZXIgc2hhcmUgb2YgdG90YWwgY3JpbWVzIGluIGNvbGRlciBtb250aHMgdGhhbiBpbiB3YXJtZXIgbW9udGhzLiBXaGV0aGVyIGl0J3MgZHVlIHRvIGRhcmtlciBldmVuaW5ncywgaG9saWRheS1yZWxhdGVkIHByZXNzdXJlcywgb3Igb3RoZXIgc2Vhc29uYWwgZmFjdG9ycywgdGhlZnQgc2VlbXMgdG8gZmF2b3IgdGhlIGNoaWxsLiBUaGlzIGluc2lnaHQgYWRkcyBhIHZhbHVhYmxlIHNlYXNvbmFsIGxlbnMgdG8gdW5kZXJzdGFuZGluZyBjcmltZSBwYXR0ZXJucy4qCgpcbmV3cGFnZQoKIyMgRmlndXJlcwoKYGBge3IsIGluY2x1ZGUgPSBUfQpRb25lIDwtIFJhd0RhdGEgfD4gZmlsdGVyKGhvdXIgPj0gNiAmIGhvdXIgPD0gOCkgCmRhdGExIDwtIFFvbmUgfD4gZ3JvdXBfYnkobmJyaGRfbmFtZSwgbWVkaWFuX2Vhcm4pfD4gc3VtbWFyaXplKGNyaW1lPSBuKCkpIApwbG90KGNyaW1lIH4gbWVkaWFuX2Vhcm4sIGRhdGEgPSBkYXRhMSkgCgpteW1vZGVsIDwtIGxtKGNyaW1lIH4gbWVkaWFuX2Vhcm4sIGRhdGEgPSBkYXRhMSkKCnBsb3QobXltb2RlbCwgd2hpY2ggPSAxKQpwbG90KG15bW9kZWwsIHdoaWNoID0gMikKI0lmIHdhbnQgdG8gZG8gYWxsIGNyaW1lOgoKYGBgCgpgYGB7ciwgaW5jbHVkZSA9IFR9CiBnZl9iYXIofk1vbnRodHlwZSwgZmlsbCA9IH5DcmltZSwgZGF0YSA9IGNyaW1leW4sIHBvc2l0aW9uID0gImRvZGdlIiwgeWxhYiA9ICJDcmltZSBDb3VudCIpCgoKYGBgCgojIEFwcGVuZGl4CgoqUHV0IHlvdXIgUiBjb2RlIHRvIHBlcmZvcm0gdGhlIGh5cG90aGVzaXMgdGVzdHMgaGVyZS4gIEl0IG11c3QgYXBwZWFyIGluIHlvdXIgcmVwb3J0IHdpdGggdGhlIG91dHB1dCoKCmBgYHtyLCBpbmNsdWRlID0gVCwgZWNobyA9IFR9CmNvci50ZXN0KGNyaW1lIH4gbWVkaWFuX2Vhcm4sIGRhdGEgPSBkYXRhMSkKbXltb2RlbCA8LSBsbShjcmltZSB+IG1lZGlhbl9lYXJuLCBkYXRhID0gZGF0YTEpCnN1bW1hcnkobXltb2RlbCkKCmBgYAoKYGBge3IsIGluY2x1ZGUgPSBULCBlY2hvID0gVH0KdGhlZnQgPC0gUmF3RGF0YSB8PiBzZWxlY3QoIm1vbnRoIiwgIm9mZmVuc2VfdHlwZV9pZCIpIHw+IGZpbHRlcihncmVwbCgidGhlZnQiLCBvZmZlbnNlX3R5cGVfaWQpKSB8PiBtdXRhdGUoTW9udGh0eXBlID0gY2FzZV93aGVuKG1vbnRoID09ICJPY3QiIHwgbW9udGggPT0gIk5vdiIgfG1vbnRoID09ICJEZWMifG1vbnRoID09ICJKYW4ifG1vbnRoID09ICJGZWIifG1vbnRoID09ICJNYXIifCBtb250aCA9PSAiU2VwIiB+ICJDb2xkIiwgLmRlZmF1bHQgPSAiV2FybSIpKSB8PiBtdXRhdGUoVGhlZnQgPSBjYXNlX3doZW4ob2ZmZW5zZV90eXBlX2lkICE9ICJ0aGVmdCIgJiBNb250aHR5cGUgPT0gIkNvbGQiIH4iQ29sZFRoZWZ0IiwgLmRlZmF1bHQgPSAiV2FybVRoZWZ0IikpIApjcmltZSA8LSBSYXdEYXRhIHw+IHNlbGVjdCgibW9udGgiLCAib2ZmZW5zZV90eXBlX2lkIikgfD4gbXV0YXRlKE1vbnRodHlwZSA9IGNhc2Vfd2hlbihtb250aCA9PSAiT2N0IiB8IG1vbnRoID09ICJOb3YiIHxtb250aCA9PSAiRGVjInxtb250aCA9PSAiSmFuInxtb250aCA9PSAiRmViInxtb250aCA9PSAiTWFyIiB+ICJDb2xkIiwgLmRlZmF1bHQgPSAiV2FybSIpKXw+IG11dGF0ZShDcmltZSA9IGNhc2Vfd2hlbihvZmZlbnNlX3R5cGVfaWQgIT0gIm5vdGNyaW1lIiAmIE1vbnRodHlwZSA9PSAiQ29sZCIgfiAiQ29sZGNyaW1lIiwgLmRlZmF1bHQgPSAiV2FybWNyaW1lIikpCmNyaW1leW4gPC0gUmF3RGF0YSB8PiBzZWxlY3QoIm1vbnRoIiwgIm9mZmVuc2VfdHlwZV9pZCIpIHw+IG11dGF0ZShNb250aHR5cGUgPSBjYXNlX3doZW4obW9udGggPT0gIk9jdCIgfCBtb250aCA9PSAiTm92IiB8bW9udGggPT0gIkRlYyJ8bW9udGggPT0gIkphbiJ8bW9udGggPT0gIkZlYiJ8bW9udGggPT0gIk1hciIgfiAiQ29sZCIsIC5kZWZhdWx0ID0gIldhcm0iKSl8PiBtdXRhdGUoQ3JpbWUgPSBjYXNlX3doZW4ob2ZmZW5zZV90eXBlX2lkID09ICJ0aGVmdC1vZi1tb3Rvci12ZWhpY2xlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PSAidGhlZnQtaXRlbXMtZnJvbS12ZWhpY2xlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PSAidGhlZnQtcGFydHMtZnJvbS12ZWhpY2xlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PSAidGhlZnQtc2hvcGxpZnQiIHwgb2ZmZW5zZV90eXBlX2lkID09CiJ0aGVmdC1mcm9tLWJsZGciIHwgb2ZmZW5zZV90eXBlX2lkID09CiJ0aGVmdC1vdGhlciIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KImJ1cmctYXV0by10aGVmdC1yZXNkLW5vLWZvcmNlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoidGhlZnQtZmFpbC1yZXR1cm4tcmVudC12ZWgifCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LWJpY3ljbGUiIHwgb2ZmZW5zZV90eXBlX2lkID09ICJ0aGVmdC11bmF1dGgtdXNlLW9mLWZ0ZCIgfCBvZmZlbnNlX3R5cGVfaWQgPT0gInRoZWZ0LW9mLXNlcnZpY2VzIiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoidGhlZnQtcHVyc2Utc25hdGNoLW5vLWZvcmNlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoidGhlZnQtZnJvbS1tYWlscyIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LXN0bG4tdmVoaWNsZS10cmFpbGVyIiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoiYnVyZy1hdXRvLXRoZWZ0LWJ1c24tbm8tZm9yY2UiIHwgb2ZmZW5zZV90eXBlX2lkID09CiJidXJnLWF1dG8tdGhlZnQtYnVzbi13LWZvcmNlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoidGhlZnQtZ2FzLWRyaXZlLW9mZiIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LXBpY2stcG9ja2V0IiB8IG9mZmVuc2VfdHlwZV9pZCA9PQoidGhlZnQtc3Rsbi12ZWgtY29uc3QtZXFwdCIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LWVtYmV6emxlIiB8IG9mZmVuc2VfdHlwZV9pZCA9PSAiYnVyZy1hdXRvLXRoZWZ0LXJlc2Qtdy1mb3JjZSIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LW9mLXJlbnRhbC1wcm9wZXJ0eSIgfCBvZmZlbnNlX3R5cGVfaWQgPT0KInRoZWZ0LWNvbmZpZGVuY2UtZ2FtZSIgfiAiVGhlZnQiLCAuZGVmYXVsdCA9ICJOb3RUaGVmdCIpKQp0YWxseShUaGVmdH4gTW9udGh0eXBlLCBkYXRhID0gdGhlZnQpIAp0YWxseShDcmltZSB+IE1vbnRodHlwZSwgZGF0YSA9IGNyaW1lKSAKCnByb3AudGVzdChjKDIxOTc2LCAxNjU5NiksIGMoMzYwMzYsMzg5NjQpKSAKCmBgYApgYGAKCgoKCg==