Ernesto Gomez
Introduction
Recent events involving mass shooters gunning down large groups of people in the United States has catalyzed a national conversation around guns, gun ownership, background checks, and mental health. This analysis is concerned with the question around mental illness and access to a larger arsenal on the part of a mass shooter and whether this is likelier to result in more deaths/injuries. A poisson regression and simulations will be utilized to further analyze the relationship between injured or killed victims, mental illness, and weapon count.
Literature Review
Much of the literature on mass shootings and its relationship to mental illness and gun violence largely critique the role media plays in scapegoating mental illness, especially in ways that serve as ways to further stigmatize people with mental illness. Indeed, scholars have found that news stories following mass shootings tend to raise publice support for gun control policies but also contribute to less than favorable views towards those with serious mental illness (McGinty et al. 2013). This has generated anational conversation on mental health and the necessity for tighter gun control in the United States.
Studies from other countries, such as Australia, have shown that when stricter gun control measures were enacted the country was free from mass shootings for over a decade and saw significant declines in fatalities from firearms (Chapman et al. 2006). Thus, this bears several questions: Does mental illness affect a shooters ability to injure or kill more victims, and does access to more guns result in a higher incidence of injury/death?
Method
To conduct this analysis, the Stanford Mass Shootings in America (MSA), a non-exhaustive dataset of mass shootings dating from 1966-2016, will be utilzed to focus on the question of mental illness and access to guns, in its relation to mass shootings, and whether mass shooters with a history of mental illness and access to multiple guns results in a higher incidence in injuries from a mass shooting. To accomplish this, data related to the number of victims (injured) from mass shootings (1966-2016), shooter’s history of mental illness, and total number of guns used by shooter will be used to perform a poisson regression and set of simulations to potentially bring clarity to this question.
Hypotheses
It is hypothesized that mass shooters with a history of mental illness bears a positive relationship to the number of killed or injured victims after a mass shooting. Furthermore, it will be theorized that access to a larger arsenal of weapons will likely result in more victims.
Data
- totalvictims - The dependent variable, a measurement of the total number of victims injured or killed for every incidence of a mass shooting.
- mentalhistory - A measurement of whether a mass shooter had a reported or confirmed history of mental illness, “Yes” for a history of mental illness and “No” for no history.
- mentalill - A recoded 1,0 variable of history of mental illness, 1 for “Yes” and 0 for “No”.
- totalguns - Measures the total number of guns used during a particular shooting.
- totalguns2 - A recoded variable of total number of guns, instead generated to be on a scale from 1 - 4+ (4 or more guns).
Preliminary Analysis
Total Victims From Mass Shootings
Mass shootings are classified as shooting incidences that results in 2 or more deaths; we see that most mass shootings typically result in about 7 victims, with outliers in the 40-70 range. The largest mass shooting was nearly 70 victims, either injured or killed – the infamous Aurora movie theater shooting in 2012.
Mental Illness and its Relationship To Victims
According to the data, history of mental illness bears some kind of relationship to the average number of victims after a mass shooting. Shooters with mental illness tend to injure or kill nearly twice as many victims than those who with no prior history of mentall illness.
Total Number of Guns and its Relationship to Victims
The data also reveals a steady increase in average number of deaths after a mass shooting as the number of guns used during the incident also increases. Number of victims steadily increases by about 5 or so for each additional gun used.
Poisson Regression Models
#Model 1
z.out1 <- zelig(totalvictims ~ mentalill, model="poisson", data=masshoot, cite=F)
#Model 2
z.out2 <- zelig(totalvictims ~ mentalill + newtotalguns, model="poisson", data=masshoot, cite=F)
#Model 3
z.out3 <- zelig(totalvictims ~ mentalill*newtotalguns, model="poisson", data=masshoot, cite=F)
Poisson Results
The poisson regression results indicate strong statistical significance in terms of influence of, as well as the interaction between, mental illness and number of guns used on the number of victims. Our third model, the interaction model, stands as the strongest given its lower AIC value in comparison to other models.
Statistical models
|
|
Model 1
|
Model 2
|
Model 3
|
|
(Intercept)
|
1.90***
|
1.61***
|
1.78***
|
|
|
(0.04)
|
(0.05)
|
(0.06)
|
|
mentalill1
|
0.58***
|
0.46***
|
0.16*
|
|
|
(0.05)
|
(0.05)
|
(0.08)
|
|
newtotalguns2
|
|
0.42***
|
0.16
|
|
|
|
(0.06)
|
(0.10)
|
|
newtotalguns3
|
|
0.85***
|
0.46**
|
|
|
|
(0.07)
|
(0.16)
|
|
newtotalguns4+
|
|
1.12***
|
0.60***
|
|
|
|
(0.07)
|
(0.15)
|
|
mentalill1:newtotalguns2
|
|
|
0.44***
|
|
|
|
|
(0.12)
|
|
mentalill1:newtotalguns3
|
|
|
0.56**
|
|
|
|
|
(0.18)
|
|
mentalill1:newtotalguns4+
|
|
|
0.75***
|
|
|
|
|
(0.17)
|
|
AIC
|
1734.10
|
1451.31
|
1427.76
|
|
BIC
|
1740.51
|
1467.33
|
1453.40
|
|
Log Likelihood
|
-865.05
|
-720.66
|
-705.88
|
|
Deviance
|
1036.26
|
747.47
|
717.92
|
|
Num. obs.
|
182
|
182
|
182
|
|
p < 0.001, p < 0.01, p < 0.05
|
Simulations
Mentall Illness and Victims
The simulation results in terms of mentall illness and victims indicates that mass shooters with a history of mental illness tend to kill more victims than those with no history. Ultimately, mass shooters with a history of mental illness may kill or injure more compared to shooters with no mental illness, but it is not by any means a large difference.

Total Number of Guns and Victims
The results in regards to number of guns used shows a significant difference in number of victims after a mass shooting, about 20 injuries or deaths, when the total number of guns used is 4 or more compared to 1. Shooters who are equipped with several guns will be more likely to kill or injure four times as many victims compared to a shooter who uses only one gun.

Concluding Analysis
Modeled results confirm initial hypotheses. Indeed, the models and simulations show that:
- Mass shooters with a prior history of mental illness are very slightly more likely to injure or kill more victims than those with no prior history.
- The more guns used during a mass shooting the more likely it is that a higher incidence of injuries or fatalities will occur.
- When accounting for the interaction between mental illness and weaponry size we see consistent statistical significance.
These findings are interesting, particularly because they suggest that shooters with mental illness, while potentially more “dangerous” in the sense that they may be more likely to injure more lives (though the difference may be negligible), the largest difference exists in terms of weaponry count, with more guns resulting in more injuries/deaths. While concerns for the state of access to mental health services and ensuring those who suffer from mental illness are cared for remain paramount, the larger critique lays at the feet of lawmakers who must begin to take gun control efforts more seriously, by reducing the access to guns, if future injuries/fatalities are to be avoided.
Bibliography
McGinty, Emma E., Daniel W. Webster, and Colleen L. Barry. 2013. “Effects of news media messages about mass shootings on attitudes toward persons with serious mental illness and public support for gun control policies.” American Journal of Psychiatry 170, no. 5: 494-501.
Chapman, Simon, Phillip Alpers, Kingsley Agho, and Michael Jones. 2006. “Australia’s 1996 gun law reforms: faster falls in firearm deaths, firearm suicides, and a decade without mass shootings.” Injury Prevention 12, no. 6: 365-372.
LS0tCnRpdGxlOiAiQW5hbHlzaXMgb2YgVGhlIFN0YW5mb3JkIE1hc3MgU2hvb3RpbmcgaW4gQW1lcmljYSAoTVNBKSBVc2luZyBQb2lzc29uIFJlZ3Jlc3Npb24iCm91dHB1dDogaHRtbF9ub3RlYm9vawpiaWJsaW9ncmFwaHk6IHJlZmVyZW5jZXMuYmliCi0tLQoKIyMjIyNFcm5lc3RvIEdvbWV6CiMjIyMjTm92ZW1iZXIgNiwgMjAxNwojIyMjIyMqKipSZXZpc2lvbiBvZiBIb21ld29yayA3KioKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgohW10oaHR0cDovL2k2NS50aW55cGljLmNvbS8yZ3VqZDM4LmpwZykKCiMjKipJbnRyb2R1Y3Rpb24qKgoKICBSZWNlbnQgZXZlbnRzIGludm9sdmluZyBtYXNzIHNob290ZXJzIGd1bm5pbmcgZG93biBsYXJnZSBncm91cHMgb2YgcGVvcGxlIGluIHRoZSBVbml0ZWQgU3RhdGVzIGhhcyBjYXRhbHl6ZWQgYSBuYXRpb25hbCBjb252ZXJzYXRpb24gYXJvdW5kIGd1bnMsIGd1biBvd25lcnNoaXAsIGJhY2tncm91bmQgY2hlY2tzLCBhbmQgbWVudGFsIGhlYWx0aC4gVGhpcyBhbmFseXNpcyBpcyBjb25jZXJuZWQgd2l0aCB0aGUgcXVlc3Rpb24gYXJvdW5kIG1lbnRhbCBpbGxuZXNzIGFuZCBhY2Nlc3MgdG8gYSBsYXJnZXIgYXJzZW5hbCBvbiB0aGUgcGFydCBvZiBhIG1hc3Mgc2hvb3RlciBhbmQgd2hldGhlciB0aGlzIGlzIGxpa2VsaWVyIHRvIHJlc3VsdCBpbiBtb3JlIGRlYXRocy9pbmp1cmllcy4gQSBwb2lzc29uIHJlZ3Jlc3Npb24gYW5kIHNpbXVsYXRpb25zIHdpbGwgYmUgdXRpbGl6ZWQgdG8gZnVydGhlciBhbmFseXplIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBpbmp1cmVkIG9yIGtpbGxlZCB2aWN0aW1zLCBtZW50YWwgaWxsbmVzcywgYW5kIHdlYXBvbiBjb3VudC4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKIyMqKkxpdGVyYXR1cmUgUmV2aWV3KioKCiAgTXVjaCBvZiB0aGUgbGl0ZXJhdHVyZSBvbiBtYXNzIHNob290aW5ncyBhbmQgaXRzIHJlbGF0aW9uc2hpcCB0byBtZW50YWwgaWxsbmVzcyBhbmQgZ3VuIHZpb2xlbmNlIGxhcmdlbHkgY3JpdGlxdWUgdGhlIHJvbGUgbWVkaWEgcGxheXMgaW4gc2NhcGVnb2F0aW5nIG1lbnRhbCBpbGxuZXNzLCBlc3BlY2lhbGx5IGluIHdheXMgdGhhdCBzZXJ2ZSBhcyB3YXlzIHRvIGZ1cnRoZXIgc3RpZ21hdGl6ZSBwZW9wbGUgd2l0aCBtZW50YWwgaWxsbmVzcy4gSW5kZWVkLCBzY2hvbGFycyBoYXZlIGZvdW5kIHRoYXQgbmV3cyBzdG9yaWVzIGZvbGxvd2luZyBtYXNzIHNob290aW5ncyB0ZW5kIHRvIHJhaXNlIHB1YmxpY2Ugc3VwcG9ydCBmb3IgZ3VuIGNvbnRyb2wgcG9saWNpZXMgYnV0IGFsc28gY29udHJpYnV0ZSB0byBsZXNzIHRoYW4gZmF2b3JhYmxlIHZpZXdzIHRvd2FyZHMgdGhvc2Ugd2l0aCBzZXJpb3VzIG1lbnRhbCBpbGxuZXNzIChNY0dpbnR5IGV0IGFsLiAyMDEzKS4gVGhpcyBoYXMgZ2VuZXJhdGVkIGFuYXRpb25hbCBjb252ZXJzYXRpb24gb24gbWVudGFsIGhlYWx0aCBhbmQgdGhlIG5lY2Vzc2l0eSBmb3IgdGlnaHRlciBndW4gY29udHJvbCBpbiB0aGUgVW5pdGVkIFN0YXRlcy4gCgogIFN0dWRpZXMgZnJvbSBvdGhlciBjb3VudHJpZXMsIHN1Y2ggYXMgQXVzdHJhbGlhLCBoYXZlIHNob3duIHRoYXQgd2hlbiBzdHJpY3RlciBndW4gY29udHJvbCBtZWFzdXJlcyB3ZXJlIGVuYWN0ZWQgdGhlIGNvdW50cnkgd2FzIGZyZWUgZnJvbSBtYXNzIHNob290aW5ncyBmb3Igb3ZlciBhIGRlY2FkZSBhbmQgc2F3IHNpZ25pZmljYW50IGRlY2xpbmVzIGluIGZhdGFsaXRpZXMgZnJvbSBmaXJlYXJtcyAoQ2hhcG1hbiBldCBhbC4gMjAwNikuIFRodXMsIHRoaXMgYmVhcnMgc2V2ZXJhbCBxdWVzdGlvbnM6IERvZXMgbWVudGFsIGlsbG5lc3MgYWZmZWN0IGEgc2hvb3RlcnMgYWJpbGl0eSB0byBpbmp1cmUgb3Iga2lsbCBtb3JlIHZpY3RpbXMsIGFuZCBkb2VzIGFjY2VzcyB0byBtb3JlIGd1bnMgcmVzdWx0IGluIGEgaGlnaGVyIGluY2lkZW5jZSBvZiBpbmp1cnkvZGVhdGg/IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiMjKipNZXRob2QqKgoKICBUbyBjb25kdWN0IHRoaXMgYW5hbHlzaXMsIHRoZSBTdGFuZm9yZCBNYXNzIFNob290aW5ncyBpbiBBbWVyaWNhIChNU0EpLCBhIG5vbi1leGhhdXN0aXZlIGRhdGFzZXQgb2YgbWFzcyBzaG9vdGluZ3MgZGF0aW5nIGZyb20gMTk2Ni0yMDE2LCB3aWxsIGJlIHV0aWx6ZWQgdG8gZm9jdXMgb24gdGhlIHF1ZXN0aW9uIG9mIG1lbnRhbCBpbGxuZXNzIGFuZCBhY2Nlc3MgdG8gZ3VucywgaW4gaXRzIHJlbGF0aW9uIHRvIG1hc3Mgc2hvb3RpbmdzLCBhbmQgd2hldGhlciBtYXNzIHNob290ZXJzIHdpdGggYSBoaXN0b3J5IG9mIG1lbnRhbCBpbGxuZXNzIGFuZCBhY2Nlc3MgdG8gbXVsdGlwbGUgZ3VucyByZXN1bHRzIGluIGEgaGlnaGVyIGluY2lkZW5jZSBpbiBpbmp1cmllcyBmcm9tIGEgbWFzcyBzaG9vdGluZy4gVG8gYWNjb21wbGlzaCB0aGlzLCBkYXRhIHJlbGF0ZWQgdG8gdGhlIG51bWJlciBvZiB2aWN0aW1zIChpbmp1cmVkKSBmcm9tIG1hc3Mgc2hvb3RpbmdzICgxOTY2LTIwMTYpLCBzaG9vdGVyJ3MgaGlzdG9yeSBvZiBtZW50YWwgaWxsbmVzcywgYW5kIHRvdGFsIG51bWJlciBvZiBndW5zIHVzZWQgYnkgc2hvb3RlciB3aWxsIGJlIHVzZWQgdG8gcGVyZm9ybSBhIHBvaXNzb24gcmVncmVzc2lvbiBhbmQgc2V0IG9mIHNpbXVsYXRpb25zIHRvIHBvdGVudGlhbGx5IGJyaW5nIGNsYXJpdHkgdG8gdGhpcyBxdWVzdGlvbi4KCiMjIyNIeXBvdGhlc2VzIAoKICBJdCBpcyBoeXBvdGhlc2l6ZWQgdGhhdCBtYXNzIHNob290ZXJzIHdpdGggYSBoaXN0b3J5IG9mIG1lbnRhbCBpbGxuZXNzIGJlYXJzIGEgcG9zaXRpdmUgcmVsYXRpb25zaGlwIHRvIHRoZSBudW1iZXIgb2Yga2lsbGVkIG9yIGluanVyZWQgdmljdGltcyBhZnRlciBhIG1hc3Mgc2hvb3RpbmcuIEZ1cnRoZXJtb3JlLCBpdCB3aWxsIGJlIHRoZW9yaXplZCB0aGF0IGFjY2VzcyB0byBhIGxhcmdlciBhcnNlbmFsIG9mIHdlYXBvbnMgd2lsbCBsaWtlbHkgcmVzdWx0IGluIG1vcmUgdmljdGltcy4KCiMjIyNEYXRhIAoKKiAqKnRvdGFsdmljdGltcyoqIC0gVGhlIGRlcGVuZGVudCB2YXJpYWJsZSwgYSBtZWFzdXJlbWVudCBvZiB0aGUgdG90YWwgbnVtYmVyIG9mIHZpY3RpbXMgaW5qdXJlZCBvciBraWxsZWQgZm9yIGV2ZXJ5IGluY2lkZW5jZSBvZiBhIG1hc3Mgc2hvb3RpbmcuCisgKiptZW50YWxoaXN0b3J5KiogLSBBIG1lYXN1cmVtZW50IG9mIHdoZXRoZXIgYSBtYXNzIHNob290ZXIgaGFkIGEgcmVwb3J0ZWQgb3IgY29uZmlybWVkIGhpc3Rvcnkgb2YgbWVudGFsIGlsbG5lc3MsICJZZXMiIGZvciBhIGhpc3Rvcnkgb2YgbWVudGFsIGlsbG5lc3MgYW5kICJObyIgZm9yIG5vIGhpc3RvcnkuCisgKiptZW50YWxpbGwqKiAtIEEgcmVjb2RlZCAxLDAgdmFyaWFibGUgb2YgaGlzdG9yeSBvZiBtZW50YWwgaWxsbmVzcywgMSBmb3IgIlllcyIgYW5kIDAgZm9yICJObyIuCisgKip0b3RhbGd1bnMqKiAtICBNZWFzdXJlcyB0aGUgdG90YWwgbnVtYmVyIG9mIGd1bnMgdXNlZCBkdXJpbmcgYSBwYXJ0aWN1bGFyIHNob290aW5nLgorICoqdG90YWxndW5zMioqIC0gQSByZWNvZGVkIHZhcmlhYmxlIG9mIHRvdGFsIG51bWJlciBvZiBndW5zLCBpbnN0ZWFkIGdlbmVyYXRlZCB0byBiZSBvbiBhIHNjYWxlIGZyb20gMSAtIDQrICg0IG9yIG1vcmUgZ3VucykuCgpgYGB7ciwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KcHJpbnQobWFzc2hvb3QpCmBgYAoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0UsIGluY2x1ZGU9RkFMU0UsIHJlc3VsdHM9ImFzaXMifQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShkcGx5cikKbGlicmFyeSh0aWR5cikKbGlicmFyeShzam1pc2MpCmxpYnJhcnkoWmVsaWdDaG9pY2UpCmxpYnJhcnkoWmVsaWcpCmxpYnJhcnkodGV4cmVnKQpsaWJyYXJ5KHZpc3JlZykKbGlicmFyeShzdGFyZ2F6ZXIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShnZ3RoZW1lcykKbGlicmFyeShwbG90bHkpCmxpYnJhcnkoQ2l0ZSkKCm1hc3Nob290IDwtIGRhdGEuZnJhbWUocmVhZF9jc3YoIi9Vc2Vycy9lcm5lc3RvL0RvY3VtZW50cy9BZHZhbmNlZCBBbmFseXRpY3MvRGF0YS9NYXNzU2hvb3RpbmdzLmNzdiIpKSAlPiUKICByZW5hbWUoIm1lbnRhbGhpc3RvcnkiID0gSGlzdG9yeS5vZi5NZW50YWwuSWxsbmVzcy4uLkdlbmVyYWwsCiAgICAidG90YWx2aWN0aW1zIiA9IFRvdGFsLk51bWJlci5vZi5WaWN0aW1zLAogICAgICJ0b3RhbGd1bnMiID0gVG90YWwuTnVtYmVyLm9mLkd1bnMpICU+JQogIHNlbGVjdCh0b3RhbHZpY3RpbXMsIG1lbnRhbGhpc3RvcnksIHRvdGFsZ3VucykgJT4lCiAgZmlsdGVyKCFpcy5uYSh0b3RhbHZpY3RpbXMpLAogICAgICAgICAhaXMubmEobWVudGFsaGlzdG9yeSksCiAgICAgICAgICFpcy5uYSh0b3RhbGd1bnMpLCAKICAgICAgICAhdG90YWx2aWN0aW1zICVpbiUgYygiVW5rbm93biIpLAogICAgICAgICFtZW50YWxoaXN0b3J5ICVpbiUgYygiVW5rbm93biIpLAogICAgICAgICF0b3RhbGd1bnMgJWluJSBjKCJVbmtub3duIikpICU+JQogICAgICAgbXV0YXRlKG1lbnRhbGlsbD1hcy5mYWN0b3IoaWZlbHNlKG1lbnRhbGhpc3Rvcnk9PSJZZXMiLCAxLCAwKSksCiAgICAgICAgICAgICAgdG90YWxndW5zPWFzLm51bWVyaWModG90YWxndW5zKSwKICAgICAgICAgICAgICBuZXd0b3RhbGd1bnM9YXMuZmFjdG9yKGlmZWxzZSh0b3RhbGd1bnM8NCwgdG90YWxndW5zLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZSh0b3RhbGd1bnM+PTQsICI0KyIsIm5hIikpKSkKYGBgCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwojIyoqUHJlbGltaW5hcnkgQW5hbHlzaXMqKgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiMjI1RvdGFsIFZpY3RpbXMgRnJvbSBNYXNzIFNob290aW5ncwogIAogIE1hc3Mgc2hvb3RpbmdzIGFyZSBjbGFzc2lmaWVkIGFzIHNob290aW5nIGluY2lkZW5jZXMgdGhhdCByZXN1bHRzIGluIDIgb3IgbW9yZSBkZWF0aHM7IHdlIHNlZSB0aGF0IG1vc3QgbWFzcyBzaG9vdGluZ3MgdHlwaWNhbGx5IHJlc3VsdCBpbiBhYm91dCA3IHZpY3RpbXMsIHdpdGggb3V0bGllcnMgaW4gdGhlIDQwLTcwIHJhbmdlLiBUaGUgbGFyZ2VzdCBtYXNzIHNob290aW5nIHdhcyBuZWFybHkgNzAgdmljdGltcywgZWl0aGVyIGluanVyZWQgb3Iga2lsbGVkIC0tIHRoZSBpbmZhbW91cyBBdXJvcmEgbW92aWUgdGhlYXRlciBzaG9vdGluZyBpbiAyMDEyLgoKIyMjIyMjSW50ZXJhY3RpdmUgR3JhcGgKCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpnZ3RvdGFsZGVhdGhzIDwtIGdncGxvdChtYXNzaG9vdCkgKyBnZW9tX2hpc3RvZ3JhbShhZXMoeD10b3RhbHZpY3RpbXMpLCBmaWxsPSJibGFjayIpKwogIGxhYnModGl0bGU9IlRvdGFsIFZpY3RpbXMgRnJvbSBNYXNzIFNob290aW5ncyIsIHg9IlZpY3RpbXMiKSt0aGVtZV90dWZ0ZSgpCmdncGxvdGx5KGdndG90YWxkZWF0aHMpCmBgYAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKIyMjTWVudGFsIElsbG5lc3MgYW5kIGl0cyBSZWxhdGlvbnNoaXAgVG8gVmljdGltcwoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CnNob290IDwtIG1hc3Nob290ICU+JQpzZWxlY3QgKHRvdGFsdmljdGltcywgbWVudGFsaWxsLCB0b3RhbGd1bnMpICU+JQogIGdyb3VwX2J5KG1lbnRhbGlsbCkgJT4lCiAgc3VtbWFyaXNlKG1lYW4gPSBtZWFuKHRvdGFsdmljdGltcykpCmBgYAoKICBBY2NvcmRpbmcgdG8gdGhlIGRhdGEsIGhpc3Rvcnkgb2YgbWVudGFsIGlsbG5lc3MgYmVhcnMgc29tZSBraW5kIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUgYXZlcmFnZSBudW1iZXIgb2YgdmljdGltcyBhZnRlciBhIG1hc3Mgc2hvb3RpbmcuIFNob290ZXJzIHdpdGggbWVudGFsIGlsbG5lc3MgdGVuZCB0byBpbmp1cmUgb3Iga2lsbCBuZWFybHkgdHdpY2UgYXMgbWFueSB2aWN0aW1zIHRoYW4gdGhvc2Ugd2hvIHdpdGggbm8gcHJpb3IgaGlzdG9yeSBvZiBtZW50YWxsIGlsbG5lc3MuCgpgYGB7ciwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KZ2doZWFsdGggPC0gZ2dwbG90KGRhdGE9c2hvb3QpKwogIGdlb21fY29sKGFlcyh4PW1lbnRhbGlsbCwgeT1tZWFuKSwgZmlsbD0iZGFya2JsdWUiKStsYWJzKHRpdGxlPSJNZW50YWwgSWxsbmVzcyBhbmQgQXZlcmFnZSBWaWN0aW1zIiwgeD0iTWVudGFsbHkgSWxsIFNob290ZXJzIiwgeT0iQXZlcmFnZSBWaWN0aW1zIikrdGhlbWVfdHVmdGUoKQpnZ3Bsb3RseShnZ2hlYWx0aCkKYGBgCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiMjI1RvdGFsIE51bWJlciBvZiBHdW5zIGFuZCBpdHMgUmVsYXRpb25zaGlwIHRvIFZpY3RpbXMKYGBge3IsIG1lc3NhZ2U9VFJVRSwgd2FybmluZz1UUlVFLCBpbmNsdWRlPUZBTFNFfQpzaG9vdDEgPC0gbWFzc2hvb3QgJT4lCiAgc2VsZWN0ICh0b3RhbHZpY3RpbXMsIG1lbnRhbGlsbCwgbmV3dG90YWxndW5zKSAlPiUKICBncm91cF9ieShuZXd0b3RhbGd1bnMpICU+JQogIHN1bW1hcmlzZShtZWFuID0gbWVhbih0b3RhbHZpY3RpbXMpKQpgYGAKCiAgVGhlIGRhdGEgYWxzbyByZXZlYWxzIGEgc3RlYWR5IGluY3JlYXNlIGluIGF2ZXJhZ2UgbnVtYmVyIG9mIGRlYXRocyBhZnRlciBhIG1hc3Mgc2hvb3RpbmcgYXMgdGhlIG51bWJlciBvZiBndW5zIHVzZWQgZHVyaW5nIHRoZSBpbmNpZGVudCBhbHNvIGluY3JlYXNlcy4gTnVtYmVyIG9mIHZpY3RpbXMgc3RlYWRpbHkgaW5jcmVhc2VzIGJ5IGFib3V0IDUgb3Igc28gZm9yIGVhY2ggYWRkaXRpb25hbCBndW4gdXNlZC4gCgpgYGB7ciwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KZ2d1bnMgPC0gZ2dwbG90KGRhdGE9c2hvb3QxKSsKICBnZW9tX2NvbChhZXMoeD1uZXd0b3RhbGd1bnMsIHk9bWVhbiksIGZpbGw9ImRhcmtyZWQiKStsYWJzKHRpdGxlPSJOdW1iZXIgb2YgR3VucyBhbmQgQXZlcmFnZSBWaWN0aW1zIiwKICB4PSJOdW1iZXIgb2YgR3VucyBVc2VkIiwgeT0iQXZlcmFnZSBWaWN0aW1zIikrdGhlbWVfdHVmdGUoKQpnZ3Bsb3RseShnZ3VucykKYGBgCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIyMqKlBvaXNzb24gUmVncmVzc2lvbiBNb2RlbHMqKgoKYGBge3IsIGVjaG89VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KI01vZGVsIDEKei5vdXQxIDwtIHplbGlnKHRvdGFsdmljdGltcyB+IG1lbnRhbGlsbCwgbW9kZWw9InBvaXNzb24iLCBkYXRhPW1hc3Nob290LCBjaXRlPUYpCiNNb2RlbCAyCnoub3V0MiA8LSB6ZWxpZyh0b3RhbHZpY3RpbXMgfiBtZW50YWxpbGwgKyBuZXd0b3RhbGd1bnMsIG1vZGVsPSJwb2lzc29uIiwgZGF0YT1tYXNzaG9vdCwgY2l0ZT1GKQojTW9kZWwgMwp6Lm91dDMgPC0gemVsaWcodG90YWx2aWN0aW1zIH4gbWVudGFsaWxsKm5ld3RvdGFsZ3VucywgbW9kZWw9InBvaXNzb24iLCBkYXRhPW1hc3Nob290LCBjaXRlPUYpCmBgYApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKIyMqKlBvaXNzb24gUmVzdWx0cyoqCgogIFRoZSBwb2lzc29uIHJlZ3Jlc3Npb24gcmVzdWx0cyBpbmRpY2F0ZSBzdHJvbmcgc3RhdGlzdGljYWwgc2lnbmlmaWNhbmNlIGluIHRlcm1zIG9mIGluZmx1ZW5jZSBvZiwgYXMgd2VsbCBhcyB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiwgbWVudGFsIGlsbG5lc3MgYW5kIG51bWJlciBvZiBndW5zIHVzZWQgb24gdGhlIG51bWJlciBvZiB2aWN0aW1zLiBPdXIgdGhpcmQgbW9kZWwsIHRoZSBpbnRlcmFjdGlvbiBtb2RlbCwgc3RhbmRzIGFzIHRoZSBzdHJvbmdlc3QgZ2l2ZW4gaXRzIGxvd2VyIEFJQyB2YWx1ZSBpbiBjb21wYXJpc29uIHRvIG90aGVyIG1vZGVscy4KCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCByZXN1bHRzPSJhc2lzIn0KaHRtbHJlZyhsaXN0KHoub3V0MSwgei5vdXQyLCB6Lm91dDMpKQpgYGAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwojIyoqU2ltdWxhdGlvbnMqKgoKIyMjTWVudGFsbCBJbGxuZXNzIGFuZCBWaWN0aW1zCgogIFRoZSBzaW11bGF0aW9uIHJlc3VsdHMgaW4gdGVybXMgb2YgbWVudGFsbCBpbGxuZXNzIGFuZCB2aWN0aW1zIGluZGljYXRlcyB0aGF0IG1hc3Mgc2hvb3RlcnMgd2l0aCBhIGhpc3Rvcnkgb2YgbWVudGFsIGlsbG5lc3MgdGVuZCB0byBraWxsIG1vcmUgdmljdGltcyB0aGFuIHRob3NlIHdpdGggbm8gaGlzdG9yeS4gVWx0aW1hdGVseSwgbWFzcyBzaG9vdGVycyB3aXRoIGEgaGlzdG9yeSBvZiBtZW50YWwgaWxsbmVzcyBtYXkga2lsbCBvciBpbmp1cmUgbW9yZSBjb21wYXJlZCB0byBzaG9vdGVycyB3aXRoIG5vIG1lbnRhbCBpbGxuZXNzLCBidXQgaXQgaXMgbm90IGJ5IGFueSBtZWFucyBhIGxhcmdlIGRpZmZlcmVuY2UuCgoKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9Cngubm9pbGwgPC0gc2V0eCh6Lm91dDMsIG1lbnRhbGlsbCA9IDApCngueWVzaWxsIDwtIHNldHgoei5vdXQzLCBtZW50YWxpbGwgPSAxKQpzLm91dCA8LSBzaW0gKHoub3V0MywgeD14Lm5vaWxsLCB4MT14Lnllc2lsbCkKcGxvdChzLm91dCkKYGBgCgojIyNUb3RhbCBOdW1iZXIgb2YgR3VucyBhbmQgVmljdGltcwogIFRoZSByZXN1bHRzIGluIHJlZ2FyZHMgdG8gbnVtYmVyIG9mIGd1bnMgdXNlZCBzaG93cyBhIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgaW4gbnVtYmVyIG9mIHZpY3RpbXMgYWZ0ZXIgYSBtYXNzIHNob290aW5nLCBhYm91dCAyMCBpbmp1cmllcyBvciBkZWF0aHMsIHdoZW4gdGhlIHRvdGFsIG51bWJlciBvZiBndW5zIHVzZWQgaXMgNCBvciBtb3JlIGNvbXBhcmVkIHRvIDEuIFNob290ZXJzIHdobyBhcmUgZXF1aXBwZWQgd2l0aCBzZXZlcmFsIGd1bnMgd2lsbCBiZSBtb3JlIGxpa2VseSB0byBraWxsIG9yIGluanVyZSBmb3VyIHRpbWVzIGFzIG1hbnkgdmljdGltcyBjb21wYXJlZCB0byBhIHNob290ZXIgd2hvIHVzZXMgb25seSBvbmUgZ3VuLgoKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CngubG9ndW4gPC0gc2V0eCh6Lm91dDMsIG5ld3RvdGFsZ3VucyA9IDEpCnguaGlndW4gPC0gc2V0eCh6Lm91dDMsIG5ld3RvdGFsZ3VucyA9ICI0KyIpCnMgPC0gc2ltKHoub3V0MywgeD14LmxvZ3VuLCB4MT14LmhpZ3VuKQpwbG90KHMpCmBgYApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiMjKipDb25jbHVkaW5nIEFuYWx5c2lzKioKCk1vZGVsZWQgcmVzdWx0cyBjb25maXJtIGluaXRpYWwgaHlwb3RoZXNlcy4gSW5kZWVkLCB0aGUgbW9kZWxzIGFuZCBzaW11bGF0aW9ucyBzaG93IHRoYXQ6CgoqIE1hc3Mgc2hvb3RlcnMgd2l0aCBhIHByaW9yIGhpc3Rvcnkgb2YgbWVudGFsIGlsbG5lc3MgYXJlIHZlcnkgc2xpZ2h0bHkgbW9yZSBsaWtlbHkgdG8gaW5qdXJlIG9yIGtpbGwgbW9yZSB2aWN0aW1zIHRoYW4gdGhvc2Ugd2l0aCBubyBwcmlvciBoaXN0b3J5LgorIFRoZSBtb3JlIGd1bnMgdXNlZCBkdXJpbmcgYSBtYXNzIHNob290aW5nIHRoZSBtb3JlIGxpa2VseSBpdCBpcyB0aGF0IGEgaGlnaGVyIGluY2lkZW5jZSBvZiBpbmp1cmllcyBvciBmYXRhbGl0aWVzIHdpbGwgb2NjdXIuCisgV2hlbiBhY2NvdW50aW5nIGZvciB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBtZW50YWwgaWxsbmVzcyBhbmQgd2VhcG9ucnkgc2l6ZSB3ZSBzZWUgY29uc2lzdGVudCBzdGF0aXN0aWNhbCBzaWduaWZpY2FuY2UuCgogIFRoZXNlIGZpbmRpbmdzIGFyZSBpbnRlcmVzdGluZywgcGFydGljdWxhcmx5IGJlY2F1c2UgdGhleSBzdWdnZXN0IHRoYXQgc2hvb3RlcnMgd2l0aCBtZW50YWwgaWxsbmVzcywgd2hpbGUgcG90ZW50aWFsbHkgbW9yZSAiZGFuZ2Vyb3VzIiBpbiB0aGUgc2Vuc2UgdGhhdCB0aGV5IG1heSBiZSBtb3JlIGxpa2VseSB0byBpbmp1cmUgbW9yZSBsaXZlcyAodGhvdWdoIHRoZSBkaWZmZXJlbmNlIG1heSBiZSBuZWdsaWdpYmxlKSwgdGhlIGxhcmdlc3QgZGlmZmVyZW5jZSBleGlzdHMgaW4gdGVybXMgb2Ygd2VhcG9ucnkgY291bnQsIHdpdGggbW9yZSBndW5zIHJlc3VsdGluZyBpbiBtb3JlIGluanVyaWVzL2RlYXRocy4gCiAgV2hpbGUgY29uY2VybnMgZm9yIHRoZSBzdGF0ZSBvZiBhY2Nlc3MgdG8gbWVudGFsIGhlYWx0aCBzZXJ2aWNlcyBhbmQgZW5zdXJpbmcgdGhvc2Ugd2hvIHN1ZmZlciBmcm9tIG1lbnRhbCBpbGxuZXNzIGFyZSBjYXJlZCBmb3IgcmVtYWluIHBhcmFtb3VudCwgdGhlIGxhcmdlciBjcml0aXF1ZSBsYXlzIGF0IHRoZSBmZWV0IG9mIGxhd21ha2VycyB3aG8gbXVzdCBiZWdpbiB0byB0YWtlIGd1biBjb250cm9sIGVmZm9ydHMgbW9yZSBzZXJpb3VzbHksIGJ5IHJlZHVjaW5nIHRoZSBhY2Nlc3MgdG8gZ3VucywgaWYgZnV0dXJlIGluanVyaWVzL2ZhdGFsaXRpZXMgYXJlIHRvIGJlIGF2b2lkZWQuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKIyMqKkJpYmxpb2dyYXBoeSoqCgpNY0dpbnR5LCBFbW1hIEUuLCBEYW5pZWwgVy4gV2Vic3RlciwgYW5kIENvbGxlZW4gTC4gQmFycnkuIDIwMTMuICJFZmZlY3RzIG9mIG5ld3MgbWVkaWEgbWVzc2FnZXMgYWJvdXQgbWFzcyBzaG9vdGluZ3Mgb24gYXR0aXR1ZGVzIHRvd2FyZCBwZXJzb25zIHdpdGggc2VyaW91cyBtZW50YWwgaWxsbmVzcyBhbmQgcHVibGljIHN1cHBvcnQgZm9yIGd1biBjb250cm9sIHBvbGljaWVzLiIgKkFtZXJpY2FuIEpvdXJuYWwgb2YgUHN5Y2hpYXRyeSogMTcwLCBuby4gNTogNDk0LTUwMS4KCkNoYXBtYW4sIFNpbW9uLCBQaGlsbGlwIEFscGVycywgS2luZ3NsZXkgQWdobywgYW5kIE1pY2hhZWwgSm9uZXMuIDIwMDYuICJBdXN0cmFsaWHigJlzIDE5OTYgZ3VuIGxhdyByZWZvcm1zOiBmYXN0ZXIgZmFsbHMgaW4gZmlyZWFybSBkZWF0aHMsIGZpcmVhcm0gc3VpY2lkZXMsIGFuZCBhIGRlY2FkZSB3aXRob3V0IG1hc3Mgc2hvb3RpbmdzLiIgKkluanVyeSBQcmV2ZW50aW9uKiAxMiwgbm8uIDY6IDM2NS0zNzIuCg==