Exploration of heterogeneity in pre-during analysis

Using risk ratio as a summary measure

The use of risk ratio (RR) instead of odds ratio (OR) did not materially impacted on the conclusions from the pre-during analysis. The impact of the pandemic on mental health appears, on average, smaller when RR is used, bu the heterogeneity is large with either measures.

The use of different scales in depression, anxiety and psychological distress

Several different scales with different thresholds have been used across the studies. This could contribute to heterogeneity. In the following forest plot we present the studies for the three most commonly studied conditions (depression, anxiety and psychological distress) synthesized by the scale they used to measure symptoms severity.

The forest plots indicate that, using short versions of scales (PHQ-2 and GAD-2 for depression and anxiety respectively) is associated with larger effect sizes that show important deterioration of the symptoms during the pandemic.

Sensitivity analyses including only adult populations and low risk of bias studies

The forest plot below shows the synthesis of studies on adult populations (excluding studies in older participants) by condition. Due to to small number of studies excluded, there is no remarkable change int he summary estimates.

Funnel Plot

We included 10 studies that report data for depression.

The funnel plot is asymmetric, but does not indicate that this might be associated with publication bias.

Meta-regression in studies for anxiety, depression, and psychological distress

We performed meta-regression analyses in the the studies reporting results for depression, anxiety and psychological distress by examining the role of age, percentage of female participants, country GDP as recorded in 2019 and the GINI index. The table below shows the results for the summary ORs and the heterogeneity variance (assumed equal for the three conditions).

Meta-regression results for anxiety,depression, and psychological distress (pre-during analysis)
No. of timepoints OR 95% low CI 95% high CI Heterogeneity variance
Anxiety 26 2.08 1.37 3.16 0.40
Depression 26 2.06 1.38 3.07 0.40
Psychological Distress 26 1.69 1.05 2.72 0.40
Mean age in years 17 1.00 0.99 1.01 0.34
Anxiety 17 1.51 0.89 2.58 0.34
Depression 17 1.57 0.98 2.50 0.34
Psychological Distress 17 1.56 0.89 2.73 0.34
Percentage of females 17 0.46 0.02 9.01 0.34
Anxiety 17 2.66 0.34 20.99 0.34
Depression 17 2.63 0.37 18.51 0.34
Psychological Distress 17 2.25 0.40 12.50 0.34
GDP per capita (in 1000$) 26 1.01 1.00 1.03 0.38
Anxiety 26 1.47 0.81 2.69 0.38
Depression 26 1.38 0.73 2.62 0.38
Psychological Distress 26 1.12 0.55 2.26 0.38
GINI index 26 1.01 0.97 1.06 0.41
Anxiety 26 1.75 0.81 3.79 0.41
Depression 26 1.76 0.87 3.58 0.41
Psychological Distress 26 1.47 0.73 2.98 0.41
Note:
ORs for condition refer to a study with average age of participants 30, GDP 12389 and GINI index 25

Accounting for age and sex in the model decreases the common heterogeneity parameter; however, the number of studies is small compared to the number of parameters estimated (five in total) to be able to draw any important conclusion about their role.

Results from dose-response meta-analysis

Dose-response depression as a function of days since the first recorded case

Call:  dosresmeta(formula = logOR ~ rcs(days_after_first, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 158.3768 (df = 2), p-value = 0.0000

Fixed-effects coefficients
                                               Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
rcs(days_after_first, knots)days_after_first     0.0111      0.0033   3.3357    0.0009    0.0046    0.0176  ***
rcs(days_after_first, knots)days_after_first'   -0.0064      0.0009  -7.1586    0.0000   -0.0082   -0.0047  ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                               Std. Dev                                          Corr
rcs(days_after_first, knots)days_after_first     0.0120  rcs(days_after_first, knots)days_after_first
rcs(days_after_first, knots)days_after_first'    0.0029                                            -1

14 studies, 16 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-19.9440   49.8879   53.0832  

Dose-response depression as a function of stringency index

Call:  dosresmeta(formula = logOR ~ rcs(stringency, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 6.1561 (df = 2), p-value = 0.0460

Fixed-effects coefficients
                                   Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub   
rcs(stringency, knots)stringency     0.0285      0.0146   1.9569    0.0504   -0.0000    0.0571  .
rcs(stringency, knots)stringency'   -0.0245      0.0141  -1.7374    0.0823   -0.0522    0.0031  .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                   Std. Dev                              Corr
rcs(stringency, knots)stringency     0.0368  rcs(stringency, knots)stringency
rcs(stringency, knots)stringency'    0.0316                                -1

14 studies, 16 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-61.5271  133.0542  136.2495  

Dose-response depression as a function of log-cases per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logconfirmed_cumulative100k, 
    knots), id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 8.4413 (df = 2), p-value = 0.0147

Fixed-effects coefficients
                                                                     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.3275      0.1614   2.0295    0.0424    0.0112
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'   -0.2984      0.2133  -1.3993    0.1617   -0.7165
                                                                     95%ci.ub   
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.6437  *
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'    0.1196   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                                     Std. Dev
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.4452
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'    0.5416
                                                                                                                                   Corr
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k   rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'                                                             -0.9723

14 studies, 16 values, 2 fixed and 3 random-effects parameters
 logLik      AIC      BIC  
-9.7018  29.4036  32.5989  

Dose-response depression as a function of log-deaths per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logdeaths_cumulative100k, knots), 
    id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 17.3779 (df = 2), p-value = 0.0002

Fixed-effects coefficients
                                                               Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     1.1796      0.3107   3.7971    0.0001    0.5707
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'   -6.1933      1.9125  -3.2384    0.0012   -9.9417
                                                               95%ci.ub     
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     1.7885  ***
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'   -2.4450   **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                               Std. Dev
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     0.7839
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'    4.7223
                                                                                                                       Corr
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k   rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'                                                       -0.9698

14 studies, 16 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-12.4192   34.8383   38.0336  

Dose-response anxiety as a function of days since the first recorded case

Call:  dosresmeta(formula = logOR ~ rcs(days_after_first, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 912.8713 (df = 2), p-value = 0.0000

Fixed-effects coefficients
                                               Estimate  Std. Error         z  Pr(>|z|)  95%ci.lb  95%ci.ub     
rcs(days_after_first, knots)days_after_first     0.0156      0.0017    9.1471    0.0000    0.0123    0.0190  ***
rcs(days_after_first, knots)days_after_first'   -0.0122      0.0006  -21.7232    0.0000   -0.0133   -0.0111  ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                               Std. Dev                                          Corr
rcs(days_after_first, knots)days_after_first     0.0056  rcs(days_after_first, knots)days_after_first
rcs(days_after_first, knots)days_after_first'    0.0014                                            -1

13 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-12.0314   34.0627   36.8875  

Dose-response anxiety as a function of stringency index

Call:  dosresmeta(formula = logOR ~ rcs(stringency, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 15.6984 (df = 2), p-value = 0.0004

Fixed-effects coefficients
                                   Estimate  Std. Error       z  Pr(>|z|)  95%ci.lb  95%ci.ub   
rcs(stringency, knots)stringency     0.0086      0.0059  1.4557    0.1455   -0.0030    0.0201   
rcs(stringency, knots)stringency'    0.0002      0.0058  0.0346    0.9724   -0.0112    0.0116   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                   Std. Dev                              Corr
rcs(stringency, knots)stringency     0.0027  rcs(stringency, knots)stringency
rcs(stringency, knots)stringency'    0.0045                                 1

13 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-45.8208  101.6415  104.4663  

Dose-response anxiety as a function of log-cases per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logconfirmed_cumulative100k, 
    knots), id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 140.3727 (df = 2), p-value = 0.0000

Fixed-effects coefficients
                                                                     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.4301      0.0789   5.4546    0.0000    0.2756
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'   -0.6365      0.0794  -8.0184    0.0000   -0.7921
                                                                     95%ci.ub     
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.5847  ***
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'   -0.4809  ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                                     Std. Dev
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.2244
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'    0.2016
                                                                                                                                   Corr
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k   rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'                                                                  -1

13 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-21.2398   52.4796   55.3044  

Dose-response anxiety as a function of log-deaths per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logdeaths_cumulative100k, knots), 
    id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 28.7511 (df = 2), p-value = 0.0000

Fixed-effects coefficients
                                                               Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     1.4907      0.3298   4.5199    0.0000    0.8443
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'  -12.1081      3.0492  -3.9709    0.0001  -18.0844
                                                               95%ci.ub     
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     2.1372  ***
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'   -6.1318  ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                               Std. Dev
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     0.7375
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'    6.7796
                                                                                                                       Corr
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k   rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'                                                       -0.9865

13 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-18.1105   46.2210   49.0458  

Dose-response psychological distress as a function of days since the first recorded case

Call:  dosresmeta(formula = logOR ~ rcs(days_after_first, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 7.7960 (df = 2), p-value = 0.0203

Fixed-effects coefficients
                                               Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub    
rcs(days_after_first, knots)days_after_first     0.0088      0.0038   2.3186    0.0204    0.0014    0.0163   *
rcs(days_after_first, knots)days_after_first'   -0.0080      0.0030  -2.7060    0.0068   -0.0138   -0.0022  **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                               Std. Dev                                          Corr
rcs(days_after_first, knots)days_after_first     0.0119  rcs(days_after_first, knots)days_after_first
rcs(days_after_first, knots)days_after_first'    0.0091                                        -0.983

12 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-16.9954   43.9907   46.8155  

Dose-response psychological distress as a function of stringency index

Call:  dosresmeta(formula = logOR ~ rcs(stringency, knots), id = record_id, 
    type = type, cases = diagnosed, n = sample_size, data = dosedata, 
    se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 15.0616 (df = 2), p-value = 0.0005

Fixed-effects coefficients
                                   Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub   
rcs(stringency, knots)stringency     0.0163      0.0105   1.5531    0.1204   -0.0043    0.0369   
rcs(stringency, knots)stringency'   -0.0067      0.0094  -0.7119    0.4765   -0.0251    0.0117   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                   Std. Dev                              Corr
rcs(stringency, knots)stringency     0.0293  rcs(stringency, knots)stringency
rcs(stringency, knots)stringency'    0.0222                                -1

12 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-28.8414   67.6827   70.5075  

Dose-response psychological distress as a function of log-cases per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logconfirmed_cumulative100k, 
    knots), id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 8.9454 (df = 2), p-value = 0.0114

Fixed-effects coefficients
                                                                     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.2286      0.0765   2.9896    0.0028    0.0787
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'   -0.1486      0.0575  -2.5848    0.0097   -0.2612
                                                                     95%ci.ub    
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.3785  **
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'   -0.0359  **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                                     Std. Dev
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k     0.2553
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'    0.1768
                                                                                                                                   Corr
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k   rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k
rcs(logconfirmed_cumulative100k, knots)logconfirmed_cumulative100k'                                                                  -1

12 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-65.9007  141.8014  144.6261  

Dose-response psychological distress as a function of log-deaths per 10.000 people

Call:  dosresmeta(formula = logOR ~ rcs(logdeaths_cumulative100k, knots), 
    id = record_id, type = type, cases = diagnosed, n = sample_size, 
    data = dosedata, se = selogOR, proc = "1stage")

One-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 7.4615 (df = 2), p-value = 0.0240

Fixed-effects coefficients
                                                               Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     0.4323      0.1592   2.7150    0.0066    0.1202
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'   -0.3733      0.1414  -2.6403    0.0083   -0.6504
                                                               95%ci.ub    
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     0.7445  **
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'   -0.0962  **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Between-study random-effects (co)variance components
                                                               Std. Dev
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k     0.4517
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'    0.4215
                                                                                                                       Corr
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k   rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k
rcs(logdeaths_cumulative100k, knots)logdeaths_cumulative100k'                                                            -1

12 studies, 15 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
-81.0987  172.1973  175.0221  

Sensitivity analysis for dose-response meta-analysis

Excluding a study with very long follow-up

In dose-response associated for depression and anxiety there was a study by Herrera 2021 with follow-up 252 days. The following graphs show the updated dose-response associations when this study is excluded from the analysis. Note that there were several studies reporting psychological distress with follow-up more than 200 days.

Sensitivity to knot locations

We chose two different knot location: closer to the median and more far apart from the median. Due to the small number of studies we could not explore the role of the number of knots.

Knots at 30%, 50% and 70% quintiles

Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for depression as function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for depression as function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for anxiety as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for anxiety as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for psychological distress as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for psychological distress as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.

Knots at 10%, 50% and 90% quintiles

Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for depression as function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for depression as function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for anxiety as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for anxiety as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for psychological distress as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
Appendix Figure Dose-response meta-analysis plots of the odds ratios (OR) for psychological distress as a function of the days since the days of the first case in the study country, the stringency index, the cumulative number of cases and the cumulative number of deaths. Confidence intervals are shows as dashed lines. OR>1 means that the odds of people above the threshold increases over time.
LS0tCnRpdGxlOiAiQVBQRU5ESVg6IENoYW5nZXMgaW4gcHJldmFsZW5jZSBvZiBtZW50YWwgaGVhbHRoIHByb2JsZW1zIGR1cmluZyB0aGUgZmlyc3QKICB5ZWFyIG9mIHRoZSBDT1ZJRCAxOSBwYW5kZW1pYyBhIHN5c3RlbWF0aWMgcmV2aWV3IGFuZCBkb3NlLXJlc3BvbnNlIG1ldGEtYW5hbHlzaXMKICB3aXRoIGFzc29jaWF0ZWQgY29udHJvbCBtZWFzdXJlcyIKYXV0aG9yOiAiR2VvcmdpYSBTYWxhbnRpIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDogaHRtbF9ub3RlYm9vawptYWluZm9udDogQXJpYWwKLS0tCgpgYGB7cixtZXNzYWdlPUYsZWNobz1GLGluY2x1ZGU9Rn0KCgojR2V0IGZ1bmN0aW9ucwpzb3VyY2UoInV0aWwuUiIpCgojIyMgbGlicmFyaWVzCmxpYnJhcnkobWV0YSkKbGlicmFyeSh0aWR5cikKbGlicmFyeSh0aWJibGUpCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeShyZWFkeGwpCmxpYnJhcnkoZ3JpZCkKbGlicmFyeShkcGx5cikKbGlicmFyeShyamFncykKbGlicmFyeShNYXRyaXgpCmxpYnJhcnkoa25pdHIpCmxpYnJhcnkoa2FibGVFeHRyYSkKbGlicmFyeShybXMpIApsaWJyYXJ5KG1ldGEpCmxpYnJhcnkoZGV2dG9vbHMpCmxpYnJhcnkoZG9zcmVzbWV0YSkKbGlicmFyeSh0b29scykKbGlicmFyeShtZXRhZm9yKQpsaWJyYXJ5KHJqZSkKbGlicmFyeShndG9vbHMpCmxpYnJhcnkobmV0bWV0YSkKZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJoYW96aHUyMzMva2FibGVFeHRyYSIpCgojb2J0YWluIHRoZSBkYXRhIGZyb20gc3ViZm9sZGVyICdpbicgYW5kIHByZXBhcmUgdGhlbSBmb3IgYW5hbHlzaXMuIApzb3VyY2UoImNsZWFuX2RpY2hvdG9tb3VzX2RhdGEuUiIpCmRhdGFzZXQ8LXVuZ3JvdXAoZGF0YS5sb25naSkKCgpgYGAKCiMgRXhwbG9yYXRpb24gb2YgaGV0ZXJvZ2VuZWl0eSBpbiBwcmUtZHVyaW5nIGFuYWx5c2lzCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZ9CnNvdXJjZSgicnVuX2FuYWx5c2lzIGxvbmdpdHVkaW5hbC5SIikKYGBgCgojIyBVc2luZyByaXNrIHJhdGlvIGFzIGEgc3VtbWFyeSBtZWFzdXJlCgpUaGUgdXNlIG9mIHJpc2sgcmF0aW8gKFJSKSBpbnN0ZWFkIG9mIG9kZHMgcmF0aW8gKE9SKSBkaWQgbm90IG1hdGVyaWFsbHkgaW1wYWN0ZWQgb24gdGhlIGNvbmNsdXNpb25zIGZyb20gdGhlIHByZS1kdXJpbmcgYW5hbHlzaXMuIFRoZSBpbXBhY3Qgb2YgdGhlIHBhbmRlbWljIG9uIG1lbnRhbCBoZWFsdGggYXBwZWFycywgb24gYXZlcmFnZSwgc21hbGxlciB3aGVuIFJSIGlzIHVzZWQsIGJ1IHRoZSBoZXRlcm9nZW5laXR5IGlzIGxhcmdlIHdpdGggZWl0aGVyIG1lYXN1cmVzLgoKYGBge3IgZWNobz1GLCBmaWcuZnVsbHdpZHRoPVRSVUUsIGZpZy5oZWlnaHQ9MTgsIGZpZy53aWR0aD0xN30KZm9yZXN0KG1ldGEucHJlZHVyaW5nSVZSUiwKICAgICAgIHhsYWI9IlJSIGZvciBvZiBwZW9wbGUgYWJvdmUgdGhlIHRocmVzaG9sZCIsCiAgICAgICBzbWxhYj0iUlIiLAogICAgICAgcHJpbnQuSTI9RiwKICAgICAgIGx3ZD0xLAogICAgICAgZnMudGVzdC5lZmZlY3Quc3ViZ3JvdXA9MCwKICAgICAgIHByaW50LnB2YWwuUT1GLAogICAgICAgbG93ZXIuZXF1aT0wLAogICAgICAgdXBwZXIuZXF1aT0xLAogICAgICAganVzdD0icmlnaHQiLAogICAgICAgYWRkcm93PUYsCiAgICAgICBvdmVyYWxsPUYsCiAgICAgICBvdmVyYWxsLmhldHN0YXQgPUYsCiAgICAgICBjb2wuc3F1YXJlPSJibGFjayIsCiAgICAgICBjb2wuYnk9ImJsYWNrIiwKICAgICAgIGhldGxhYj0iIiwKICAgICAgIGZpbGwuZXF1aT0iYWxpY2VibHVlIiwKICAgICAgIGNhbGN3aWR0aC5zdWJncm91cD1ULAogICAgICAgcHJlZGljdGlvbj1ULAogICAgICAgdGV4dC5yYW5kb20gPSAiUmFuZG9tIEVmZmVjdHMiLAogICAgICAgdGV4dC5wcmVkaWN0ID0gIlByZWRpY3Rpb24gaW50ZXJ2YWwiLAogICAgICAgY2FsY3dpZHRoLnBvb2xlZCA9IEYsCiAgICAgICBjYWxjd2lkdGgucHJlZGljdCA9IEYsCiAgICAgICBsZWZ0Y29scyA9IGMoImF1dGhvcnllYXIiLCJjb3VudHJ5IiwicG9wdWxhdGlvbiIsICJldmVudDEiLCJuMSIsICJldmVudDIiLCJuMiIsImRheXNfYWZ0ZXJfZmlyc3QyIiksCiAgICAgICBsZWZ0bGFicz1jKCJTdHVkeSIsImNvdW50cnkiLCJwb3B1bGF0aW9uIiwgIkNhc2VzIHByZSIsIk4gcHJlIiwgIkNhc2VzIGR1cmluZyIsIk4gZHVyaW5nIiwgIkRheXMgc2luY2UgZmlyc3QgY2FzZSIpLAogICAgICAgc3ViZ3JvdXAubmFtZT0iIiwKICAgICAgIHRlc3Quc3ViZ3JvdXAgPUYsCiAgICAgICBzb3J0dmFyID1kYXlzX2FmdGVyX2ZpcnN0MikKCmBgYAoKIyMgVGhlIHVzZSBvZiBkaWZmZXJlbnQgc2NhbGVzIGluIGRlcHJlc3Npb24sIGFueGlldHkgYW5kIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MKClNldmVyYWwgZGlmZmVyZW50IHNjYWxlcyB3aXRoIGRpZmZlcmVudCB0aHJlc2hvbGRzIGhhdmUgYmVlbiB1c2VkIGFjcm9zcyB0aGUgc3R1ZGllcy4gVGhpcyBjb3VsZCBjb250cmlidXRlIHRvIGhldGVyb2dlbmVpdHkuIEluIHRoZSBmb2xsb3dpbmcgZm9yZXN0IHBsb3Qgd2UgcHJlc2VudCB0aGUgc3R1ZGllcyBmb3IgdGhlIHRocmVlIG1vc3QgY29tbW9ubHkgc3R1ZGllZCBjb25kaXRpb25zIChkZXByZXNzaW9uLCBhbnhpZXR5IGFuZCBwc3ljaG9sb2dpY2FsIGRpc3RyZXNzKSBzeW50aGVzaXplZCBieSB0aGUgc2NhbGUgdGhleSB1c2VkIHRvIG1lYXN1cmUgc3ltcHRvbXMgc2V2ZXJpdHkuCgpgYGB7ciBlY2hvPUYsIGZpZy5mdWxsd2lkdGg9VFJVRSwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTF9CgoKZm9yZXN0KG1ldGEucHJlZHVyaW5nQmluRCwKICAgICAgIHhsYWI9Ik9SIGZvciBvZiBwZW9wbGUgYWJvdmUgdGhlIHRocmVzaG9sZCAoRGVwcmVzc2lvbikiLAogICAgICAgc21sYWI9Ik9SIiwKICAgICAgIHByaW50LkkyPUYsCiAgICAgICBsd2Q9MSwKICAgICAgIGZzLnRlc3QuZWZmZWN0LnN1Ymdyb3VwPTAsCiAgICAgICBwcmludC5wdmFsLlE9RiwKICAgICAgIGxvd2VyLmVxdWk9MCwKICAgICAgIHVwcGVyLmVxdWk9MSwKICAgICAgIGp1c3Q9InJpZ2h0IiwKICAgICAgIGFkZHJvdz1GLAogICAgICAgb3ZlcmFsbD1ULAogICAgICAgb3ZlcmFsbC5oZXRzdGF0ID1GLAogICAgICAgY29sLnNxdWFyZT0iYmxhY2siLAogICAgICAgY29sLmJ5PSJibGFjayIsCiAgICAgICBoZXRsYWI9IiIsCiAgICAgICBmaWxsLmVxdWk9ImFsaWNlYmx1ZSIsCiAgICAgICBjYWxjd2lkdGguc3ViZ3JvdXA9VCwKICAgICAgIHByZWRpY3Rpb249VCwKICAgICAgIHRleHQucmFuZG9tID0gIlJhbmRvbSBFZmZlY3RzIiwKICAgICAgIHRleHQucHJlZGljdCA9ICJQcmVkaWN0aW9uIGludGVydmFsIiwKICAgICAgIGNhbGN3aWR0aC5wb29sZWQgPSBGLAogICAgICAgY2FsY3dpZHRoLnByZWRpY3QgPSBGLAogICAgICAgbGVmdGNvbHMgPSBjKCJhdXRob3J5ZWFyIiwgInRocmVzaG9sZCIpLAogICAgICAgbGVmdGxhYnM9YygiU3R1ZHkiLCAidGhyZXNob2xkIiksCiAgICAgICBzdWJncm91cC5uYW1lPSIiLAogICAgICAgc29ydHZhcj10aHJlc2hvbGQsCiAgICAgICB0ZXN0LnN1Ymdyb3VwID1UKQoKCgpmb3Jlc3QobWV0YS5wcmVkdXJpbmdCaW5BLAogICAgICAgeGxhYj0iT1IgZm9yIG9mIHBlb3BsZSBhYm92ZSB0aGUgdGhyZXNob2xkIChBbnhpZXR5KSIsCiAgICAgICBzbWxhYj0iT1IiLAogICAgICAgcHJpbnQuSTI9RiwKICAgICAgIGx3ZD0xLAogICAgICAgZnMudGVzdC5lZmZlY3Quc3ViZ3JvdXA9MCwKICAgICAgIHByaW50LnB2YWwuUT1GLAogICAgICAgbG93ZXIuZXF1aT0wLAogICAgICAgdXBwZXIuZXF1aT0xLAogICAgICAganVzdD0icmlnaHQiLAogICAgICAgYWRkcm93PUYsCiAgICAgICBvdmVyYWxsPVQsCiAgICAgICBvdmVyYWxsLmhldHN0YXQgPUYsCiAgICAgICBjb2wuc3F1YXJlPSJibGFjayIsCiAgICAgICBjb2wuYnk9ImJsYWNrIiwKICAgICAgIGhldGxhYj0iIiwKICAgICAgIGZpbGwuZXF1aT0iYWxpY2VibHVlIiwKICAgICAgIGNhbGN3aWR0aC5zdWJncm91cD1ULAogICAgICAgcHJlZGljdGlvbj1ULAogICAgICAgdGV4dC5yYW5kb20gPSAiUmFuZG9tIEVmZmVjdHMiLAogICAgICAgdGV4dC5wcmVkaWN0ID0gIlByZWRpY3Rpb24gaW50ZXJ2YWwiLAogICAgICAgY2FsY3dpZHRoLnBvb2xlZCA9IEYsCiAgICAgICBjYWxjd2lkdGgucHJlZGljdCA9IEYsCiAgICAgICBsZWZ0Y29scyA9IGMoImF1dGhvcnllYXIiLCAidGhyZXNob2xkIiksCiAgICAgICBsZWZ0bGFicz1jKCJTdHVkeSIsICJ0aHJlc2hvbGQiKSwKICAgICAgIHN1Ymdyb3VwLm5hbWU9IiIsCiAgICAgICBzb3J0dmFyPXRocmVzaG9sZCwKICAgICAgIHRlc3Quc3ViZ3JvdXAgPVQpCgoKCmZvcmVzdChtZXRhLnByZWR1cmluZ0JpblBELAogICAgICAgeGxhYj0iT1IgZm9yIG9mIHBlb3BsZSBhYm92ZSB0aGUgdGhyZXNob2xkIChQc3ljaG9sb2dpY2FsIERpc3RyZXNzKSIsCiAgICAgICBzbWxhYj0iT1IiLAogICAgICAgcHJpbnQuSTI9RiwKICAgICAgIGx3ZD0xLAogICAgICAgZnMudGVzdC5lZmZlY3Quc3ViZ3JvdXA9MCwKICAgICAgIHByaW50LnB2YWwuUT1GLAogICAgICAgbG93ZXIuZXF1aT0wLAogICAgICAgdXBwZXIuZXF1aT0xLAogICAgICAganVzdD0icmlnaHQiLAogICAgICAgYWRkcm93PUYsCiAgICAgICBvdmVyYWxsPVQsCiAgICAgICBvdmVyYWxsLmhldHN0YXQgPUYsCiAgICAgICBjb2wuc3F1YXJlPSJibGFjayIsCiAgICAgICBjb2wuYnk9ImJsYWNrIiwKICAgICAgIGhldGxhYj0iIiwKICAgICAgIGZpbGwuZXF1aT0iYWxpY2VibHVlIiwKICAgICAgIGNhbGN3aWR0aC5zdWJncm91cD1ULAogICAgICAgcHJlZGljdGlvbj1ULAogICAgICAgdGV4dC5yYW5kb20gPSAiUmFuZG9tIEVmZmVjdHMiLAogICAgICAgdGV4dC5wcmVkaWN0ID0gIlByZWRpY3Rpb24gaW50ZXJ2YWwiLAogICAgICAgY2FsY3dpZHRoLnBvb2xlZCA9IEYsCiAgICAgICBjYWxjd2lkdGgucHJlZGljdCA9IEYsCiAgICAgICBsZWZ0Y29scyA9IGMoImF1dGhvcnllYXIiLCAidGhyZXNob2xkIiksCiAgICAgICBsZWZ0bGFicz1jKCJTdHVkeSIsICJ0aHJlc2hvbGQiKSwKICAgICAgIHN1Ymdyb3VwLm5hbWU9IiIsCiAgICAgICBzb3J0dmFyPXRocmVzaG9sZCwKICAgICAgIHRlc3Quc3ViZ3JvdXAgPVQpCgoKYGBgCgpUaGUgZm9yZXN0IHBsb3RzIGluZGljYXRlIHRoYXQsIHVzaW5nIHNob3J0IHZlcnNpb25zIG9mIHNjYWxlcyAoUEhRLTIgYW5kIEdBRC0yIGZvciBkZXByZXNzaW9uIGFuZCBhbnhpZXR5IHJlc3BlY3RpdmVseSkgaXMgYXNzb2NpYXRlZCB3aXRoIGxhcmdlciBlZmZlY3Qgc2l6ZXMgdGhhdCBzaG93IGltcG9ydGFudCBkZXRlcmlvcmF0aW9uIG9mIHRoZSBzeW1wdG9tcyBkdXJpbmcgdGhlIHBhbmRlbWljLgoKIyMgU2Vuc2l0aXZpdHkgYW5hbHlzZXMgaW5jbHVkaW5nIG9ubHkgYWR1bHQgcG9wdWxhdGlvbnMgYW5kIGxvdyByaXNrIG9mIGJpYXMgc3R1ZGllcwoKVGhlIGZvcmVzdCBwbG90IGJlbG93IHNob3dzIHRoZSBzeW50aGVzaXMgb2Ygc3R1ZGllcyBvbiBhZHVsdCBwb3B1bGF0aW9ucyAoZXhjbHVkaW5nIHN0dWRpZXMgaW4gb2xkZXIgcGFydGljaXBhbnRzKSBieSBjb25kaXRpb24uIER1ZSB0byB0byBzbWFsbCBudW1iZXIgb2Ygc3R1ZGllcyBleGNsdWRlZCwgdGhlcmUgaXMgbm8gcmVtYXJrYWJsZSBjaGFuZ2UgaW50IGhlIHN1bW1hcnkgZXN0aW1hdGVzLgoKYGBge3IgZWNobz1GLCBmaWcuZnVsbHdpZHRoPVRSVUUsIGZpZy5oZWlnaHQ9MTQsIGZpZy53aWR0aD03fQoKZm9yZXN0KG1ldGEucHJlZHVyaW5nQmluQWR1bHRzLAogICAgICAgeGxhYj0iT1IgZm9yIG9mIHBlb3BsZSBhYm92ZSB0aGUgdGhyZXNob2xkIiwKICAgICAgIHNtbGFiPSJPUiIsCiAgICAgICBwcmludC5JMj1GLAogICAgICAgbHdkPTEsCiAgICAgICBmcy50ZXN0LmVmZmVjdC5zdWJncm91cD0wLAogICAgICAgcHJpbnQucHZhbC5RPUYsCiAgICAgICBsb3dlci5lcXVpPTAsCiAgICAgICB1cHBlci5lcXVpPTEsCiAgICAgICBqdXN0PSJyaWdodCIsCiAgICAgICBhZGRyb3c9RiwKICAgICAgIG92ZXJhbGw9RiwKICAgICAgIG92ZXJhbGwuaGV0c3RhdCA9RiwKICAgICAgIGNvbC5zcXVhcmU9ImJsYWNrIiwKICAgICAgIGNvbC5ieT0iYmxhY2siLAogICAgICAgaGV0bGFiPSIiLAogICAgICAgZmlsbC5lcXVpPSJhbGljZWJsdWUiLAogICAgICAgY2FsY3dpZHRoLnN1Ymdyb3VwPVQsCiAgICAgICBwcmVkaWN0aW9uPVQsCiAgICAgICB0ZXh0LnJhbmRvbSA9ICJSYW5kb20gRWZmZWN0cyIsCiAgICAgICB0ZXh0LnByZWRpY3QgPSAiUHJlZGljdGlvbiBpbnRlcnZhbCIsCiAgICAgICBjYWxjd2lkdGgucG9vbGVkID0gRiwKICAgICAgIGNhbGN3aWR0aC5wcmVkaWN0ID0gRiwKICAgICAgIGxlZnRjb2xzID0gYygiYXV0aG9yeWVhciIpLAogICAgICAgbGVmdGxhYnM9YygiU3R1ZHkiKSwKICAgICAgIHN1Ymdyb3VwLm5hbWU9IiIsCiAgICAgICBzb3J0dmFyPXRocmVzaG9sZCwKICAgICAgIHRlc3Quc3ViZ3JvdXAgPUYpCmBgYAoKIyMgRnVubmVsIFBsb3QKCldlIGluY2x1ZGVkIDEwIHN0dWRpZXMgdGhhdCByZXBvcnQgZGF0YSBmb3IgZGVwcmVzc2lvbi4KCmBgYHtyLGVjaG89RiB9CmZ1bm5lbChtZXRhLnByZWR1cmluZ0JpbkQsIGNvbW1vbiA9IFRSVUUsIGxldmVsID0gMC45NSwgY29udG91ciA9IGMoMC45LCAwLjk1LCAwLjk5KSwgbHdkID0gMiwgY2V4ID0gMSwgcGNoID0gMTYpCmBgYAoKVGhlIGZ1bm5lbCBwbG90IGlzIGFzeW1tZXRyaWMsIGJ1dCBkb2VzIG5vdCBpbmRpY2F0ZSB0aGF0IHRoaXMgbWlnaHQgYmUgYXNzb2NpYXRlZCB3aXRoIHB1YmxpY2F0aW9uIGJpYXMuCgojIyBNZXRhLXJlZ3Jlc3Npb24gaW4gc3R1ZGllcyBmb3IgYW54aWV0eSwgZGVwcmVzc2lvbiwgYW5kIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MKCldlIHBlcmZvcm1lZCBtZXRhLXJlZ3Jlc3Npb24gYW5hbHlzZXMgaW4gdGhlIHRoZSBzdHVkaWVzIHJlcG9ydGluZyByZXN1bHRzIGZvciBkZXByZXNzaW9uLCBhbnhpZXR5IGFuZCBwc3ljaG9sb2dpY2FsIGRpc3RyZXNzIGJ5IGV4YW1pbmluZyB0aGUgcm9sZSBvZiBhZ2UsIHBlcmNlbnRhZ2Ugb2YgZmVtYWxlIHBhcnRpY2lwYW50cywgY291bnRyeSBHRFAgYXMgcmVjb3JkZWQgaW4gMjAxOSBhbmQgdGhlIEdJTkkgaW5kZXguIFRoZSB0YWJsZSBiZWxvdyBzaG93cyB0aGUgcmVzdWx0cyBmb3IgdGhlIHN1bW1hcnkgT1JzIGFuZCB0aGUgaGV0ZXJvZ2VuZWl0eSB2YXJpYW5jZSAoYXNzdW1lZCBlcXVhbCBmb3IgdGhlIHRocmVlIGNvbmRpdGlvbnMpLgoKYGBge3IsZWNobz1GIH0KCgprYWJsZSgKICBtZXRhcmVnUmVzdWx0cywKICAgZGlnaXRzID0gMiwKICAgY2FwdGlvbiA9ICJNZXRhLXJlZ3Jlc3Npb24gcmVzdWx0cyBmb3IgYW54aWV0eSxkZXByZXNzaW9uLCBhbmQgcHN5Y2hvbG9naWNhbCBkaXN0cmVzcyAocHJlLWR1cmluZyBhbmFseXNpcykiLAogICBjb2wubmFtZXMgPSBjKCIiLCJOby4gb2YgdGltZXBvaW50cyIsIk9SIiwiOTUlIGxvdyBDSSIsIjk1JSBoaWdoIENJIiwgIkhldGVyb2dlbmVpdHkgdmFyaWFuY2UiKSkgJT4lCgogICAgICBrYWJsZV9wYXBlcigic3RyaXBlZCIsIGZ1bGxfd2lkdGggPSBGKSAlPiUKICAgICAgI3Njcm9sbF9ib3god2lkdGggPSAiNTAwcHgiLCBoZWlnaHQgPSAiNjAwcHgiKSAKICBmb290bm90ZShnZW5lcmFsID0gIk9ScyBmb3IgY29uZGl0aW9uIHJlZmVyIHRvIGEgc3R1ZHkgd2l0aCBhdmVyYWdlIGFnZSBvZiBwYXJ0aWNpcGFudHMgMzAsIEdEUCAxMjM4OSBhbmQgR0lOSSBpbmRleCAyNSIpCgogIApgYGAKCkFjY291bnRpbmcgZm9yIGFnZSBhbmQgc2V4IGluIHRoZSBtb2RlbCBkZWNyZWFzZXMgdGhlIGNvbW1vbiBoZXRlcm9nZW5laXR5IHBhcmFtZXRlcjsgaG93ZXZlciwgdGhlIG51bWJlciBvZiBzdHVkaWVzIGlzIHNtYWxsIGNvbXBhcmVkIHRvIHRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBlc3RpbWF0ZWQgKGZpdmUgaW4gdG90YWwpIHRvIGJlIGFibGUgdG8gZHJhdyBhbnkgaW1wb3J0YW50IGNvbmNsdXNpb24gYWJvdXQgdGhlaXIgcm9sZS4KCiMgUmVzdWx0cyBmcm9tIGRvc2UtcmVzcG9uc2UgbWV0YS1hbmFseXNpcwoKIyMgRG9zZS1yZXNwb25zZSBkZXByZXNzaW9uIGFzIGEgZnVuY3Rpb24gb2YgZGF5cyBzaW5jZSB0aGUgZmlyc3QgcmVjb3JkZWQgY2FzZQoKYGBge3IgZWNobz1GQUxTRX0Kc3VtbWFyeShkb3NlcmVzX0QkZG9zZXJlc0RBWVMpCmBgYAoKIyMgRG9zZS1yZXNwb25zZSBkZXByZXNzaW9uIGFzIGEgZnVuY3Rpb24gb2Ygc3RyaW5nZW5jeSBpbmRleAoKYGBge3IgZWNobz1GQUxTRX0Kc3VtbWFyeShkb3NlcmVzX0QkZG9zZXJlc1NUUikKYGBgCgojIyBEb3NlLXJlc3BvbnNlIGRlcHJlc3Npb24gYXMgYSBmdW5jdGlvbiBvZiBsb2ctY2FzZXMgcGVyIDEwLjAwMCBwZW9wbGUKCmBgYHtyIGVjaG89RkFMU0V9CnN1bW1hcnkoZG9zZXJlc19EJGRvc2VyZXNDQVNFKQpgYGAKCiMjIERvc2UtcmVzcG9uc2UgZGVwcmVzc2lvbiBhcyBhIGZ1bmN0aW9uIG9mIGxvZy1kZWF0aHMgcGVyIDEwLjAwMCBwZW9wbGUKCmBgYHtyIGVjaG89RkFMU0V9CnN1bW1hcnkoZG9zZXJlc19EJGRvc2VyZXNERUFUSCkKYGBgCgojIyBEb3NlLXJlc3BvbnNlIGFueGlldHkgYXMgYSBmdW5jdGlvbiBvZiBkYXlzIHNpbmNlIHRoZSBmaXJzdCByZWNvcmRlZCBjYXNlCgpgYGB7ciBlY2hvPUZBTFNFfQpzdW1tYXJ5KGRvc2VyZXNfQSRkb3NlcmVzREFZUykKYGBgCgojIyBEb3NlLXJlc3BvbnNlIGFueGlldHkgYXMgYSBmdW5jdGlvbiBvZiBzdHJpbmdlbmN5IGluZGV4CgpgYGB7ciBlY2hvPUZBTFNFfQpzdW1tYXJ5KGRvc2VyZXNfQSRkb3NlcmVzU1RSKQpgYGAKCiMjIERvc2UtcmVzcG9uc2UgYW54aWV0eSBhcyBhIGZ1bmN0aW9uIG9mIGxvZy1jYXNlcyBwZXIgMTAuMDAwIHBlb3BsZQoKYGBge3IgZWNobz1GQUxTRX0Kc3VtbWFyeShkb3NlcmVzX0EkZG9zZXJlc0NBU0UpCmBgYAoKIyMgRG9zZS1yZXNwb25zZSBhbnhpZXR5IGFzIGEgZnVuY3Rpb24gb2YgbG9nLWRlYXRocyBwZXIgMTAuMDAwIHBlb3BsZQoKYGBge3IgZWNobz1GQUxTRX0Kc3VtbWFyeShkb3NlcmVzX0EkZG9zZXJlc0RFQVRIKQpgYGAKCiMjIERvc2UtcmVzcG9uc2UgcHN5Y2hvbG9naWNhbCBkaXN0cmVzcyBhcyBhIGZ1bmN0aW9uIG9mIGRheXMgc2luY2UgdGhlIGZpcnN0IHJlY29yZGVkIGNhc2UKCmBgYHtyIGVjaG89RkFMU0V9CnN1bW1hcnkoZG9zZXJlc19QRCRkb3NlcmVzREFZUykKYGBgCgojIyBEb3NlLXJlc3BvbnNlIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MgYXMgYSBmdW5jdGlvbiBvZiBzdHJpbmdlbmN5IGluZGV4CgpgYGB7ciBlY2hvPUZBTFNFfQpzdW1tYXJ5KGRvc2VyZXNfUEQkZG9zZXJlc1NUUikKYGBgCgojIyBEb3NlLXJlc3BvbnNlIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MgYXMgYSBmdW5jdGlvbiBvZiBsb2ctY2FzZXMgcGVyIDEwLjAwMCBwZW9wbGUKCmBgYHtyIGVjaG89RkFMU0V9CnN1bW1hcnkoZG9zZXJlc19QRCRkb3NlcmVzQ0FTRSkKYGBgCgojIyBEb3NlLXJlc3BvbnNlIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MgYXMgYSBmdW5jdGlvbiBvZiBsb2ctZGVhdGhzIHBlciAxMC4wMDAgcGVvcGxlCgpgYGB7ciBlY2hvPUZBTFNFfQpzdW1tYXJ5KGRvc2VyZXNfUEQkZG9zZXJlc0RFQVRIKQpgYGAKCiMgU2Vuc2l0aXZpdHkgYW5hbHlzaXMgZm9yIGRvc2UtcmVzcG9uc2UgbWV0YS1hbmFseXNpcwoKIyMgKipFeGNsdWRpbmcgYSBzdHVkeSB3aXRoIHZlcnkgbG9uZyBmb2xsb3ctdXAqKgoKSW4gZG9zZS1yZXNwb25zZSBhc3NvY2lhdGVkIGZvciBkZXByZXNzaW9uIGFuZCBhbnhpZXR5IHRoZXJlIHdhcyBhIHN0dWR5IGJ5IEhlcnJlcmEgMjAyMSB3aXRoIGZvbGxvdy11cCAyNTIgZGF5cy4gVGhlIGZvbGxvd2luZyBncmFwaHMgc2hvdyB0aGUgdXBkYXRlZCBkb3NlLXJlc3BvbnNlIGFzc29jaWF0aW9ucyB3aGVuIHRoaXMgc3R1ZHkgaXMgZXhjbHVkZWQgZnJvbSB0aGUgYW5hbHlzaXMuIE5vdGUgdGhhdCB0aGVyZSB3ZXJlIHNldmVyYWwgc3R1ZGllcyByZXBvcnRpbmcgcHN5Y2hvbG9naWNhbCBkaXN0cmVzcyB3aXRoIGZvbGxvdy11cCBtb3JlIHRoYW4gMjAwIGRheXMuCgpgYGB7ciBlY2hvPUZBTFNFfQpvdXQ9ZGF0YS5sb25naSAlPiUgZmlsdGVyKGNvbmRpdGlvbj09IkRlcHJlc3Npb24iKSAlPiUgZmlsdGVyKGRheXNfYWZ0ZXJfZmlyc3Q+MjAwKQpkYXRhLmxvbmdpLmNvbmRpdGlvbj1kYXRhLmxvbmdpICU+JSBmaWx0ZXIoY29uZGl0aW9uPT0iRGVwcmVzc2lvbiIpICU+JSBmaWx0ZXIocmVjb3JkX2lkIT1vdXQkcmVjb3JkX2lkKQoKZG9zZWRhdGE9Y3JlYXRlZGF0YXNldGRvc2VyZXNwb25zZS5mdW4oZGF0YS5sb25naS5jb25kaXRpb24sZGlhZ25vc2VkLHNhbXBsZV9zaXplLHJlY29yZF9pZCxkYXlzX2FmdGVyX2ZpcnN0LG5hbWVvZmxvZ09SPSJsb2dPUiIsbmFtZW9mc2Vsb2dPUj0ic2Vsb2dPUiIpCmRvc2VkYXRhJHR5cGU8LSJpciIgICAKa25vdHMgPSBxdWFudGlsZShkb3NlZGF0YSRkYXlzX2FmdGVyX2ZpcnN0LGMoMC4yMCwwLjUsMC44KSkKZG9zZXJlc0RBWVMgPSBkb3NyZXNtZXRhKGxvZ09SIH4gcmNzKGRheXNfYWZ0ZXJfZmlyc3Qsa25vdHMpLCByZWNvcmRfaWQsIGRhdGEgPSBkb3NlZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VzID0gZGlhZ25vc2VkLCBuID0gc2FtcGxlX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gdHlwZSwgc2UgPSBzZWxvZ09SLCBwcm9jID0gIjFzdGFnZSIpCgoKbmV3ZGF0YSA9IGRhdGEuZnJhbWUoZGF5c19hZnRlcl9maXJzdCA9IHNlcSgwLG1heChkYXRhLmxvbmdpLmNvbmRpdGlvbiRkYXlzX2FmdGVyX2ZpcnN0LG5hLnJtPVQpKSkKeHJlZiA9IDAKd2l0aChwcmVkaWN0KGRvc2VyZXNEQVlTLCBuZXdkYXRhLCB4cmVmLCBleHAgPSBUUlVFKSwgewogIHBsb3QoZ2V0KCJyY3MoZGF5c19hZnRlcl9maXJzdCwga25vdHMpZGF5c19hZnRlcl9maXJzdCIpLCBwcmVkLCBsb2cgPSAieSIsIHR5cGUgPSAibCIsbHdkPTIsIAogICAgICAgeGxpbSA9IGMoMCwgbWF4KGRhdGEubG9uZ2kuY29uZGl0aW9uJGRheXNfYWZ0ZXJfZmlyc3QsbmEucm09VCkpLCB5bGltID0gYygwLjYsNyksCiAgICAgICB4bGFiID0gZXhwcmVzc2lvbigiRGF5cyBzaW5jZSJ+J3RoZSBmaXJzdCBjYXNlJyksIHlsYWIgPSBleHByZXNzaW9uKCJPUiBmb3IgZGVwcmVzc2lvbiAodXAgdG8gMTUwIGRheXMpIikpCiAgbWF0bGluZXMoZ2V0KCJyY3MoZGF5c19hZnRlcl9maXJzdCwga25vdHMpZGF5c19hZnRlcl9maXJzdCIpLCBjYmluZChjaS51YiwgY2kubGIpLAogICAgICAgICAgIGNvbCA9IDEsIGx0eSA9ICJkYXNoZWQiKQp9KQp3aXRoKGRvc2VkYXRhLCBydWcoZGF5c19hZnRlcl9maXJzdCwgcXVpZXQgPSBUUlVFKSkKYWJsaW5lKGg9MSxjb2w9NCxsdHk9MykKYGBgCgpgYGB7ciBlY2hvPUZBTFNFfQojIyMgQW54aWV0eSAtLS0tLS0Kb3V0PWRhdGEubG9uZ2kgJT4lIGZpbHRlcihjb25kaXRpb249PSJBbnhpZXR5IikgJT4lIGZpbHRlcihkYXlzX2FmdGVyX2ZpcnN0PjIwMCkKZGF0YS5sb25naS5jb25kaXRpb249ZGF0YS5sb25naSAlPiUgZmlsdGVyKGNvbmRpdGlvbj09IkFueGlldHkiKSAlPiUgZmlsdGVyKHJlY29yZF9pZCE9b3V0JHJlY29yZF9pZCkKCmRvc2VkYXRhPWNyZWF0ZWRhdGFzZXRkb3NlcmVzcG9uc2UuZnVuKGRhdGEubG9uZ2kuY29uZGl0aW9uLGRpYWdub3NlZCxzYW1wbGVfc2l6ZSxyZWNvcmRfaWQsZGF5c19hZnRlcl9maXJzdCxuYW1lb2Zsb2dPUj0ibG9nT1IiLG5hbWVvZnNlbG9nT1I9InNlbG9nT1IiKQpkb3NlZGF0YSR0eXBlPC0iaXIiICAgCmtub3RzID0gcXVhbnRpbGUoZG9zZWRhdGEkZGF5c19hZnRlcl9maXJzdCxjKDAuMjAsMC41LDAuOCkpCmRvc2VyZXNEQVlTID0gZG9zcmVzbWV0YShsb2dPUiB+IHJjcyhkYXlzX2FmdGVyX2ZpcnN0LGtub3RzKSwgcmVjb3JkX2lkLCBkYXRhID0gZG9zZWRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlcyA9IGRpYWdub3NlZCwgbiA9IHNhbXBsZV9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHR5cGUsIHNlID0gc2Vsb2dPUiwgcHJvYyA9ICIxc3RhZ2UiKQoKCm5ld2RhdGEgPSBkYXRhLmZyYW1lKGRheXNfYWZ0ZXJfZmlyc3QgPSBzZXEoMCxtYXgoZGF0YS5sb25naS5jb25kaXRpb24kZGF5c19hZnRlcl9maXJzdCxuYS5ybT1UKSkpCnhyZWYgPSAwCndpdGgocHJlZGljdChkb3NlcmVzREFZUywgbmV3ZGF0YSwgeHJlZiwgZXhwID0gVFJVRSksIHsKICBwbG90KGdldCgicmNzKGRheXNfYWZ0ZXJfZmlyc3QsIGtub3RzKWRheXNfYWZ0ZXJfZmlyc3QiKSwgcHJlZCwgbG9nID0gInkiLCB0eXBlID0gImwiLGx3ZD0yLCAKICAgICAgIHhsaW0gPSBjKDAsIG1heChkYXRhLmxvbmdpLmNvbmRpdGlvbiRkYXlzX2FmdGVyX2ZpcnN0LG5hLnJtPVQpKSwgeWxpbSA9IGMoMC42LDcpLAogICAgICAgeGxhYiA9IGV4cHJlc3Npb24oIkRheXMgc2luY2Uifid0aGUgZmlyc3QgY2FzZScpLCB5bGFiID0gZXhwcmVzc2lvbigiT1IgZm9yIGFueGlldHkgKHVwIHRvIDE1MCBkYXlzKSIpKQogIG1hdGxpbmVzKGdldCgicmNzKGRheXNfYWZ0ZXJfZmlyc3QsIGtub3RzKWRheXNfYWZ0ZXJfZmlyc3QiKSwgY2JpbmQoY2kudWIsIGNpLmxiKSwKICAgICAgICAgICBjb2wgPSAxLCBsdHkgPSAiZGFzaGVkIikKfSkKd2l0aChkb3NlZGF0YSwgcnVnKGRheXNfYWZ0ZXJfZmlyc3QsIHF1aWV0ID0gVFJVRSkpCmFibGluZShoPTEsY29sPTQsbHR5PTMpCgoKYGBgCgojIyAqKlNlbnNpdGl2aXR5IHRvIGtub3QgbG9jYXRpb25zKioKCldlIGNob3NlIHR3byBkaWZmZXJlbnQga25vdCBsb2NhdGlvbjogY2xvc2VyIHRvIHRoZSBtZWRpYW4gYW5kIG1vcmUgZmFyIGFwYXJ0IGZyb20gdGhlIG1lZGlhbi4gRHVlIHRvIHRoZSBzbWFsbCBudW1iZXIgb2Ygc3R1ZGllcyB3ZSBjb3VsZCBub3QgZXhwbG9yZSB0aGUgcm9sZSBvZiB0aGUgbnVtYmVyIG9mIGtub3RzLgoKIyMjICoqS25vdHMgYXQgMzAlLCA1MCUgYW5kIDcwJSBxdWludGlsZXMqKgoKIVsqKkFwcGVuZGl4IEZpZ3VyZSoqIERvc2UtcmVzcG9uc2UgbWV0YS1hbmFseXNpcyBwbG90cyBvZiB0aGUgb2RkcyByYXRpb3MgKE9SKSBmb3IgZGVwcmVzc2lvbiBhcyBmdW5jdGlvbiBvZiB0aGUgZGF5cyBzaW5jZSB0aGUgZGF5cyBvZiB0aGUgZmlyc3QgY2FzZSBpbiB0aGUgc3R1ZHkgY291bnRyeSwgdGhlIHN0cmluZ2VuY3kgaW5kZXgsIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBjYXNlcyBhbmQgdGhlIGN1bXVsYXRpdmUgbnVtYmVyIG9mIGRlYXRocy4gQ29uZmlkZW5jZSBpbnRlcnZhbHMgYXJlIHNob3dzIGFzIGRhc2hlZCBsaW5lcy4gT1JcPjEgbWVhbnMgdGhhdCB0aGUgb2RkcyBvZiBwZW9wbGUgYWJvdmUgdGhlIHRocmVzaG9sZCBpbmNyZWFzZXMgb3ZlciB0aW1lLl0ob3V0L0RlcHJlc3Npb24lMjBrbm90cyUyMGNsb3NlciUyMGRvc2UtcmVzcG9uc2UlMjByZXN1bHRzLmpwZWcpCgohWyoqQXBwZW5kaXggRmlndXJlKiogRG9zZS1yZXNwb25zZSBtZXRhLWFuYWx5c2lzIHBsb3RzIG9mIHRoZSBvZGRzIHJhdGlvcyAoT1IpIGZvciBhbnhpZXR5IGFzIGEgZnVuY3Rpb24gb2YgdGhlIGRheXMgc2luY2UgdGhlIGRheXMgb2YgdGhlIGZpcnN0IGNhc2UgaW4gdGhlIHN0dWR5IGNvdW50cnksIHRoZSBzdHJpbmdlbmN5IGluZGV4LCB0aGUgY3VtdWxhdGl2ZSBudW1iZXIgb2YgY2FzZXMgYW5kIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBkZWF0aHMuIENvbmZpZGVuY2UgaW50ZXJ2YWxzIGFyZSBzaG93cyBhcyBkYXNoZWQgbGluZXMuIE9SXD4xIG1lYW5zIHRoYXQgdGhlIG9kZHMgb2YgcGVvcGxlIGFib3ZlIHRoZSB0aHJlc2hvbGQgaW5jcmVhc2VzIG92ZXIgdGltZS5dKG91dC9BbnhpZXR5JTIwa25vdHMlMjBjbG9zZXIlMjBkb3NlLXJlc3BvbnNlJTIwcmVzdWx0cy5qcGVnICJGaWd1cmUgMSIpCgohWyoqQXBwZW5kaXggRmlndXJlKiogRG9zZS1yZXNwb25zZSBtZXRhLWFuYWx5c2lzIHBsb3RzIG9mIHRoZSBvZGRzIHJhdGlvcyAoT1IpIGZvciBwc3ljaG9sb2dpY2FsIGRpc3RyZXNzIGFzIGEgZnVuY3Rpb24gb2YgdGhlIGRheXMgc2luY2UgdGhlIGRheXMgb2YgdGhlIGZpcnN0IGNhc2UgaW4gdGhlIHN0dWR5IGNvdW50cnksIHRoZSBzdHJpbmdlbmN5IGluZGV4LCB0aGUgY3VtdWxhdGl2ZSBudW1iZXIgb2YgY2FzZXMgYW5kIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBkZWF0aHMuIENvbmZpZGVuY2UgaW50ZXJ2YWxzIGFyZSBzaG93cyBhcyBkYXNoZWQgbGluZXMuIE9SXD4xIG1lYW5zIHRoYXQgdGhlIG9kZHMgb2YgcGVvcGxlIGFib3ZlIHRoZSB0aHJlc2hvbGQgaW5jcmVhc2VzIG92ZXIgdGltZS5dKG91dC9Qc3ljaG9sb2dpY2FsJTIwZGlzdHJlc3MlMjBrbm90cyUyMGNsb3NlciUyMGRvc2UtcmVzcG9uc2UlMjByZXN1bHRzLmpwZWcpCgojIyAqKktub3RzIGF0IDEwJSwgNTAlIGFuZCA5MCUgcXVpbnRpbGVzKioKCiFbKipBcHBlbmRpeCBGaWd1cmUqKiBEb3NlLXJlc3BvbnNlIG1ldGEtYW5hbHlzaXMgcGxvdHMgb2YgdGhlIG9kZHMgcmF0aW9zIChPUikgZm9yIGRlcHJlc3Npb24gYXMgZnVuY3Rpb24gb2YgdGhlIGRheXMgc2luY2UgdGhlIGRheXMgb2YgdGhlIGZpcnN0IGNhc2UgaW4gdGhlIHN0dWR5IGNvdW50cnksIHRoZSBzdHJpbmdlbmN5IGluZGV4LCB0aGUgY3VtdWxhdGl2ZSBudW1iZXIgb2YgY2FzZXMgYW5kIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBkZWF0aHMuIENvbmZpZGVuY2UgaW50ZXJ2YWxzIGFyZSBzaG93cyBhcyBkYXNoZWQgbGluZXMuIE9SXD4xIG1lYW5zIHRoYXQgdGhlIG9kZHMgb2YgcGVvcGxlIGFib3ZlIHRoZSB0aHJlc2hvbGQgaW5jcmVhc2VzIG92ZXIgdGltZS5dKG91dC9EZXByZXNzaW9uJTIwa25vdHMlMjBmdXJ0aGVyJTIwZG9zZS1yZXNwb25zZSUyMHJlc3VsdHMuanBlZykKCiFbKipBcHBlbmRpeCBGaWd1cmUqKiBEb3NlLXJlc3BvbnNlIG1ldGEtYW5hbHlzaXMgcGxvdHMgb2YgdGhlIG9kZHMgcmF0aW9zIChPUikgZm9yIGFueGlldHkgYXMgYSBmdW5jdGlvbiBvZiB0aGUgZGF5cyBzaW5jZSB0aGUgZGF5cyBvZiB0aGUgZmlyc3QgY2FzZSBpbiB0aGUgc3R1ZHkgY291bnRyeSwgdGhlIHN0cmluZ2VuY3kgaW5kZXgsIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBjYXNlcyBhbmQgdGhlIGN1bXVsYXRpdmUgbnVtYmVyIG9mIGRlYXRocy4gQ29uZmlkZW5jZSBpbnRlcnZhbHMgYXJlIHNob3dzIGFzIGRhc2hlZCBsaW5lcy4gT1JcPjEgbWVhbnMgdGhhdCB0aGUgb2RkcyBvZiBwZW9wbGUgYWJvdmUgdGhlIHRocmVzaG9sZCBpbmNyZWFzZXMgb3ZlciB0aW1lLl0ob3V0L0FueGlldHklMjBrbm90cyUyMGZ1cnRoZXIlMjBkb3NlLXJlc3BvbnNlJTIwcmVzdWx0cy5qcGVnICJGaWd1cmUgMSIpCgohWyoqQXBwZW5kaXggRmlndXJlKiogRG9zZS1yZXNwb25zZSBtZXRhLWFuYWx5c2lzIHBsb3RzIG9mIHRoZSBvZGRzIHJhdGlvcyAoT1IpIGZvciBwc3ljaG9sb2dpY2FsIGRpc3RyZXNzIGFzIGEgZnVuY3Rpb24gb2YgdGhlIGRheXMgc2luY2UgdGhlIGRheXMgb2YgdGhlIGZpcnN0IGNhc2UgaW4gdGhlIHN0dWR5IGNvdW50cnksIHRoZSBzdHJpbmdlbmN5IGluZGV4LCB0aGUgY3VtdWxhdGl2ZSBudW1iZXIgb2YgY2FzZXMgYW5kIHRoZSBjdW11bGF0aXZlIG51bWJlciBvZiBkZWF0aHMuIENvbmZpZGVuY2UgaW50ZXJ2YWxzIGFyZSBzaG93cyBhcyBkYXNoZWQgbGluZXMuIE9SXD4xIG1lYW5zIHRoYXQgdGhlIG9kZHMgb2YgcGVvcGxlIGFib3ZlIHRoZSB0aHJlc2hvbGQgaW5jcmVhc2VzIG92ZXIgdGltZS5dKG91dC9Qc3ljaG9sb2dpY2FsJTIwZGlzdHJlc3MlMjBrbm90cyUyMGZ1cnRoZXIlMjBkb3NlLXJlc3BvbnNlJTIwcmVzdWx0cy5qcGVnKQo=