library(tidyverse)
library(lubridate)
About the UFC Dataset
This dataset was sourced from Kaggle: https://www.kaggle.com/rajeevw/ufcdata?select=raw_total_fight_data.csv
It consists of “Raw fight data scraped from ufcstats events page. This contains scraped information of every fight of every event in the ufc.”
Since the UFC puts on public sporting events and has only been around for a few decades, there is no concern about the reliability or completeness of the data, for a nice change.
Head Trauma, CTE, and Gloves in the UFC
In recent years, progress has been made in understanding how head trauma from contact sports influences neurological health. It has been conjectured that the head trauma from sports such as MMA could lead to a condition called chronic traumatic encephalopathy (CTE), a form of early neural degeneration. While more research is needed in this area, it is hard to ignore certain high profile cases where combat sports athletes in fighting, wrestling, and elsewhere have had their lives and their family’s lives torn apart through violence. Nonetheless, the debate will likely continue for quite some time.
An interesting thing about MMA is that it is technically possible to win a fight without hitting an opponent, by securing a submission hold. I personally have always found this a fascinating possibility in fighting, because of course it is so hard to focus on something when someone is trying to hit you, to focus one’s attention and hands onto anything besides blocking and hitting back is impressive on its own, let alone winning a real fight that way.
Unfortunately, my opinion on this matter tends to be in the minority, as the UFC has found big knock-outs to be the recipe for ticket and pay-per-view sales that have taken the organization to new heights in the last decade or so.
The UFC has changed a lot during the short time it has existed, and I was curious to see how the likelihood of UFC fights to end in one manner or another changed over the course of UFC history as well, particulary with regards to the introduction of MMA gloves in 1996-1997.
Preprocessing
Load the data:
ufc <- read.csv("raw_total_fight_data.csv", sep=";")
Parse the date column to create a column with the year each fight took place
ufc2 <- ufc %>%
mutate(fight_year = year(parse_date_time(date, orders = "mdy")))
Here, we are going to create separate dataframes for the fights ended by submission or knockout. We will then perform identical steps on each:
subs <- ufc2 %>% filter(win_by=="Submission")
kos <- ufc2 %>% filter(win_by=="KO/TKO")
Group by year and summarise to the sum of each type of finish.
total_fights_by_year <- ufc2 %>%
group_by(fight_year) %>%
summarise(total_fights = n())
kos_by_year <- kos %>%
group_by(fight_year) %>%
summarise(knockouts = n())
subs_by_year <- subs %>%
group_by(fight_year) %>%
summarise(submissions = n())
Now we’ll join these statistics back into a single dataframe.
victory_method <- total_fights_by_year %>%
right_join(kos_by_year, by = "fight_year") %>%
right_join(subs_by_year, by = "fight_year")
Make a new column holding the difference between knockout and submission finishes each year.
victory_method <- victory_method %>%
mutate(diff = knockouts - submissions)
We are going to plot the difference between knockout and submission finishes each year. We’ll use the difference so that the result is negative when there are more submissions in a year, so that it is very easy to interpret visually.
My belief is that the claim is true; use of gloves leads to more knock-outs. We do not really have enough data to prove this claim here, because only a handful of UFC’s events actually occurred before the gloves were added. However, we could potentially disprove it, if knock-outs were actually more common in the pre-glove years.
My expectation, therefore, is that we see more submissions than knock-outs in 1994, 1995, and 1996, and more knock-outs in most, if not all years thereafter.
victory_method %>%
ggplot() +
geom_bar(mapping = aes(x = fight_year, y = diff, fill = total_fights), stat = "Identity") +
theme_minimal() +
labs(title = "Difference Between UFC Fights Ended by Knock-out and Submission, 1994-2001",
x = "Year",
y = "KOs - Submissions",
fill = "Number of Fights") +
scale_x_continuous(breaks = seq(1995,2020, by=5)) +
scale_y_continuous(breaks = seq(-10,70, by=20)) +
scale_fill_gradient(low = "#c3c6ca", high = "#536a74") +
theme(panel.background = element_rect(fill = "#F0F4F6"))

This is pretty close to what we expected: 1994 and 1995 were the best years for submissions in UFC relative to knock-outs out of all 27 years. Interestingly though, we do see more knock-outs in 1996, before gloves were added, and more submissions in 1997, the year that gloves were added. These years are the exact opposite of what we expected. It should be noted, though, that by 1996, some fighters had already started wearing gloves, and it was only in 1997 that they became mandatory. It is really too bad that there aren’t more years of gloveless MMA to use for comparison. I was very surprised to see that 2007 had more submissions than knockouts. I did a quick look online but found no apparent explanation for this.
This plot also communicates the change in popularity of UFC since its inception in 1994. It really exploded in popularity in 2013, and every year since then has had more events than any year previous. It is interesting that, midway through 2021 there have been a number of UFC events closer to the yearly total for the 90s/2000s but we seem to be headed for a knockout to submission ratio on par with more recent years.
I wish the UFC or other organizations would experiment with removing gloves. I suspect it would lead to a reduction in head trauma experienced by fighters. Not only that, but it would lead to more strategic and technical MMA with fighters needing to rely more heavily on submission attempts and kicks rather than punching back and forth. Sadly, I doubt it will happen any time soon. But you have to wonder why. After all, in a sport where athletes are allowed to strike one another with knees and elbows, the UFC can’t possibly claim that the gloves are there to protect the fighter being hit.
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3IsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGx1YnJpZGF0ZSkKYGBgCgojIyBBYm91dCB0aGUgVUZDIERhdGFzZXQKClRoaXMgZGF0YXNldCB3YXMgc291cmNlZCBmcm9tIEthZ2dsZTogCmh0dHBzOi8vd3d3LmthZ2dsZS5jb20vcmFqZWV2dy91ZmNkYXRhP3NlbGVjdD1yYXdfdG90YWxfZmlnaHRfZGF0YS5jc3YKCkl0IGNvbnNpc3RzIG9mICJSYXcgZmlnaHQgZGF0YSBzY3JhcGVkIGZyb20gdWZjc3RhdHMgZXZlbnRzIHBhZ2UuIFRoaXMgY29udGFpbnMgCnNjcmFwZWQgaW5mb3JtYXRpb24gb2YgZXZlcnkgZmlnaHQgb2YgZXZlcnkgZXZlbnQgaW4gdGhlIHVmYy4iCgpTaW5jZSB0aGUgVUZDIHB1dHMgb24gcHVibGljIHNwb3J0aW5nIGV2ZW50cyBhbmQgaGFzIG9ubHkgYmVlbiBhcm91bmQgZm9yIGEgZmV3CmRlY2FkZXMsIHRoZXJlIGlzIG5vIGNvbmNlcm4gYWJvdXQgdGhlIHJlbGlhYmlsaXR5IG9yIGNvbXBsZXRlbmVzcyBvZiB0aGUgCmRhdGEsIGZvciBhIG5pY2UgY2hhbmdlLgoKIyMgSGVhZCBUcmF1bWEsIENURSwgYW5kIEdsb3ZlcyBpbiB0aGUgVUZDCgoKSW4gcmVjZW50IHllYXJzLCBwcm9ncmVzcyBoYXMgYmVlbiBtYWRlIGluIHVuZGVyc3RhbmRpbmcgaG93IGhlYWQgdHJhdW1hIGZyb20gCmNvbnRhY3Qgc3BvcnRzIGluZmx1ZW5jZXMgbmV1cm9sb2dpY2FsIGhlYWx0aC4gSXQgaGFzIGJlZW4gY29uamVjdHVyZWQgdGhhdCAKdGhlIGhlYWQgdHJhdW1hIGZyb20gc3BvcnRzIHN1Y2ggYXMgTU1BIGNvdWxkIGxlYWQgdG8gYSBjb25kaXRpb24gY2FsbGVkIApjaHJvbmljIHRyYXVtYXRpYyBlbmNlcGhhbG9wYXRoeSAoQ1RFKSwgYSBmb3JtIG9mIGVhcmx5IG5ldXJhbCBkZWdlbmVyYXRpb24uIApXaGlsZSBtb3JlIHJlc2VhcmNoIGlzIG5lZWRlZCBpbiB0aGlzIGFyZWEsIGl0IGlzIGhhcmQgdG8gaWdub3JlIGNlcnRhaW4gaGlnaCAKcHJvZmlsZSBjYXNlcyB3aGVyZSBjb21iYXQgc3BvcnRzIGF0aGxldGVzIGluIGZpZ2h0aW5nLCB3cmVzdGxpbmcsIGFuZCBlbHNld2hlcmUKaGF2ZSBoYWQgdGhlaXIgbGl2ZXMgYW5kIHRoZWlyIGZhbWlseSdzIGxpdmVzIHRvcm4gYXBhcnQgdGhyb3VnaCB2aW9sZW5jZS4gCk5vbmV0aGVsZXNzLCB0aGUgZGViYXRlIHdpbGwgbGlrZWx5IGNvbnRpbnVlIGZvciBxdWl0ZSBzb21lIHRpbWUuCgpBbiBpbnRlcmVzdGluZyB0aGluZyBhYm91dCBNTUEgaXMgdGhhdCBpdCBpcyB0ZWNobmljYWxseSBwb3NzaWJsZSB0byB3aW4gYSAKZmlnaHQgd2l0aG91dCBoaXR0aW5nIGFuIG9wcG9uZW50LCBieSBzZWN1cmluZyBhIHN1Ym1pc3Npb24gaG9sZC4gSSAKcGVyc29uYWxseSBoYXZlIGFsd2F5cyBmb3VuZCB0aGlzIGEgZmFzY2luYXRpbmcgcG9zc2liaWxpdHkgaW4gZmlnaHRpbmcsIGJlY2F1c2UgCm9mIGNvdXJzZSBpdCBpcyBzbyBoYXJkIHRvIGZvY3VzIG9uIHNvbWV0aGluZyB3aGVuIHNvbWVvbmUgaXMgdHJ5aW5nIHRvIGhpdCB5b3UsCnRvIGZvY3VzIG9uZSdzIGF0dGVudGlvbiBhbmQgaGFuZHMgb250byBhbnl0aGluZyBiZXNpZGVzIGJsb2NraW5nIGFuZCBoaXR0aW5nIApiYWNrIGlzIGltcHJlc3NpdmUgb24gaXRzIG93biwgbGV0IGFsb25lIHdpbm5pbmcgYSByZWFsIGZpZ2h0IHRoYXQgd2F5LgoKVW5mb3J0dW5hdGVseSwgbXkgb3BpbmlvbiBvbiB0aGlzIG1hdHRlciB0ZW5kcyB0byBiZSBpbiB0aGUgbWlub3JpdHksIGFzIHRoZSAKVUZDIGhhcyBmb3VuZCBiaWcga25vY2stb3V0cyB0byBiZSB0aGUgcmVjaXBlIGZvciB0aWNrZXQgYW5kIHBheS1wZXItdmlldyAKc2FsZXMgdGhhdCBoYXZlIHRha2VuIHRoZSBvcmdhbml6YXRpb24gdG8gbmV3IGhlaWdodHMgaW4gdGhlIGxhc3QgZGVjYWRlIG9yIHNvLgoKVGhlIFVGQyBoYXMgY2hhbmdlZCBhIGxvdCBkdXJpbmcgdGhlIHNob3J0IHRpbWUgaXQgaGFzIGV4aXN0ZWQsIGFuZCBJIHdhcyAKY3VyaW91cyB0byBzZWUgaG93IHRoZSBsaWtlbGlob29kIG9mIFVGQyBmaWdodHMgdG8gZW5kIGluIG9uZSBtYW5uZXIgb3IgCmFub3RoZXIgY2hhbmdlZCBvdmVyIHRoZSBjb3Vyc2Ugb2YgVUZDIGhpc3RvcnkgYXMgd2VsbCwgcGFydGljdWxhcnkgd2l0aApyZWdhcmRzIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2YgTU1BIGdsb3ZlcyBpbiAxOTk2LTE5OTcuCgojIyBQcmVwcm9jZXNzaW5nCgpMb2FkIHRoZSBkYXRhOgoKYGBge3J9CnVmYyA8LSByZWFkLmNzdigicmF3X3RvdGFsX2ZpZ2h0X2RhdGEuY3N2Iiwgc2VwPSI7IikKYGBgCgpQYXJzZSB0aGUgZGF0ZSBjb2x1bW4gdG8gY3JlYXRlIGEgY29sdW1uIHdpdGggdGhlIHllYXIgZWFjaCBmaWdodCB0b29rIHBsYWNlCgpgYGB7cn0KdWZjMiA8LSB1ZmMgJT4lCiAgbXV0YXRlKGZpZ2h0X3llYXIgPSB5ZWFyKHBhcnNlX2RhdGVfdGltZShkYXRlLCBvcmRlcnMgPSAibWR5IikpKQpgYGAKCgpIZXJlLCB3ZSBhcmUgZ29pbmcgdG8gY3JlYXRlIHNlcGFyYXRlIGRhdGFmcmFtZXMgZm9yIHRoZSBmaWdodHMgZW5kZWQgYnkgCnN1Ym1pc3Npb24gb3Iga25vY2tvdXQuIFdlIHdpbGwgdGhlbiBwZXJmb3JtIGlkZW50aWNhbCBzdGVwcyBvbiBlYWNoOgoKCmBgYHtyfQpzdWJzIDwtIHVmYzIgJT4lIGZpbHRlcih3aW5fYnk9PSJTdWJtaXNzaW9uIikKa29zIDwtIHVmYzIgJT4lIGZpbHRlcih3aW5fYnk9PSJLTy9US08iKQpgYGAKCkdyb3VwIGJ5IHllYXIgYW5kIHN1bW1hcmlzZSB0byB0aGUgc3VtIG9mIGVhY2ggdHlwZSBvZiBmaW5pc2guCgpgYGB7cn0KdG90YWxfZmlnaHRzX2J5X3llYXIgPC0gdWZjMiAlPiUKICBncm91cF9ieShmaWdodF95ZWFyKSAlPiUKICBzdW1tYXJpc2UodG90YWxfZmlnaHRzID0gbigpKQprb3NfYnlfeWVhciA8LSBrb3MgJT4lCiAgZ3JvdXBfYnkoZmlnaHRfeWVhcikgJT4lCiAgc3VtbWFyaXNlKGtub2Nrb3V0cyA9IG4oKSkKc3Vic19ieV95ZWFyIDwtIHN1YnMgJT4lCiAgZ3JvdXBfYnkoZmlnaHRfeWVhcikgJT4lCiAgc3VtbWFyaXNlKHN1Ym1pc3Npb25zID0gbigpKQoKCmBgYAoKTm93IHdlJ2xsIGpvaW4gdGhlc2Ugc3RhdGlzdGljcyBiYWNrIGludG8gYSBzaW5nbGUgZGF0YWZyYW1lLgoKYGBge3J9CnZpY3RvcnlfbWV0aG9kIDwtIHRvdGFsX2ZpZ2h0c19ieV95ZWFyICU+JQogIHJpZ2h0X2pvaW4oa29zX2J5X3llYXIsIGJ5ID0gImZpZ2h0X3llYXIiKSAlPiUKICByaWdodF9qb2luKHN1YnNfYnlfeWVhciwgYnkgPSAiZmlnaHRfeWVhciIpCmBgYAoKTWFrZSBhIG5ldyBjb2x1bW4gaG9sZGluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGtub2Nrb3V0IGFuZCBzdWJtaXNzaW9uIApmaW5pc2hlcyBlYWNoIHllYXIuCgpgYGB7cn0KdmljdG9yeV9tZXRob2QgPC0gdmljdG9yeV9tZXRob2QgJT4lCiAgbXV0YXRlKGRpZmYgPSBrbm9ja291dHMgLSBzdWJtaXNzaW9ucykKYGBgCgpXZSBhcmUgZ29pbmcgdG8gcGxvdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGtub2Nrb3V0IGFuZCBzdWJtaXNzaW9uIGZpbmlzaGVzIAplYWNoIHllYXIuIFdlJ2xsIHVzZSB0aGUgZGlmZmVyZW5jZSBzbyB0aGF0IHRoZSByZXN1bHQgaXMgbmVnYXRpdmUgd2hlbiB0aGVyZSAKYXJlIG1vcmUgc3VibWlzc2lvbnMgaW4gYSB5ZWFyLCBzbyB0aGF0IGl0IGlzIHZlcnkgZWFzeSB0byBpbnRlcnByZXQgdmlzdWFsbHkuCgpNeSBiZWxpZWYgaXMgdGhhdCB0aGUgY2xhaW0gaXMgdHJ1ZTsgdXNlIG9mIGdsb3ZlcyBsZWFkcyB0byBtb3JlIGtub2NrLW91dHMuCldlIGRvIG5vdCByZWFsbHkgaGF2ZSBlbm91Z2ggZGF0YSB0byBwcm92ZSB0aGlzIGNsYWltIGhlcmUsIGJlY2F1c2Ugb25seSBhIApoYW5kZnVsIG9mIFVGQydzIGV2ZW50cyBhY3R1YWxseSBvY2N1cnJlZCBiZWZvcmUgdGhlIGdsb3ZlcyB3ZXJlIGFkZGVkLiBIb3dldmVyLAp3ZSBjb3VsZCBwb3RlbnRpYWxseSBkaXNwcm92ZSBpdCwgaWYga25vY2stb3V0cyB3ZXJlIGFjdHVhbGx5IG1vcmUgY29tbW9uIGluIHRoZQpwcmUtZ2xvdmUgeWVhcnMuCgpNeSBleHBlY3RhdGlvbiwgdGhlcmVmb3JlLCBpcyB0aGF0IHdlIHNlZSBtb3JlIHN1Ym1pc3Npb25zIHRoYW4ga25vY2stb3V0cyBpbgoxOTk0LCAxOTk1LCBhbmQgMTk5NiwgYW5kIG1vcmUga25vY2stb3V0cyBpbiBtb3N0LCBpZiBub3QgYWxsIHllYXJzIHRoZXJlYWZ0ZXIuIAoKYGBge3J9CnZpY3RvcnlfbWV0aG9kICU+JQogIGdncGxvdCgpICsgCiAgZ2VvbV9iYXIobWFwcGluZyA9IGFlcyh4ID0gZmlnaHRfeWVhciwgeSA9IGRpZmYsIGZpbGwgPSB0b3RhbF9maWdodHMpLCBzdGF0ID0gIklkZW50aXR5IikgKwogIHRoZW1lX21pbmltYWwoKSArCiAgbGFicyh0aXRsZSA9ICJEaWZmZXJlbmNlIEJldHdlZW4gVUZDIEZpZ2h0cyBFbmRlZCBieSBLbm9jay1vdXQgYW5kIFN1Ym1pc3Npb24sIDE5OTQtMjAwMSIsCiAgICAgICB4ID0gIlllYXIiLAogICAgICAgeSA9ICJLT3MgLSBTdWJtaXNzaW9ucyIsCiAgICAgICBmaWxsID0gIk51bWJlciBvZiBGaWdodHMiKSArCiAgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgxOTk1LDIwMjAsIGJ5PTUpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgtMTAsNzAsIGJ5PTIwKSkgKwogIHNjYWxlX2ZpbGxfZ3JhZGllbnQobG93ID0gIiNjM2M2Y2EiLCBoaWdoID0gIiM1MzZhNzQiKSArCiAgdGhlbWUocGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gIiNGMEY0RjYiKSkKYGBgCgpUaGlzIGlzIHByZXR0eSBjbG9zZSB0byB3aGF0IHdlIGV4cGVjdGVkOiAxOTk0IGFuZCAxOTk1IHdlcmUgdGhlIGJlc3QgeWVhcnMgZm9yIApzdWJtaXNzaW9ucyBpbiBVRkMgcmVsYXRpdmUgdG8ga25vY2stb3V0cyBvdXQgb2YgYWxsIDI3IHllYXJzLiBJbnRlcmVzdGluZ2x5IAp0aG91Z2gsIHdlIGRvIHNlZSBtb3JlIGtub2NrLW91dHMgaW4gMTk5NiwgYmVmb3JlIGdsb3ZlcyB3ZXJlIGFkZGVkLCBhbmQgCm1vcmUgc3VibWlzc2lvbnMgaW4gMTk5NywgdGhlIHllYXIgdGhhdCBnbG92ZXMgd2VyZSBhZGRlZC4gVGhlc2UgeWVhcnMgYXJlIHRoZSAKZXhhY3Qgb3Bwb3NpdGUgb2Ygd2hhdCB3ZSBleHBlY3RlZC4gSXQgc2hvdWxkIGJlIG5vdGVkLCB0aG91Z2gsIHRoYXQgYnkgMTk5NiwKc29tZSBmaWdodGVycyBoYWQgYWxyZWFkeSBzdGFydGVkIHdlYXJpbmcgZ2xvdmVzLCBhbmQgaXQgd2FzIG9ubHkgaW4gMTk5Nwp0aGF0IHRoZXkgYmVjYW1lIG1hbmRhdG9yeS4gSXQgaXMgcmVhbGx5IHRvbyBiYWQgdGhhdCB0aGVyZSBhcmVuJ3QgbW9yZSB5ZWFycyBvZgpnbG92ZWxlc3MgTU1BIHRvIHVzZSBmb3IgY29tcGFyaXNvbi4gSSB3YXMgdmVyeSBzdXJwcmlzZWQgdG8gc2VlIHRoYXQgMjAwNyBoYWQgCm1vcmUgc3VibWlzc2lvbnMgdGhhbiBrbm9ja291dHMuIEkgZGlkIGEgcXVpY2sgbG9vayBvbmxpbmUgYnV0IGZvdW5kIG5vIGFwcGFyZW50CmV4cGxhbmF0aW9uIGZvciB0aGlzLgoKClRoaXMgcGxvdCBhbHNvIGNvbW11bmljYXRlcyB0aGUgY2hhbmdlIGluIHBvcHVsYXJpdHkKb2YgVUZDIHNpbmNlIGl0cyBpbmNlcHRpb24gaW4gMTk5NC4gSXQgcmVhbGx5IGV4cGxvZGVkIGluIHBvcHVsYXJpdHkgaW4gMjAxMywgCmFuZCBldmVyeSB5ZWFyIHNpbmNlIHRoZW4gaGFzIGhhZCBtb3JlIGV2ZW50cyB0aGFuIGFueSB5ZWFyIHByZXZpb3VzLiBJdCBpcyAKaW50ZXJlc3RpbmcgdGhhdCwgbWlkd2F5IAp0aHJvdWdoIDIwMjEgdGhlcmUgaGF2ZSBiZWVuIGEgbnVtYmVyIG9mIFVGQyBldmVudHMgY2xvc2VyIAp0byB0aGUgeWVhcmx5IHRvdGFsIGZvciB0aGUgOTBzLzIwMDBzIGJ1dCB3ZSBzZWVtIHRvIGJlIGhlYWRlZCBmb3IgYSAKa25vY2tvdXQgdG8gc3VibWlzc2lvbiByYXRpbyBvbiBwYXIgd2l0aCBtb3JlIHJlY2VudCB5ZWFycy4KCkkgd2lzaCB0aGUgVUZDIG9yIG90aGVyIG9yZ2FuaXphdGlvbnMgd291bGQgZXhwZXJpbWVudCB3aXRoIHJlbW92aW5nIGdsb3Zlcy4gSSAKc3VzcGVjdCBpdCB3b3VsZCBsZWFkIHRvIGEgcmVkdWN0aW9uIGluIGhlYWQgdHJhdW1hIGV4cGVyaWVuY2VkIGJ5IGZpZ2h0ZXJzLgpOb3Qgb25seSB0aGF0LCBidXQgaXQgd291bGQgbGVhZCB0byBtb3JlIHN0cmF0ZWdpYyBhbmQgdGVjaG5pY2FsIE1NQSB3aXRoIApmaWdodGVycyBuZWVkaW5nIHRvIHJlbHkgbW9yZSBoZWF2aWx5IG9uIHN1Ym1pc3Npb24gYXR0ZW1wdHMgYW5kIGtpY2tzIHJhdGhlciAKdGhhbiBwdW5jaGluZyBiYWNrIGFuZCBmb3J0aC4gU2FkbHksIEkgZG91YnQgaXQgd2lsbCBoYXBwZW4gYW55IHRpbWUgc29vbi4gQnV0IAp5b3UgaGF2ZSB0byB3b25kZXIgd2h5LiBBZnRlciBhbGwsIGluIGEgc3BvcnQgd2hlcmUgYXRobGV0ZXMgYXJlIGFsbG93ZWQgdG8gCnN0cmlrZSBvbmUgYW5vdGhlciB3aXRoIGtuZWVzIGFuZCBlbGJvd3MsIHRoZSBVRkMgY2FuJ3QgcG9zc2libHkgY2xhaW0gdGhhdCB0aGUKZ2xvdmVzIGFyZSB0aGVyZSB0byBwcm90ZWN0IHRoZSBmaWdodGVyIGJlaW5nIGhpdC4=