#1. Define a binary outcome of your choosing
Have you been told in the past you have depression? addepev3 > depression 1: yes, 2: no
#tolower to make everything lowercase #names used in order to not change dataset, but to the right use the dataset name #can highlight part of chunk and hit command/enter
#1. Define a binary outcome of your choosing
Filter data
data<-hardtoget%>%
filter(is.na(hoursofcare)==F)
data<-hardtoget%>%
filter(is.na(depression)==F)
data<-hardtoget%>%
filter(is.na(marst)==F)
data<-hardtoget%>%
filter(is.na(IADLcare)==F)
data<-hardtoget%>%
filter(is.na(ADLcare)==F)
data<-hardtoget%>%
filter(is.na(race)==F)
label(hardtoget$hoursofcare) <- "Hours of care"
label(hardtoget$depression) <- "Depression"
label(hardtoget$marst) <-"Maritial status"
label(hardtoget$race)<- "Race"
label(hardtoget$IADLcare) <- "Care with hometasks"
label(hardtoget$ADLcare) <- "Care with basic tasks"
library(dplyr)
sub<-hardtoget%>%
select(depression, hoursofcare, marst, race, ADLcare, IADLcare, llcpwt, ststr)%>%
filter( complete.cases(.))
#First we tell R our survey design
options(survey.lonely.psu = "adjust")
des<-svydesign(ids=~1,
strata=~ststr,
weights=~llcpwt,
data =sub )
## hours of care frequency
counthrs <- sub %>%
group_by(hoursofcare)%>%
dplyr::summarise(numhrs=n())
counthrs
## depression frequency
countdep <- sub %>%
group_by(depression)%>%
dplyr::summarise(numdep=n())
countdep
## count marital status frequency
countmar <- sub %>%
group_by(marst)%>%
dplyr::summarise(nummar=n())
countmar
## count Race frequency
countrac <- sub %>%
group_by(race)%>%
dplyr::summarise(numrace=n())
countrac
## Assistance with IADLs
countIADL <- sub %>%
group_by(IADLcare)%>%
dplyr::summarise(numIADL=n())
countIADL
## Assistance with ADLs
countADL <- sub %>%
group_by(ADLcare)%>%
dplyr::summarise(numADL=n())
countADL
## Table 1:
library(table1)
table<-table1(~ hoursofcare + marst + race + IADLcare + ADLcare | depression, data=sub)
## Warning in table1.formula(~hoursofcare + marst + race + IADLcare + ADLcare | :
## Terms to the right of '|' in formula 'x' define table columns and are expected
## to be factors with meaningful labels.
table
|
0 (N=566) |
1 (N=234) |
Overall (N=800) |
| Hours of care |
|
|
|
| 1 |
304 (53.7%) |
95 (40.6%) |
399 (49.9%) |
| 2 |
65 (11.5%) |
42 (17.9%) |
107 (13.4%) |
| 3 |
70 (12.4%) |
32 (13.7%) |
102 (12.8%) |
| 4 |
127 (22.4%) |
65 (27.8%) |
192 (24.0%) |
| Maritial status |
|
|
|
| cohab |
33 (5.8%) |
14 (6.0%) |
47 (5.9%) |
| divorced |
71 (12.5%) |
36 (15.4%) |
107 (13.4%) |
| married |
350 (61.8%) |
115 (49.1%) |
465 (58.1%) |
| nm |
72 (12.7%) |
40 (17.1%) |
112 (14.0%) |
| separated |
23 (4.1%) |
21 (9.0%) |
44 (5.5%) |
| widowed |
17 (3.0%) |
8 (3.4%) |
25 (3.1%) |
| Race |
|
|
|
| Asian |
11 (1.9%) |
2 (0.9%) |
13 (1.6%) |
| black |
108 (19.1%) |
40 (17.1%) |
148 (18.5%) |
| nhwhite |
440 (77.7%) |
190 (81.2%) |
630 (78.8%) |
| other |
4 (0.7%) |
2 (0.9%) |
6 (0.8%) |
| Pacific_Islander |
3 (0.5%) |
0 (0%) |
3 (0.4%) |
| Care with hometasks |
|
|
|
| Mean (SD) |
0.823 (0.382) |
0.902 (0.298) |
0.846 (0.361) |
| Median [Min, Max] |
1.00 [0, 1.00] |
1.00 [0, 1.00] |
1.00 [0, 1.00] |
| Care with basic tasks |
|
|
|
| Mean (SD) |
0.537 (0.499) |
0.632 (0.483) |
0.565 (0.496) |
| Median [Min, Max] |
1.00 [0, 1.00] |
1.00 [0, 1.00] |
1.00 [0, 1.00] |
The table breaks hours of care, marital status and race into whether they feel depression or not. According to the findings people who provide ‘up to 8 hours of care’ per week report the highest levels response (n=399). Although both groups report higher levels of feeling depressed than the someone who does not provide assistance, people who provide assistance with home tasks and supervision report higher levels of depression (85%) than those who help with basic tasks (57%).
## Figure 1: Depression Caregivers
Fig1 <- ggplot(data = sub, aes(x=depression, fill=hoursofcare)) +
geom_bar(position='fill')+
geom_text(data=countdep,
aes(x=depression, y=0.05, label=numdep),
size=5, colour="black", inherit.aes=FALSE)+
labs(title="Depression Among Caregivers",
x="Hours of care", y = "Population Proportion", fill ="Legend")+
theme(legend.position="right")
Fig1

Proportion of depression among hours of care provided:
For this study the independent variable will be depression and the dependent variable will be hours of care. This study will examine if the amount of hours that a person provides care for another person leads to increased levels of depression. This study will build on current literature on caregiver burnout and examine how the levels differ for marital status and race.
According to data people who report feeling do not report feeling depressed have a lower burden of care. They have a higher instance of providing care ‘up to 8 hours per week’ than those who report feeling depressed, which has the highest occurrence of providing care for someone ‘40 hours or more’ per week. The higher rates of depression in those who provide more care are a telling sign of instances of burnout as people begin to feel despair and a loss of identity.
## Figure 2: Hours Caregivers Provides Assistance According to Marital Status
Fig2 <- ggplot(data = sub, aes(x=marst, fill=hoursofcare)) +
geom_bar(position='fill')+
geom_text(data=countmar,
aes(x=marst, y=0.05, label=nummar),
size=5, colour="black", inherit.aes=FALSE)+
labs(title="Hours Caregivers Provides Assistance According to Marital Status",
x="Maritial Status", y = "Population Proportion", fill ="Legend")+
theme(legend.position="right")
Fig2
Proportion of hours of care by marital status:
Taking on the role of caregiver is a selfless act, it takes time and places a heavy burden on the person who is taking on that role. I have broken this graph into hours of care provided by a person according to their marital status. People who report being ‘divorced’ or ‘separated’ report the most instances of caring for someone ‘40 or more hours.’ This could be for multiple reasons, like, caring for a parent or child. As seen in the earlier graph about depression, those who report more hours of caring for someone have higher rates of depression. This burden could lead to marital issues like divorce. or separation.
## Figure 3: Hours of Care by Racial Differences
Fig3 <- ggplot(data = sub, aes(x=race, fill=hoursofcare)) +
geom_bar(position='fill')+
geom_text(data=countrac,
aes(x=race, y=0.05, label=numrace),
size=5, colour="black", inherit.aes=FALSE)+
labs(title="Hours of Care by Racial Differences",
x="Race", y = "Population Proportion", fill ="Legend")+
theme(legend.position="right")
Fig3
Proportion of hours of care by Race:
Cultural differences vary greatly by race, which can have an impact on the emphasis placed on caring for a loved one. According to the data, NH White has the highest number of people who report caring for someone ‘up to 8 hours a week,’ People who report being Asian have the highest level who provide ‘40 hours or more.’ This could come from cultural differences where people who report being Asian take on the role of caregiver throughout a person’s life, regardless of the time requirement.
LS0tCnRpdGxlOiAiQmxvZyAyIGZpbmFsIgphdXRob3I6ICJCcnlhbiBTb2xvbW9uIgpkYXRlOiAiMi8yNC8yMDIyIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBwYWdlZAogICAgZmlnX2hlaWdodDogNwogICAgZmlnX3dpZHRoOiA3CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIGNvZGVfZG93bmxvYWQ6IHllcwogIHdvcmRfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCmBgYHtyIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoc3RhcmdhemVyLCBxdWlldGx5ID0gVCkKbGlicmFyeShzdXJ2ZXksIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KGNhciwgcXVpZXRseSA9IFQpCmxpYnJhcnkocXVlc3Rpb25yLCBxdWlldGx5ID0gVCkKbGlicmFyeShkcGx5ciwgcXVpZXRseSA9IFQpCmxpYnJhcnkoZm9yY2F0cywgcXVpZXRseSA9IFQpCmxpYnJhcnkodGlkeXZlcnNlLCBxdWlldGx5ID0gVCkKbGlicmFyeShzcnZ5ciwgcXVpZXRseSA9IFQpCmxpYnJhcnkoZ3RzdW1tYXJ5LCBxdWlldGx5ID0gVCkKbGlicmFyeShjYXJldCwgcXVpZXRseSA9IFQpCmxpYnJhcnkoaXB1bXNyLCBxdWlldGx5ID0gVCkKbGlicmFyeSh0YWJsZTEsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KGdncGxvdDIsIHF1aWV0bHkgPSBUKQpgYGAKCiMxLiBEZWZpbmUgYSBiaW5hcnkgb3V0Y29tZSBvZiB5b3VyIGNob29zaW5nCgpIYXZlIHlvdSBiZWVuIHRvbGQgaW4gdGhlIHBhc3QgeW91IGhhdmUgZGVwcmVzc2lvbj8KYWRkZXBldjMgPiBkZXByZXNzaW9uCjE6IHllcywgMjogbm8KCmBgYHtyIGluY2x1ZGU9RkFMU0V9CmhhcmR0b2dldDwtaGF2ZW46OnJlYWRfeHB0KCIvVXNlcnMvY2hyaXN0YWNydW1yaW5lL0Rvd25sb2Fkcy9MTENQMjAyMC5YUFQgIikKYGBgCgpgYGB7ciBpbmNsdWRlPUZBTFNFfQpuYW1lcyhoYXJkdG9nZXQpPC10b2xvd2VyKGdzdWIocGF0dGVybiA9ICJfIiwgcmVwbGFjZW1lbnQgPSAiIix4PW5hbWVzKGhhcmR0b2dldCkpKQpgYGAKCiN0b2xvd2VyIHRvIG1ha2UgZXZlcnl0aGluZyBsb3dlcmNhc2UKI25hbWVzIHVzZWQgaW4gb3JkZXIgdG8gbm90IGNoYW5nZSBkYXRhc2V0LCBidXQgdG8gdGhlIHJpZ2h0IHVzZSB0aGUgZGF0YXNldCBuYW1lCiNjYW4gaGlnaGxpZ2h0IHBhcnQgb2YgY2h1bmsgYW5kIGhpdCBjb21tYW5kL2VudGVyCgoKIzEuIERlZmluZSBhIGJpbmFyeSBvdXRjb21lIG9mIHlvdXIgY2hvb3NpbmcKCgpgYGB7ciBpbmNsdWRlPUZBTFNFfQoKCiNIb3VycyBvZiB0aW1lIHNwZW50IGFzIHByb3ZpZGVyIApoYXJkdG9nZXQkaG91cnNvZmNhcmU8LVJlY29kZShoYXJkdG9nZXQkY3JndmhyczEsIHJlY29kZXM9IjE9MTsgMj0yOyAzPTM7IDQ9NDsgZWxzZT1OQSIsIGFzLmZhY3RvciA9IFQpCmhhcmR0b2dldCRob3Vyc29mY2FyZTwtcmVsZXZlbChoYXJkdG9nZXQkaG91cnNvZmNhcmUsIHJlZiA9ICIxIikKI3NleApoYXJkdG9nZXQkbWFsZTwtYXMuZmFjdG9yKGlmZWxzZShoYXJkdG9nZXQkY29sZ3NleD09MSwgIk1hbGUiLCAiRmVtYWxlIikpCgojbWFyaXRhbCBzdGF0dXMKaGFyZHRvZ2V0JG1hcnN0PC1SZWNvZGUoaGFyZHRvZ2V0JG1hcml0YWwsIHJlY29kZXM9IjE9J21hcnJpZWQnOyAyPSdkaXZvcmNlZCc7IDM9J3dpZG93ZWQnOyA0PSdzZXBhcmF0ZWQnOyA1PSdubSc7Nj0nY29oYWInOyBlbHNlPU5BIiwgYXMuZmFjdG9yPVQpCgojZGVwcmVzc2lvbgpoYXJkdG9nZXQkZGVwcmVzc2lvbjwtUmVjb2RlKGhhcmR0b2dldCRhZGRlcGV2MywgcmVjb2Rlcz0iMT0xOyAyPTA7IGVsc2U9TkEiKQoKI2Fzc2lzdCBwZXJzb25hbCBjYXJlCmhhcmR0b2dldCRBRExjYXJlPC1SZWNvZGUoaGFyZHRvZ2V0JGNyZ3ZwZXIxLCByZWNvZGVzPSIxPTE7IDI9MDsgZWxzZT1OQSIpCgojYXNzaXN0IGhvbWUgdGFza3MKaGFyZHRvZ2V0JElBRExjYXJlPC1SZWNvZGUoaGFyZHRvZ2V0JGNyZ3Zob3UxLCByZWNvZGVzPSIxPTE7IDI9MDsgZWxzZT1OQSIpCgojcmFjZS9ldGhuaWNpdHkKaGFyZHRvZ2V0JHJhY2U8LVJlY29kZShoYXJkdG9nZXQkY3ByYWNlLCByZWNvZGVzPSIxPSduaHdoaXRlJzsgMj0nYmxhY2snOyAzPSdvdGhlcic7IDQ9J0FzaWFuJzsgNT0nUGFjaWZpY19Jc2xhbmRlcic7IGVsc2U9TkE7IGFzLmZhY3RvciA9IEYiKQoKb3B0aW9ucyhzdXJ2ZXkubG9uZWx5LnBzdSA9ICJhZGp1c3QiKQoKYGBgCgojIyBGaWx0ZXIgZGF0YQpgYGB7cn0KZGF0YTwtaGFyZHRvZ2V0JT4lCiAgZmlsdGVyKGlzLm5hKGhvdXJzb2ZjYXJlKT09RikKZGF0YTwtaGFyZHRvZ2V0JT4lCiAgZmlsdGVyKGlzLm5hKGRlcHJlc3Npb24pPT1GKQpkYXRhPC1oYXJkdG9nZXQlPiUKICBmaWx0ZXIoaXMubmEobWFyc3QpPT1GKQpkYXRhPC1oYXJkdG9nZXQlPiUKICBmaWx0ZXIoaXMubmEoSUFETGNhcmUpPT1GKQpkYXRhPC1oYXJkdG9nZXQlPiUKICBmaWx0ZXIoaXMubmEoQURMY2FyZSk9PUYpCmRhdGE8LWhhcmR0b2dldCU+JQogIGZpbHRlcihpcy5uYShyYWNlKT09RikKYGBgCgoKCmBgYHtyfQpsYWJlbChoYXJkdG9nZXQkaG91cnNvZmNhcmUpIDwtICJIb3VycyBvZiBjYXJlIgpsYWJlbChoYXJkdG9nZXQkZGVwcmVzc2lvbikgPC0gIkRlcHJlc3Npb24iCmxhYmVsKGhhcmR0b2dldCRtYXJzdCkgPC0iTWFyaXRpYWwgc3RhdHVzIgpsYWJlbChoYXJkdG9nZXQkcmFjZSk8LSAiUmFjZSIKbGFiZWwoaGFyZHRvZ2V0JElBRExjYXJlKSA8LSAiQ2FyZSB3aXRoIGhvbWV0YXNrcyIKbGFiZWwoaGFyZHRvZ2V0JEFETGNhcmUpIDwtICJDYXJlIHdpdGggYmFzaWMgdGFza3MiCmBgYAoKYGBge3J9CmxpYnJhcnkoZHBseXIpCnN1YjwtaGFyZHRvZ2V0JT4lCiAgc2VsZWN0KGRlcHJlc3Npb24sIGhvdXJzb2ZjYXJlLCBtYXJzdCwgcmFjZSwgQURMY2FyZSwgSUFETGNhcmUsIGxsY3B3dCwgc3RzdHIpJT4lCiAgZmlsdGVyKCBjb21wbGV0ZS5jYXNlcyguKSkKCiNGaXJzdCB3ZSB0ZWxsIFIgb3VyIHN1cnZleSBkZXNpZ24Kb3B0aW9ucyhzdXJ2ZXkubG9uZWx5LnBzdSA9ICJhZGp1c3QiKQpkZXM8LXN2eWRlc2lnbihpZHM9fjEsCiAgICAgICAgICAgICAgIHN0cmF0YT1+c3RzdHIsCiAgICAgICAgICAgICAgIHdlaWdodHM9fmxsY3B3dCwKICAgICAgICAgICAgICAgZGF0YSA9c3ViICkKYGBgCgpgYGB7cn0KIyMgaG91cnMgb2YgY2FyZSBmcmVxdWVuY3kKY291bnRocnMgPC0gc3ViICU+JSAKICBncm91cF9ieShob3Vyc29mY2FyZSklPiUKZHBseXI6OnN1bW1hcmlzZShudW1ocnM9bigpKQpjb3VudGhycwoKIyMgZGVwcmVzc2lvbiAgZnJlcXVlbmN5CmNvdW50ZGVwIDwtIHN1YiAlPiUgCiAgZ3JvdXBfYnkoZGVwcmVzc2lvbiklPiUKZHBseXI6OnN1bW1hcmlzZShudW1kZXA9bigpKQpjb3VudGRlcAoKIyMgY291bnQgbWFyaXRhbCBzdGF0dXMgZnJlcXVlbmN5CmNvdW50bWFyIDwtIHN1YiAlPiUgCiAgZ3JvdXBfYnkobWFyc3QpJT4lCmRwbHlyOjpzdW1tYXJpc2UobnVtbWFyPW4oKSkKY291bnRtYXIKCiMjIGNvdW50IFJhY2UgZnJlcXVlbmN5CmNvdW50cmFjIDwtIHN1YiAlPiUgCiAgZ3JvdXBfYnkocmFjZSklPiUKZHBseXI6OnN1bW1hcmlzZShudW1yYWNlPW4oKSkKY291bnRyYWMKCiMjIEFzc2lzdGFuY2Ugd2l0aCBJQURMcyAKY291bnRJQURMIDwtIHN1YiAlPiUgCiAgZ3JvdXBfYnkoSUFETGNhcmUpJT4lCmRwbHlyOjpzdW1tYXJpc2UobnVtSUFETD1uKCkpCmNvdW50SUFETAoKIyMgQXNzaXN0YW5jZSB3aXRoIEFETHMgCmNvdW50QURMIDwtIHN1YiAlPiUgCiAgZ3JvdXBfYnkoQURMY2FyZSklPiUKZHBseXI6OnN1bW1hcmlzZShudW1BREw9bigpKQpjb3VudEFETApgYGAKCgpgYGB7cn0KIyMgVGFibGUgMTogCmxpYnJhcnkodGFibGUxKQp0YWJsZTwtdGFibGUxKH4gaG91cnNvZmNhcmUgKyBtYXJzdCArIHJhY2UgKyBJQURMY2FyZSArIEFETGNhcmUgfCBkZXByZXNzaW9uLCBkYXRhPXN1YikKdGFibGUKYGBgCgpUaGUgdGFibGUgYnJlYWtzIGhvdXJzIG9mIGNhcmUsIG1hcml0YWwgc3RhdHVzIGFuZCByYWNlIGludG8gd2hldGhlciB0aGV5IGZlZWwgZGVwcmVzc2lvbiBvciBub3QuIEFjY29yZGluZyB0byB0aGUgZmluZGluZ3MgcGVvcGxlIHdobyBwcm92aWRlICd1cCB0byA4IGhvdXJzIG9mIGNhcmUnIHBlciB3ZWVrIHJlcG9ydCB0aGUgaGlnaGVzdCBsZXZlbHMgcmVzcG9uc2UgKG49Mzk5KS4gQWx0aG91Z2ggYm90aCBncm91cHMgcmVwb3J0IGhpZ2hlciBsZXZlbHMgb2YgZmVlbGluZyBkZXByZXNzZWQgdGhhbiB0aGUgc29tZW9uZSB3aG8gZG9lcyBub3QgcHJvdmlkZSBhc3Npc3RhbmNlLCBwZW9wbGUgd2hvIHByb3ZpZGUgYXNzaXN0YW5jZSB3aXRoIGhvbWUgdGFza3MgYW5kIHN1cGVydmlzaW9uIHJlcG9ydCBoaWdoZXIgbGV2ZWxzIG9mIGRlcHJlc3Npb24gKDg1JSkgdGhhbiB0aG9zZSB3aG8gaGVscCB3aXRoIGJhc2ljIHRhc2tzICg1NyUpLiAKCgoKYGBge3J9CiMjIEZpZ3VyZSAxOiBEZXByZXNzaW9uIENhcmVnaXZlcnMKRmlnMSA8LSBnZ3Bsb3QoZGF0YSA9IHN1YiwgYWVzKHg9ZGVwcmVzc2lvbiwgZmlsbD1ob3Vyc29mY2FyZSkpICsgCiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSsKICAgIGdlb21fdGV4dChkYXRhPWNvdW50ZGVwLCAKICAgICAgICAgICAgYWVzKHg9ZGVwcmVzc2lvbiwgeT0wLjA1LCBsYWJlbD1udW1kZXApLCAKICAgICAgICAgICAgc2l6ZT01LCBjb2xvdXI9ImJsYWNrIiwgaW5oZXJpdC5hZXM9RkFMU0UpKwpsYWJzKHRpdGxlPSJEZXByZXNzaW9uIEFtb25nIENhcmVnaXZlcnMiLCAKICAgICAgICAgeD0iSG91cnMgb2YgY2FyZSIsIHkgPSAiUG9wdWxhdGlvbiBQcm9wb3J0aW9uIiwgZmlsbCA9IkxlZ2VuZCIpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0icmlnaHQiKQpGaWcxCmBgYAoKClByb3BvcnRpb24gb2YgZGVwcmVzc2lvbiBhbW9uZyBob3VycyBvZiBjYXJlIHByb3ZpZGVkOgoKRm9yIHRoaXMgc3R1ZHkgdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIHdpbGwgYmUgZGVwcmVzc2lvbiBhbmQgdGhlIGRlcGVuZGVudCB2YXJpYWJsZSB3aWxsIGJlIGhvdXJzIG9mIGNhcmUuIFRoaXMgc3R1ZHkgd2lsbCBleGFtaW5lIGlmIHRoZSBhbW91bnQgb2YgaG91cnMgdGhhdCBhIHBlcnNvbiBwcm92aWRlcyBjYXJlIGZvciBhbm90aGVyIHBlcnNvbiBsZWFkcyB0byBpbmNyZWFzZWQgbGV2ZWxzIG9mIGRlcHJlc3Npb24uIFRoaXMgc3R1ZHkgd2lsbCBidWlsZCBvbiBjdXJyZW50IGxpdGVyYXR1cmUgb24gY2FyZWdpdmVyIGJ1cm5vdXQgYW5kIGV4YW1pbmUgaG93IHRoZSBsZXZlbHMgZGlmZmVyIGZvciBtYXJpdGFsIHN0YXR1cyBhbmQgcmFjZS4gIAoKQWNjb3JkaW5nIHRvIGRhdGEgcGVvcGxlIHdobyByZXBvcnQgZmVlbGluZyBkbyBub3QgcmVwb3J0IGZlZWxpbmcgZGVwcmVzc2VkIGhhdmUgYSBsb3dlciBidXJkZW4gb2YgY2FyZS4gVGhleSBoYXZlIGEgaGlnaGVyIGluc3RhbmNlIG9mIHByb3ZpZGluZyBjYXJlICd1cCB0byA4IGhvdXJzIHBlciB3ZWVrJyB0aGFuIHRob3NlIHdobyByZXBvcnQgZmVlbGluZyBkZXByZXNzZWQsIHdoaWNoIGhhcyB0aGUgaGlnaGVzdCBvY2N1cnJlbmNlIG9mIHByb3ZpZGluZyBjYXJlIGZvciBzb21lb25lICc0MCBob3VycyBvciBtb3Jl4oCZIHBlciB3ZWVrLiBUaGUgaGlnaGVyIHJhdGVzIG9mIGRlcHJlc3Npb24gaW4gdGhvc2Ugd2hvIHByb3ZpZGUgbW9yZSBjYXJlIGFyZSBhIHRlbGxpbmcgc2lnbiBvZiBpbnN0YW5jZXMgb2YgYnVybm91dCBhcyBwZW9wbGUgYmVnaW4gdG8gZmVlbCBkZXNwYWlyIGFuZCBhIGxvc3Mgb2YgaWRlbnRpdHkuCgoKYGBge3J9CiMjIEZpZ3VyZSAyOiBIb3VycyBDYXJlZ2l2ZXJzIFByb3ZpZGVzIEFzc2lzdGFuY2UgQWNjb3JkaW5nIHRvIE1hcml0YWwgU3RhdHVzCkZpZzIgPC0gZ2dwbG90KGRhdGEgPSBzdWIsIGFlcyh4PW1hcnN0LCBmaWxsPWhvdXJzb2ZjYXJlKSkgKyAKICBnZW9tX2Jhcihwb3NpdGlvbj0nZmlsbCcpKwogICAgZ2VvbV90ZXh0KGRhdGE9Y291bnRtYXIsIAogICAgICAgICAgICBhZXMoeD1tYXJzdCwgeT0wLjA1LCBsYWJlbD1udW1tYXIpLCAKICAgICAgICAgICAgc2l6ZT01LCBjb2xvdXI9ImJsYWNrIiwgaW5oZXJpdC5hZXM9RkFMU0UpKwpsYWJzKHRpdGxlPSJIb3VycyBDYXJlZ2l2ZXJzIFByb3ZpZGVzIEFzc2lzdGFuY2UgQWNjb3JkaW5nIHRvIE1hcml0YWwgU3RhdHVzIiwgCiAgICAgICAgIHg9Ik1hcml0aWFsIFN0YXR1cyIsIHkgPSAiUG9wdWxhdGlvbiBQcm9wb3J0aW9uIiwgZmlsbCA9IkxlZ2VuZCIpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0icmlnaHQiKQpGaWcyCmBgYApQcm9wb3J0aW9uIG9mIGhvdXJzIG9mIGNhcmUgYnkgbWFyaXRhbCBzdGF0dXM6IAoKVGFraW5nIG9uIHRoZSByb2xlIG9mIGNhcmVnaXZlciBpcyBhIHNlbGZsZXNzIGFjdCwgaXQgdGFrZXMgdGltZSBhbmQgcGxhY2VzIGEgaGVhdnkgYnVyZGVuIG9uIHRoZSBwZXJzb24gd2hvIGlzIHRha2luZyBvbiB0aGF0IHJvbGUuIEkgaGF2ZSBicm9rZW4gdGhpcyBncmFwaCBpbnRvIGhvdXJzIG9mIGNhcmUgcHJvdmlkZWQgYnkgYSBwZXJzb24gYWNjb3JkaW5nIHRvIHRoZWlyIG1hcml0YWwgc3RhdHVzLiBQZW9wbGUgd2hvIHJlcG9ydCBiZWluZyAnZGl2b3JjZWQnIG9yICdzZXBhcmF0ZWQnIHJlcG9ydCB0aGUgbW9zdCBpbnN0YW5jZXMgb2YgY2FyaW5nIGZvciBzb21lb25lICc0MCBvciBtb3JlIGhvdXJzLicgVGhpcyBjb3VsZCBiZSBmb3IgbXVsdGlwbGUgcmVhc29ucywgbGlrZSwgY2FyaW5nIGZvciBhIHBhcmVudCBvciBjaGlsZC4gQXMgc2VlbiBpbiB0aGUgZWFybGllciBncmFwaCBhYm91dCBkZXByZXNzaW9uLCB0aG9zZSB3aG8gcmVwb3J0IG1vcmUgaG91cnMgb2YgY2FyaW5nIGZvciBzb21lb25lIGhhdmUgaGlnaGVyIHJhdGVzIG9mIGRlcHJlc3Npb24uIFRoaXMgYnVyZGVuIGNvdWxkIGxlYWQgdG8gbWFyaXRhbCBpc3N1ZXMgbGlrZSBkaXZvcmNlLiBvciBzZXBhcmF0aW9uLiAgCgoKYGBge3J9CiMjIEZpZ3VyZSAzOiBIb3VycyBvZiBDYXJlICBieSBSYWNpYWwgRGlmZmVyZW5jZXMKRmlnMyA8LSBnZ3Bsb3QoZGF0YSA9IHN1YiwgYWVzKHg9cmFjZSwgZmlsbD1ob3Vyc29mY2FyZSkpICsgCiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSsKICAgIGdlb21fdGV4dChkYXRhPWNvdW50cmFjLCAKICAgICAgICAgICAgYWVzKHg9cmFjZSwgeT0wLjA1LCBsYWJlbD1udW1yYWNlKSwgCiAgICAgICAgICAgIHNpemU9NSwgY29sb3VyPSJibGFjayIsIGluaGVyaXQuYWVzPUZBTFNFKSsKbGFicyh0aXRsZT0iSG91cnMgb2YgQ2FyZSBieSBSYWNpYWwgRGlmZmVyZW5jZXMiLCAKICAgICAgICAgeD0iUmFjZSIsIHkgPSAiUG9wdWxhdGlvbiBQcm9wb3J0aW9uIiwgZmlsbCA9IkxlZ2VuZCIpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0icmlnaHQiKQpGaWczCmBgYApQcm9wb3J0aW9uIG9mIGhvdXJzIG9mIGNhcmUgYnkgUmFjZTogCgpDdWx0dXJhbCBkaWZmZXJlbmNlcyB2YXJ5IGdyZWF0bHkgYnkgcmFjZSwgd2hpY2ggY2FuIGhhdmUgYW4gaW1wYWN0IG9uIHRoZSBlbXBoYXNpcyBwbGFjZWQgb24gY2FyaW5nIGZvciBhIGxvdmVkIG9uZS4gQWNjb3JkaW5nIHRvIHRoZSBkYXRhLCBOSCBXaGl0ZSBoYXMgdGhlIGhpZ2hlc3QgbnVtYmVyIG9mIHBlb3BsZSB3aG8gcmVwb3J0IGNhcmluZyBmb3Igc29tZW9uZSAndXAgdG8gOCBob3VycyBhIHdlZWssJyBQZW9wbGUgd2hvIHJlcG9ydCBiZWluZyBBc2lhbiBoYXZlIHRoZSBoaWdoZXN0IGxldmVsIHdobyBwcm92aWRlICc0MCBob3VycyBvciBtb3JlLicgVGhpcyBjb3VsZCBjb21lIGZyb20gY3VsdHVyYWwgZGlmZmVyZW5jZXMgd2hlcmUgcGVvcGxlIHdobyByZXBvcnQgYmVpbmcgQXNpYW4gdGFrZSBvbiB0aGUgcm9sZSBvZiBjYXJlZ2l2ZXIgdGhyb3VnaG91dCBhIHBlcnNvbuKAmXMgbGlmZSwgcmVnYXJkbGVzcyBvZiB0aGUgdGltZSByZXF1aXJlbWVudC4KCgo=