Data

library(haven)

ddi <- read_ipums_ddi("/Volumes/Jyoti/Stat 2 /PROJECT/nhis_00013.xml")
data <- read_ipums_micro(ddi)
## Use of data from IPUMS NHIS is subject to conditions including that users
## should cite the data appropriately. Use command `ipums_conditions()` for more
## details.
data<- haven::zap_labels(data)

names(data) <- tolower(gsub(pattern = "_",replacement =  "",x =  names(data)))

Recode the variables

data<- filter(data, data$pregnantnow ==2)


#depression level
data$depfeelevl<-as.factor(data$depfeelevl)
data$depfeelevl<- car::Recode(data$depfeelevl,
                       recodes="1='ALot'; 2='A Little'; 
                       3='Between a Little and a Lot'; 7:9=NA; else=NA",
                      as.factor=T)


# medication for depression
data$deprx <- as.factor(data$deprx)

data$deprx<- car::Recode(data$deprx,
                       recodes="1='No'; 2='Yes';else=NA",
                       as.factor=T)



#currently Pregnant 
data$pregnantnow<-as.factor(data$pregnantnow)
data$curpreg<-car::Recode(data$pregnantnow,
                          recodes="2='Yes';else=NA",
                          as.factor=T)
        
data$educ<-Recode(data$educ,
                        recodes="100:116 ='Less than HS'; 200:202='HS Diploma/GED'; 300:303='Some college';400= 'Undergraduate Degree'; 500:503:= 'Graduate Degree';else=NA", as.factor = T)
data$educ<-as.factor(data$educ)



#employment status

data$empstat<- car::Recode(data$empstat,
                       recodes="100='Employed'; 200='Unemployed';else=NA",
                       as.factor=T)


# income grouping

data$famtotinc_cat<-Recode(data$famtotinc, recodes = "0:49999='Less than 50k'; 50000:99999='50-100k';100000:149999='100-150k';150000:199999='150-200k';200000:250000='200-250k';else=NA", as.factor = T)
data$famtotinc_cat<-as.ordered(data$famtotinc)


##race
data$race<- car::Recode(data$racea,
                       recodes="100 ='White'; 200 ='African American'; 
                       400:590= 'Asian/Others'; else=NA", 
                       as.factor=T)


#race/ethnicity
data$black<- car::Recode(data$hisprace,
                       recodes="03=1; 99=NA; else=0")

data$white<- car::Recode(data$hisprace,
                       recodes="02=1; 99=NA; else=0")

data$other<- car::Recode(data$hisprace,
                      recodes="4:7=1; 99=NA; else=0")

data$hispanic<- car::Recode(data$hisprace,
                       recodes="01=1; 99=NA; else=0")

data$hisprace<- as.factor(data$hisprace)

data$race_eth<-car::Recode(data$hisprace,
recodes="01='Hispanic'; 02='NH_White'; 03='NH_Black';04:07='NH_Other'; else=NA",
as.factor = T)
data$race_eth<-relevel(data$race_eth,
                          ref = "NH_White")

## marital status
data$mars<- car::Recode(data$marstat, 
                        recodes ="10:13='Married'; 30:40='Divorced/Separated'; 
                        ; 50='Never Married'; else=NA", 
                        as.factor=T)

Filter data

data<-data%>%
  filter(is.na(educ)==F)
data<-data%>%
  filter(is.na(curpreg)==F)
data<-data%>%
  filter(is.na(deprx)==F)
data<-data%>%
  filter(is.na(empstat)==F)
data<-data%>%
  filter(is.na(marstat)==F)
data<-data%>%
  filter(is.na(race_eth)==F)

Survey design

#First we tell R our survey design
options(survey.lonely.psu = "adjust")

library(dplyr)
sub<-data%>%
  select(curpreg, educ, deprx, empstat, race_eth, mars, sampweight,strata) %>%
  filter( complete.cases(.))


#First we tell R our survey design

options(survey.lonely.psu = "adjust")
des<-svydesign(ids=~1,
               strata=~strata,
               weights=~sampweight,
               data =sub)
## count education frequency
countedu <- sub %>% 
  group_by(educ)%>%
dplyr::summarise(numedu=n())
countedu
## count employment frequency
countemp <- sub %>% 
  group_by(empstat)%>%
dplyr::summarise(numemp=n())
countemp
## count marital status frequency
countmar <- sub %>% 
  group_by(mars)%>%
dplyr::summarise(nummar=n())
countmar
label(data$depfeelevl) <- "Depression Level"
label(data$deprx) <- "Medication for Depression"
label(data$pregnantnow) <-"Currently Pregnant"
label(data$educ) <- "Education Level"
label(data$empstat)<- "Employment Status"
label(data$race_eth)<- "Race/Ethnicity"
label(data$mars)<- "Marital Status"

Results

## Table 1: Demographic Characteristics of currently pregnant women who are either taking or not taking prescription medication for depression
table<-table1(~ educ + empstat + race_eth + mars | deprx, data=sub)
table
No
(N=202)
Yes
(N=20)
Overall
(N=222)
educ
Graduate Degree 32 (15.8%) 4 (20.0%) 36 (16.2%)
HS Diploma/GED 33 (16.3%) 2 (10.0%) 35 (15.8%)
Less than HS 14 (6.9%) 1 (5.0%) 15 (6.8%)
Some college 54 (26.7%) 10 (50.0%) 64 (28.8%)
Undergraduate Degree 69 (34.2%) 3 (15.0%) 72 (32.4%)
empstat
Employed 153 (75.7%) 15 (75.0%) 168 (75.7%)
Unemployed 49 (24.3%) 5 (25.0%) 54 (24.3%)
race_eth
NH_White 129 (63.9%) 17 (85.0%) 146 (65.8%)
Hispanic 35 (17.3%) 3 (15.0%) 38 (17.1%)
NH_Black 18 (8.9%) 0 (0%) 18 (8.1%)
NH_Other 20 (9.9%) 0 (0%) 20 (9.0%)
mars
Divorced/Separated 10 (5.0%) 1 (5.0%) 11 (5.0%)
Married 140 (69.3%) 13 (65.0%) 153 (68.9%)
Never Married 52 (25.7%) 6 (30.0%) 58 (26.1%)
## Figure 1: Depression Among currently Pregnant Women by Education
Fig1 <- ggplot(data = sub, aes(x=educ, fill=deprx)) + 
  geom_bar(position='fill')+
    geom_text(data=countedu, 
            aes(x=educ, y=0.05, label=numedu), 
            size=5, colour="white", inherit.aes=FALSE)+
labs(title="Depression medication among currently pregnant women 
     by Education", 
         x="Education", y = "Population Proportion", fill ="Legend")+
  theme(legend.position="right")
Fig1

## Figure 2: Depression Among Currently Pregnant Women by Employment Status
Fig2 <- ggplot(data = sub, aes(x=empstat, fill=deprx)) + 
  geom_bar(position='fill')+
  geom_text(data=countemp, 
            aes(x=empstat, y=0.05, label=numemp), 
            size=5, colour="white", inherit.aes=FALSE)+
  labs(title="Depression medication among currently pregnant women by Employment Status", 
         x="Employment", y = "Population Proportion", fill ="Legend")+
  theme(legend.position="right")
Fig2

# Figure 3: Depression Among Currently Pregnant Women by Marital Status
Fig3 <- ggplot(data = sub, aes(x=mars, fill=deprx)) + 
  geom_bar(position='fill')+
  geom_text(data=countmar, 
            aes(x=mars, y=0.05, label=nummar), 
            size=5, colour="white", inherit.aes=FALSE)+
  labs(title="Depression medication among currently pregnant women by Marital Status", 
         x="Marital Status", y = "Population Proportion", fill ="Legend")+
  theme(legend.position="right")
Fig3

LS0tCnRpdGxlOiAiUHJlbmF0YWwgRGVwcmVzc2lvbiwgRGVzY3JpcHRpdmUiCmF1dGhvcjogIkp5b3RpIE5lcGFsLCBNU1ciCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiCm91dHB1dDoKICAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBwYWdlZAogICAgZmlnX2hlaWdodDogNwogICAgZmlnX3dpZHRoOiA3CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKLS0tCgpgYGB7ciBpbmNsdWRlPUZBTFNFfQpsaWJyYXJ5KHN0YXJnYXplciwgcXVpZXRseSA9IFQpCmxpYnJhcnkoc3VydmV5LCBxdWlldGx5ID0gVCkKbGlicmFyeShjYXIsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KHF1ZXN0aW9uciwgcXVpZXRseSA9IFQpCmxpYnJhcnkoZHBseXIsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KGZvcmNhdHMsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KHRpZHl2ZXJzZSwgcXVpZXRseSA9IFQpCmxpYnJhcnkoc3J2eXIsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KGd0c3VtbWFyeSwgcXVpZXRseSA9IFQpCmxpYnJhcnkoY2FyZXQsIHF1aWV0bHkgPSBUKQpsaWJyYXJ5KGlwdW1zciwgcXVpZXRseSA9IFQpCmxpYnJhcnkodGFibGUxLCBxdWlldGx5ID0gVCkKbGlicmFyeShnZ3Bsb3QyLCBxdWlldGx5ID0gVCkKYGBgCgojIyMgRGF0YQpgYGB7cn0KbGlicmFyeShoYXZlbikKCmRkaSA8LSByZWFkX2lwdW1zX2RkaSgiL1ZvbHVtZXMvSnlvdGkvU3RhdCAyIC9QUk9KRUNUL25oaXNfMDAwMTMueG1sIikKZGF0YSA8LSByZWFkX2lwdW1zX21pY3JvKGRkaSkKZGF0YTwtIGhhdmVuOjp6YXBfbGFiZWxzKGRhdGEpCgpuYW1lcyhkYXRhKSA8LSB0b2xvd2VyKGdzdWIocGF0dGVybiA9ICJfIixyZXBsYWNlbWVudCA9ICAiIix4ID0gIG5hbWVzKGRhdGEpKSkKCmBgYAoKIyMgUmVjb2RlIHRoZSB2YXJpYWJsZXMKYGBge3J9CmRhdGE8LSBmaWx0ZXIoZGF0YSwgZGF0YSRwcmVnbmFudG5vdyA9PTIpCgoKI2RlcHJlc3Npb24gbGV2ZWwKZGF0YSRkZXBmZWVsZXZsPC1hcy5mYWN0b3IoZGF0YSRkZXBmZWVsZXZsKQpkYXRhJGRlcGZlZWxldmw8LSBjYXI6OlJlY29kZShkYXRhJGRlcGZlZWxldmwsCiAgICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iMT0nQUxvdCc7IDI9J0EgTGl0dGxlJzsgCiAgICAgICAgICAgICAgICAgICAgICAgMz0nQmV0d2VlbiBhIExpdHRsZSBhbmQgYSBMb3QnOyA3Ojk9TkE7IGVsc2U9TkEiLAogICAgICAgICAgICAgICAgICAgICAgYXMuZmFjdG9yPVQpCgoKIyBtZWRpY2F0aW9uIGZvciBkZXByZXNzaW9uCmRhdGEkZGVwcnggPC0gYXMuZmFjdG9yKGRhdGEkZGVwcngpCgpkYXRhJGRlcHJ4PC0gY2FyOjpSZWNvZGUoZGF0YSRkZXByeCwKICAgICAgICAgICAgICAgICAgICAgICByZWNvZGVzPSIxPSdObyc7IDI9J1llcyc7ZWxzZT1OQSIsCiAgICAgICAgICAgICAgICAgICAgICAgYXMuZmFjdG9yPVQpCgoKCiNjdXJyZW50bHkgUHJlZ25hbnQgCmRhdGEkcHJlZ25hbnRub3c8LWFzLmZhY3RvcihkYXRhJHByZWduYW50bm93KQpkYXRhJGN1cnByZWc8LWNhcjo6UmVjb2RlKGRhdGEkcHJlZ25hbnRub3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iMj0nWWVzJztlbHNlPU5BIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBhcy5mYWN0b3I9VCkKICAgICAgICAKZGF0YSRlZHVjPC1SZWNvZGUoZGF0YSRlZHVjLAogICAgICAgICAgICAgICAgICAgICAgICByZWNvZGVzPSIxMDA6MTE2ID0nTGVzcyB0aGFuIEhTJzsgMjAwOjIwMj0nSFMgRGlwbG9tYS9HRUQnOyAzMDA6MzAzPSdTb21lIGNvbGxlZ2UnOzQwMD0gJ1VuZGVyZ3JhZHVhdGUgRGVncmVlJzsgNTAwOjUwMzo9ICdHcmFkdWF0ZSBEZWdyZWUnO2Vsc2U9TkEiLCBhcy5mYWN0b3IgPSBUKQpkYXRhJGVkdWM8LWFzLmZhY3RvcihkYXRhJGVkdWMpCgoKCiNlbXBsb3ltZW50IHN0YXR1cwoKZGF0YSRlbXBzdGF0PC0gY2FyOjpSZWNvZGUoZGF0YSRlbXBzdGF0LAogICAgICAgICAgICAgICAgICAgICAgIHJlY29kZXM9IjEwMD0nRW1wbG95ZWQnOyAyMDA9J1VuZW1wbG95ZWQnO2Vsc2U9TkEiLAogICAgICAgICAgICAgICAgICAgICAgIGFzLmZhY3Rvcj1UKQoKCiMgaW5jb21lIGdyb3VwaW5nCgpkYXRhJGZhbXRvdGluY19jYXQ8LVJlY29kZShkYXRhJGZhbXRvdGluYywgcmVjb2RlcyA9ICIwOjQ5OTk5PSdMZXNzIHRoYW4gNTBrJzsgNTAwMDA6OTk5OTk9JzUwLTEwMGsnOzEwMDAwMDoxNDk5OTk9JzEwMC0xNTBrJzsxNTAwMDA6MTk5OTk5PScxNTAtMjAwayc7MjAwMDAwOjI1MDAwMD0nMjAwLTI1MGsnO2Vsc2U9TkEiLCBhcy5mYWN0b3IgPSBUKQpkYXRhJGZhbXRvdGluY19jYXQ8LWFzLm9yZGVyZWQoZGF0YSRmYW10b3RpbmMpCgoKIyNyYWNlCmRhdGEkcmFjZTwtIGNhcjo6UmVjb2RlKGRhdGEkcmFjZWEsCiAgICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iMTAwID0nV2hpdGUnOyAyMDAgPSdBZnJpY2FuIEFtZXJpY2FuJzsgCiAgICAgICAgICAgICAgICAgICAgICAgNDAwOjU5MD0gJ0FzaWFuL090aGVycyc7IGVsc2U9TkEiLCAKICAgICAgICAgICAgICAgICAgICAgICBhcy5mYWN0b3I9VCkKCgojcmFjZS9ldGhuaWNpdHkKZGF0YSRibGFjazwtIGNhcjo6UmVjb2RlKGRhdGEkaGlzcHJhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iMDM9MTsgOTk9TkE7IGVsc2U9MCIpCgpkYXRhJHdoaXRlPC0gY2FyOjpSZWNvZGUoZGF0YSRoaXNwcmFjZSwKICAgICAgICAgICAgICAgICAgICAgICByZWNvZGVzPSIwMj0xOyA5OT1OQTsgZWxzZT0wIikKCmRhdGEkb3RoZXI8LSBjYXI6OlJlY29kZShkYXRhJGhpc3ByYWNlLAogICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iNDo3PTE7IDk5PU5BOyBlbHNlPTAiKQoKZGF0YSRoaXNwYW5pYzwtIGNhcjo6UmVjb2RlKGRhdGEkaGlzcHJhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgcmVjb2Rlcz0iMDE9MTsgOTk9TkE7IGVsc2U9MCIpCgpkYXRhJGhpc3ByYWNlPC0gYXMuZmFjdG9yKGRhdGEkaGlzcHJhY2UpCgpkYXRhJHJhY2VfZXRoPC1jYXI6OlJlY29kZShkYXRhJGhpc3ByYWNlLApyZWNvZGVzPSIwMT0nSGlzcGFuaWMnOyAwMj0nTkhfV2hpdGUnOyAwMz0nTkhfQmxhY2snOzA0OjA3PSdOSF9PdGhlcic7IGVsc2U9TkEiLAphcy5mYWN0b3IgPSBUKQpkYXRhJHJhY2VfZXRoPC1yZWxldmVsKGRhdGEkcmFjZV9ldGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmID0gIk5IX1doaXRlIikKCiMjIG1hcml0YWwgc3RhdHVzCmRhdGEkbWFyczwtIGNhcjo6UmVjb2RlKGRhdGEkbWFyc3RhdCwgCiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29kZXMgPSIxMDoxMz0nTWFycmllZCc7IDMwOjQwPSdEaXZvcmNlZC9TZXBhcmF0ZWQnOyAKICAgICAgICAgICAgICAgICAgICAgICAgOyA1MD0nTmV2ZXIgTWFycmllZCc7IGVsc2U9TkEiLCAKICAgICAgICAgICAgICAgICAgICAgICAgYXMuZmFjdG9yPVQpCgoKYGBgCgojIyBGaWx0ZXIgZGF0YQpgYGB7cn0KZGF0YTwtZGF0YSU+JQogIGZpbHRlcihpcy5uYShlZHVjKT09RikKZGF0YTwtZGF0YSU+JQogIGZpbHRlcihpcy5uYShjdXJwcmVnKT09RikKZGF0YTwtZGF0YSU+JQogIGZpbHRlcihpcy5uYShkZXByeCk9PUYpCmRhdGE8LWRhdGElPiUKICBmaWx0ZXIoaXMubmEoZW1wc3RhdCk9PUYpCmRhdGE8LWRhdGElPiUKICBmaWx0ZXIoaXMubmEobWFyc3RhdCk9PUYpCmRhdGE8LWRhdGElPiUKICBmaWx0ZXIoaXMubmEocmFjZV9ldGgpPT1GKQpgYGAKCgojIyBTdXJ2ZXkgZGVzaWduCmBgYHtyfQojRmlyc3Qgd2UgdGVsbCBSIG91ciBzdXJ2ZXkgZGVzaWduCm9wdGlvbnMoc3VydmV5LmxvbmVseS5wc3UgPSAiYWRqdXN0IikKCmxpYnJhcnkoZHBseXIpCnN1YjwtZGF0YSU+JQogIHNlbGVjdChjdXJwcmVnLCBlZHVjLCBkZXByeCwgZW1wc3RhdCwgcmFjZV9ldGgsIG1hcnMsIHNhbXB3ZWlnaHQsc3RyYXRhKSAlPiUKICBmaWx0ZXIoIGNvbXBsZXRlLmNhc2VzKC4pKQoKCiNGaXJzdCB3ZSB0ZWxsIFIgb3VyIHN1cnZleSBkZXNpZ24KCm9wdGlvbnMoc3VydmV5LmxvbmVseS5wc3UgPSAiYWRqdXN0IikKZGVzPC1zdnlkZXNpZ24oaWRzPX4xLAogICAgICAgICAgICAgICBzdHJhdGE9fnN0cmF0YSwKICAgICAgICAgICAgICAgd2VpZ2h0cz1+c2FtcHdlaWdodCwKICAgICAgICAgICAgICAgZGF0YSA9c3ViKQoKYGBgCgoKYGBge3J9CiMjIGNvdW50IGVkdWNhdGlvbiBmcmVxdWVuY3kKY291bnRlZHUgPC0gc3ViICU+JSAKICBncm91cF9ieShlZHVjKSU+JQpkcGx5cjo6c3VtbWFyaXNlKG51bWVkdT1uKCkpCmNvdW50ZWR1CgojIyBjb3VudCBlbXBsb3ltZW50IGZyZXF1ZW5jeQpjb3VudGVtcCA8LSBzdWIgJT4lIAogIGdyb3VwX2J5KGVtcHN0YXQpJT4lCmRwbHlyOjpzdW1tYXJpc2UobnVtZW1wPW4oKSkKY291bnRlbXAKCiMjIGNvdW50IG1hcml0YWwgc3RhdHVzIGZyZXF1ZW5jeQpjb3VudG1hciA8LSBzdWIgJT4lIAogIGdyb3VwX2J5KG1hcnMpJT4lCmRwbHlyOjpzdW1tYXJpc2UobnVtbWFyPW4oKSkKY291bnRtYXIKYGBgCgoKYGBge3J9CmxhYmVsKGRhdGEkZGVwZmVlbGV2bCkgPC0gIkRlcHJlc3Npb24gTGV2ZWwiCmxhYmVsKGRhdGEkZGVwcngpIDwtICJNZWRpY2F0aW9uIGZvciBEZXByZXNzaW9uIgpsYWJlbChkYXRhJHByZWduYW50bm93KSA8LSJDdXJyZW50bHkgUHJlZ25hbnQiCmxhYmVsKGRhdGEkZWR1YykgPC0gIkVkdWNhdGlvbiBMZXZlbCIKbGFiZWwoZGF0YSRlbXBzdGF0KTwtICJFbXBsb3ltZW50IFN0YXR1cyIKbGFiZWwoZGF0YSRyYWNlX2V0aCk8LSAiUmFjZS9FdGhuaWNpdHkiCmxhYmVsKGRhdGEkbWFycyk8LSAiTWFyaXRhbCBTdGF0dXMiCmBgYAoKCiMjIFJlc3VsdHMKYGBge3J9CiMjIFRhYmxlIDE6IERlbW9ncmFwaGljIENoYXJhY3RlcmlzdGljcyBvZiBjdXJyZW50bHkgcHJlZ25hbnQgd29tZW4gd2hvIGFyZSBlaXRoZXIgdGFraW5nIG9yIG5vdCB0YWtpbmcgcHJlc2NyaXB0aW9uIG1lZGljYXRpb24gZm9yIGRlcHJlc3Npb24KdGFibGU8LXRhYmxlMSh+IGVkdWMgKyBlbXBzdGF0ICsgcmFjZV9ldGggKyBtYXJzIHwgZGVwcngsIGRhdGE9c3ViKQp0YWJsZQpgYGAKCgoKYGBge3J9CiMjIEZpZ3VyZSAxOiBEZXByZXNzaW9uIEFtb25nIGN1cnJlbnRseSBQcmVnbmFudCBXb21lbiBieSBFZHVjYXRpb24KRmlnMSA8LSBnZ3Bsb3QoZGF0YSA9IHN1YiwgYWVzKHg9ZWR1YywgZmlsbD1kZXByeCkpICsgCiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSsKICAgIGdlb21fdGV4dChkYXRhPWNvdW50ZWR1LCAKICAgICAgICAgICAgYWVzKHg9ZWR1YywgeT0wLjA1LCBsYWJlbD1udW1lZHUpLCAKICAgICAgICAgICAgc2l6ZT01LCBjb2xvdXI9IndoaXRlIiwgaW5oZXJpdC5hZXM9RkFMU0UpKwpsYWJzKHRpdGxlPSJEZXByZXNzaW9uIG1lZGljYXRpb24gYW1vbmcgY3VycmVudGx5IHByZWduYW50IHdvbWVuIAogICAgIGJ5IEVkdWNhdGlvbiIsIAogICAgICAgICB4PSJFZHVjYXRpb24iLCB5ID0gIlBvcHVsYXRpb24gUHJvcG9ydGlvbiIsIGZpbGwgPSJMZWdlbmQiKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249InJpZ2h0IikKRmlnMQpgYGAKCgoKCmBgYHtyfQojIyBGaWd1cmUgMjogRGVwcmVzc2lvbiBBbW9uZyBDdXJyZW50bHkgUHJlZ25hbnQgV29tZW4gYnkgRW1wbG95bWVudCBTdGF0dXMKRmlnMiA8LSBnZ3Bsb3QoZGF0YSA9IHN1YiwgYWVzKHg9ZW1wc3RhdCwgZmlsbD1kZXByeCkpICsgCiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSsKICBnZW9tX3RleHQoZGF0YT1jb3VudGVtcCwgCiAgICAgICAgICAgIGFlcyh4PWVtcHN0YXQsIHk9MC4wNSwgbGFiZWw9bnVtZW1wKSwgCiAgICAgICAgICAgIHNpemU9NSwgY29sb3VyPSJ3aGl0ZSIsIGluaGVyaXQuYWVzPUZBTFNFKSsKICBsYWJzKHRpdGxlPSJEZXByZXNzaW9uIG1lZGljYXRpb24gYW1vbmcgY3VycmVudGx5IHByZWduYW50IHdvbWVuIGJ5IEVtcGxveW1lbnQgU3RhdHVzIiwgCiAgICAgICAgIHg9IkVtcGxveW1lbnQiLCB5ID0gIlBvcHVsYXRpb24gUHJvcG9ydGlvbiIsIGZpbGwgPSJMZWdlbmQiKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249InJpZ2h0IikKRmlnMgpgYGAKCgpgYGB7cn0KIyBGaWd1cmUgMzogRGVwcmVzc2lvbiBBbW9uZyBDdXJyZW50bHkgUHJlZ25hbnQgV29tZW4gYnkgTWFyaXRhbCBTdGF0dXMKRmlnMyA8LSBnZ3Bsb3QoZGF0YSA9IHN1YiwgYWVzKHg9bWFycywgZmlsbD1kZXByeCkpICsgCiAgZ2VvbV9iYXIocG9zaXRpb249J2ZpbGwnKSsKICBnZW9tX3RleHQoZGF0YT1jb3VudG1hciwgCiAgICAgICAgICAgIGFlcyh4PW1hcnMsIHk9MC4wNSwgbGFiZWw9bnVtbWFyKSwgCiAgICAgICAgICAgIHNpemU9NSwgY29sb3VyPSJ3aGl0ZSIsIGluaGVyaXQuYWVzPUZBTFNFKSsKICBsYWJzKHRpdGxlPSJEZXByZXNzaW9uIG1lZGljYXRpb24gYW1vbmcgY3VycmVudGx5IHByZWduYW50IHdvbWVuIGJ5IE1hcml0YWwgU3RhdHVzIiwgCiAgICAgICAgIHg9Ik1hcml0YWwgU3RhdHVzIiwgeSA9ICJQb3B1bGF0aW9uIFByb3BvcnRpb24iLCBmaWxsID0iTGVnZW5kIikrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJyaWdodCIpCkZpZzMKYGBgCgo=