Packages

Install papaja for anova report

Dataset

Data cleaning and new variables

Clean the names

Remove the names column

check


      normal   osteopenia osteoporosis 
          56           46           25 

Results

Table 1

Demographics

normal
(n=56)
osteopenia
(n=46)
osteoporosis
(n=25)
Overall
(n=127)
age
Mean (SD) 69.9 (9.10) 70.0 (8.85) 72.4 (8.45) 70.4 (8.87)
Median [Min, Max] 69.0 [52.0, 86.0] 70.0 [54.0, 87.0] 75.0 [57.0, 91.0] 70.0 [52.0, 91.0]
height
Mean (SD) 160 (5.49) 160 (6.27) 159 (6.14) 160 (5.87)
Median [Min, Max] 161 [150, 169] 161 [145, 172] 158 [151, 172] 161 [145, 172]
weight
Mean (SD) 80.2 (16.7) 69.4 (11.1) 64.0 (13.9) 73.1 (15.7)
Median [Min, Max] 78.5 [48.0, 119] 70.0 [48.0, 100] 60.0 [45.0, 100] 70.0 [45.0, 119]
bmi
Mean (SD) 31.4 (6.28) 27.1 (4.30) 25.0 (4.65) 28.6 (5.90)
Median [Min, Max] 30.8 [18.5, 42.2] 26.3 [19.2, 38.2] 24.0 [18.5, 35.4] 27.1 [18.5, 42.2]

Measurements

normal
(n=56)
osteopenia
(n=46)
osteoporosis
(n=25)
Overall
(n=127)
md_vol_all
Mean (SD) 20.7 (4.45) 18.2 (3.43) 17.6 (3.91) 19.2 (4.21)
Median [Min, Max] 20.3 [10.9, 31.3] 17.9 [10.2, 27.8] 16.6 [12.9, 29.7] 18.9 [10.2, 31.3]
md_vol_small
Mean (SD) 9.08 (2.15) 7.86 (1.56) 8.12 (2.12) 8.45 (2.02)
Median [Min, Max] 8.93 [4.22, 14.1] 7.84 [4.19, 11.9] 8.01 [5.04, 15.0] 8.22 [4.19, 15.0]
md_vol_forame
Mean (SD) 2.89 (1.35) 2.30 (0.983) 2.32 (1.17) 2.57 (1.22)
Median [Min, Max] 2.67 [0.730, 6.36] 2.15 [0.370, 4.75] 1.97 [1.11, 6.53] 2.24 [0.370, 6.53]
mx_vol
Mean (SD) 4.63 (1.31) 3.96 (1.41) 3.73 (1.25) 4.21 (1.38)
Median [Min, Max] 4.55 [2.36, 8.45] 3.61 [1.94, 7.78] 3.23 [2.02, 6.35] 4.08 [1.94, 8.45]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x1_viss
Mean (SD) 163 (40.6) 144 (35.6) 140 (41.8) 152 (40.1)
Median [Min, Max] 161 [56.4, 238] 145 [68.3, 211] 134 [71.5, 253] 149 [56.4, 253]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x1_trab
Mean (SD) 73.0 (33.2) 68.2 (26.1) 70.8 (34.1) 70.8 (30.8)
Median [Min, Max] 72.1 [2.11, 155] 66.3 [15.2, 127] 71.8 [12.0, 126] 71.1 [2.11, 155]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x1_cor
Mean (SD) 89.8 (23.2) 75.6 (20.0) 69.5 (23.6) 80.7 (23.5)
Median [Min, Max] 84.3 [43.9, 151] 71.6 [30.8, 127] 65.0 [30.2, 139] 79.6 [30.2, 151]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x1_baz_viss
Mean (SD) 117 (17.5) 107 (15.5) 102 (15.7) 111 (17.4)
Median [Min, Max] 118 [86.0, 150] 106 [77.0, 140] 103 [75.8, 142] 109 [75.8, 150]
Missing 9 (16.1%) 8 (17.4%) 7 (28.0%) 24 (18.9%)
x1_baz_trab
Mean (SD) 50.7 (12.6) 50.8 (8.38) 56.4 (12.3) 51.7 (11.3)
Median [Min, Max] 51.5 [23.1, 75.5] 51.1 [32.8, 70.7] 58.6 [36.1, 76.9] 51.5 [23.1, 76.9]
Missing 9 (16.1%) 8 (17.4%) 7 (28.0%) 24 (18.9%)
x1_bas_cor
Mean (SD) 66.2 (19.8) 55.9 (13.7) 45.9 (16.2) 58.8 (18.6)
Median [Min, Max] 65.7 [28.0, 118] 57.1 [33.7, 84.9] 46.2 [14.3, 77.9] 57.3 [14.3, 118]
Missing 9 (16.1%) 8 (17.4%) 7 (28.0%) 24 (18.9%)
x1_cort_viss
Mean (SD) 0.569 (0.136) 0.537 (0.112) 0.515 (0.168) 0.547 (0.135)
Median [Min, Max] 0.565 [0.330, 0.970] 0.535 [0.260, 0.800] 0.490 [0.210, 0.860] 0.540 [0.210, 0.970]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x2_viss
Mean (SD) 149 (43.3) 133 (35.6) 128 (42.6) 139 (41.2)
Median [Min, Max] 146 [49.9, 243] 129 [68.2, 218] 123 [73.8, 227] 136 [49.9, 243]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x2_trab
Mean (SD) 68.5 (36.3) 62.9 (26.6) 64.0 (33.4) 65.6 (32.4)
Median [Min, Max] 66.4 [3.11, 162] 63.4 [11.8, 116] 63.6 [15.3, 142] 63.9 [3.11, 162]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x2_cor
Mean (SD) 80.6 (24.0) 70.3 (19.9) 63.6 (20.0) 73.6 (22.7)
Median [Min, Max] 78.2 [46.8, 143] 67.4 [31.5, 126] 61.5 [22.4, 117] 69.3 [22.4, 143]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x2_baz_viss
Mean (SD) 113 (18.7) 106 (15.2) 102 (17.6) 109 (17.5)
Median [Min, Max] 109 [76.0, 159] 106 [83.2, 139] 105 [70.3, 138] 107 [70.3, 159]
Missing 12 (21.4%) 11 (23.9%) 11 (44.0%) 34 (26.8%)
x2_baz_trab
Mean (SD) 52.0 (12.5) 50.8 (10.0) 55.7 (12.9) 52.1 (11.7)
Median [Min, Max] 52.7 [21.3, 81.3] 50.0 [36.1, 77.0] 52.8 [36.9, 82.4] 52.2 [21.3, 82.4]
Missing 12 (21.4%) 11 (23.9%) 11 (44.0%) 34 (26.8%)
x2_baz_cor
Mean (SD) 60.5 (19.4) 55.3 (14.1) 46.3 (14.8) 56.4 (17.4)
Median [Min, Max] 58.3 [25.0, 127] 53.0 [29.1, 82.5] 45.3 [20.1, 73.4] 53.2 [20.1, 127]
Missing 12 (21.4%) 11 (23.9%) 11 (44.0%) 34 (26.8%)
x2_cor_viss
Mean (SD) 0.564 (0.159) 0.541 (0.130) 0.520 (0.146) 0.547 (0.146)
Median [Min, Max] 0.555 [0.290, 0.950] 0.530 [0.300, 0.850] 0.515 [0.230, 0.800] 0.540 [0.230, 0.950]
Missing 0 (0%) 0 (0%) 1 (4.0%) 1 (0.8%)
x3_viss
Mean (SD) 124 (47.4) 110 (37.6) 103 (40.4) 115 (43.3)
Median [Min, Max] 121 [37.3, 246] 99.6 [48.4, 221] 102 [40.0, 186] 108 [37.3, 246]
x3_trab
Mean (SD) 66.9 (40.2) 55.8 (28.3) 53.5 (30.5) 60.2 (34.7)
Median [Min, Max] 60.1 [6.55, 181] 52.2 [8.15, 125] 56.5 [5.88, 136] 56.3 [5.88, 181]
x3_cor
Mean (SD) 57.4 (20.2) 54.2 (20.0) 49.2 (18.4) 54.6 (19.8)
Median [Min, Max] 57.0 [25.9, 108] 50.3 [19.1, 118] 45.8 [16.8, 95.7] 52.9 [16.8, 118]
x3_baz_viss
Mean (SD) 104 (14.6) 96.2 (16.4) 100 (17.2) 101 (15.9)
Median [Min, Max] 105 [75.6, 133] 93.7 [67.3, 126] 98.1 [77.0, 134] 98.6 [67.3, 134]
Missing 25 (44.6%) 23 (50.0%) 15 (60.0%) 63 (49.6%)
x3_baz_trab
Mean (SD) 58.4 (13.2) 52.7 (8.55) 56.7 (8.37) 56.1 (11.2)
Median [Min, Max] 58.2 [30.5, 82.8] 53.2 [36.9, 67.9] 53.7 [44.6, 68.8] 54.9 [30.5, 82.8]
Missing 25 (44.6%) 23 (50.0%) 15 (60.0%) 63 (49.6%)
x3_baz_cor
Mean (SD) 45.8 (13.1) 43.5 (15.3) 43.6 (15.1) 44.6 (14.0)
Median [Min, Max] 44.6 [24.1, 76.7] 37.4 [16.8, 81.0] 39.6 [25.2, 69.2] 42.2 [16.8, 81.0]
Missing 25 (44.6%) 23 (50.0%) 15 (60.0%) 63 (49.6%)
x3_cor_viss
Mean (SD) 0.498 (0.169) 0.511 (0.152) 0.506 (0.164) 0.505 (0.161)
Median [Min, Max] 0.485 [0.220, 0.890] 0.485 [0.210, 0.850] 0.490 [0.230, 0.880] 0.490 [0.210, 0.890]
x4_viss
Mean (SD) 123 (45.4) 111 (41.7) 104 (40.2) 115 (43.5)
Median [Min, Max] 121 [34.9, 232] 99.1 [32.4, 223] 96.3 [42.0, 206] 109 [32.4, 232]
x4_trab
Mean (SD) 66.9 (37.3) 58.5 (32.2) 55.4 (33.6) 61.6 (34.9)
Median [Min, Max] 61.8 [5.58, 169] 54.0 [6.57, 147] 53.1 [8.24, 160] 56.5 [5.58, 169]
x4_cor
Mean (SD) 56.0 (20.5) 52.0 (20.3) 48.3 (19.7) 53.0 (20.4)
Median [Min, Max] 55.7 [19.8, 111] 49.6 [18.9, 116] 46.4 [7.35, 89.2] 50.7 [7.35, 116]
x4_baz_viss
Mean (SD) 105 (16.1) 100 (17.3) 96.8 (14.2) 102 (16.4)
Median [Min, Max] 103 [75.3, 135] 97.4 [67.7, 134] 96.8 [74.6, 124] 100 [67.7, 135]
Missing 26 (46.4%) 25 (54.3%) 16 (64.0%) 67 (52.8%)
x4_baz_trab
Mean (SD) 61.3 (11.0) 57.6 (9.95) 59.7 (9.83) 59.7 (10.4)
Median [Min, Max] 59.3 [39.1, 83.0] 56.4 [41.3, 78.3] 59.3 [49.4, 76.3] 57.6 [39.1, 83.0]
Missing 26 (46.4%) 25 (54.3%) 16 (64.0%) 67 (52.8%)
x4_baz_cor
Mean (SD) 44.1 (15.1) 42.0 (13.3) 37.1 (12.7) 42.3 (14.1)
Median [Min, Max] 44.3 [19.6, 80.7] 37.8 [26.3, 77.3] 33.6 [24.0, 64.7] 39.7 [19.6, 80.7]
Missing 26 (46.4%) 25 (54.3%) 16 (64.0%) 67 (52.8%)
x4_cor_viss
Mean (SD) 0.486 (0.166) 0.495 (0.155) 0.494 (0.194) 0.491 (0.167)
Median [Min, Max] 0.480 [0.210, 0.920] 0.470 [0.240, 0.800] 0.480 [0.100, 0.840] 0.480 [0.100, 0.920]

Grey values

normal
(n=56)
osteopenia
(n=46)
osteoporosis
(n=25)
Overall
(n=127)
c1_axial
Mean (SD) 78.3 (95.0) 25.1 (107) -20.3 (88.8) 39.6 (105)
Median [Min, Max] 69.7 [-204, 252] 40.2 [-216, 196] -15.4 [-194, 195] 47.7 [-216, 252]
c1sagital
Mean (SD) 71.3 (90.8) 26.4 (105) -14.3 (78.6) 38.1 (99.1)
Median [Min, Max] 73.7 [-152, 252] 33.8 [-212, 229] -9.10 [-168, 149] 47.2 [-212, 252]
c2_axial
Mean (SD) 173 (96.2) 132 (100) 82.6 (81.6) 140 (100)
Median [Min, Max] 179 [-64.3, 424] 148 [-109, 289] 81.9 [-72.6, 249] 147 [-109, 424]
Missing 1 (1.8%) 0 (0%) 0 (0%) 1 (0.8%)
c2sagital
Mean (SD) 163 (104) 122 (102) 83.5 (74.1) 132 (102)
Median [Min, Max] 159 [-69.4, 471] 128 [-132, 330] 63.6 [-66.9, 212] 132 [-132, 471]
Missing 1 (1.8%) 0 (0%) 0 (0%) 1 (0.8%)

Inferential analysis

By groups

Measurements by area and dx

Plot

ANOVA Mean comparison measurement by area

Anova table


Call:
glm(formula = value ~ dx * zone * clinical_variable_2 + ID + 
    age + md_vol_all + mx_vol, data = measurements_data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-70.659  -16.272   -1.083   13.597   95.448  

Coefficients:
                                                                 Estimate Std. Error t value
(Intercept)                                                     11.855113   8.129928   1.458
dxOsteopenia                                                    -4.459232   4.705341  -0.948
dxOsteoporosis                                                  -8.262887   5.874036  -1.407
zoneCanine/PreMol                                               -9.206429   4.441809  -2.073
zone1st Molar                                                  -32.405536   4.441809  -7.296
zone2d Molar                                                   -33.819821   4.441809  -7.614
clinical_variable_2Trabeculae                                  -16.823571   4.441809  -3.788
ID                                                               0.003039   0.020779   0.146
age                                                             -0.017276   0.085019  -0.203
md_vol_all                                                       3.661650   0.207957  17.608
mx_vol                                                           0.663376   0.625226   1.061
dxOsteopenia:zoneCanine/PreMol                                   3.884255   6.614256   0.587
dxOsteoporosis:zoneCanine/PreMol                                 3.172516   8.232078   0.385
dxOsteopenia:zone1st Molar                                      11.054666   6.614256   1.671
dxOsteoporosis:zone1st Molar                                    11.030428   8.171122   1.350
dxOsteopenia:zone2d Molar                                       10.254821   6.614256   1.550
dxOsteoporosis:zone2d Molar                                     11.612214   8.171122   1.421
dxOsteopenia:clinical_variable_2Trabeculae                       9.428137   6.614256   1.425
dxOsteoporosis:clinical_variable_2Trabeculae                    17.404876   8.232078   2.114
zoneCanine/PreMol:clinical_variable_2Trabeculae                  4.745179   6.281666   0.755
zone1st Molar:clinical_variable_2Trabeculae                     26.296071   6.281666   4.186
zone2d Molar:clinical_variable_2Trabeculae                      27.781250   6.281666   4.423
dxOsteopenia:zoneCanine/PreMol:clinical_variable_2Trabeculae    -4.721048   9.353971  -0.505
dxOsteoporosis:zoneCanine/PreMol:clinical_variable_2Trabeculae  -4.750831  11.641917  -0.408
dxOsteopenia:zone1st Molar:clinical_variable_2Trabeculae       -17.342811   9.353971  -1.854
dxOsteoporosis:zone1st Molar:clinical_variable_2Trabeculae     -22.564042  11.555633  -1.953
dxOsteopenia:zone2d Molar:clinical_variable_2Trabeculae        -13.871250   9.353971  -1.483
dxOsteoporosis:zone2d Molar:clinical_variable_2Trabeculae      -21.208388  11.555633  -1.835
                                                               Pr(>|t|)    
(Intercept)                                                    0.145105    
dxOsteopenia                                                   0.343519    
dxOsteoporosis                                                 0.159841    
zoneCanine/PreMol                                              0.038465 *  
zone1st Molar                                                  6.15e-13 ***
zone2d Molar                                                   6.26e-14 ***
clinical_variable_2Trabeculae                                  0.000161 ***
ID                                                             0.883748    
age                                                            0.839020    
md_vol_all                                                      < 2e-16 ***
mx_vol                                                         0.288944    
dxOsteopenia:zoneCanine/PreMol                                 0.557168    
dxOsteoporosis:zoneCanine/PreMol                               0.700037    
dxOsteopenia:zone1st Molar                                     0.094975 .  
dxOsteoporosis:zone1st Molar                                   0.177352    
dxOsteopenia:zone2d Molar                                      0.121367    
dxOsteoporosis:zone2d Molar                                    0.155599    
dxOsteopenia:clinical_variable_2Trabeculae                     0.154354    
dxOsteoporosis:clinical_variable_2Trabeculae                   0.034745 *  
zoneCanine/PreMol:clinical_variable_2Trabeculae                0.450191    
zone1st Molar:clinical_variable_2Trabeculae                    3.09e-05 ***
zone2d Molar:clinical_variable_2Trabeculae                     1.08e-05 ***
dxOsteopenia:zoneCanine/PreMol:clinical_variable_2Trabeculae   0.613876    
dxOsteoporosis:zoneCanine/PreMol:clinical_variable_2Trabeculae 0.683305    
dxOsteopenia:zone1st Molar:clinical_variable_2Trabeculae       0.064032 .  
dxOsteoporosis:zone1st Molar:clinical_variable_2Trabeculae     0.051147 .  
dxOsteopenia:zone2d Molar:clinical_variable_2Trabeculae        0.138417    
dxOsteoporosis:zone2d Molar:clinical_variable_2Trabeculae      0.066761 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 552.4306)

    Null deviance: 870298  on 1003  degrees of freedom
Residual deviance: 539172  on  976  degrees of freedom
  (12 observations deleted due to missingness)
AIC: 9218.4

Number of Fisher Scoring iterations: 2

Just to check, omit in final report

length of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changed

==========================================================================================
                                                                   Dependent variable:    
                                                               ---------------------------
                                                                          value           
------------------------------------------------------------------------------------------
dxOsteopenia                                                             -4.459           
                                                                         (4.705)          
                                                                                          
dxOsteoporosis                                                           -8.263           
                                                                         (5.874)          
                                                                                          
zoneCanine/PreMol                                                       -9.206**          
                                                                         (4.442)          
                                                                                          
zone1st Molar                                                          -32.406***         
                                                                         (4.442)          
                                                                                          
zone2d Molar                                                           -33.820***         
                                                                         (4.442)          
                                                                                          
clinical_variable_2Trabeculae                                          -16.824***         
                                                                         (4.442)          
                                                                                          
ID                                                                        0.003           
                                                                         (0.021)          
                                                                                          
age                                                                      -0.017           
                                                                         (0.085)          
                                                                                          
md_vol_all                                                              3.662***          
                                                                         (0.208)          
                                                                                          
mx_vol                                                                    0.663           
                                                                         (0.625)          
                                                                                          
dxOsteopenia:zoneCanine/PreMol                                            3.884           
                                                                         (6.614)          
                                                                                          
dxOsteoporosis:zoneCanine/PreMol                                          3.173           
                                                                         (8.232)          
                                                                                          
dxOsteopenia:zone1st Molar                                               11.055*          
                                                                         (6.614)          
                                                                                          
dxOsteoporosis:zone1st Molar                                             11.030           
                                                                         (8.171)          
                                                                                          
dxOsteopenia:zone2d Molar                                                10.255           
                                                                         (6.614)          
                                                                                          
dxOsteoporosis:zone2d Molar                                              11.612           
                                                                         (8.171)          
                                                                                          
dxOsteopenia:clinical_variable_2Trabeculae                                9.428           
                                                                         (6.614)          
                                                                                          
dxOsteoporosis:clinical_variable_2Trabeculae                            17.405**          
                                                                         (8.232)          
                                                                                          
zoneCanine/PreMol:clinical_variable_2Trabeculae                           4.745           
                                                                         (6.282)          
                                                                                          
zone1st Molar:clinical_variable_2Trabeculae                             26.296***         
                                                                         (6.282)          
                                                                                          
zone2d Molar:clinical_variable_2Trabeculae                              27.781***         
                                                                         (6.282)          
                                                                                          
dxOsteopenia:zoneCanine/PreMol:clinical_variable_2Trabeculae             -4.721           
                                                                         (9.354)          
                                                                                          
dxOsteoporosis:zoneCanine/PreMol:clinical_variable_2Trabeculae           -4.751           
                                                                        (11.642)          
                                                                                          
dxOsteopenia:zone1st Molar:clinical_variable_2Trabeculae                -17.343*          
                                                                         (9.354)          
                                                                                          
dxOsteoporosis:zone1st Molar:clinical_variable_2Trabeculae              -22.564*          
                                                                        (11.556)          
                                                                                          
dxOsteopenia:zone2d Molar:clinical_variable_2Trabeculae                  -13.871          
                                                                         (9.354)          
                                                                                          
dxOsteoporosis:zone2d Molar:clinical_variable_2Trabeculae               -21.208*          
                                                                        (11.556)          
                                                                                          
Constant                                                                 11.855           
                                                                         (8.130)          
                                                                                          
------------------------------------------------------------------------------------------
Observations                                                              1,004           
Log Likelihood                                                         -4,581.208         
Akaike Inf. Crit.                                                       9,218.416         
==========================================================================================
Note:                                                          *p<0.1; **p<0.05; ***p<0.01

Alternatives to show

Delete the anova model

Grey values by area and dx

ANOVA Grey values by area

Anova table


Call:
glm(formula = value ~ dx * zone * clinical_variable_2 + ID + 
    age + md_vol_all + mx_vol, data = grey_values)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-261.064   -59.198     7.922    61.953   272.553  

Coefficients:
                                                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                       235.95358   43.42485   5.434 8.75e-08 ***
dxOsteopenia                                      -56.19337   18.59976  -3.021 0.002651 ** 
dxOsteoporosis                                   -108.37027   22.95502  -4.721 3.07e-06 ***
zoneC2                                             94.49332   17.53299   5.389 1.10e-07 ***
clinical_variable_2Sagital                         -7.14442   17.45371  -0.409 0.682474    
ID                                                  0.07478    0.01924   3.887 0.000116 ***
age                                                -2.31864    0.47242  -4.908 1.26e-06 ***
md_vol_all                                          0.92331    1.15628   0.799 0.424956    
mx_vol                                             -8.96808    3.47460  -2.581 0.010142 *  
dxOsteopenia:zoneC2                                12.45929   26.04347   0.478 0.632578    
dxOsteoporosis:zoneC2                               3.85712   31.90946   0.121 0.903838    
dxOsteopenia:clinical_variable_2Sagital             8.29138   25.99014   0.319 0.749848    
dxOsteoporosis:clinical_variable_2Sagital          11.68631   31.86595   0.367 0.713977    
zoneC2:clinical_variable_2Sagital                  -3.31945   24.79520  -0.134 0.893557    
dxOsteopenia:zoneC2:clinical_variable_2Sagital     -8.55446   36.83088  -0.232 0.816431    
dxOsteoporosis:zoneC2:clinical_variable_2Sagital    1.24445   45.12667   0.028 0.978011    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 8529.686)

    Null deviance: 6333853  on 501  degrees of freedom
Residual deviance: 4145427  on 486  degrees of freedom
  (6 observations deleted due to missingness)
AIC: 5986.1

Number of Fisher Scoring iterations: 2

Just to check, omit in final report

Check values 49, 252 and 460

length of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changedlength of NULL cannot be changed

Regression analysis - Grey Values
============================================================================
                                                     Dependent variable     
                                                 ---------------------------
                                                    Relative Grey Values    
----------------------------------------------------------------------------
Osteopenia                                               -56.193***         
                                                          (18.600)          
                                                                            
Osteoporosis                                             -108.370***        
                                                          (22.955)          
                                                                            
C2                                                        94.493***         
                                                          (17.533)          
                                                                            
Sagital                                                    -7.144           
                                                          (17.454)          
                                                                            
ID                                                        0.075***          
                                                           (0.019)          
                                                                            
Osteopenia:C2                                             -2.319***         
                                                           (0.472)          
                                                                            
Osteoporsis:C2                                              0.923           
                                                           (1.156)          
                                                                            
Osteopenia:Sagital                                        -8.968**          
                                                           (3.475)          
                                                                            
Osteoporosis:Sagital                                       12.459           
                                                          (26.043)          
                                                                            
Osteopenia:Sagital                                          3.857           
                                                          (31.909)          
                                                                            
Osteoporosis:Sagital                                        8.291           
                                                          (25.990)          
                                                                            
Constant                                                   11.686           
                                                          (31.866)          
                                                                            
zoneC2:clinical_variable_2Sagital                          -3.319           
                                                          (24.795)          
                                                                            
dxOsteopenia:zoneC2:clinical_variable_2Sagital             -8.554           
                                                          (36.831)          
                                                                            
dxOsteoporosis:zoneC2:clinical_variable_2Sagital            1.244           
                                                          (45.127)          
                                                                            
Constant                                                 235.954***         
                                                          (43.425)          
                                                                            
----------------------------------------------------------------------------
Observations                                                 502            
Log Likelihood                                           -2,977.055         
Akaike Inf. Crit.                                         5,986.110         
============================================================================
Note:                                            *p<0.1; **p<0.05; ***p<0.01

Alternatives to show

Delete the anova model

Correlation

Measurements

Grey values

Reliability analysis: are the measurements reliable?

See

Koo, Terry, and Mae Li. 2016. “A Guideline of Selecting and Reporting Intraclass Correlation Coefficients for Reliability Research.” Journal of Chiropractic Medicine 15 (March). doi:10.1016/j.jcm.2016.02.012.

Shrout, P.E., and J.L. Fleiss. 1979. “Intraclass Correlation: Uses in Assessing Rater Reliability.” Psychological Bulletin 86: 420–28.

For x1_viss

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 29 
     Raters = 2 
   ICC(A,1) = 0.898

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
   F(28,29) = 18.5 , p = 4.52e-12 

 95%-Confidence Interval for ICC Population Values:
  0.797 < ICC < 0.951

For x1_trab

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 29 
     Raters = 2 
   ICC(A,1) = 0.999

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
 F(28,28.9) = 2744 , p = 9.63e-43 

 95%-Confidence Interval for ICC Population Values:
  0.998 < ICC < 1

For x1_baz_viss

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 25 
     Raters = 2 
   ICC(A,1) = 0.997

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
 F(24,18.6) = 669 , p = 1.05e-22 

 95%-Confidence Interval for ICC Population Values:
  0.992 < ICC < 0.999

For x1_baz_trab

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 25 
     Raters = 2 
   ICC(A,1) = 0.986

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
 F(24,24.9) = 140 , p = 5.04e-21 

 95%-Confidence Interval for ICC Population Values:
  0.969 < ICC < 0.994

For c1_axial

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 10 
     Raters = 2 
   ICC(A,1) = 0.968

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
  F(9,9.02) = 56.4 , p = 7.47e-07 

 95%-Confidence Interval for ICC Population Values:
  0.878 < ICC < 0.992

For c1_sagital

 Single Score Intraclass Correlation

   Model: twoway 
   Type : agreement 

   Subjects = 9 
     Raters = 2 
   ICC(A,1) = 0.972

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
  F(8,8.49) = 77.5 , p = 4.43e-07 

 95%-Confidence Interval for ICC Population Values:
  0.887 < ICC < 0.994

Every measurement has almost perfect reliability ### BLand Altman plots for grey values

NULL

NULL

LS0tCnRpdGxlOiAiT3N0ZW9wb3Jvc2lzIEFTIEZpbmFsIE1hcmNoIDIwMjAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IGNlcnVsZWFuCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwotLS0KCmBgYHtyIGdsb2JhbF9vcHRpb25zLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEZBTFNFKQpgYGAKCiMgUGFja2FnZXMKCmBgYHtyfQppZiAoIXJlcXVpcmUoInBhY21hbiIpKSBpbnN0YWxsLnBhY2thZ2VzKCJwYWNtYW4iKQpgYGAKCmBgYHtyLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCByZXN1bHRzPSdoaWRlJ30KcGFjbWFuOjpwX2xvYWQodGlkeXZlcnNlLCAgIyBmb3IgZGF0YSB2aXN1YWxpemF0aW9uIGFuZCB3cmFuZ2xpbmcgCiAgICAgICAgICAgICAgIGdncHZhbCwgICAgICMgZm9yIHAgdmFsdWVzIGluIHBsb3RzCiAgICAgICAgICAgICAgIGNhciwgICAgICAgICMgZm9yIHJlZ3Jlc3Npb24KICAgICAgICAgICAgICAgYnJvb20sICAgICAgIyBmb3IgbW9kZWwgZXZhbHVhdGlvbgogICAgICAgICAgICAgICBwdWJoLCAgICAgICAjIGZvciBnbG1fY29lZnMKICAgICAgICAgICAgICAgc2pQbG90LCAgICAgIyBwbG90X21vZGVsCiAgICAgICAgICAgICAgIHRpZHltb2RlbHMsICMgZm9yIG1vZGVsbGluZyB3aXRoIGJyb29tCiAgICAgICAgICAgICAgIHJzdGF0aXgsICAgICMgZm9yIGFub3ZhIGluIHRoZSBwaXBlCiAgICAgICAgICAgICAgIGVtbWVhbnMsICAgICMgcGxvdHRpbmcKICAgICAgICAgICAgICAgQmxhbmRBbHRtYW5MZWgsICMgQkEgUGxvdAogICAgICAgICAgICAgICBzdGFyZ2F6ZXIsICAgIyBiZWF1dGlmdWwgcmVwb3J0cwogICAgICAgICAgICAgICBnZ3NpZ25pZiwgICAgIyBmb3Igc2lnbmlmaWNhbmNlIGxpbmVzIGluIGdncGxvdDIgCgogICAgICAgICAgICAgICBvcmRpbmFsLCAKICAgICAgICAgICAgICAgZ2dwdWJyLCAgICAgIyBmb3IgZGF0YSB2aXN1YWxpemF0aW9uIGVuaGFuY2VtZW50cwogICAgICAgICAgICAgICBqYW5pdG9yLCAgICAjIGZvciBkYXRhIGNsZWFuaW5nIAogICAgICAgICAgICAgICB2aXNkYXQsICAgICAjIHRvIHZpenVhbGlzZSBtaXNzaW5nIGRhdGEgCiAgICAgICAgICAgICAgIHRhYmxlMSwgICAgICMgdG8gY3JlYXRlIHN1bW1hcnkgdGFibGVzCiAgICAgICAgICAgICAgIHRhYmxlb25lKSAgICMgdG8gY3JlYXRlIHN1bW1hcnkgdGFibGVzIHdpdGggcCB2YWx1ZXMKYGBgCgpJbnN0YWxsIHBhcGFqYSBmb3IgYW5vdmEgcmVwb3J0CmBgYHtyfQojZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJjcnNoL3BhcGFqYSIpCmlmICghcmVxdWlyZSgicGFwYWphIikpIGluc3RhbGwucGFja2FnZXMoInBhcGFqYSIpCmxpYnJhcnkocGFwYWphKQpgYGAKCgojIERhdGFzZXQKYGBge3IsIHJlc3VsdHM9J2hpZGUnfQpkZiA8LSByZWFkX2NzdigiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2QvZS8yUEFDWC0xdlQ1anRRS1NrUDFoMHBOR3pGdkotQjNIaVF1dkl4QUtYU2Z6eFpWUVNpTTd3cjZVYjYxeEFzNHQxM08weWEwQlo2emlaLWFuV3Q1RmNzZi9wdWI/Z2lkPTE5MzYwMzExODEmc2luZ2xlPXRydWUmb3V0cHV0PWNzdiIpCmBgYAojIyBEYXRhIGNsZWFuaW5nIGFuZCBuZXcgdmFyaWFibGVzCgpDbGVhbiB0aGUgbmFtZXMKYGBge3J9CmRmIDwtIGphbml0b3I6OmNsZWFuX25hbWVzKGRmKSAjIHN0YW5kYXJpemUgYWxsIG5hbWVzIGZyb20gY29sdW1ucywgbW9yZSBlYXNpZXIgdG8gd29yayB3aXRoCmBgYAoKIFJlbW92ZSB0aGUgbmFtZXMgY29sdW1uCiAKYGBge3J9CmRmIDwtIHNlbGVjdChkZiwgLXZhcmRzX3V6dmFyZHMpCmBgYAoKCmBgYHtyIG5ldyB2YXIgZHh9CmRmIDwtIGRmICU+JQogIG11dGF0ZShkeCA9IGNhc2Vfd2hlbigKICAgIGR4YV9sMl9sNCA8IC0yLjUgfiAib3N0ZW9wb3Jvc2lzIiwKICAgIGR4YV9sMl9sNCA+IC0xIH4gIm5vcm1hbCIsCiAgICBUUlVFIH4gIm9zdGVvcGVuaWEiCiAgKSkKYGBgCmNoZWNrCmBgYHtyfQp0YWJsZShkZiRkeCkKYGBgCgoKIyBSZXN1bHRzCgojIyBUYWJsZSAxCgojIyMgRGVtb2dyYXBoaWNzCmBgYHtyfQp0YWJsZTE6OnRhYmxlMSh+IGFnZSArIAogICAgICAgICAgICAgIGhlaWdodCArIAogICAgICAgICAgICAgIHdlaWdodCArIAogICAgICAgICAgICAgIGJtaSAKICAgICAgICAgICAgICAgfCBkeCwgCiAgICAgICAgICAgICAgIGRhdGEgPSBkZikKYGBgCiMjIyBNZWFzdXJlbWVudHMKYGBge3J9CnRhYmxlMTo6dGFibGUxKAogIH4gbWRfdm9sX2FsbCArCiAgICBtZF92b2xfc21hbGwgKwogICAgbWRfdm9sX2ZvcmFtZSArCiAgICBteF92b2wgKwogICAgeDFfdmlzcyArCiAgICB4MV90cmFiICsKICAgIHgxX2NvciArCiAgICB4MV9iYXpfdmlzcyArCiAgICB4MV9iYXpfdHJhYiArCiAgICB4MV9iYXNfY29yICsKICAgIHgxX2NvcnRfdmlzcyArCiAgICB4Ml92aXNzICsKICAgIHgyX3RyYWIgKwogICAgeDJfY29yICsKICAgIHgyX2Jhel92aXNzICsKICAgIHgyX2Jhel90cmFiICsKICAgIHgyX2Jhel9jb3IgKwogICAgeDJfY29yX3Zpc3MgKwogICAgeDNfdmlzcyArCiAgICB4M190cmFiICsKICAgIHgzX2NvciArCiAgICB4M19iYXpfdmlzcyArCiAgICB4M19iYXpfdHJhYiArCiAgICB4M19iYXpfY29yICsKICAgIHgzX2Nvcl92aXNzICsKICAgIHg0X3Zpc3MgKwogICAgeDRfdHJhYiArCiAgICB4NF9jb3IgKwogICAgeDRfYmF6X3Zpc3MgKwogICAgeDRfYmF6X3RyYWIgKwogICAgeDRfYmF6X2NvciArCiAgICB4NF9jb3JfdmlzcwogIHwgZHgsCiAgZGF0YSA9IGRmCikKYGBgCgoKCiMjIyBHcmV5IHZhbHVlcwoKYGBge3J9CnRhYmxlMTo6dGFibGUxKCB+ICBjMV9heGlhbCArCiAgICAgICAgICAgICAgICAgIGMxc2FnaXRhbCArCiAgICAgICAgICAgICAgICAgIGMyX2F4aWFsICsKICAgICAgICAgICAgICAgICAgYzJzYWdpdGFsCiAgICAgICAgICAgICAgICB8IGR4LAogICAgICAgICAgICAgICAgZGF0YSA9IGRmKQpgYGAKCgojIEluZmVyZW50aWFsIGFuYWx5c2lzICAgICAgCiMjIEJ5IGdyb3VwcwojIyMgTWVhc3VyZW1lbnRzIGJ5IGFyZWEgYW5kIGR4CgpgYGB7cn0KbWVhc3VyZW1lbnRzX2RhdGEgPC0gZGYgJT4lCiAgdGliYmxlOjpyb3dpZF90b19jb2x1bW4oLiwgIklEIikgJT4lIAogIHBpdm90X2xvbmdlcih4MV92aXNzOng0X2Nvcl92aXNzLAogICAgICAgICAgICAgICAjIGNvbHVtbnMgdG8gbWVyZ2UKICAgICAgICAgICAgICAgbmFtZXNfdG8gPSAiY2xpbmljYWxfdmFyaWFibGUiLAogICAgICAgICAgICAgICAjbmFtZSBvZiB0aGUgbmV3IGNvbHVtIHdpdGggdGhlIG5hbWVzCiAgICAgICAgICAgICAgIHZhbHVlc190byA9ICJ2YWx1ZSIpICU+JSAgI25hbWUgb2YgdGhlIG5ldyBjb2x1bW4gd2l0aCB2YWx1ZXMKICBzZWxlY3QoY2xpbmljYWxfdmFyaWFibGUsCiAgICAgICAgIHZhbHVlLAogICAgICAgICBkeCwKICAgICAgICAgZHhhX2wyX2w0LAogICAgICAgICBJRCwgCiAgICAgICAgIGFnZSwgCiAgICAgICAgIG1kX3ZvbF9hbGwsIAogICAgICAgICBteF92b2wpICU+JQogIGZpbHRlcighc3RyX2RldGVjdChjbGluaWNhbF92YXJpYWJsZSwgImNvcl92aXNzIikpICU+JSAgIyB3ZSBmaWx0ZXIgT1VUICghKQogIGZpbHRlcighc3RyX2RldGVjdChjbGluaWNhbF92YXJpYWJsZSwgIjIkIikpICU+JSAgIyBhZ2FpbgogIGZpbHRlcihjbGluaWNhbF92YXJpYWJsZSAhPSAieDFfY29ydF92aXNzIikgJT4lICAjIGFnYWluCiAgZmlsdGVyKCFzdHJfZGV0ZWN0KGNsaW5pY2FsX3ZhcmlhYmxlLCAiX2Jhc18iKSkgJT4lCiAgZmlsdGVyKCFzdHJfZGV0ZWN0KGNsaW5pY2FsX3ZhcmlhYmxlLCAiX2Jhel8iKSkgJT4lCiAgZmlsdGVyKCFzdHJfZGV0ZWN0KGNsaW5pY2FsX3ZhcmlhYmxlLCAidmlzcyQiKSkgJT4lICAjIG9taXQgYWxsIHZpc3MgdmFsdWVzCiAgc2VwYXJhdGUoY2xpbmljYWxfdmFyaWFibGUsCiAgICAgICAgICAgaW50byA9IGMoInpvbmUiLCAiY2xpbmljYWxfdmFyaWFibGVfMiIpKSAlPiUKICBtdXRhdGUoem9uZSA9IGZjdF9yZWNvZGUoCiAgICB6b25lLAogICAgIkluY2lzb3IiID0gIngxIiwKICAgICJDYW5pbmUvUHJlTW9sIiA9ICJ4MiIsCiAgICAiMXN0IE1vbGFyIiA9ICJ4MyIsCiAgICAiMmQgTW9sYXIiID0gIng0IgogICkpICU+JQogIG11dGF0ZSgKICAgIGR4ID0gZmN0X3JlY29kZSgKICAgICAgZHgsCiAgICAgICJOb3JtYWwiID0gIm5vcm1hbCIsCiAgICAgICJPc3Rlb3BlbmlhIiA9ICJvc3Rlb3BlbmlhIiwKICAgICAgIk9zdGVvcG9yb3NpcyIgPSAib3N0ZW9wb3Jvc2lzIgogICAgKQogICkgJT4lCiAgbXV0YXRlKGNsaW5pY2FsX3ZhcmlhYmxlXzIgPSBmY3RfcmVjb2RlKAogICAgY2xpbmljYWxfdmFyaWFibGVfMiwKICAgICJDb3J0aWNhbCIgPSAiY29yIiwKICAgICJUcmFiZWN1bGFlIiA9ICJ0cmFiIgogICkpCmBgYAoKUGxvdAoKCmBgYHtyfQptZWFzdXJlbWVudHNfZGF0YSAlPiUKICBnZ3Bsb3QoYWVzKHggPSBkeCwKICAgICAgICAgICAgIHkgPSB2YWx1ZSwKICAgICAgICAgICAgIGNvbG9yID0gZHgpKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGdlb21faml0dGVyKGFscGhhID0gMC4wNSkgKwogICMgZmFjZXRfZ3JpZChjbGluaWNhbF92YXJpYWJsZV8yIH4gem9uZSkgKyAjIGZhY2V0dGluZyAocm93cyB+IGNvbHVtbnMpCiAgbGFicygKICAgIHRpdGxlID0gIk1lYXN1cmVtZW50cyAobW0pLCBhbGwgYm9uZSIsCiAgICAjIHN1YnRpdGxlID0gInRoaXMgaXMgdGhlIHN1YnRpdGxlIiwKICAgIHkgPSAibW0iLAogICAgeCA9ICJCb25lIHN0YXR1cyIsCiAgICBjb2xvciA9ICJCb25lIHN0YXR1cyIKICApICsKICAjIHNjYWxlX2NvbG9yX21hbnVhbChsYWJlbHMgPSBjKCJUOTk5IiwgIlQ4ODgiLCAiMiIpLCB2YWx1ZXMgPSBjKCJncmVlbiIsICJ5ZWxsb3ciLCAicmVkIikpCiAgZ2dwdWJyOjp0aGVtZV9wdWJjbGVhbigpICsgIyB0aGUgY29sb3Igc2NoZW1lLCB0cnkgb3RoZXJzCiAgdGhlbWUoCiAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueCA9IGVsZW1lbnRfYmxhbmsoKQogICkKYGBgCmBgYHtyfQptZWFzdXJlbWVudHNfZGF0YSAlPiUKICBnZ3Bsb3QoYWVzKHggPSBkeCwKICAgICAgICAgICAgIHkgPSB2YWx1ZSwKICAgICAgICAgICAgIGNvbG9yID0gZHgpKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGdlb21faml0dGVyKGFscGhhID0gMC4wNSkgKwogIGZhY2V0X2dyaWQoLiB+IHpvbmUpICsgIyBmYWNldHRpbmcgKHJvd3MgfiBjb2x1bW5zKQogIGxhYnMoCiAgICB0aXRsZSA9ICJNZWFzdXJlbWVudHMgKG1tKSwgYnkgYXJlYSIsCiAgICAjIHN1YnRpdGxlID0gInRoaXMgaXMgdGhlIHN1YnRpdGxlIiwKICAgIHkgPSAibW0iLAogICAgeCA9ICJCb25lIHN0YXR1cyIsCiAgICBjb2xvciA9ICJCb25lIHN0YXR1cyIKICApICsKICBnZ3B1YnI6OnRoZW1lX3B1YmNsZWFuKCkgKyAjIHRoZSBjb2xvciBzY2hlbWUsIHRyeSBvdGhlcnMKICB0aGVtZSgKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50aWNrcy54ID0gZWxlbWVudF9ibGFuaygpCiAgKQpgYGAKYGBge3J9Cm1lYXN1cmVtZW50c19kYXRhICU+JQogIGdncGxvdChhZXMoeCA9IGR4LAogICAgICAgICAgICAgeSA9IHZhbHVlLAogICAgICAgICAgICAgY29sb3IgPSBkeCkpICsKICBnZW9tX2JveHBsb3QoKSArCiAgZ2VvbV9qaXR0ZXIoYWxwaGEgPSAwLjA1KSArCiAgZmFjZXRfZ3JpZCguIH4gY2xpbmljYWxfdmFyaWFibGVfMikgKyAjIGZhY2V0dGluZyAocm93cyB+IGNvbHVtbnMpCiAgbGFicygKICAgIHRpdGxlID0gIk1lYXN1cmVtZW50cyAobW0pLCBieSBjb3J0aWNhbCBvciB0cmFiZWN1bGFlIiwKICAgICMgc3VidGl0bGUgPSAidGhpcyBpcyB0aGUgc3VidGl0bGUiLAogICAgeSA9ICJtbSIsCiAgICB4ID0gIkJvbmUgc3RhdHVzIiwKICAgIGNvbG9yID0gIkJvbmUgc3RhdHVzIgogICkgKwogIGdncHVicjo6dGhlbWVfcHViY2xlYW4oKSArICMgdGhlIGNvbG9yIHNjaGVtZSwgdHJ5IG90aGVycwogIHRoZW1lKAogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRpY2tzLnggPSBlbGVtZW50X2JsYW5rKCkKICApCmBgYAoKCgpgYGB7cn0KbWVhc3VyZW1lbnRzX2RhdGEgJT4lCiAgZ2dwbG90KGFlcyh4ID0gZHgsCiAgICAgICAgICAgICB5ID0gdmFsdWUsCiAgICAgICAgICAgICBjb2xvciA9IGR4KSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMDUpICsKICBmYWNldF9ncmlkKGNsaW5pY2FsX3ZhcmlhYmxlXzIgfiB6b25lKSArICMgZmFjZXR0aW5nIChyb3dzIH4gY29sdW1ucykKICBsYWJzKAogICAgdGl0bGUgPSAiTWVhc3VyZW1lbnRzIChtbSksIGFsbCBib25lIiwKICAgICMgc3VidGl0bGUgPSAidGhpcyBpcyB0aGUgc3VidGl0bGUiLAogICAgeSA9ICJtbSIsCiAgICB4ID0gIkJvbmUgc3RhdHVzIiwKICAgIGNvbG9yID0gIkJvbmUgc3RhdHVzIgogICkgKwogICMgc2NhbGVfY29sb3JfbWFudWFsKGxhYmVscyA9IGMoIlQ5OTkiLCAiVDg4OCIsICIyIiksIHZhbHVlcyA9IGMoImdyZWVuIiwgInllbGxvdyIsICJyZWQiKSkKICBnZ3B1YnI6OnRoZW1lX3B1YmNsZWFuKCkgKyAjIHRoZSBjb2xvciBzY2hlbWUsIHRyeSBvdGhlcnMKICB0aGVtZSgKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50aWNrcy54ID0gZWxlbWVudF9ibGFuaygpCiAgKQpgYGAKIyMjIEFOT1ZBIE1lYW4gY29tcGFyaXNvbiBtZWFzdXJlbWVudCBieSBhcmVhIAoKYGBge3J9CmFub3ZhX21lYXN1cmVtZW50cyA8LSBnbG0odmFsdWUgfgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHggKiB6b25lICogY2xpbmljYWxfdmFyaWFibGVfMiArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRCArIGFnZSArICBtZF92b2xfYWxsICsgbXhfdm9sLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBtZWFzdXJlbWVudHNfZGF0YSkKCmBgYApBbm92YSB0YWJsZQpgYGB7cn0Kc3VtbWFyeShhbm92YV9tZWFzdXJlbWVudHMpCmBgYAoKCkp1c3QgdG8gY2hlY2ssIG9taXQgaW4gZmluYWwgcmVwb3J0CmBgYHtyfQojIHBsb3QoYW5vdmFfbWVhc3VyZW1lbnRzKQpgYGAKCgoKYGBge3J9CnN0YXJnYXplcihhbm92YV9tZWFzdXJlbWVudHMsIHR5cGUgPSAidGV4dCIsIHN1bW1hcnkgPSBGQUxTRSkKYGBgCgoKCkFsdGVybmF0aXZlcyB0byBzaG93CmBgYHtyfQoKcGFjbWFuOjpwX2xvYWQoYmVlc3dhcm0pCmFwYV9iZWVwbG90KAogIGRhdGEgPSBtZWFzdXJlbWVudHNfZGF0YQogICwgaWQgPSAiSUQiCiAgLCBkdiA9ICJ2YWx1ZSIKICAsIGZhY3RvcnMgPSBjKCJkeCIsICJjbGluaWNhbF92YXJpYWJsZV8yIiwgInpvbmUiKQopCgpgYGAKCkRlbGV0ZSB0aGUgYW5vdmEgbW9kZWwKCmBgYHtyfQpybShhbm92YV9tZWFzdXJlbWVudHMpCgpgYGAKCgoKCgojIyBHcmV5IHZhbHVlcyBieSBhcmVhIGFuZCBkeAoKYGBge3J9CmdyZXlfdmFsdWVzIDwtIGRmICU+JQogIHBpdm90X2xvbmdlcihjMV9heGlhbDpjMV9zYWdpdGFsXzIsCiAgICAgICAgICAgICAgICMgY29sdW1ucyB0byBtZXJnZQogICAgICAgICAgICAgICBuYW1lc190byA9ICJjbGluaWNhbF92YXJpYWJsZSIsCiAgICAgICAgICAgICAgICNuYW1lIG9mIHRoZSBuZXcgY29sdW0gd2l0aCB0aGUgbmFtZXMKICAgICAgICAgICAgICAgdmFsdWVzX3RvID0gInZhbHVlIikgJT4lICAjbmFtZSBvZiB0aGUgbmV3IGNvbHVtbiB3aXRoIHZhbHVlcwogIHRpYmJsZTo6cm93aWRfdG9fY29sdW1uKC4sICJJRCIpICU+JSAKIyBzZWxlY3Qgb25seSBzb21lIGNvbHVtbnMKICBzZWxlY3QoY2xpbmljYWxfdmFyaWFibGUsCiAgICAgICAgIHZhbHVlLAogICAgICAgICBkeCwKICAgICAgICAgZHhhX2wyX2w0LCAKICAgICAgICAgSUQsIAogICAgICAgICBhZ2UsIAogICAgICAgICBtZF92b2xfYWxsLCAKICAgICAgICAgbXhfdm9sKSAlPiUKIyBub3JtYWxpemUgbmFtZXMKICBtdXRhdGUoY2xpbmljYWxfdmFyaWFibGUgPSBjYXNlX3doZW4oCiAgICBjbGluaWNhbF92YXJpYWJsZSA9PSAiYzFzYWdpdGFsIiB+ICJjMV9zYWdpdGFsIiwgCiAgICBjbGluaWNhbF92YXJpYWJsZSA9PSAiYzJzYWdpdGFsIiB+ICJjMl9zYWdpdGFsIiwgCiAgICBUUlVFIH4gYXMuY2hhcmFjdGVyKC4kY2xpbmljYWxfdmFyaWFibGUpCiAgKSkgJT4lIAojIGZpbHRlciBvdXQgc2Vjb25kIG1lYXN1cmVtZW50cwogIGZpbHRlcighc3RyX2RldGVjdChjbGluaWNhbF92YXJpYWJsZSwgIjIkIikpICU+JSAgIyBhZ2FpbgojIHNlcGFyYXRlIGNsaW5pY2FsIHZhcmlhYmxlIGluIHR3bwogIHNlcGFyYXRlKGNsaW5pY2FsX3ZhcmlhYmxlLAogICAgICAgICAgIGludG8gPSBjKCJ6b25lIiwgImNsaW5pY2FsX3ZhcmlhYmxlXzIiKSkgJT4lCiAgbXV0YXRlKHpvbmUgPSBmY3RfcmVjb2RlKAogICAgem9uZSwKICAgICJDMSIgPSAiYzEiLAogICAgIkMyIiA9ICJjMiIKICApKSAlPiUKICBtdXRhdGUoCiAgICBkeCA9IGZjdF9yZWNvZGUoCiAgICAgIGR4LAogICAgICAiTm9ybWFsIiA9ICJub3JtYWwiLAogICAgICAiT3N0ZW9wZW5pYSIgPSAib3N0ZW9wZW5pYSIsCiAgICAgICJPc3Rlb3Bvcm9zaXMiID0gIm9zdGVvcG9yb3NpcyIKICAgICkKICApICU+JQogIG11dGF0ZShjbGluaWNhbF92YXJpYWJsZV8yID0gZmN0X3JlY29kZSgKICAgIGNsaW5pY2FsX3ZhcmlhYmxlXzIsCiAgICAiQXhpYWwiID0gImF4aWFsIiwKICAgICJTYWdpdGFsIiA9ICJzYWdpdGFsIgogICkpCgpgYGAKCmBgYHtyfQpncmV5X3ZhbHVlcyAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gZHgsCiAgICAgICAgICAgICB5ID0gdmFsdWUsCiAgICAgICAgICAgICBjb2xvciA9IGR4KSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMDUpICsKICAjIGZhY2V0X2dyaWQoY2xpbmljYWxfdmFyaWFibGVfMiB+IHpvbmUpICsgIyBmYWNldHRpbmcgKHJvd3MgfiBjb2x1bW5zKQogIGxhYnMoCiAgICB0aXRsZSA9ICJSZWxhdGl2ZSBHcmV5IFZhbHVlcyIsCiAgICAjIHN1YnRpdGxlID0gInRoaXMgaXMgdGhlIHN1YnRpdGxlIiwKICAgIHkgPSAiUmVsYXRpdmUgR3JleSBWYWx1ZSIsCiAgICB4ID0gIkJvbmUgc3RhdHVzIiwKICAgIGNvbG9yID0gIkJvbmUgc3RhdHVzIgogICkgKwogIGdncHVicjo6dGhlbWVfcHViY2xlYW4oKSArICMgdGhlIGNvbG9yIHNjaGVtZSwgdHJ5IG90aGVycwogIHRoZW1lKAogICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRpY2tzLnggPSBlbGVtZW50X2JsYW5rKCkKICApCmBgYApgYGB7cn0KZ3JleV92YWx1ZXMgJT4lIAogIGdncGxvdChhZXMoeCA9IGR4LAogICAgICAgICAgICAgeSA9IHZhbHVlLAogICAgICAgICAgICAgY29sb3IgPSBkeCkpICsKICBnZW9tX2JveHBsb3QoKSArCiAgZ2VvbV9qaXR0ZXIoYWxwaGEgPSAwLjA1KSArCiAgZmFjZXRfZ3JpZCguIH4gem9uZSkgKyAjIGZhY2V0dGluZyAocm93cyB+IGNvbHVtbnMpCiAgbGFicygKICAgIHRpdGxlID0gIlJlbGF0aXZlIEdyZXkgVmFsdWVzIiwKICAgICMgc3VidGl0bGUgPSAidGhpcyBpcyB0aGUgc3VidGl0bGUiLAogICAgeSA9ICJSZWxhdGl2ZSBHcmV5IFZhbHVlIiwKICAgIHggPSAiQm9uZSBzdGF0dXMiLAogICAgY29sb3IgPSAiQm9uZSBzdGF0dXMiCiAgKSArCiAgZ2dwdWJyOjp0aGVtZV9wdWJjbGVhbigpICsgIyB0aGUgY29sb3Igc2NoZW1lLCB0cnkgb3RoZXJzCiAgdGhlbWUoCiAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueCA9IGVsZW1lbnRfYmxhbmsoKQogICkKYGBgCmBgYHtyfQpncmV5X3ZhbHVlcyAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gZHgsCiAgICAgICAgICAgICB5ID0gdmFsdWUsCiAgICAgICAgICAgICBjb2xvciA9IGR4KSkgKwogIGdlb21fYm94cGxvdCgpICsKICBnZW9tX2ppdHRlcihhbHBoYSA9IDAuMDUpICsKICBmYWNldF9ncmlkKC4gfiBjbGluaWNhbF92YXJpYWJsZV8yKSArICMgZmFjZXR0aW5nIChyb3dzIH4gY29sdW1ucykKICBsYWJzKAogICAgdGl0bGUgPSAiUmVsYXRpdmUgR3JleSBWYWx1ZXMiLAogICAgIyBzdWJ0aXRsZSA9ICJ0aGlzIGlzIHRoZSBzdWJ0aXRsZSIsCiAgICB5ID0gIlJlbGF0aXZlIEdyZXkgVmFsdWUiLAogICAgeCA9ICJCb25lIHN0YXR1cyIsCiAgICBjb2xvciA9ICJCb25lIHN0YXR1cyIKICApICsKICBnZ3B1YnI6OnRoZW1lX3B1YmNsZWFuKCkgKyAjIHRoZSBjb2xvciBzY2hlbWUsIHRyeSBvdGhlcnMKICB0aGVtZSgKICAgIGF4aXMudGl0bGUueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50aWNrcy54ID0gZWxlbWVudF9ibGFuaygpCiAgKQpgYGAKCgpgYGB7cn0KZ3JleV92YWx1ZXMgJT4lIAogIGdncGxvdChhZXMoeCA9IGR4LAogICAgICAgICAgICAgeSA9IHZhbHVlLAogICAgICAgICAgICAgY29sb3IgPSBkeCkpICsKICBnZW9tX2JveHBsb3QoKSArCiAgZ2VvbV9qaXR0ZXIoYWxwaGEgPSAwLjA1KSArCiAgZmFjZXRfZ3JpZChjbGluaWNhbF92YXJpYWJsZV8yIH4gem9uZSkgKyAjIGZhY2V0dGluZyAocm93cyB+IGNvbHVtbnMpCiAgbGFicygKICAgIHRpdGxlID0gIlJlbGF0aXZlIEdyZXkgVmFsdWVzIiwKICAgICMgc3VidGl0bGUgPSAidGhpcyBpcyB0aGUgc3VidGl0bGUiLAogICAgeSA9ICJSZWxhdGl2ZSBHcmV5IFZhbHVlIiwKICAgIHggPSAiQm9uZSBzdGF0dXMiLAogICAgY29sb3IgPSAiQm9uZSBzdGF0dXMiCiAgKSArCiAgZ2dwdWJyOjp0aGVtZV9wdWJjbGVhbigpICsgIyB0aGUgY29sb3Igc2NoZW1lLCB0cnkgb3RoZXJzCiAgdGhlbWUoCiAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIGF4aXMudGlja3MueCA9IGVsZW1lbnRfYmxhbmsoKQogICkKYGBgCgojIyMgQU5PVkEgR3JleSB2YWx1ZXMgYnkgYXJlYSAKCmBgYHtyfQphbm92YV9tZWFzdXJlbWVudHMgPC0gZ2xtKHZhbHVlIH4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR4ICogem9uZSAqIGNsaW5pY2FsX3ZhcmlhYmxlXzIgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgSUQgKyBhZ2UgKyBtZF92b2xfYWxsICsgbXhfdm9sLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBncmV5X3ZhbHVlcykKCmBgYApBbm92YSB0YWJsZQpgYGB7cn0Kc3VtbWFyeShhbm92YV9tZWFzdXJlbWVudHMpCmBgYAoKCkp1c3QgdG8gY2hlY2ssIG9taXQgaW4gZmluYWwgcmVwb3J0CmBgYHtyfQojIHBsb3QoYW5vdmFfbWVhc3VyZW1lbnRzKQpgYGAKQ2hlY2sgdmFsdWVzIDQ5LCAyNTIgYW5kIDQ2MAoKYGBge3J9CnN0YXJnYXplcihhbm92YV9tZWFzdXJlbWVudHMsIHR5cGUgPSAidGV4dCIsIHN1bW1hcnkgPSBGQUxTRSwgCiAgICAgICAgICB0aXRsZSAgICAgICAgICAgID0gIlJlZ3Jlc3Npb24gYW5hbHlzaXMgLSBHcmV5IFZhbHVlcyIsCiAgICAgICAgICBjb3ZhcmlhdGUubGFiZWxzID0gYygiT3N0ZW9wZW5pYSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9zdGVvcG9yb3NpcyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkMyIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2FnaXRhbCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklEIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3N0ZW9wZW5pYTpDMiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9zdGVvcG9yc2lzOkMyIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3N0ZW9wZW5pYTpTYWdpdGFsIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3N0ZW9wb3Jvc2lzOlNhZ2l0YWwiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPc3Rlb3BlbmlhOlNhZ2l0YWwiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPc3Rlb3Bvcm9zaXM6U2FnaXRhbCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnN0YW50IiksCiAgICAgICAgICBkZXAudmFyLmNhcHRpb24gID0gIkRlcGVuZGVudCB2YXJpYWJsZSIsCiAgICAgICAgICBkZXAudmFyLmxhYmVscyAgID0gIlJlbGF0aXZlIEdyZXkgVmFsdWVzIikKYGBgCgoKCkFsdGVybmF0aXZlcyB0byBzaG93CmBgYHtyfQoKcGFjbWFuOjpwX2xvYWQoYmVlc3dhcm0pCmFwYV9iZWVwbG90KAogIGRhdGEgPSBncmV5X3ZhbHVlcwogICwgaWQgPSAiSUQiCiAgLCBkdiA9ICJ2YWx1ZSIKICAsIGZhY3RvcnMgPSBjKCJkeCIsICJjbGluaWNhbF92YXJpYWJsZV8yIiwgInpvbmUiKQopCgpgYGAKCkRlbGV0ZSB0aGUgYW5vdmEgbW9kZWwKCmBgYHtyfQpybShhbm92YV9tZWFzdXJlbWVudHMpCgpgYGAKCgoKIyMgQ29ycmVsYXRpb24KCgojIyMgTWVhc3VyZW1lbnRzCmBgYHtyfQptZWFzdXJlbWVudHNfZGF0YSAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gZHhhX2wyX2w0LCAKICAgICAgICAgICAgIHkgPSB2YWx1ZSwgCiAgICAgICAgICAgICBjb2xvciA9IGR4KSkgKyAKICBnZW9tX3BvaW50KGFscGhhID0gLjcpICsgCiAgZmFjZXRfZ3JpZChjbGluaWNhbF92YXJpYWJsZV8yIH4gem9uZSkgKyAKICBnZ3B1YnI6OnRoZW1lX3B1YmNsZWFuKCkgKyAKICBsYWJzKAogICAgdGl0bGUgPSAiTWVhc3VyZW1lbnRzIHZzIERYQSIsIAogICAgeSA9ICJNZWFzdXJlbWVudCAobW0pIiwgCiAgICB4ID0gIkRYQSBMMiBMNCIsIAogICAgY29sb3IgPSAiQm9uZSBzdGF0dXMiCiAgKSAKYGBgCgojIyMgR3JleSB2YWx1ZXMKCmBgYHtyfQpncmV5X3ZhbHVlcyAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gZHhhX2wyX2w0LCAKICAgICAgICAgICAgIHkgPSB2YWx1ZSwgCiAgICAgICAgICAgICBjb2xvciA9IGR4KSkgKyAKICBnZW9tX3BvaW50KGFscGhhID0gLjcpICsgCiAgZmFjZXRfZ3JpZChjbGluaWNhbF92YXJpYWJsZV8yIH4gem9uZSkgKyAKICBnZ3B1YnI6OnRoZW1lX3B1YmNsZWFuKCkgKyAKICBsYWJzKAogICAgdGl0bGUgPSAiUmVsYXRpdmUgZ3JleSB2YWx1ZXMgdnMgRFhBIiwgCiAgICB5ID0gIlJlbGF0aXZlIGdyZXkgdmFsdWUiLCAKICAgIHggPSAiRFhBIEwyIEw0IiwgCiAgICBjb2xvciA9ICJCb25lIHN0YXR1cyIKICApIApgYGAKIyBSZWxpYWJpbGl0eSBhbmFseXNpczogYXJlIHRoZSBtZWFzdXJlbWVudHMgcmVsaWFibGU/CgoKClNlZSAKCktvbywgVGVycnksIGFuZCBNYWUgTGkuIDIwMTYuIOKAnEEgR3VpZGVsaW5lIG9mIFNlbGVjdGluZyBhbmQgUmVwb3J0aW5nIEludHJhY2xhc3MgQ29ycmVsYXRpb24gQ29lZmZpY2llbnRzIGZvciBSZWxpYWJpbGl0eSBSZXNlYXJjaC7igJ0gSm91cm5hbCBvZiBDaGlyb3ByYWN0aWMgTWVkaWNpbmUgMTUgKE1hcmNoKS4gZG9pOjEwLjEwMTYvai5qY20uMjAxNi4wMi4wMTIuCgpTaHJvdXQsIFAuRS4sIGFuZCBKLkwuIEZsZWlzcy4gMTk3OS4g4oCcSW50cmFjbGFzcyBDb3JyZWxhdGlvbjogVXNlcyBpbiBBc3Nlc3NpbmcgUmF0ZXIgUmVsaWFiaWxpdHku4oCdIFBzeWNob2xvZ2ljYWwgQnVsbGV0aW4gODY6IDQyMOKAkzI4LgoKYGBge3IsIHdhcm5pbmc9RkFMU0V9CnBhY21hbjo6cF9sb2FkKGlycikgIyBwYWNrYWdlIHRvIGNhbGN1bGF0ZSB0aGUgSUNDCgpgYGAKCmBgYHtyfQphZ3JlZW1lbnQgPC0gZGYgJT4lCiAgc2VsZWN0KAogICAgIngxX3Zpc3MiLAogICAgIngxX3Zpc3MyIiwKICAgICJ4MV90cmFiIiwKICAgICJ4MV90cmFiMiIsCiAgICAieDFfYmF6X3Zpc3MiLAogICAgIngxX2Jhel92aXNzMiIsCiAgICAieDFfYmF6X3RyYWIiLAogICAgIngxX2Jhel90cmFiXzIiLAogICAgImMxX2F4aWFsIiwKICAgICJjMV9heGlhbF8yIiwKICAgICJjMXNhZ2l0YWwiLAogICAgImMxX3NhZ2l0YWxfMiIKICApCmBgYAoKIyMjIEZvciB4MV92aXNzCmBgYHtyfQoKYWdyZWVtZW50ICU+JQogIHNlbGVjdCgieDFfdmlzcyIsCiAgICAgICAgICJ4MV92aXNzMiIpICU+JQogIGZpbHRlcih4MV92aXNzMiA+IDApICU+JQogIGlycjo6aWNjKC4sCiAgICAgICAgICAgbW9kZWwgPSAidHdvd2F5IiwKICAgICAgICAgICB0eXBlID0gImFncmVlbWVudCIsCiAgICAgICAgICAgdW5pdCA9ICJzaW5nbGUiKQpgYGAKIyMjIEZvciB4MV90cmFiCmBgYHtyfQogIAphZ3JlZW1lbnQgJT4lCiAgc2VsZWN0KCAgICAieDFfdHJhYiIsCiAgICAieDFfdHJhYjIiKSAlPiUKICBmaWx0ZXIoeDFfdHJhYjIgPiAwKSAlPiUKICBpcnI6OmljYyguLAogICAgICAgICAgIG1vZGVsID0gInR3b3dheSIsCiAgICAgICAgICAgdHlwZSA9ICJhZ3JlZW1lbnQiLAogICAgICAgICAgIHVuaXQgPSAic2luZ2xlIikKCgpgYGAKIyMjIEZvciB4MV9iYXpfdmlzcwpgYGB7cn0KYWdyZWVtZW50ICU+JQogIHNlbGVjdCgieDFfYmF6X3Zpc3MiLAogICAgIngxX2Jhel92aXNzMiIpICU+JQogIGZpbHRlcih4MV9iYXpfdmlzczIgPiAwKSAlPiUKICBpcnI6OmljYyguLAogICAgICAgICAgIG1vZGVsID0gInR3b3dheSIsCiAgICAgICAgICAgdHlwZSA9ICJhZ3JlZW1lbnQiLAogICAgICAgICAgIHVuaXQgPSAic2luZ2xlIikKCmBgYAojIyMgRm9yIHgxX2Jhel90cmFiCmBgYHtyfQoKYWdyZWVtZW50ICU+JQogIHNlbGVjdCgieDFfYmF6X3RyYWIiLAogICAgIngxX2Jhel90cmFiXzIiKSAlPiUKICBmaWx0ZXIoeDFfYmF6X3RyYWJfMiA+IDApICU+JQogIGlycjo6aWNjKC4sCiAgICAgICAgICAgbW9kZWwgPSAidHdvd2F5IiwKICAgICAgICAgICB0eXBlID0gImFncmVlbWVudCIsCiAgICAgICAgICAgdW5pdCA9ICJzaW5nbGUiKQoKYGBgCgojIyMgRm9yIGMxX2F4aWFsCmBgYHtyfQoKYWdyZWVtZW50ICU+JQogIHNlbGVjdCgiYzFfYXhpYWwiLAogICAgImMxX2F4aWFsXzIiKSAlPiUKICBmaWx0ZXIoYzFfYXhpYWxfMiA+IDApICU+JQogIGlycjo6aWNjKC4sCiAgICAgICAgICAgbW9kZWwgPSAidHdvd2F5IiwKICAgICAgICAgICB0eXBlID0gImFncmVlbWVudCIsCiAgICAgICAgICAgdW5pdCA9ICJzaW5nbGUiKQoKYGBgCgojIyMgRm9yIGMxX3NhZ2l0YWwKYGBge3J9CmFncmVlbWVudCAlPiUKICBzZWxlY3QoImMxc2FnaXRhbCIsCiAgICAiYzFfc2FnaXRhbF8yIikgJT4lCiAgZmlsdGVyKGMxX3NhZ2l0YWxfMiA+IDApICU+JQogIGlycjo6aWNjKC4sCiAgICAgICAgICAgbW9kZWwgPSAidHdvd2F5IiwKICAgICAgICAgICB0eXBlID0gImFncmVlbWVudCIsCiAgICAgICAgICAgdW5pdCA9ICJzaW5nbGUiKQpgYGAKYGBge3J9CnJtKGFncmVlbWVudCkKYGBgCgpFdmVyeSBtZWFzdXJlbWVudCBoYXMgYWxtb3N0IHBlcmZlY3QgcmVsaWFiaWxpdHkKIyMjIEJMYW5kIEFsdG1hbiBwbG90cyBmb3IgZ3JleSB2YWx1ZXMKCmBgYHtyfQpCbGFuZEFsdG1hbkxlaDo6YmxhbmQuYWx0bWFuLnBsb3QoZGYkYzFfYXhpYWwsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGYkYzFfYXhpYWxfMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluPSJDMSBheGlhbCIpCmBgYApgYGB7cn0KQmxhbmRBbHRtYW5MZWg6OmJsYW5kLmFsdG1hbi5wbG90KGRmJGMxc2FnaXRhbCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZiRjMV9zYWdpdGFsXzIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iQzEgU2FnaXRhbCIpCmBgYAoK