Ernesto Gomez
October 2, 2017

This analysis utilizes data from a 2013 survey distributed to a group of Slovakian students in a Statistics class, which was then simultaneously redsitributed by them to their friends. The dataset contains nearly 1,000 responses from young people ages 15-30 and includes over 150 variables pertaining to young people’s interests, hobbies, fears, and more.

For the purposes of this assignment, 4 variables were extracted from the dataset to examine spending, particularly spending on one’s appearance (DV), and potential drivers of that spending. Ultimately, what factors potentially influence a young person to be a big spender on their appearance (i.e. fear of getting old, over-interest in celebrity lifestyles) and what might this suggest about young people and our culture?

Hypotheses

  1. The more interested one is in celebrity lifestyles the more they may spend on their appearance.
  2. If one is fearful of ageing they are more likely to spend a lot on their appearance.
  3. Gender influences whether you spend a lot on your appearance. Women might be more likely to be big appearance spenders.

Variables & Data Management

To conduct this analysis, I will look to variables that measure whether a young respondent is a big spender on their appearance (spendlook), has interest in celebrity lifestyles (celebrity), fears ageing (fearageing), and, finally, gender.

The new variable, bigspendlook, was generated to include only those who responded as being big spenders on their appearance.

library(tidyverse)
library(dplyr)
library(sjmisc)
library(radiant.data)
library(pander)
library(Zelig)
library(texreg)
library(visreg)
yp2 <- data.frame(read_csv("/Users/ernesto/Documents/Advanced Analytics/Data/youngpeople.csv")) %>%
 rename("fearageing" = Ageing,
    "spendlook" = Spending.on.looks,
    "gender" = Gender,
     "celebrity" = Celebrities) %>%
  select(celebrity, gender, fearageing,spendlook) %>%
  filter(!is.na(spendlook),
         !is.na(fearageing),
         !is.na(celebrity),
         !is.na(gender), 
         gender %in% c("male", "female")) %>%
           mutate(bigspendlook = ifelse(spendlook>3,1,0),
                  gender=as.factor(gender))
         
head(yp2)

Logit Regressions

Model 1: bigspendlook ~ celebrity

Our first model investigates the relationship between big appearance spenders and the influence of being a fan of celebrity lifestyles. The results show that the log odds of being a big appearance spender increases when one also is a fan of celebrity life. This is statistically significant.

m1 <- glm(data=yp2, bigspendlook ~ celebrity, family="binomial")
summary(m1)

Call:
glm(formula = bigspendlook ~ celebrity, family = "binomial", 
    data = yp2)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.4394  -0.9292  -0.7844   1.2685   1.6301  

Coefficients:
            Estimate Std. Error z value             Pr(>|z|)    
(Intercept) -1.42560    0.14722  -9.683 < 0.0000000000000002 ***
celebrity    0.40464    0.05332   7.589   0.0000000000000323 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1334.6  on 997  degrees of freedom
Residual deviance: 1274.0  on 996  degrees of freedom
AIC: 1278

Number of Fisher Scoring iterations: 4

Model 2: bigspendlook ~ celebrity & gender & fear of ageing

Our second model adds additional independent variables, such as gender and the fear of ageing, to determine possible influence. The output indicates a log odds increase in appearance spending when coupled with a phobia of ageing. Gender, however, does not present a statistically significant influence.

m2 <- glm(data=yp2, bigspendlook ~ celebrity + gender + fearageing, family="binomial") 
summary(m2)

Call:
glm(formula = bigspendlook ~ celebrity + gender + fearageing, 
    family = "binomial", data = yp2)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5397  -0.9650  -0.7366   1.1897   1.7878  

Coefficients:
            Estimate Std. Error z value             Pr(>|z|)    
(Intercept) -1.81527    0.21415  -8.476 < 0.0000000000000002 ***
celebrity    0.36213    0.05539   6.537      0.0000000000627 ***
gendermale  -0.12534    0.14342  -0.874                0.382    
fearageing   0.20632    0.04951   4.167      0.0000308828950 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1334.6  on 997  degrees of freedom
Residual deviance: 1254.6  on 994  degrees of freedom
AIC: 1262.6

Number of Fisher Scoring iterations: 4

Model 3: bigspendlook ~ likeceleb & fearage*gender

Our third model examines the same relationships as the second model, only this time we test for the interaction between gender and a phobia of ageing. We see that when

m3 <- glm(data=yp2, bigspendlook ~ celebrity + fearageing*gender, family="binomial")
summary(m3)

Call:
glm(formula = bigspendlook ~ celebrity + fearageing * gender, 
    family = "binomial", data = yp2)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5239  -0.9835  -0.7316   1.1629   1.8135  

Coefficients:
                      Estimate Std. Error z value         Pr(>|z|)    
(Intercept)           -1.73918    0.24315  -7.153 0.00000000000085 ***
celebrity              0.35947    0.05552   6.475 0.00000000009498 ***
fearageing             0.18182    0.06210   2.928          0.00341 ** 
gendermale            -0.29847    0.30302  -0.985          0.32463    
fearageing:gendermale  0.06656    0.10251   0.649          0.51617    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1334.6  on 997  degrees of freedom
Residual deviance: 1254.2  on 993  degrees of freedom
AIC: 1264.2

Number of Fisher Scoring iterations: 4

Likelihood Ratio Test

ANOVA

Our test shows that model 2 is the best fit overall.

anova (m1, m2, m3, test="Chisq")
Analysis of Deviance Table

Model 1: bigspendlook ~ celebrity
Model 2: bigspendlook ~ celebrity + gender + fearageing
Model 3: bigspendlook ~ celebrity + fearageing * gender
  Resid. Df Resid. Dev Df Deviance   Pr(>Chi)    
1       996     1274.0                           
2       994     1254.6  2  19.4242 0.00006055 ***
3       993     1254.2  1   0.4219      0.516    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Model Comparisons

When models are placed in a table we see even further that Model 2 is our best fit. We know this by observing the AIC of 1262.60 and BIC of 1282.22. These are the lowest AIC and BIC values suggesting best fit.

screenreg(list(m1,m2,m3))

============================================================
                       Model 1      Model 2      Model 3    
------------------------------------------------------------
(Intercept)              -1.43 ***    -1.82 ***    -1.74 ***
                         (0.15)       (0.21)       (0.24)   
celebrity                 0.40 ***     0.36 ***     0.36 ***
                         (0.05)       (0.06)       (0.06)   
gendermale                            -0.13        -0.30    
                                      (0.14)       (0.30)   
fearageing                             0.21 ***     0.18 ** 
                                      (0.05)       (0.06)   
fearageing:gendermale                               0.07    
                                                   (0.10)   
------------------------------------------------------------
AIC                    1278.02      1262.60      1264.18    
BIC                    1287.83      1282.22      1288.70    
Log Likelihood         -637.01      -627.30      -627.09    
Deviance               1274.02      1254.60      1254.18    
Num. obs.               998          998          998       
============================================================
*** p < 0.001, ** p < 0.01, * p < 0.05

Visuals

Big Appearance Spending & Interest in Celebrity Lifestyles

visreg(m2, "celebrity", scale="response")


Big Appearance Spending & Fear of Ageing

visreg(m2, "fearageing", scale="response")


Big Appearance Spending & Gender

visreg(m2, "gender", scale="response")


Analysis

Ultimately, our models tell us:

What does this suggest about younger people and our culture? It might mean that being enamored with celebrity living generates a sense of lavishness and beauty that might create an increased desire to spend a lot of money on your appearance. Many young people, especially in the age of social media, look up to and follow celebrities. This might have an effect on how young people see themselves and what they view as important (i.e. looking beautiful, emulating celebrities). Furthermore, having a fear of ageing suggests that one views old(er) age as a negative on one’s appearance and therefore needs to be corrected or maintained with high spending.

The graphed models, in terms of gender, show that, while NOT statistically significant, there exists a very slight difference between women and men and being big appearance spenders. This speaks more about our culture in which women are expected more than men to always keep up with their appearances. While the difference remains negligible when it comes to the data, this in and of itself might mean that men and women ultimately both spend on their appearances.

LS0tCnRpdGxlOiAiSG9tZXdvcmsgNCAtIExvZ2lzdGljIFJlZ3Jlc3Npb25zIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIyMjI0VybmVzdG8gR29tZXoKIyMjIyNPY3RvYmVyIDIsIDIwMTcKX19fX19fX19fX19fX19fX19fX19fX19fX19fClRoaXMgYW5hbHlzaXMgdXRpbGl6ZXMgZGF0YSBmcm9tIGEgMjAxMyBzdXJ2ZXkgZGlzdHJpYnV0ZWQgdG8gYSBncm91cCBvZiBTbG92YWtpYW4gc3R1ZGVudHMgaW4gYSBTdGF0aXN0aWNzIGNsYXNzLCB3aGljaCB3YXMgdGhlbiBzaW11bHRhbmVvdXNseSByZWRzaXRyaWJ1dGVkIGJ5IHRoZW0gdG8gdGhlaXIgZnJpZW5kcy4gVGhlIGRhdGFzZXQgY29udGFpbnMgbmVhcmx5IDEsMDAwIHJlc3BvbnNlcyBmcm9tIHlvdW5nIHBlb3BsZSBhZ2VzIDE1LTMwIGFuZCBpbmNsdWRlcyBvdmVyIDE1MCB2YXJpYWJsZXMgcGVydGFpbmluZyB0byB5b3VuZyBwZW9wbGUncyBpbnRlcmVzdHMsIGhvYmJpZXMsIGZlYXJzLCBhbmQgbW9yZS4gCgpGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgYXNzaWdubWVudCwgNCB2YXJpYWJsZXMgd2VyZSBleHRyYWN0ZWQgZnJvbSB0aGUgZGF0YXNldCB0byBleGFtaW5lIHNwZW5kaW5nLCBwYXJ0aWN1bGFybHkgc3BlbmRpbmcgb24gb25lJ3MgYXBwZWFyYW5jZSAoRFYpLCBhbmQgcG90ZW50aWFsIGRyaXZlcnMgb2YgdGhhdCBzcGVuZGluZy4gVWx0aW1hdGVseSwgd2hhdCBmYWN0b3JzIHBvdGVudGlhbGx5IGluZmx1ZW5jZSBhIHlvdW5nIHBlcnNvbiB0byBiZSBhIGJpZyBzcGVuZGVyIG9uIHRoZWlyIGFwcGVhcmFuY2UgKGkuZS4gZmVhciBvZiBnZXR0aW5nIG9sZCwgb3Zlci1pbnRlcmVzdCBpbiBjZWxlYnJpdHkgbGlmZXN0eWxlcykgYW5kIHdoYXQgbWlnaHQgdGhpcyBzdWdnZXN0IGFib3V0IHlvdW5nIHBlb3BsZSBhbmQgb3VyIGN1bHR1cmU/CgojIyNIeXBvdGhlc2VzCjEpIFRoZSBtb3JlIGludGVyZXN0ZWQgb25lIGlzIGluIGNlbGVicml0eSBsaWZlc3R5bGVzIHRoZSBtb3JlIHRoZXkgbWF5IHNwZW5kIG9uIHRoZWlyIGFwcGVhcmFuY2UuCjIpIElmIG9uZSBpcyBmZWFyZnVsIG9mIGFnZWluZyB0aGV5IGFyZSBtb3JlIGxpa2VseSB0byBzcGVuZCBhIGxvdCBvbiB0aGVpciBhcHBlYXJhbmNlLgozKSBHZW5kZXIgaW5mbHVlbmNlcyB3aGV0aGVyIHlvdSBzcGVuZCBhIGxvdCBvbiB5b3VyIGFwcGVhcmFuY2UuIFdvbWVuIG1pZ2h0IGJlIG1vcmUgbGlrZWx5IHRvIGJlIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXJzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiNWYXJpYWJsZXMgJiBEYXRhIE1hbmFnZW1lbnQKClRvIGNvbmR1Y3QgdGhpcyBhbmFseXNpcywgSSB3aWxsIGxvb2sgdG8gdmFyaWFibGVzIHRoYXQgbWVhc3VyZSB3aGV0aGVyIGEgeW91bmcgcmVzcG9uZGVudCBpcyBhIGJpZyBzcGVuZGVyIG9uIHRoZWlyIGFwcGVhcmFuY2UgKCoqc3BlbmRsb29rKiopLCBoYXMgaW50ZXJlc3QgaW4gY2VsZWJyaXR5IGxpZmVzdHlsZXMgKCoqY2VsZWJyaXR5KiopLCBmZWFycyBhZ2VpbmcgKCoqZmVhcmFnZWluZyoqKSwgYW5kLCBmaW5hbGx5LCAqKmdlbmRlcioqLiAKCiogKipzcGVuZGxvb2sqKiAtIFRoaXMgdmFyaWFibGUgd2lsbCBiZSBvdXIgZGVwZW5kZW50IHZhcmlhYmxlIGFuZCBpdCBtZWFzdXJlcyB3aGV0aGVyIGEgeW91bmcgcmVzcG9uZGVudCBjbGFpbWVkIHRvIGJlIHNvbWVvbmUgd2hvIHNwZW50IGEgbG90IG9mIG1vbmV5IG9uIHRoZWlyIGFwcGVhcmFuY2Ugb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoU3Ryb25nbHkgRGlzYWdyZWUgLT4gU3Ryb25nbHkgQWdyZWUpIC0gKiJJIHNwZW5kIGEgbG90IG9mIG1vbmV5IG9uIG15IGFwcGVhcmFuY2UiKgorICoqY2VsZWJyaXR5KiogLSBUaGlzIHZhcmlhYmxlIG1lYXN1cmVzIHdoZXRoZXIgYSB5b3VuZyByZXNwb25kZW50IGlzIG9yIGlzIG5vdCBpbnRlcmVzdGVkIGluIGNlbGVicml0aWVzIGxpZmVzdHlsZXMgb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoTm90IEludGVyZXN0ZWQgLT4gVmVyeSBJbnRlcmVzdGVkKSAtICoiQ2VsZWJyaXR5IGxpZmVzdHlsZSIqCisgKipmZWFyYWdlaW5nKiogLSBUaGlzIHZhcmlhYmxlIG1lYXN1cmVzIHdoZXRoZXIgYSB5b3VuZyByZXNwb25kZW50IGZlYXJzIG9yIGRvZXMgbm90IGZlYXIgYWdlaW5nL2dyb3dpbmcgb2xkZXIgb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoTm90IEFmcmFpZCBhdCBhbGwgLT4gVmVyeSBBZnJhaWQgb2YpOiAqIkFnZWluZyIqCisgKipnZW5kZXIqKiAtIFRoaXMgdmFyaWFibGUgbWVhc3VyZXMgd2hldGhlciBhIHJlc3BvbmRlbnQgaXMgbWFsZSBvciBmZW1hbGUsIDItcG9pbnQgc2NhbGUsIGNhdGVnb3JpY2FsCgpUaGUgbmV3IHZhcmlhYmxlLCAqKmJpZ3NwZW5kbG9vayoqLCB3YXMgZ2VuZXJhdGVkIHRvIGluY2x1ZGUgb25seSB0aG9zZSB3aG8gcmVzcG9uZGVkIGFzIGJlaW5nIGJpZyBzcGVuZGVycyBvbiB0aGVpciBhcHBlYXJhbmNlLgoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KHNqbWlzYykKbGlicmFyeShyYWRpYW50LmRhdGEpCmxpYnJhcnkocGFuZGVyKQpsaWJyYXJ5KFplbGlnKQpsaWJyYXJ5KHRleHJlZykKbGlicmFyeSh2aXNyZWcpCgp5cDIgPC0gZGF0YS5mcmFtZShyZWFkX2NzdigiL1VzZXJzL2VybmVzdG8vRG9jdW1lbnRzL0FkdmFuY2VkIEFuYWx5dGljcy9EYXRhL3lvdW5ncGVvcGxlLmNzdiIpKSAlPiUKIHJlbmFtZSgiZmVhcmFnZWluZyIgPSBBZ2VpbmcsCiAgICAic3BlbmRsb29rIiA9IFNwZW5kaW5nLm9uLmxvb2tzLAogICAgImdlbmRlciIgPSBHZW5kZXIsCiAgICAgImNlbGVicml0eSIgPSBDZWxlYnJpdGllcykgJT4lCiAgc2VsZWN0KGNlbGVicml0eSwgZ2VuZGVyLCBmZWFyYWdlaW5nLHNwZW5kbG9vaykgJT4lCiAgZmlsdGVyKCFpcy5uYShzcGVuZGxvb2spLAogICAgICAgICAhaXMubmEoZmVhcmFnZWluZyksCiAgICAgICAgICFpcy5uYShjZWxlYnJpdHkpLAogICAgICAgICAhaXMubmEoZ2VuZGVyKSwgCiAgICAgICAgIGdlbmRlciAlaW4lIGMoIm1hbGUiLCAiZmVtYWxlIikpICU+JQogICAgICAgICAgIG11dGF0ZShiaWdzcGVuZGxvb2sgPSBpZmVsc2Uoc3BlbmRsb29rPjMsMSwwKSwKICAgICAgICAgICAgICAgICAgZ2VuZGVyPWFzLmZhY3RvcihnZW5kZXIpKQogICAgICAgICAKCmhlYWQoeXAyKQpgYGAKX19fX19fX19fX19fX19fX19fX19fCiNMb2dpdCBSZWdyZXNzaW9ucyAKCiMjIyNNb2RlbCAxOiBiaWdzcGVuZGxvb2sgfiBjZWxlYnJpdHkKCk91ciBmaXJzdCBtb2RlbCBpbnZlc3RpZ2F0ZXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXJzIGFuZCB0aGUgaW5mbHVlbmNlIG9mIGJlaW5nIGEgZmFuIG9mIGNlbGVicml0eSBsaWZlc3R5bGVzLiBUaGUgcmVzdWx0cyBzaG93IHRoYXQgdGhlIGxvZyBvZGRzIG9mIGJlaW5nIGEgYmlnIGFwcGVhcmFuY2Ugc3BlbmRlciBpbmNyZWFzZXMgd2hlbiBvbmUgYWxzbyBpcyBhIGZhbiBvZiBjZWxlYnJpdHkgbGlmZS4gVGhpcyBpcyBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LgoKYGBge3J9Cm0xIDwtIGdsbShkYXRhPXlwMiwgYmlnc3BlbmRsb29rIH4gY2VsZWJyaXR5LCBmYW1pbHk9ImJpbm9taWFsIikKc3VtbWFyeShtMSkKYGBgCl9fX19fX19fX19fX19fX19fX19fX19fX19fXwojIyMjTW9kZWwgMjogYmlnc3BlbmRsb29rIH4gY2VsZWJyaXR5ICYgZ2VuZGVyICYgZmVhciBvZiBhZ2VpbmcKCk91ciBzZWNvbmQgbW9kZWwgYWRkcyBhZGRpdGlvbmFsIGluZGVwZW5kZW50IHZhcmlhYmxlcywgc3VjaCBhcyBnZW5kZXIgYW5kIHRoZSBmZWFyIG9mIGFnZWluZywgdG8gZGV0ZXJtaW5lIHBvc3NpYmxlIGluZmx1ZW5jZS4gVGhlIG91dHB1dCBpbmRpY2F0ZXMgYSBsb2cgb2RkcyBpbmNyZWFzZSBpbiBhcHBlYXJhbmNlIHNwZW5kaW5nIHdoZW4gY291cGxlZCB3aXRoIGEgcGhvYmlhIG9mIGFnZWluZy4gR2VuZGVyLCBob3dldmVyLCBkb2VzIG5vdCBwcmVzZW50IGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBpbmZsdWVuY2UuCmBgYHtyfQptMiA8LSBnbG0oZGF0YT15cDIsIGJpZ3NwZW5kbG9vayB+IGNlbGVicml0eSArIGdlbmRlciArIGZlYXJhZ2VpbmcsIGZhbWlseT0iYmlub21pYWwiKSAKc3VtbWFyeShtMikKYGBgCl9fX19fX19fX19fX19fX19fX19fX19fX19fCgojIyMjTW9kZWwgMzogYmlnc3BlbmRsb29rIH4gbGlrZWNlbGViICYgZmVhcmFnZSpnZW5kZXIKCk91ciB0aGlyZCBtb2RlbCBleGFtaW5lcyB0aGUgc2FtZSByZWxhdGlvbnNoaXBzIGFzIHRoZSBzZWNvbmQgbW9kZWwsIG9ubHkgdGhpcyB0aW1lIHdlIHRlc3QgZm9yIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGdlbmRlciBhbmQgYSBwaG9iaWEgb2YgYWdlaW5nLiBXZSBzZWUgdGhhdCB3aGVuIApgYGB7cn0KbTMgPC0gZ2xtKGRhdGE9eXAyLCBiaWdzcGVuZGxvb2sgfiBjZWxlYnJpdHkgKyBmZWFyYWdlaW5nKmdlbmRlciwgZmFtaWx5PSJiaW5vbWlhbCIpCnN1bW1hcnkobTMpCmBgYAoKX19fX19fX19fX19fX19fX19fX19fX19fXwojTGlrZWxpaG9vZCBSYXRpbyBUZXN0CiMjI0FOT1ZBCgpPdXIgdGVzdCBzaG93cyB0aGF0IG1vZGVsIDIgaXMgdGhlIGJlc3QgZml0IG92ZXJhbGwuCgpgYGB7cn0KYW5vdmEgKG0xLCBtMiwgbTMsIHRlc3Q9IkNoaXNxIikKYGBgCl9fX19fX19fX19fX19fX19fX19fX18KIyMjTW9kZWwgQ29tcGFyaXNvbnMKCldoZW4gbW9kZWxzIGFyZSBwbGFjZWQgaW4gYSB0YWJsZSB3ZSBzZWUgZXZlbiBmdXJ0aGVyIHRoYXQgTW9kZWwgMiBpcyBvdXIgYmVzdCBmaXQuIFdlIGtub3cgdGhpcyBieSBvYnNlcnZpbmcgdGhlIEFJQyBvZiAxMjYyLjYwIGFuZCBCSUMgb2YgMTI4Mi4yMi4gVGhlc2UgYXJlIHRoZSBsb3dlc3QgQUlDIGFuZCBCSUMgdmFsdWVzIHN1Z2dlc3RpbmcgYmVzdCBmaXQuCgpgYGB7cn0Kc2NyZWVucmVnKGxpc3QobTEsbTIsbTMpKQpgYGAKCl9fX19fX19fX19fX19fX19fX19fX19fCiNWaXN1YWxzCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgSW50ZXJlc3QgaW4gQ2VsZWJyaXR5IExpZmVzdHlsZXMKYGBge3J9CnZpc3JlZyhtMiwgImNlbGVicml0eSIsIHNjYWxlPSJyZXNwb25zZSIpCmBgYApfX19fX19fX19fX19fX19fX19fX19fCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgRmVhciBvZiBBZ2VpbmcKYGBge3J9CnZpc3JlZyhtMiwgImZlYXJhZ2VpbmciLCBzY2FsZT0icmVzcG9uc2UiKQpgYGAKX19fX19fX19fX19fX19fX19fX19fX19fCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgR2VuZGVyCmBgYHtyfQp2aXNyZWcobTIsICJnZW5kZXIiLCBzY2FsZT0icmVzcG9uc2UiKQpgYGAKX19fX19fX19fX19fX19fX19fX19fX19fCiNBbmFseXNpcwoKVWx0aW1hdGVseSwgb3VyIG1vZGVscyB0ZWxsIHVzOgoKKiBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gY2VsZWJyaXR5IGxpZmVzdHlsZXMsIHRoZSBsb2cgb2Rkcywgb3IgbGlrZWxpaG9vZCwgb2YgYmVpbmcgYSBiaWcgYXBwZWFyYW5jZSBzcGVuZGVyIGluY3JlYXNlcy4KKyBJZiB5b3UgaGF2ZSBhIGZlYXIgb2YgYWdlaW5nIG9yIGdldHRpbmcgb2xkZXIsIHRoZSBsb2cgb2Rkcywgb3IgbGlrZWxpaG9vZCwgb2YgYmVpbmcgYSBiaWcgYXBwZXJhbmNlIHNwZW5kZXIgYWxzbyBpbmNyZWFzZXMuCisgSWYgeW91IGFyZSBtYWxlLCB0aGUgbGlrZWxpaG9vZCBvZiBiZWluZyBhIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXIgc2xpZ2h0bHkgZGVjcmVhc2VzIGluIGNvbXBhcmlzb24gdG8gd29tZW4sIGJ1dCB0aGlzIGlzIG5vdCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LiBOZWl0aGVyIGlzIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGdlbmRlciBhbmQgZmVhciBvZiBhZ2VpbmcuCgpXaGF0IGRvZXMgdGhpcyBzdWdnZXN0IGFib3V0IHlvdW5nZXIgcGVvcGxlIGFuZCBvdXIgY3VsdHVyZT8gSXQgbWlnaHQgbWVhbiB0aGF0IGJlaW5nIGVuYW1vcmVkIHdpdGggY2VsZWJyaXR5IGxpdmluZyBnZW5lcmF0ZXMgYSBzZW5zZSBvZiBsYXZpc2huZXNzIGFuZCBiZWF1dHkgdGhhdCBtaWdodCBjcmVhdGUgYW4gaW5jcmVhc2VkIGRlc2lyZSB0byBzcGVuZCBhIGxvdCBvZiBtb25leSBvbiB5b3VyIGFwcGVhcmFuY2UuIE1hbnkgeW91bmcgcGVvcGxlLCBlc3BlY2lhbGx5IGluIHRoZSBhZ2Ugb2Ygc29jaWFsIG1lZGlhLCBsb29rIHVwIHRvIGFuZCBmb2xsb3cgY2VsZWJyaXRpZXMuIFRoaXMgbWlnaHQgaGF2ZSBhbiBlZmZlY3Qgb24gaG93IHlvdW5nIHBlb3BsZSBzZWUgdGhlbXNlbHZlcyBhbmQgd2hhdCB0aGV5IHZpZXcgYXMgaW1wb3J0YW50IChpLmUuIGxvb2tpbmcgYmVhdXRpZnVsLCBlbXVsYXRpbmcgY2VsZWJyaXRpZXMpLiBGdXJ0aGVybW9yZSwgaGF2aW5nIGEgZmVhciBvZiBhZ2Vpbmcgc3VnZ2VzdHMgdGhhdCBvbmUgdmlld3Mgb2xkKGVyKSBhZ2UgYXMgYSBuZWdhdGl2ZSBvbiBvbmUncyBhcHBlYXJhbmNlIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY29ycmVjdGVkIG9yIG1haW50YWluZWQgd2l0aCBoaWdoIHNwZW5kaW5nLiAKClRoZSBncmFwaGVkIG1vZGVscywgaW4gdGVybXMgb2YgZ2VuZGVyLCBzaG93IHRoYXQsIHdoaWxlIE5PVCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LCB0aGVyZSBleGlzdHMgYSB2ZXJ5ICpzbGlnaHQqIGRpZmZlcmVuY2UgYmV0d2VlbiB3b21lbiBhbmQgbWVuIGFuZCBiZWluZyBiaWcgYXBwZWFyYW5jZSBzcGVuZGVycy4gVGhpcyBzcGVha3MgbW9yZSBhYm91dCBvdXIgY3VsdHVyZSBpbiB3aGljaCB3b21lbiBhcmUgZXhwZWN0ZWQgbW9yZSB0aGFuIG1lbiB0byBhbHdheXMga2VlcCB1cCB3aXRoIHRoZWlyIGFwcGVhcmFuY2VzLiBXaGlsZSB0aGUgZGlmZmVyZW5jZSByZW1haW5zIG5lZ2xpZ2libGUgd2hlbiBpdCBjb21lcyB0byB0aGUgZGF0YSwgdGhpcyBpbiBhbmQgb2YgaXRzZWxmIG1pZ2h0IG1lYW4gdGhhdCBtZW4gYW5kIHdvbWVuIHVsdGltYXRlbHkgYm90aCBzcGVuZCBvbiB0aGVpciBhcHBlYXJhbmNlcy4=