cat("\014")     # clean terminal

rm(list = ls()) # clean workspace
try(dev.off(), silent = TRUE) # close all plots
library(afex)
library(emmeans)
library(ggplot2)
library(ggridges)
library(ggdist)
library(dplyr)
library(reshape2)
library(GGally)
library(forcats)
theme_set(
  theme_minimal()
)
a_posteriori <- function(afex_aov, sig_level = .05) {
  factors  <- as.list(rownames(afex_aov$anova_table))
  for (j in 1:length(factors)) {
    if (grepl(":", factors[[j]])) {
      factors[[j]] <- unlist(strsplit(factors[[j]], ":"))
    }
  }
  p_values <- afex_aov$anova_table$`Pr(>F)`
  for (i in 1:length(p_values)) {
    if (p_values[i] <= sig_level) {
      print(emmeans(afex_aov, factors[[i]], contr = "pairwise"))
      cat(rep("_", 100), '\n', sep = "")
    }
  }
}
data_dir       <- paste('..', 'data',  sep = '/')
emo_data_name  <- paste(data_dir, 'emo_data_clean.csv', sep='/')
emo_data_clean <- read.csv(emo_data_name, header = TRUE)
emo_data_clean <- emo_data_clean[(emo_data_clean$Group == 'Elder' | emo_data_clean$Group == 'Parkinson' | emo_data_clean$Group == 'Young'), ]
emo_data_clean$Group    <- factor(emo_data_clean$Group, levels = c("Parkinson", "Elder", "Young"))
emo_data_clean$Task <- factor(emo_data_clean$Task, levels = c("Unpleasant", "Neutral", "Pleasant"))
emo_data_clean$Emotion  <- factor(emo_data_clean$Emotion)
emo_data_clean$ID       <- factor(emo_data_clean$ID)
emo_data_clean$num_ID   <- factor(emo_data_clean$num_ID)
emo_data_clean$log10_area  <- log10(emo_data_clean$area)
emo_data_clean$log10_axis1 <- log10(emo_data_clean$axis1)
emo_data_clean$log10_axis2 <- log10(emo_data_clean$axis2)
emo_data_clean$log10_mdist <- log10(emo_data_clean$mdist)
emo_data_clean$log10_rmv   <- log10(emo_data_clean$rmv)
emo_data_clean$log10_rmsx  <- log10(emo_data_clean$rmsx)
emo_data_clean$log10_rmsy  <- log10(emo_data_clean$rmsy)
emo_data_clean$log10_MPFx  <- log10(emo_data_clean$MPFx)
emo_data_clean$log10_MPFy  <- log10(emo_data_clean$MPFy)
emo_data_clean$log10_PEAKx <- log10(emo_data_clean$PEAKx)
emo_data_clean$log10_PEAKy <- log10(emo_data_clean$PEAKy)
emo_data_clean$log10_F50x  <- log10(emo_data_clean$F50x)
emo_data_clean$log10_F50y  <- log10(emo_data_clean$F50y)
emo_data_clean$log10_F95x  <- log10(emo_data_clean$F95x)
emo_data_clean$log10_F95y  <- log10(emo_data_clean$F95y)
emo_data_clean$log10_sampen_x <- log10(emo_data_clean$sampen_x)
emo_data_clean$log10_sampen_y <- log10(emo_data_clean$sampen_y)
emo_data_clean$log10_rMSSD    <- log10(emo_data_clean$rMSSD)
emo_data_clean$log10_hrv_rmssd_nk2  <- log10(emo_data_clean$hrv_rmssd_nk2)
emo_data_clean$log10_ave_phasic_eda <- log10(emo_data_clean$ave_phasic_eda)
Warning: NaNs produced
emo_data_clean$scr_peaks_number     <- ifelse(is.na(emo_data_clean$log10_ave_phasic_eda), NA, emo_data_clean$scr_peaks_number)
emo_data_clean$scr_mean_amplitude   <- ifelse(is.na(emo_data_clean$log10_ave_phasic_eda), NA, emo_data_clean$scr_mean_amplitude)
emo_data_clean$rrv_rmssd[emo_data_clean$rrv_rmssd > 4500] <- NA
emo_data_clean$log10_scr_peaks_number   <- log10(emo_data_clean$scr_peaks_number)
emo_data_clean$log10_scr_mean_amplitude <- log10(emo_data_clean$scr_mean_amplitude)
emo_data_clean[sapply(emo_data_clean, is.infinite)] <- NA

1 General Description

options(width = 100)
summary(emo_data_clean)
   filename               Group       Paradigm                 Task     Emotion         ID     
 Length:440         Parkinson:144   Length:440         Unpleasant:147   Yes:440   EP_201 :  3  
 Class :character   Elder    :143   Class :character   Neutral   :146             EP_202 :  3  
 Mode  :character   Young    :153   Mode  :character   Pleasant  :147             EP_203 :  3  
                                                                                  EP_204 :  3  
                                                                                  EP_205 :  3  
                                                                                  EP_206 :  3  
                                                                                  (Other):422  
      area             axis1            axis2             angle            mdist       
 Min.   :  17.68   Min.   : 3.974   Min.   : 0.9813   Min.   :-3.092   Min.   : 1.593  
 1st Qu.: 116.37   1st Qu.: 9.763   1st Qu.: 3.7232   1st Qu.: 1.399   1st Qu.: 3.747  
 Median : 200.56   Median :12.190   Median : 5.0301   Median : 1.561   Median : 4.734  
 Mean   : 303.83   Mean   :13.444   Mean   : 6.0463   Mean   : 1.430   Mean   : 5.180  
 3rd Qu.: 311.18   3rd Qu.:15.341   3rd Qu.: 7.2270   3rd Qu.: 1.684   3rd Qu.: 5.875  
 Max.   :4001.39   Max.   :42.231   Max.   :32.9300   Max.   : 3.102   Max.   :17.666  
 NA's   :13        NA's   :13       NA's   :13        NA's   :13       NA's   :13      
      rmv              rmsx              rmsy             MPFx              PEAKx         
 Min.   : 4.412   Min.   : 0.4172   Min.   : 1.597   Min.   :0.000290   Min.   :0.000122  
 1st Qu.: 7.858   1st Qu.: 1.6277   1st Qu.: 3.828   1st Qu.:0.001262   1st Qu.:0.000122  
 Median : 9.728   Median : 2.2620   Median : 4.829   Median :0.001749   Median :0.000122  
 Mean   :11.300   Mean   : 2.8084   Mean   : 5.266   Mean   :0.002077   Mean   :0.000370  
 3rd Qu.:12.940   3rd Qu.: 3.2879   3rd Qu.: 6.139   3rd Qu.:0.002692   3rd Qu.:0.000244  
 Max.   :80.110   Max.   :16.5939   Max.   :16.609   Max.   :0.011074   Max.   :0.006836  
 NA's   :13       NA's   :13        NA's   :13       NA's   :13         NA's   :13        
      F50x               F95x               MPFy              PEAKy               F50y         
 Min.   :0.000244   Min.   :0.000488   Min.   :0.000388   Min.   :0.000122   Min.   :0.000244  
 1st Qu.:0.000366   1st Qu.:0.004639   1st Qu.:0.001188   1st Qu.:0.000122   1st Qu.:0.000488  
 Median :0.000610   Median :0.005981   Median :0.001642   Median :0.000244   Median :0.000977  
 Mean   :0.001172   Mean   :0.006705   Mean   :0.001754   Mean   :0.000440   Mean   :0.001053  
 3rd Qu.:0.001587   3rd Qu.:0.007935   3rd Qu.:0.002136   3rd Qu.:0.000488   3rd Qu.:0.001465  
 Max.   :0.006836   Max.   :0.042358   Max.   :0.007089   Max.   :0.004395   Max.   :0.004028  
 NA's   :13         NA's   :13         NA's   :13         NA's   :13         NA's   :13        
      F95y           forward_mov        sampen_x          sampen_y        sampen_resul_vect
 Min.   :0.001343   Min.   :0.1191   Min.   :0.00232   Min.   :0.002094   Min.   :0.01149  
 1st Qu.:0.003662   1st Qu.:0.4461   1st Qu.:0.12872   1st Qu.:0.060350   1st Qu.:1.69528  
 Median :0.005615   Median :0.5019   Median :0.26343   Median :0.102774   Median :2.03909  
 Mean   :0.005926   Mean   :0.4973   Mean   :0.34954   Mean   :0.127311   Mean   :2.03472  
 3rd Qu.:0.007263   3rd Qu.:0.5491   3rd Qu.:0.45592   3rd Qu.:0.177671   3rd Qu.:2.38488  
 Max.   :0.037598   Max.   :0.8000   Max.   :1.93525   Max.   :0.553328   Max.   :3.72220  
 NA's   :13         NA's   :13       NA's   :13        NA's   :13         NA's   :42       
 sampen_phi_rad   sampen_delta_phi   heart_rate         rMSSD         ave_phasic_eda    
 Min.   :0.4158   Min.   :0.8149   Min.   : 48.39   Min.   :  2.789   Min.   :-0.00311  
 1st Qu.:0.9114   1st Qu.:1.4672   1st Qu.: 69.78   1st Qu.:  9.204   1st Qu.: 0.04333  
 Median :1.0219   Median :1.6088   Median : 77.46   Median : 18.706   Median : 0.17157  
 Mean   :1.0231   Mean   :1.5954   Mean   : 77.93   Mean   : 26.912   Mean   : 0.47591  
 3rd Qu.:1.1258   3rd Qu.:1.7275   3rd Qu.: 85.85   3rd Qu.: 30.071   3rd Qu.: 0.55579  
 Max.   :1.5488   Max.   :2.1536   Max.   :117.80   Max.   :834.339   Max.   : 6.13301  
 NA's   :13       NA's   :13       NA's   :29       NA's   :29        NA's   :35        
 ave_tonic_eda    recurrence_rate_x  determinism_x    ave_diag_len_x    longest_diag_x  
 Min.   :-0.335   Min.   :0.006863   Min.   :0.9845   Min.   :  6.371   Min.   :  86.0  
 1st Qu.: 6.029   1st Qu.:0.059306   1st Qu.:0.9992   1st Qu.: 21.461   1st Qu.: 272.5  
 Median : 9.823   Median :0.080541   Median :0.9996   Median : 31.261   Median : 366.0  
 Mean   :13.172   Mean   :0.086796   Mean   :0.9991   Mean   : 36.792   Mean   : 471.3  
 3rd Qu.:16.972   3rd Qu.:0.105593   3rd Qu.:0.9998   3rd Qu.: 43.262   3rd Qu.: 506.5  
 Max.   :59.139   Max.   :0.774053   Max.   :1.0000   Max.   :647.996   Max.   :7464.0  
 NA's   :35       NA's   :13         NA's   :13       NA's   :13        NA's   :13      
 diag_entropy_x   laminarity_x    trapping_time_x   longest_vertical_x  rec_time1_x     
 Min.   :2.544   Min.   :0.9743   Min.   :  3.571   Min.   :  27.0     Min.   :  1.309  
 1st Qu.:3.921   1st Qu.:0.9995   1st Qu.: 25.399   1st Qu.: 268.5     1st Qu.:  9.595  
 Median :4.316   Median :0.9998   Median : 37.805   Median : 384.0     Median : 12.555  
 Mean   :4.265   Mean   :0.9994   Mean   : 44.841   Mean   : 469.3     Mean   : 17.574  
 3rd Qu.:4.674   3rd Qu.:0.9999   3rd Qu.: 52.932   3rd Qu.: 562.0     3rd Qu.: 17.083  
 Max.   :7.066   Max.   :1.0000   Max.   :824.210   Max.   :3738.0     Max.   :149.007  
 NA's   :13      NA's   :13       NA's   :13        NA's   :13         NA's   :13       
  rec_time2_x     rec_per_dens_entr_x  clustering_x    transitivity_x      delay_x     
 Min.   : 202.2   Min.   :0.5353      Min.   :0.2742   Min.   :0.3536   Min.   : 5.00  
 1st Qu.: 421.5   1st Qu.:0.6928      1st Qu.:0.5139   1st Qu.:0.5481   1st Qu.:22.00  
 Median : 488.9   Median :0.7201      Median :0.5470   Median :0.5892   Median :24.00  
 Mean   : 513.0   Mean   :0.7176      Mean   :0.5462   Mean   :0.5877   Mean   :23.76  
 3rd Qu.: 566.0   3rd Qu.:0.7468      3rd Qu.:0.5834   3rd Qu.:0.6291   3rd Qu.:26.00  
 Max.   :1391.6   Max.   :0.8138      Max.   :0.9388   Max.   :0.9503   Max.   :36.00  
 NA's   :13       NA's   :13          NA's   :13       NA's   :13       NA's   :13     
     dim_x       recurrence_rate_y determinism_y    ave_diag_len_y    longest_diag_y  
 Min.   :2.000   Min.   :0.01388   Min.   :0.9924   Min.   :  8.478   Min.   :  88.0  
 1st Qu.:3.000   1st Qu.:0.06327   1st Qu.:0.9996   1st Qu.: 27.314   1st Qu.: 277.0  
 Median :3.000   Median :0.08000   Median :0.9998   Median : 36.409   Median : 356.0  
 Mean   :3.096   Mean   :0.08244   Mean   :0.9996   Mean   : 39.348   Mean   : 406.1  
 3rd Qu.:3.000   3rd Qu.:0.09771   3rd Qu.:0.9999   3rd Qu.: 49.286   3rd Qu.: 465.5  
 Max.   :4.000   Max.   :0.34314   Max.   :1.0000   Max.   :160.089   Max.   :2576.0  
 NA's   :13      NA's   :13        NA's   :13       NA's   :13        NA's   :13      
 diag_entropy_y   laminarity_y    trapping_time_y  longest_vertical_y  rec_time1_y    
 Min.   :2.764   Min.   :0.9940   Min.   :  7.05   Min.   : 114.0     Min.   : 2.963  
 1st Qu.:4.186   1st Qu.:0.9998   1st Qu.: 31.12   1st Qu.: 277.5     1st Qu.:10.358  
 Median :4.512   Median :0.9999   Median : 40.98   Median : 362.0     Median :12.634  
 Mean   :4.489   Mean   :0.9998   Mean   : 45.35   Mean   : 400.1     Mean   :14.121  
 3rd Qu.:4.826   3rd Qu.:0.9999   3rd Qu.: 55.15   3rd Qu.: 478.0     3rd Qu.:15.993  
 Max.   :6.013   Max.   :1.0000   Max.   :186.71   Max.   :1802.0     Max.   :73.026  
 NA's   :13      NA's   :13       NA's   :13       NA's   :13         NA's   :13      
  rec_time2_y     rec_per_dens_entr_y  clustering_y    transitivity_y      delay_y    
 Min.   : 238.9   Min.   :0.6259      Min.   :0.3494   Min.   :0.3999   Min.   : 7.0  
 1st Qu.: 480.2   1st Qu.:0.7390      1st Qu.:0.5259   1st Qu.:0.5617   1st Qu.:21.0  
 Median : 537.4   Median :0.7602      Median :0.5498   Median :0.5908   Median :22.0  
 Mean   : 544.6   Mean   :0.7566      Mean   :0.5518   Mean   :0.5914   Mean   :22.2  
 3rd Qu.: 609.3   3rd Qu.:0.7792      3rd Qu.:0.5777   3rd Qu.:0.6219   3rd Qu.:24.0  
 Max.   :1047.6   Max.   :0.8367      Max.   :0.7132   Max.   :0.7432   Max.   :34.0  
 NA's   :13       NA's   :13          NA's   :13       NA's   :13       NA's   :13    
     dim_y         delay_x2         dim_x2        tol_x2           delay_y2         dim_y2     
 Min.   :2.00   Min.   : 6.00   Min.   :6     Min.   :  1.422   Min.   :10.00   Min.   :5.000  
 1st Qu.:3.00   1st Qu.:10.50   1st Qu.:6     1st Qu.:  1.571   1st Qu.:12.50   1st Qu.:5.500  
 Median :3.00   Median :15.00   Median :6     Median :  1.720   Median :15.00   Median :6.000  
 Mean   :3.04   Mean   :12.33   Mean   :6     Mean   :126.246   Mean   :13.67   Mean   :5.667  
 3rd Qu.:3.00   3rd Qu.:15.50   3rd Qu.:6     3rd Qu.:188.658   3rd Qu.:15.50   3rd Qu.:6.000  
 Max.   :4.00   Max.   :16.00   Max.   :6     Max.   :375.596   Max.   :16.00   Max.   :6.000  
 NA's   :13     NA's   :437     NA's   :437   NA's   :437       NA's   :437     NA's   :437    
     tol_y2           rsp_rate        rrv_rmssd        rsa_porges      scr_peaks_number
 Min.   :  1.689   Min.   : 4.309   Min.   : 117.9   Min.   :-11.321   Min.   : 1.000  
 1st Qu.:  1.874   1st Qu.:11.761   1st Qu.:1286.3   1st Qu.: -8.249   1st Qu.: 5.000  
 Median :  2.059   Median :14.138   Median :1827.1   Median : -7.000   Median : 8.000  
 Mean   : 58.299   Mean   :13.881   Mean   :1920.7   Mean   : -7.028   Mean   : 9.129  
 3rd Qu.: 86.603   3rd Qu.:16.117   3rd Qu.:2536.5   3rd Qu.: -5.788   3rd Qu.:10.000  
 Max.   :171.147   Max.   :23.878   Max.   :4469.5   Max.   : -2.056   Max.   :81.000  
 NA's   :437                        NA's   :14                         NA's   :38      
 scr_mean_amplitude heart_rate_nk2   hrv_rmssd_nk2         num_ID      log10_area   
 Min.   :0.00000    Min.   : 48.35   Min.   :  2.742   201    :  6   Min.   :1.247  
 1st Qu.:0.00001    1st Qu.: 69.65   1st Qu.:  9.352   202    :  6   1st Qu.:2.066  
 Median :0.00004    Median : 77.30   Median : 19.168   203    :  6   Median :2.302  
 Mean   :0.00011    Mean   : 77.80   Mean   : 28.247   204    :  6   Mean   :2.309  
 3rd Qu.:0.00014    3rd Qu.: 85.28   3rd Qu.: 30.425   205    :  6   3rd Qu.:2.493  
 Max.   :0.00150    Max.   :117.54   Max.   :660.322   206    :  6   Max.   :3.602  
 NA's   :38                                            (Other):404   NA's   :13     
  log10_axis1      log10_axis2         log10_mdist       log10_rmv        log10_rmsx     
 Min.   :0.5992   Min.   :-0.008213   Min.   :0.2023   Min.   :0.6446   Min.   :-0.3797  
 1st Qu.:0.9896   1st Qu.: 0.570910   1st Qu.:0.5737   1st Qu.:0.8953   1st Qu.: 0.2116  
 Median :1.0860   Median : 0.701573   Median :0.6752   Median :0.9880   Median : 0.3545  
 Mean   :1.0953   Mean   : 0.716761   Mean   :0.6810   Mean   :1.0126   Mean   : 0.3719  
 3rd Qu.:1.1859   3rd Qu.: 0.858955   3rd Qu.:0.7690   3rd Qu.:1.1119   3rd Qu.: 0.5169  
 Max.   :1.6256   Max.   : 1.517592   Max.   :1.2471   Max.   :1.9037   Max.   : 1.2199  
 NA's   :13       NA's   :13          NA's   :13       NA's   :13       NA's   :13       
   log10_rmsy       log10_MPFx       log10_MPFy      log10_PEAKx      log10_PEAKy    
 Min.   :0.2033   Min.   :-3.537   Min.   :-3.411   Min.   :-3.913   Min.   :-3.913  
 1st Qu.:0.5829   1st Qu.:-2.899   1st Qu.:-2.925   1st Qu.:-3.913   1st Qu.:-3.913  
 Median :0.6838   Median :-2.757   Median :-2.785   Median :-3.913   Median :-3.612  
 Mean   :0.6905   Mean   :-2.747   Mean   :-2.800   Mean   :-3.715   Mean   :-3.574  
 3rd Qu.:0.7881   3rd Qu.:-2.570   3rd Qu.:-2.670   3rd Qu.:-3.612   3rd Qu.:-3.311  
 Max.   :1.2203   Max.   :-1.956   Max.   :-2.149   Max.   :-2.165   Max.   :-2.357  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13       NA's   :13      
   log10_F50x       log10_F50y       log10_F95x       log10_F95y     log10_sampen_x   
 Min.   :-3.612   Min.   :-3.612   Min.   :-3.311   Min.   :-2.872   Min.   :-2.6345  
 1st Qu.:-3.436   1st Qu.:-3.311   1st Qu.:-2.334   1st Qu.:-2.436   1st Qu.:-0.8904  
 Median :-3.214   Median :-3.010   Median :-2.223   Median :-2.251   Median :-0.5793  
 Mean   :-3.123   Mean   :-3.062   Mean   :-2.223   Mean   :-2.277   Mean   :-0.6485  
 3rd Qu.:-2.799   3rd Qu.:-2.834   3rd Qu.:-2.100   3rd Qu.:-2.139   3rd Qu.:-0.3411  
 Max.   :-2.165   Max.   :-2.395   Max.   :-1.373   Max.   :-1.425   Max.   : 0.2867  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13       NA's   :13       
 log10_sampen_y     log10_rMSSD     log10_hrv_rmssd_nk2 log10_ave_phasic_eda log10_scr_peaks_number
 Min.   :-2.6791   Min.   :0.4455   Min.   :0.4381      Min.   :-3.4462      Min.   :0.0000        
 1st Qu.:-1.2193   1st Qu.:0.9640   1st Qu.:0.9709      1st Qu.:-1.3529      1st Qu.:0.6990        
 Median :-0.9881   Median :1.2720   Median :1.2826      Median :-0.7592      Median :0.9031        
 Mean   :-1.0219   Mean   :1.2464   Mean   :1.2597      Mean   :-0.8540      Mean   :0.8786        
 3rd Qu.:-0.7504   3rd Qu.:1.4781   3rd Qu.:1.4832      3rd Qu.:-0.2366      3rd Qu.:1.0000        
 Max.   :-0.2570   Max.   :2.9213   Max.   :2.8198      Max.   : 0.7877      Max.   :1.9085        
 NA's   :13        NA's   :29                           NA's   :38           NA's   :38            
 log10_scr_mean_amplitude
 Min.   :-7.212          
 1st Qu.:-4.987          
 Median :-4.358          
 Mean   :-4.493          
 3rd Qu.:-3.842          
 Max.   :-2.824          
 NA's   :39              

1.1 Time-distance parameters

options(width = 100)
time_distance <- c('log10_area', 'log10_axis1', 'log10_axis2', 'log10_mdist', 'log10_rmv', 'log10_rmsx', 'log10_rmsy')
time_distance_pairs <- ggpairs(emo_data_clean,
                       columns = time_distance,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(time_distance_pairs))

summary(emo_data_clean[time_distance])
   log10_area     log10_axis1      log10_axis2         log10_mdist       log10_rmv     
 Min.   :1.247   Min.   :0.5992   Min.   :-0.008213   Min.   :0.2023   Min.   :0.6446  
 1st Qu.:2.066   1st Qu.:0.9896   1st Qu.: 0.570910   1st Qu.:0.5737   1st Qu.:0.8953  
 Median :2.302   Median :1.0860   Median : 0.701573   Median :0.6752   Median :0.9880  
 Mean   :2.309   Mean   :1.0953   Mean   : 0.716761   Mean   :0.6810   Mean   :1.0126  
 3rd Qu.:2.493   3rd Qu.:1.1859   3rd Qu.: 0.858955   3rd Qu.:0.7690   3rd Qu.:1.1119  
 Max.   :3.602   Max.   :1.6256   Max.   : 1.517592   Max.   :1.2471   Max.   :1.9037  
 NA's   :13      NA's   :13       NA's   :13          NA's   :13       NA's   :13      
   log10_rmsx        log10_rmsy    
 Min.   :-0.3797   Min.   :0.2033  
 1st Qu.: 0.2116   1st Qu.:0.5829  
 Median : 0.3545   Median :0.6838  
 Mean   : 0.3719   Mean   :0.6905  
 3rd Qu.: 0.5169   3rd Qu.:0.7881  
 Max.   : 1.2199   Max.   :1.2203  
 NA's   :13        NA's   :13      

1.2 Frequency parameters

options(width = 100)
frequency <- c('log10_MPFx', 'log10_MPFy', 'log10_PEAKx', 'log10_PEAKy', 'log10_F50x', 'log10_F50y', 'log10_F95x', 'log10_F95y')
frequency_pairs <- ggpairs(emo_data_clean,
                       columns = frequency,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(frequency_pairs))

summary(emo_data_clean[frequency])
   log10_MPFx       log10_MPFy      log10_PEAKx      log10_PEAKy       log10_F50x    
 Min.   :-3.537   Min.   :-3.411   Min.   :-3.913   Min.   :-3.913   Min.   :-3.612  
 1st Qu.:-2.899   1st Qu.:-2.925   1st Qu.:-3.913   1st Qu.:-3.913   1st Qu.:-3.436  
 Median :-2.757   Median :-2.785   Median :-3.913   Median :-3.612   Median :-3.214  
 Mean   :-2.747   Mean   :-2.800   Mean   :-3.715   Mean   :-3.574   Mean   :-3.123  
 3rd Qu.:-2.570   3rd Qu.:-2.670   3rd Qu.:-3.612   3rd Qu.:-3.311   3rd Qu.:-2.799  
 Max.   :-1.956   Max.   :-2.149   Max.   :-2.165   Max.   :-2.357   Max.   :-2.165  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13       NA's   :13      
   log10_F50y       log10_F95x       log10_F95y    
 Min.   :-3.612   Min.   :-3.311   Min.   :-2.872  
 1st Qu.:-3.311   1st Qu.:-2.334   1st Qu.:-2.436  
 Median :-3.010   Median :-2.223   Median :-2.251  
 Mean   :-3.062   Mean   :-2.223   Mean   :-2.277  
 3rd Qu.:-2.834   3rd Qu.:-2.100   3rd Qu.:-2.139  
 Max.   :-2.395   Max.   :-1.373   Max.   :-1.425  
 NA's   :13       NA's   :13       NA's   :13      

1.3 Entropy

options(width = 100)
entropy <- c('forward_mov', 'log10_sampen_x', 'log10_sampen_y', 'sampen_resul_vect', 'sampen_phi_rad', 'sampen_delta_phi')
entropy_pairs <- ggpairs(emo_data_clean,
                       columns = entropy,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(entropy_pairs))

summary(emo_data_clean[entropy])
  forward_mov     log10_sampen_x    log10_sampen_y    sampen_resul_vect sampen_phi_rad  
 Min.   :0.1191   Min.   :-2.6345   Min.   :-2.6791   Min.   :0.01149   Min.   :0.4158  
 1st Qu.:0.4461   1st Qu.:-0.8904   1st Qu.:-1.2193   1st Qu.:1.69528   1st Qu.:0.9114  
 Median :0.5019   Median :-0.5793   Median :-0.9881   Median :2.03909   Median :1.0219  
 Mean   :0.4973   Mean   :-0.6485   Mean   :-1.0219   Mean   :2.03472   Mean   :1.0231  
 3rd Qu.:0.5491   3rd Qu.:-0.3411   3rd Qu.:-0.7504   3rd Qu.:2.38488   3rd Qu.:1.1258  
 Max.   :0.8000   Max.   : 0.2867   Max.   :-0.2570   Max.   :3.72220   Max.   :1.5488  
 NA's   :13       NA's   :13        NA's   :13        NA's   :42        NA's   :13      
 sampen_delta_phi
 Min.   :0.8149  
 1st Qu.:1.4672  
 Median :1.6088  
 Mean   :1.5954  
 3rd Qu.:1.7275  
 Max.   :2.1536  
 NA's   :13      

2 Classic Center of Pressure

60 seconds

2.1 Area (log10)

options(width = 100)
area_rep_anova <- aov_ez("ID", "log10_area", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- area_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
area_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_area, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(area_rain))

# area_group_rain <- ggplot(rep_anova_data, aes(y = fct_rev(Group), x = log10_area, color = Group, fill = Group)) +
#   ggtitle("Area") +
#   ylab("Group") +
#   stat_halfeye(
#     trim   = FALSE,
#     adjust = .75,
#     .width = 0,
#     justification = -.15,
#     alpha  = .4,
#     point_colour = NA) +
#   geom_boxplot(width = .15, alpha = .2, outlier.shape = NA) +
#   geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05)) +
#   theme(legend.position='none')
# suppressWarnings(print(area_group_rain))
# area_task_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_area, color = Task, fill = Task)) +
#   ggtitle("Area") +
#   ylab("Task") +
#   stat_halfeye(
#     trim   = FALSE,
#     adjust = .75,
#     .width = 0,
#     justification = -.15,
#     alpha  = .4,
#     point_colour = NA) +
#   geom_boxplot(width = .15, alpha = .2, outlier.shape = NA) +
#   geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05)) +
#   theme(legend.position='none')
# suppressWarnings(print(area_task_rain))
area_afex_plot <-
  afex_plot(
    area_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(area_afex_plot))

nice(area_rep_anova)
Anova Table (Type 3 tests)

Response: log10_area
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.22 25.41 *** .220   <.001
2       Task 1.98, 269.49 0.04 14.09 *** .025   <.001
3 Group:Task 3.96, 269.49 0.04    2.45 * .009    .047
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(area_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   2.53 0.0394 136     2.45     2.61
 Elder       2.25 0.0398 136     2.18     2.33
 Young       2.14 0.0412 136     2.06     2.22

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder    0.277 0.0560 136   4.937  <.0001
 Parkinson - Young    0.393 0.0570 136   6.895  <.0001
 Elder - Young        0.116 0.0573 136   2.030  0.1089

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant   2.33 0.0274 136     2.27     2.38
 Neutral      2.24 0.0250 136     2.19     2.29
 Pleasant     2.36 0.0275 136     2.30     2.41

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral    0.0884 0.0239 136   3.706  0.0009
 Unpleasant - Pleasant  -0.0276 0.0226 136  -1.221  0.4427
 Neutral - Pleasant     -0.1161 0.0220 136  -5.279  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Group     Task       emmean     SE  df lower.CL upper.CL
 Parkinson Unpleasant   2.58 0.0466 136     2.48     2.67
 Elder     Unpleasant   2.29 0.0471 136     2.20     2.39
 Young     Unpleasant   2.12 0.0487 136     2.02     2.21
 Parkinson Neutral      2.42 0.0425 136     2.33     2.50
 Elder     Neutral      2.20 0.0430 136     2.12     2.29
 Young     Neutral      2.10 0.0444 136     2.01     2.18
 Parkinson Pleasant     2.60 0.0468 136     2.51     2.69
 Elder     Pleasant     2.27 0.0473 136     2.17     2.36
 Young     Pleasant     2.20 0.0488 136     2.11     2.30

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate     SE  df t.ratio p.value
 Parkinson Unpleasant - Elder Unpleasant    0.28402 0.0663 136   4.285  0.0011
 Parkinson Unpleasant - Young Unpleasant    0.46000 0.0674 136   6.824  <.0001
 Parkinson Unpleasant - Parkinson Neutral   0.15809 0.0406 136   3.896  0.0047
 Parkinson Unpleasant - Elder Neutral       0.37182 0.0634 136   5.865  <.0001
 Parkinson Unpleasant - Young Neutral       0.47941 0.0644 136   7.447  <.0001
 Parkinson Unpleasant - Parkinson Pleasant -0.02274 0.0385 136  -0.591  0.9996
 Parkinson Unpleasant - Elder Pleasant      0.30927 0.0664 136   4.659  0.0003
 Parkinson Unpleasant - Young Pleasant      0.37454 0.0675 136   5.547  <.0001
 Elder Unpleasant - Young Unpleasant        0.17597 0.0678 136   2.597  0.1976
 Elder Unpleasant - Parkinson Neutral      -0.12594 0.0635 136  -1.985  0.5567
 Elder Unpleasant - Elder Neutral           0.08779 0.0410 136   2.141  0.4503
 Elder Unpleasant - Young Neutral           0.19539 0.0647 136   3.018  0.0721
 Elder Unpleasant - Parkinson Pleasant     -0.30677 0.0664 136  -4.621  0.0003
 Elder Unpleasant - Elder Pleasant          0.02525 0.0389 136   0.649  0.9993
 Elder Unpleasant - Young Pleasant          0.09052 0.0679 136   1.334  0.9194
 Young Unpleasant - Parkinson Neutral      -0.30191 0.0646 136  -4.671  0.0002
 Young Unpleasant - Elder Neutral          -0.08818 0.0649 136  -1.358  0.9113
 Young Unpleasant - Young Neutral           0.01941 0.0424 136   0.458  0.9999
 Young Unpleasant - Parkinson Pleasant     -0.48274 0.0675 136  -7.150  <.0001
 Young Unpleasant - Elder Pleasant         -0.15072 0.0679 136  -2.221  0.3982
 Young Unpleasant - Young Pleasant         -0.08545 0.0402 136  -2.125  0.4609
 Parkinson Neutral - Elder Neutral          0.21373 0.0604 136   3.537  0.0157
 Parkinson Neutral - Young Neutral          0.32132 0.0615 136   5.228  <.0001
 Parkinson Neutral - Parkinson Pleasant    -0.18083 0.0374 136  -4.836  0.0001
 Parkinson Neutral - Elder Pleasant         0.15118 0.0636 136   2.378  0.3044
 Parkinson Neutral - Young Pleasant         0.21646 0.0648 136   3.343  0.0288
 Elder Neutral - Young Neutral              0.10759 0.0618 136   1.742  0.7197
 Elder Neutral - Parkinson Pleasant        -0.39456 0.0635 136  -6.213  <.0001
 Elder Neutral - Elder Pleasant            -0.06255 0.0378 136  -1.655  0.7723
 Elder Neutral - Young Pleasant             0.00273 0.0651 136   0.042  1.0000
 Young Neutral - Parkinson Pleasant        -0.50216 0.0645 136  -7.787  <.0001
 Young Neutral - Elder Pleasant            -0.17014 0.0648 136  -2.624  0.1867
 Young Neutral - Young Pleasant            -0.10487 0.0391 136  -2.685  0.1631
 Parkinson Pleasant - Elder Pleasant        0.33202 0.0665 136   4.993  0.0001
 Parkinson Pleasant - Young Pleasant        0.39729 0.0676 136   5.874  <.0001
 Elder Pleasant - Young Pleasant            0.06527 0.0680 136   0.960  0.9887

P value adjustment: tukey method for comparing a family of 9 estimates 

____________________________________________________________________________________________________

2.2 Ellipse Major Axis (log10)

options(width = 100)
log10_axis1_rep_anova <- aov_ez("ID", "log10_axis1", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- log10_axis1_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
log10_axis1_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_axis1, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_axis1_rain))

log10_axis1_afex_plot <-
  afex_plot(
    log10_axis1_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_axis1_afex_plot))

nice(log10_axis1_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis1
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.05 20.88 *** .189   <.001
2       Task 1.97, 267.89 0.01 22.72 *** .039   <.001
3 Group:Task 3.94, 267.89 0.01      1.43 .005    .225
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_axis1_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   1.19 0.0186 136    1.156     1.23
 Elder       1.06 0.0188 136    1.027     1.10
 Young       1.03 0.0194 136    0.991     1.07

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1282 0.0264 136   4.858  <.0001
 Parkinson - Young   0.1634 0.0268 136   6.086  <.0001
 Elder - Young       0.0352 0.0270 136   1.303  0.3961

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant   1.10 0.0120 136     1.08     1.12
 Neutral      1.06 0.0123 136     1.03     1.08
 Pleasant     1.13 0.0132 136     1.10     1.16

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral    0.0419 0.0100 136   4.188  0.0001
 Unpleasant - Pleasant  -0.0297 0.0109 136  -2.730  0.0195
 Neutral - Pleasant     -0.0717 0.0111 136  -6.448  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.3 Ellipse Minor Axis (log10)

options(width = 100)
log10_axis2_rep_anova <- aov_ez("ID", "log10_axis2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- log10_axis2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
log10_axis2_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_axis2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_axis2_rain))

log10_axis2_afex_plot <-
  afex_plot(
    log10_axis2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_axis2_afex_plot))

nice(log10_axis2_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis2
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.09 20.21 *** .174   <.001
2       Task 1.95, 265.09 0.02   5.00 ** .011    .008
3 Group:Task 3.90, 265.09 0.02    2.37 + .010    .055
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_axis2_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson  0.842 0.0254 136    0.792    0.892
 Elder      0.694 0.0257 136    0.643    0.744
 Young      0.612 0.0266 136    0.560    0.665

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1484 0.0362 136   4.103  0.0002
 Parkinson - Young   0.2295 0.0368 136   6.240  <.0001
 Elder - Young       0.0811 0.0370 136   2.195  0.0757

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  0.732 0.0186 136    0.695    0.769
 Neutral     0.686 0.0166 136    0.653    0.718
 Pleasant    0.730 0.0180 136    0.694    0.766

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral   0.04650 0.0178 136   2.606  0.0273
 Unpleasant - Pleasant  0.00207 0.0163 136   0.127  0.9912
 Neutral - Pleasant    -0.04443 0.0156 136  -2.851  0.0139

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.4 Mean Distance (log10)

options(width = 100)
mdist_rep_anova <- aov_ez("ID", "log10_mdist", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- mdist_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
mdist_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_mdist, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(mdist_rain))

mdist_afex_plot <-
  afex_plot(
    mdist_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(mdist_afex_plot))

nice(mdist_rep_anova)
Anova Table (Type 3 tests)

Response: log10_mdist
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.05 24.40 *** .217   <.001
2       Task 1.98, 268.63 0.01 18.33 *** .030   <.001
3 Group:Task 3.95, 268.63 0.01      1.80 .006    .130
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(mdist_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson  0.785 0.0185 136    0.748    0.821
 Elder      0.650 0.0187 136    0.613    0.687
 Young      0.607 0.0193 136    0.569    0.645

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1342 0.0263 136   5.113  <.0001
 Parkinson - Young   0.1775 0.0267 136   6.646  <.0001
 Elder - Young       0.0432 0.0268 136   1.611  0.2444

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  0.684 0.0120 136    0.660    0.707
 Neutral     0.648 0.0121 136    0.624    0.672
 Pleasant    0.710 0.0130 136    0.684    0.736

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate      SE  df t.ratio p.value
 Unpleasant - Neutral    0.0355 0.00979 136   3.623  0.0012
 Unpleasant - Pleasant  -0.0263 0.01016 136  -2.594  0.0282
 Neutral - Pleasant     -0.0618 0.01077 136  -5.740  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.5 Root Mean Velocity (log10)

options(width = 100)
rmv_rep_anova  <- aov_ez("ID", "log10_rmv", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmv_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
rmv_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmv, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmv_rain))

rmv_afex_plot <-
  afex_plot(
    rmv_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmv_afex_plot))

nice(rmv_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmv
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.05 30.06 *** .281   <.001
2       Task 1.99, 270.50 0.00 99.90 *** .079   <.001
3 Group:Task 3.98, 270.50 0.00      0.98 .002    .421
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmv_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson  1.126 0.0194 136    1.088    1.165
 Elder      0.996 0.0196 136    0.958    1.035
 Young      0.911 0.0203 136    0.871    0.951

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1297 0.0276 136   4.701  <.0001
 Parkinson - Young   0.2153 0.0281 136   7.675  <.0001
 Elder - Young       0.0856 0.0282 136   3.037  0.0080

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  1.028 0.0130 136    1.002    1.054
 Neutral     0.954 0.0110 136    0.932    0.976
 Pleasant    1.052 0.0124 136    1.027    1.076

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate      SE  df t.ratio p.value
 Unpleasant - Neutral    0.0741 0.00747 136   9.919  <.0001
 Unpleasant - Pleasant  -0.0235 0.00706 136  -3.327  0.0032
 Neutral - Pleasant     -0.0976 0.00708 136 -13.779  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.6 Root Mean Square X (log10)

options(width = 100)
rmsx_rep_anova <- aov_ez("ID", "log10_rmsx", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmsx_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
rmsx_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmsx, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmsx_rain))

rmsx_afex_plot <-
  afex_plot(
    rmsx_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmsx_afex_plot))

nice(rmsx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsx
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.10 19.63 *** .165   <.001
2       Task 1.92, 260.83 0.03    2.42 + .006    .093
3 Group:Task 3.84, 260.83 0.03    2.26 + .010    .066
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmsx_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson  0.502 0.0270 136    0.449    0.556
 Elder      0.350 0.0273 136    0.296    0.404
 Young      0.261 0.0282 136    0.206    0.317

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1523 0.0384 136   3.968  0.0003
 Parkinson - Young   0.2407 0.0390 136   6.166  <.0001
 Elder - Young       0.0884 0.0392 136   2.254  0.0660

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.7 Root Mean Square Y (log10)

options(width = 100)
rmsy_rep_anova <- aov_ez("ID", "log10_rmsy", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmsy_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
rmsy_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmsy, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmsy_rain))

rmsy_afex_plot <-
  afex_plot(
    rmsy_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmsy_afex_plot))

nice(rmsy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsy
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.05 20.80 *** .187   <.001
2       Task 1.91, 259.73 0.01 27.69 *** .048   <.001
3 Group:Task 3.82, 259.73 0.01      1.13 .004    .342
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmsy_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson  0.785 0.0180 136    0.749    0.820
 Elder      0.658 0.0181 136    0.622    0.694
 Young      0.628 0.0188 136    0.591    0.666

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.1265 0.0255 136   4.956  <.0001
 Parkinson - Young   0.1562 0.0260 136   6.017  <.0001
 Elder - Young       0.0297 0.0261 136   1.139  0.4920

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  0.695 0.0113 136    0.672    0.717
 Neutral     0.649 0.0123 136    0.625    0.674
 Pleasant    0.727 0.0129 136    0.702    0.753

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate      SE  df t.ratio p.value
 Unpleasant - Neutral    0.0452 0.00952 136   4.749  <.0001
 Unpleasant - Pleasant  -0.0325 0.01037 136  -3.134  0.0060
 Neutral - Pleasant     -0.0777 0.01148 136  -6.768  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.8 Mean Power Frequency X (log10)

options(width = 100)
MPFx_rep_anova <- aov_ez("ID", "log10_MPFx", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- MPFx_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
MPFx_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_MPFx, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(MPFx_rain))

MPFx_afex_plot <-
  afex_plot(
    MPFx_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(MPFx_afex_plot))

nice(MPFx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFx
      Effect           df  MSE      F  ges p.value
1      Group       2, 136 0.10   1.42 .013    .246
2       Task 1.98, 269.09 0.03 3.78 * .010    .025
3 Group:Task 3.96, 269.09 0.03   1.82 .010    .125
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFx_rep_anova)
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  -2.73 0.0187 136    -2.77    -2.70
 Neutral     -2.78 0.0192 136    -2.82    -2.74
 Pleasant    -2.73 0.0214 136    -2.77    -2.68

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral    0.0464 0.0200 136   2.318  0.0567
 Unpleasant - Pleasant  -0.0071 0.0216 136  -0.329  0.9422
 Neutral - Pleasant     -0.0535 0.0218 136  -2.456  0.0403

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.9 Mean Power Frequency Y (log10)

options(width = 100)
MPFy_rep_anova <- aov_ez("ID", "log10_MPFy", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- MPFy_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
MPFy_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_MPFy, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(MPFy_rain))

MPFy_afex_plot <-
  afex_plot(
    MPFy_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(MPFy_afex_plot))

nice(MPFy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFy
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.08    3.02 + .031    .052
2       Task 1.96, 266.06 0.02 19.95 *** .039   <.001
3 Group:Task 3.91, 266.06 0.02      1.09 .004    .362
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFy_rep_anova)
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  -2.78 0.0155 136    -2.81    -2.75
 Neutral     -2.86 0.0172 136    -2.89    -2.82
 Pleasant    -2.77 0.0168 136    -2.80    -2.74

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral   0.07899 0.0151 136   5.224  <.0001
 Unpleasant - Pleasant -0.00737 0.0142 136  -0.520  0.8616
 Neutral - Pleasant    -0.08636 0.0161 136  -5.355  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.10 Forward Movement

options(width = 100)
forward_mov_rep_anova <- aov_ez("ID", "forward_mov", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- forward_mov_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
forward_mov_rain <- ggplot(rep_anova_data, aes(y = Task, x = forward_mov, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(forward_mov_rain))

forward_mov_afex_plot <-
  afex_plot(
    forward_mov_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(forward_mov_afex_plot))

nice(forward_mov_rep_anova)
Anova Table (Type 3 tests)

Response: forward_mov
      Effect           df  MSE       F   ges p.value
1      Group       2, 136 0.01    0.05 <.001    .949
2       Task 1.96, 266.96 0.01    2.22  .009    .111
3 Group:Task 3.93, 266.96 0.01 4.14 **  .034    .003
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(forward_mov_rep_anova)
$emmeans
 Group     Task       emmean     SE  df lower.CL upper.CL
 Parkinson Unpleasant  0.479 0.0129 136    0.453    0.504
 Elder     Unpleasant  0.507 0.0130 136    0.481    0.533
 Young     Unpleasant  0.528 0.0134 136    0.501    0.554
 p_values Neutral     0.514 0.0117 136    0.491    0.537
 Elder     Neutral     0.500 0.0119 136    0.477    0.523
 Young     Neutral     0.492 0.0123 136    0.468    0.516
 Parkinson Pleasant    0.505 0.0112 136    0.483    0.527
 Elder     Pleasant    0.488 0.0113 136    0.465    0.510
 Young     Pleasant    0.467 0.0117 136    0.444    0.490

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate     SE  df t.ratio p.value
 Parkinson Unpleasant - Elder Unpleasant   -0.02801 0.0183 136  -1.532  0.8383
 Parkinson Unpleasant - Young Unpleasant   -0.04894 0.0186 136  -2.633  0.1831
 Parkinson Unpleasant - Parkinson Neutral  -0.03503 0.0165 136  -2.119  0.4649
 Parkinson Unpleasant - Elder Neutral      -0.02118 0.0175 136  -1.211  0.9529
 Parkinson Unpleasant - Young Neutral      -0.01317 0.0178 136  -0.741  0.9981
 Parkinson Unpleasant - Parkinson Pleasant -0.02593 0.0160 136  -1.621  0.7916
 Parkinson Unpleasant - Elder Pleasant     -0.00870 0.0171 136  -0.507  0.9999
 Parkinson Unpleasant - Young Pleasant      0.01177 0.0174 136   0.676  0.9990
 Elder Unpleasant - Young Unpleasant       -0.02093 0.0187 136  -1.120  0.9702
 Elder Unpleasant - Parkinson Neutral      -0.00702 0.0175 136  -0.401  1.0000
 Elder Unpleasant - Elder Neutral           0.00683 0.0167 136   0.409  1.0000
 Elder Unpleasant - Young Neutral           0.01484 0.0179 136   0.831  0.9957
 Elder Unpleasant - Parkinson Pleasant      0.00208 0.0172 136   0.121  1.0000
 Elder Unpleasant - Elder Pleasant          0.01931 0.0162 136   1.195  0.9564
 Elder Unpleasant - Young Pleasant          0.03978 0.0175 136   2.273  0.3659
 Young Unpleasant - Parkinson Neutral       0.01391 0.0178 136   0.780  0.9972
 Young Unpleasant - Elder Neutral           0.02776 0.0179 136   1.549  0.8298
 Young Unpleasant - Young Neutral           0.03577 0.0173 136   2.072  0.4968
 Young Unpleasant - Parkinson Pleasant      0.02302 0.0175 136   1.315  0.9253
 Young Unpleasant - Elder Pleasant          0.04025 0.0176 136   2.290  0.3557
 Young Unpleasant - Young Pleasant          0.06071 0.0167 136   3.634  0.0115
 Parkinson Neutral - Elder Neutral          0.01385 0.0167 136   0.830  0.9958
 Parkinson Neutral - Young Neutral          0.02186 0.0170 136   1.288  0.9334
 Parkinson Neutral - Parkinson Pleasant     0.00910 0.0147 136   0.620  0.9995
 Parkinson Neutral - Elder Pleasant         0.02633 0.0163 136   1.613  0.7960
 Parkinson Neutral - Young Pleasant         0.04679 0.0166 136   2.821  0.1189
 Elder Neutral - Young Neutral              0.00801 0.0171 136   0.469  0.9999
 Elder Neutral - Parkinson Pleasant        -0.00475 0.0163 136  -0.291  1.0000
 Elder Neutral - Elder Pleasant             0.01248 0.0148 136   0.841  0.9953
 Elder Neutral - Young Pleasant             0.03295 0.0167 136   1.976  0.5630
 Young Neutral - Parkinson Pleasant        -0.01276 0.0166 136  -0.767  0.9975
 Young Neutral - Elder Pleasant             0.00448 0.0167 136   0.268  1.0000
 Young Neutral - Young Pleasant             0.02494 0.0153 136   1.626  0.7890
 Parkinson Pleasant - Elder Pleasant        0.01723 0.0160 136   1.080  0.9762
 Parkinson Pleasant - Young Pleasant        0.03769 0.0162 136   2.323  0.3362
 Elder Pleasant - Young Pleasant            0.02046 0.0163 136   1.255  0.9424

P value adjustment: tukey method for comparing a family of 9 estimates 

____________________________________________________________________________________________________

3 Entropy and Center of Pressure

3.1 Sample Entropy X (log10)

options(width = 100)
log10_sampen_x_rep_anova <- aov_ez("ID", "log10_sampen_x", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- log10_sampen_x_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
log10_sampen_x_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_sampen_x, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_sampen_x_rain))

log10_sampen_x_afex_plot <-
  afex_plot(
    log10_sampen_x_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_sampen_x_afex_plot))

nice(log10_sampen_x_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_x
      Effect           df  MSE         F   ges p.value
1      Group       2, 136 0.35 12.39 ***  .099   <.001
2       Task 1.94, 264.49 0.12      0.22 <.001    .794
3 Group:Task 3.89, 264.49 0.12    2.30 +  .013    .061
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_x_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson -0.829 0.0491 136   -0.926   -0.732
 Elder     -0.631 0.0497 136   -0.730   -0.533
 Young     -0.477 0.0513 136   -0.578   -0.375

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   -0.198 0.0699 136  -2.829  0.0148
 Parkinson - Young   -0.352 0.0711 136  -4.955  <.0001
 Elder - Young       -0.154 0.0714 136  -2.163  0.0814

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.2 Sample Entropy Y (log10)

options(width = 100)
log10_sampen_y_rep_anova <- aov_ez("ID", "log10_sampen_y", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- log10_sampen_y_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
log10_sampen_y_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_sampen_y, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_sampen_y_rain))

log10_sampen_y_afex_plot <-
  afex_plot(
    log10_sampen_y_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_sampen_y_afex_plot))

nice(log10_sampen_y_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_y
      Effect           df  MSE        F  ges p.value
1      Group       2, 136 0.26 9.85 *** .092   <.001
2       Task 1.90, 257.89 0.06   3.46 * .008    .035
3 Group:Task 3.79, 257.89 0.06     1.04 .005    .383
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_y_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson -1.177 0.0426 136    -1.26   -1.092
 Elder     -0.922 0.0431 136    -1.01   -0.837
 Young     -0.973 0.0445 136    -1.06   -0.885

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder  -0.2543 0.0606 136  -4.198  0.0001
 Parkinson - Young  -0.2035 0.0616 136  -3.304  0.0035
 Elder - Young       0.0508 0.0619 136   0.820  0.6913

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant -1.014 0.0261 136    -1.07   -0.962
 Neutral    -0.993 0.0306 136    -1.05   -0.932
 Pleasant   -1.065 0.0326 136    -1.13   -1.000

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral   -0.0215 0.0251 136  -0.855  0.6697
 Unpleasant - Pleasant   0.0509 0.0285 136   1.786  0.1781
 Neutral - Pleasant      0.0724 0.0309 136   2.342  0.0535

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.3 Angle Sample Entropy

options(width = 100)
sampen_phi_rad_rep_anova <- aov_ez("ID", "sampen_phi_rad", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- sampen_phi_rad_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
sampen_phi_rad_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_phi_rad, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_phi_rad_rain))

sampen_phi_rad_afex_plot <-
  afex_plot(
    sampen_phi_rad_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_phi_rad_afex_plot))

nice(sampen_phi_rad_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_phi_rad
      Effect           df  MSE        F   ges p.value
1      Group       2, 136 0.07     0.08 <.001    .927
2       Task 2.00, 271.74 0.01 7.44 ***  .011   <.001
3 Group:Task 4.00, 271.74 0.01     0.85  .003    .498
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_phi_rad_rep_anova)
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant   1.01 0.0143 136    0.981     1.04
 Neutral      1.05 0.0149 136    1.019     1.08
 Pleasant     1.01 0.0144 136    0.982     1.04

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral   -0.0391 0.0114 136  -3.415  0.0024
 Unpleasant - Pleasant  -0.0010 0.0117 136  -0.085  0.9960
 Neutral - Pleasant      0.0381 0.0115 136   3.314  0.0034

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.4 Resultant Vector Sample Entropy

options(width = 100)
sampen_resul_vect_rep_anova <- aov_ez("ID", "sampen_resul_vect", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 28 ID(s), which were removed before analysis:
EP_208, EP_229, EP_233, EP_234, FOJO_08, FOJO_09, FOJO_13, FOJO_16, FOJO_19, FOJO_20, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data              <- sampen_resul_vect_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        44    41    34
  Neutral           44    41    34
  Pleasant          44    41    34
sampen_resul_vect_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_resul_vect, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_resul_vect_rain))

sampen_resul_vect_afex_plot <-
  afex_plot(
    sampen_resul_vect_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_resul_vect_afex_plot))

nice(sampen_resul_vect_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_resul_vect
      Effect           df  MSE         F  ges p.value
1      Group       2, 116 0.55   7.00 ** .071    .001
2       Task 1.83, 212.39 0.17 13.70 *** .041   <.001
3 Group:Task 3.66, 212.39 0.17      1.44 .009    .224
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_resul_vect_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   1.83 0.0645 116     1.70     1.96
 Elder       2.07 0.0668 116     1.94     2.21
 Young       2.18 0.0734 116     2.03     2.32

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   -0.245 0.0929 116  -2.634  0.0258
 Parkinson - Young   -0.349 0.0977 116  -3.568  0.0015
 Elder - Young       -0.104 0.0992 116  -1.047  0.5487

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant   1.95 0.0557 116     1.84     2.06
 Neutral      2.18 0.0464 116     2.09     2.28
 Pleasant     1.95 0.0459 116     1.86     2.04

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral  -0.23822 0.0592 116  -4.021  0.0003
 Unpleasant - Pleasant -0.00598 0.0485 116  -0.123  0.9916
 Neutral - Pleasant     0.23224 0.0471 116   4.928  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.5 Angle Change Sample Entropy

options(width = 100)
sampen_delta_phi_rep_anova <- aov_ez("ID", "sampen_delta_phi", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data             <- sampen_delta_phi_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    44
  Neutral           48    47    44
  Pleasant          48    47    44
sampen_delta_phi_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_delta_phi, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_delta_phi_rain))

sampen_delta_phi_afex_plot <-
  afex_plot(
    sampen_delta_phi_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_delta_phi_afex_plot))

nice(sampen_delta_phi_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_delta_phi
      Effect           df  MSE         F  ges p.value
1      Group       2, 136 0.08 13.94 *** .121   <.001
2       Task 2.00, 271.74 0.02      1.32 .003    .269
3 Group:Task 4.00, 271.74 0.02      0.96 .005    .430
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_delta_phi_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   1.52 0.0237 136     1.47     1.57
 Elder       1.57 0.0240 136     1.53     1.62
 Young       1.70 0.0248 136     1.65     1.75

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder  -0.0531 0.0337 136  -1.574  0.2605
 Parkinson - Young  -0.1773 0.0343 136  -5.168  <.0001
 Elder - Young      -0.1242 0.0345 136  -3.603  0.0013

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4 Heart Activity

4.1 Heart Rate

options(width = 100)
heart_rate_rep_anova <- aov_ez("ID", "heart_rate", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 14 ID(s), which were removed before analysis:
EP_202, EP_204, EP_209, EP_222, EP_231, EP_235, EP_241, EP_245, FOJO_24, FOJO_37, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- heart_rate_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        40    44    49
  Neutral           40    44    49
  Pleasant          40    44    49
heart_rate_rain <- ggplot(rep_anova_data, aes(y = Task, x = heart_rate, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(heart_rate_rain))

heart_rate_afex_plot <-
  afex_plot(
    heart_rate_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(heart_rate_afex_plot))

nice(heart_rate_rep_anova)
Anova Table (Type 3 tests)

Response: heart_rate
      Effect           df    MSE      F   ges p.value
1      Group       2, 130 390.93 4.07 *  .057    .019
2       Task 1.93, 250.85   8.60 3.14 * <.001    .047
3 Group:Task 3.86, 250.85   8.60   1.30 <.001    .272
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(heart_rate_rep_anova)
$emmeans
 Group     emmean   SE  df lower.CL upper.CL
 Parkinson   77.2 1.80 130     73.7     80.8
 Elder       75.0 1.72 130     71.6     78.4
 Young       81.6 1.63 130     78.4     84.9

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate   SE  df t.ratio p.value
 Parkinson - Elder     2.24 2.49 130   0.898  0.6423
 Parkinson - Young    -4.38 2.43 130  -1.801  0.1732
 Elder - Young        -6.62 2.37 130  -2.793  0.0165

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean    SE  df lower.CL upper.CL
 Unpleasant   77.6 1.010 130     75.6     79.6
 Neutral      77.8 0.988 130     75.8     79.7
 Pleasant     78.5 1.044 130     76.4     80.5

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate    SE  df t.ratio p.value
 Unpleasant - Neutral    -0.116 0.336 130  -0.347  0.9358
 Unpleasant - Pleasant   -0.821 0.387 130  -2.123  0.0892
 Neutral - Pleasant      -0.704 0.339 130  -2.081  0.0978

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.2 Heart Rate, NeuroKit2 method

options(width = 100)
heart_rate_nk2_rep_anova <- aov_ez("ID", "heart_rate_nk2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- heart_rate_nk2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    51
  Neutral           48    47    51
  Pleasant          48    47    51
heart_rate_nk2_rain <- ggplot(rep_anova_data, aes(y = Task, x = heart_rate_nk2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(heart_rate_nk2_rain))

heart_rate_nk2_afex_plot <-
  afex_plot(
    heart_rate_nk2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(heart_rate_nk2_afex_plot))

nice(heart_rate_nk2_rep_anova)
Anova Table (Type 3 tests)

Response: heart_rate_nk2
      Effect           df    MSE      F   ges p.value
1      Group       2, 143 376.05 3.60 *  .046    .030
2       Task 1.77, 253.38  10.31   1.49 <.001    .229
3 Group:Task 3.54, 253.38  10.31   1.26 <.001    .287
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(heart_rate_nk2_rep_anova)
$emmeans
 Group     emmean   SE  df lower.CL upper.CL
 Parkinson   77.1 1.62 143     73.9     80.3
 Elder       75.1 1.63 143     71.9     78.4
 Young       81.1 1.57 143     78.0     84.2

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate   SE  df t.ratio p.value
 Parkinson - Elder     1.95 2.30 143   0.851  0.6720
 Parkinson - Young    -3.98 2.25 143  -1.768  0.1843
 Elder - Young        -5.93 2.26 143  -2.621  0.0261

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.3 Root Mean Square of the Successive Differences (log10)

options(width = 100)
rMSSD_rep_anova <- aov_ez("ID", "log10_rMSSD", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 14 ID(s), which were removed before analysis:
EP_202, EP_204, EP_209, EP_222, EP_231, EP_235, EP_241, EP_245, FOJO_24, FOJO_37, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- rMSSD_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        40    44    49
  Neutral           40    44    49
  Pleasant          40    44    49
log10_rMSSD_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rMSSD, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_rMSSD_rain))

rMSSD_afex_plot <-
  afex_plot(
    rMSSD_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rMSSD_afex_plot))

nice(rMSSD_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rMSSD
      Effect           df  MSE        F  ges p.value
1      Group       2, 130 0.31 8.08 *** .092   <.001
2       Task 1.97, 256.37 0.04     0.86 .001    .424
3 Group:Task 3.94, 256.37 0.04     1.26 .004    .287
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rMSSD_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   1.16 0.0505 130     1.06     1.26
 Elder       1.15 0.0482 130     1.06     1.25
 Young       1.39 0.0456 130     1.30     1.48

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder   0.0128 0.0698 130   0.183  0.9817
 Parkinson - Young  -0.2240 0.0681 130  -3.290  0.0037
 Elder - Young      -0.2368 0.0664 130  -3.568  0.0015

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.4 Root Mean Square of the Successive Differences (log10), NeuroKit2 method

options(width = 100)
log10_hrv_rmssd_nk2_rep_anova <- aov_ez("ID", "log10_hrv_rmssd_nk2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- log10_hrv_rmssd_nk2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    51
  Neutral           48    47    51
  Pleasant          48    47    51
log10_hrv_rmssd_nk2_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_hrv_rmssd_nk2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_hrv_rmssd_nk2_rain))

log10_hrv_rmssd_nk2_afex_plot <-
  afex_plot(
    log10_hrv_rmssd_nk2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_hrv_rmssd_nk2_afex_plot))

nice(log10_hrv_rmssd_nk2_rep_anova)
Anova Table (Type 3 tests)

Response: log10_hrv_rmssd_nk2
      Effect           df  MSE       F  ges p.value
1      Group       2, 143 0.31 7.23 ** .074    .001
2       Task 1.80, 257.77 0.05    1.58 .002    .211
3 Group:Task 3.61, 257.77 0.05    1.34 .004    .258
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_hrv_rmssd_nk2_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson   1.18 0.0466 143     1.09     1.28
 Elder       1.19 0.0471 143     1.09     1.28
 Young       1.40 0.0452 143     1.31     1.49

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate     SE  df t.ratio p.value
 Parkinson - Elder -0.00363 0.0662 143  -0.055  0.9983
 Parkinson - Young -0.21474 0.0649 143  -3.310  0.0034
 Elder - Young     -0.21111 0.0652 143  -3.236  0.0043

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.5 ECG-Derived Respiration

options(width = 100)
rsp_rate_rep_anova <- aov_ez("ID", "rsp_rate", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data     <- rsp_rate_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    51
  Neutral           48    47    51
  Pleasant          48    47    51
rsp_rate_rain <- ggplot(rep_anova_data, aes(y = Task, x = rsp_rate, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rsp_rate_rain))

rsp_rate_afex_plot <-
  afex_plot(
    rsp_rate_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rsp_rate_afex_plot))

nice(rsp_rate_rep_anova)
Anova Table (Type 3 tests)

Response: rsp_rate
      Effect           df   MSE        F  ges p.value
1      Group       2, 143 21.46 9.08 *** .087   <.001
2       Task 1.99, 284.78  3.65  5.06 ** .009    .007
3 Group:Task 3.98, 284.78  3.65   2.97 * .010    .020
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rsp_rate_rep_anova)
$emmeans
 Group     emmean    SE  df lower.CL upper.CL
 Parkinson   14.8 0.386 143     14.1     15.6
 Elder       14.2 0.390 143     13.4     15.0
 Young       12.6 0.375 143     11.9     13.4

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate    SE  df t.ratio p.value
 Parkinson - Elder    0.648 0.549 143   1.181  0.4662
 Parkinson - Young    2.222 0.538 143   4.131  0.0002
 Elder - Young        1.574 0.541 143   2.910  0.0116

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean    SE  df lower.CL upper.CL
 Unpleasant   13.6 0.257 143     13.1     14.1
 Neutral      13.8 0.244 143     13.3     14.3
 Pleasant     14.3 0.268 143     13.7     14.8

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate    SE  df t.ratio p.value
 Unpleasant - Neutral    -0.228 0.226 143  -1.010  0.5720
 Unpleasant - Pleasant   -0.697 0.228 143  -3.058  0.0075
 Neutral - Pleasant      -0.469 0.216 143  -2.170  0.0799

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Group     Task       emmean    SE  df lower.CL upper.CL
 Parkinson Unpleasant   14.9 0.447 143     14.0     15.8
 Elder     Unpleasant   13.6 0.452 143     12.7     14.5
 Young     Unpleasant   12.3 0.434 143     11.4     13.2
 Parkinson Neutral      15.0 0.426 143     14.1     15.8
 Elder     Neutral      14.3 0.430 143     13.5     15.2
 Young     Neutral      12.2 0.413 143     11.4     13.0
 Parkinson Pleasant     14.7 0.466 143     13.8     15.6
 Elder     Pleasant     14.7 0.471 143     13.8     15.6
 Young     Pleasant     13.4 0.452 143     12.5     14.3

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate    SE  df t.ratio p.value
 Parkinson Unpleasant - Elder Unpleasant     1.3083 0.636 143   2.058  0.5063
 Parkinson Unpleasant - Young Unpleasant     2.5854 0.623 143   4.149  0.0018
 Parkinson Unpleasant - Parkinson Neutral   -0.0750 0.394 143  -0.191  1.0000
 Parkinson Unpleasant - Elder Neutral        0.5738 0.621 143   0.925  0.9912
 Parkinson Unpleasant - Young Neutral        2.7104 0.609 143   4.452  0.0006
 Parkinson Unpleasant - Parkinson Pleasant   0.1731 0.397 143   0.436  1.0000
 Parkinson Unpleasant - Elder Pleasant       0.1611 0.650 143   0.248  1.0000
 Parkinson Unpleasant - Young Pleasant       1.4690 0.636 143   2.309  0.3436
 Elder Unpleasant - Young Unpleasant         1.2771 0.627 143   2.038  0.5195
 Elder Unpleasant - Parkinson Neutral       -1.3834 0.621 143  -2.228  0.3936
 Elder Unpleasant - Elder Neutral           -0.7345 0.398 143  -1.845  0.6522
 Elder Unpleasant - Young Neutral            1.4021 0.612 143   2.290  0.3552
 Elder Unpleasant - Parkinson Pleasant      -1.1353 0.649 143  -1.748  0.7156
 Elder Unpleasant - Elder Pleasant          -1.1472 0.401 143  -2.858  0.1081
 Elder Unpleasant - Young Pleasant           0.1607 0.639 143   0.251  1.0000
 Young Unpleasant - Parkinson Neutral       -2.6604 0.608 143  -4.376  0.0008
 Young Unpleasant - Elder Neutral           -2.0116 0.611 143  -3.292  0.0332
 Young Unpleasant - Young Neutral            0.1250 0.382 143   0.327  1.0000
 Young Unpleasant - Parkinson Pleasant      -2.4123 0.637 143  -3.788  0.0067
 Young Unpleasant - Elder Pleasant          -2.4243 0.641 143  -3.785  0.0068
 Young Unpleasant - Young Pleasant          -1.1164 0.385 143  -2.897  0.0981
 Parkinson Neutral - Elder Neutral           0.6489 0.605 143   1.072  0.9773
 Parkinson Neutral - Young Neutral           2.7855 0.593 143   4.695  0.0002
 Parkinson Neutral - Parkinson Pleasant      0.2481 0.377 143   0.659  0.9992
 Parkinson Neutral - Elder Pleasant          0.2362 0.635 143   0.372  1.0000
 Parkinson Neutral - Young Pleasant          1.5441 0.621 143   2.486  0.2479
 Elder Neutral - Young Neutral               2.1366 0.596 143   3.582  0.0134
 Elder Neutral - Parkinson Pleasant         -0.4008 0.634 143  -0.632  0.9994
 Elder Neutral - Elder Pleasant             -0.4127 0.380 143  -1.085  0.9756
 Elder Neutral - Young Pleasant              0.8952 0.624 143   1.434  0.8828
 Young Neutral - Parkinson Pleasant         -2.5373 0.623 143  -4.073  0.0024
 Young Neutral - Elder Pleasant             -2.5493 0.627 143  -4.068  0.0025
 Young Neutral - Young Pleasant             -1.2414 0.365 143  -3.399  0.0240
 Parkinson Pleasant - Elder Pleasant        -0.0119 0.663 143  -0.018  1.0000
 Parkinson Pleasant - Young Pleasant         1.2960 0.650 143   1.995  0.5495
 Elder Pleasant - Young Pleasant             1.3079 0.653 143   2.002  0.5444

P value adjustment: tukey method for comparing a family of 9 estimates 

____________________________________________________________________________________________________

4.6 Root mean square of successive differences of the breath-to-breath intervals

options(width = 100)
rrv_rmssd_rep_anova <- aov_ez("ID", "rrv_rmssd", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 11 ID(s), which were removed before analysis:
EP_202, EP_209, EP_224, EP_231, EP_240, EP_247, FOJO_41, FOSA_205, FOSA_210, FOSA_213, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data      <- rrv_rmssd_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        42    44    50
  Neutral           42    44    50
  Pleasant          42    44    50
rrv_rmssd_rain <- ggplot(rep_anova_data, aes(y = Task, x = rrv_rmssd, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rrv_rmssd_rain))

rrv_rmssd_afex_plot <-
  afex_plot(
    rrv_rmssd_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rrv_rmssd_afex_plot))

nice(rrv_rmssd_rep_anova)
Anova Table (Type 3 tests)

Response: rrv_rmssd
      Effect           df        MSE      F  ges p.value
1      Group       2, 133 1347056.26   1.35 .011    .262
2       Task 1.87, 249.02  576788.16 4.63 * .015    .012
3 Group:Task 3.74, 249.02  576788.16 2.64 * .017    .038
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rrv_rmssd_rep_anova)
$emmeans
 Task       emmean   SE  df lower.CL upper.CL
 Unpleasant   2031 80.0 133     1872     2189
 Neutral      1888 83.4 133     1723     2053
 Pleasant     1759 67.7 133     1625     1893

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate    SE  df t.ratio p.value
 Unpleasant - Neutral       142 100.3 133   1.419  0.3341
 Unpleasant - Pleasant      272  81.9 133   3.316  0.0034
 Neutral - Pleasant         129  84.8 133   1.527  0.2818

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Group     Task       emmean  SE  df lower.CL upper.CL
 Parkinson Unpleasant   1668 144 133     1384     1952
 Elder     Unpleasant   2175 140 133     1897     2452
 Young     Unpleasant   2249 132 133     1988     2509
 Parkinson Neutral      1895 150 133     1599     2191
 Elder     Neutral      1810 146 133     1521     2099
 Young     Neutral      1960 137 133     1689     2232
 Parkinson Pleasant     1732 122 133     1492     1973
 Elder     Pleasant     1774 119 133     1539     2009
 Young     Pleasant     1770 111 133     1550     1991

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate  SE  df t.ratio p.value
 Parkinson Unpleasant - Elder Unpleasant    -506.63 201 133  -2.524  0.2301
 Parkinson Unpleasant - Young Unpleasant    -580.29 195 133  -2.980  0.0800
 Parkinson Unpleasant - Parkinson Neutral   -226.56 180 133  -1.259  0.9411
 Parkinson Unpleasant - Elder Neutral       -141.53 205 133  -0.691  0.9988
 Parkinson Unpleasant - Young Neutral       -292.09 199 133  -1.471  0.8668
 Parkinson Unpleasant - Parkinson Pleasant   -63.87 147 133  -0.434  1.0000
 Parkinson Unpleasant - Elder Pleasant      -105.91 186 133  -0.568  0.9997
 Parkinson Unpleasant - Young Pleasant      -102.07 182 133  -0.562  0.9997
 Elder Unpleasant - Young Unpleasant         -73.66 192 133  -0.383  1.0000
 Elder Unpleasant - Parkinson Neutral        280.06 205 133   1.365  0.9087
 Elder Unpleasant - Elder Neutral            365.10 176 133   2.077  0.4933
 Elder Unpleasant - Young Neutral            214.53 196 133   1.094  0.9743
 Elder Unpleasant - Parkinson Pleasant       442.76 186 133   2.385  0.3007
 Elder Unpleasant - Elder Pleasant           400.72 144 133   2.790  0.1283
 Elder Unpleasant - Young Pleasant           404.56 179 133   2.258  0.3750
 Young Unpleasant - Parkinson Neutral        353.73 199 133   1.775  0.6983
 Young Unpleasant - Elder Neutral            438.77 197 133   2.231  0.3923
 Young Unpleasant - Young Neutral            288.20 165 133   1.748  0.7158
 Young Unpleasant - Parkinson Pleasant       516.42 179 133   2.883  0.1024
 Young Unpleasant - Elder Pleasant           474.39 177 133   2.676  0.1666
 Young Unpleasant - Young Pleasant           478.23 135 133   3.549  0.0152
 Parkinson Neutral - Elder Neutral            85.04 209 133   0.406  1.0000
 Parkinson Neutral - Young Neutral           -65.53 203 133  -0.323  1.0000
 Parkinson Neutral - Parkinson Pleasant      162.69 152 133   1.069  0.9776
 Parkinson Neutral - Elder Pleasant          120.66 191 133   0.632  0.9994
 Parkinson Neutral - Young Pleasant          124.50 187 133   0.667  0.9991
 Elder Neutral - Young Neutral              -150.57 200 133  -0.751  0.9979
 Elder Neutral - Parkinson Pleasant           77.65 190 133   0.408  1.0000
 Elder Neutral - Elder Pleasant               35.62 149 133   0.240  1.0000
 Elder Neutral - Young Pleasant               39.46 184 133   0.215  1.0000
 Young Neutral - Parkinson Pleasant          228.22 183 133   1.245  0.9447
 Young Neutral - Elder Pleasant              186.19 181 133   1.026  0.9827
 Young Neutral - Young Pleasant              190.03 139 133   1.363  0.9097
 Parkinson Pleasant - Elder Pleasant         -42.03 170 133  -0.247  1.0000
 Parkinson Pleasant - Young Pleasant         -38.19 165 133  -0.232  1.0000
 Elder Pleasant - Young Pleasant               3.84 163 133   0.024  1.0000

P value adjustment: tukey method for comparing a family of 9 estimates 

____________________________________________________________________________________________________

4.7 Respiratory Sinus Arrhythmia, RSA (Porges-Bohrer algorithm)

options(width = 100)
rsa_porges_rep_anova <- aov_ez("ID", "rsa_porges", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- rsa_porges_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        48    47    51
  Neutral           48    47    51
  Pleasant          48    47    51
rsa_porges_rain <- ggplot(rep_anova_data, aes(y = Task, x = rsa_porges, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rsa_porges_rain))

rsa_porges_afex_plot <-
  afex_plot(
    rsa_porges_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rsa_porges_afex_plot))

nice(rsa_porges_rep_anova)
Anova Table (Type 3 tests)

Response: rsa_porges
      Effect           df  MSE         F  ges p.value
1      Group       2, 143 5.27 32.36 *** .265   <.001
2       Task 1.97, 282.03 0.69      2.05 .003    .131
3 Group:Task 3.94, 282.03 0.69   3.47 ** .010    .009
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rsa_porges_rep_anova)
$emmeans
 Group     emmean    SE  df lower.CL upper.CL
 Parkinson  -7.76 0.191 143    -8.14    -7.38
 Elder      -7.57 0.193 143    -7.95    -7.19
 Young      -5.82 0.186 143    -6.19    -5.46

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate    SE  df t.ratio p.value
 Parkinson - Elder   -0.194 0.272 143  -0.715  0.7553
 Parkinson - Young   -1.940 0.267 143  -7.278  <.0001
 Elder - Young       -1.745 0.268 143  -6.513  <.0001

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Group     Task       emmean    SE  df lower.CL upper.CL
 Parkinson Unpleasant  -7.50 0.211 143    -7.92    -7.09
 Elder     Unpleasant  -7.57 0.214 143    -7.99    -7.14
 Young     Unpleasant  -5.75 0.205 143    -6.15    -5.34
 Parkinson Neutral     -8.12 0.202 143    -8.52    -7.72
 Elder     Neutral     -7.48 0.204 143    -7.89    -7.08
 Young     Neutral     -5.74 0.196 143    -6.13    -5.36
 Parkinson Pleasant    -7.67 0.229 143    -8.12    -7.21
 Elder     Pleasant    -7.65 0.232 143    -8.11    -7.20
 Young     Pleasant    -5.98 0.222 143    -6.42    -5.54

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate    SE  df t.ratio p.value
 Parkinson Unpleasant - Elder Unpleasant    0.06270 0.300 143   0.209  1.0000
 Parkinson Unpleasant - Young Unpleasant   -1.75624 0.294 143  -5.965  <.0001
 Parkinson Unpleasant - Parkinson Neutral   0.61352 0.159 143   3.865  0.0051
 Parkinson Unpleasant - Elder Neutral      -0.01895 0.294 143  -0.065  1.0000
 Parkinson Unpleasant - Young Neutral      -1.75833 0.288 143  -6.103  <.0001
 Parkinson Unpleasant - Parkinson Pleasant  0.16382 0.176 143   0.931  0.9908
 Parkinson Unpleasant - Elder Pleasant      0.15052 0.314 143   0.480  0.9999
 Parkinson Unpleasant - Young Pleasant     -1.52737 0.307 143  -4.978  0.0001
 Elder Unpleasant - Young Unpleasant       -1.81894 0.296 143  -6.145  <.0001
 Elder Unpleasant - Parkinson Neutral       0.55081 0.294 143   1.874  0.6324
 Elder Unpleasant - Elder Neutral          -0.08166 0.160 143  -0.509  0.9999
 Elder Unpleasant - Young Neutral          -1.82104 0.290 143  -6.284  <.0001
 Elder Unpleasant - Parkinson Pleasant      0.10111 0.313 143   0.323  1.0000
 Elder Unpleasant - Elder Pleasant          0.08782 0.178 143   0.494  0.9999
 Elder Unpleasant - Young Pleasant         -1.59007 0.308 143  -5.156  <.0001
 Young Unpleasant - Parkinson Neutral       2.36976 0.288 143   8.236  <.0001
 Young Unpleasant - Elder Neutral           1.73729 0.289 143   6.007  <.0001
 Young Unpleasant - Young Neutral          -0.00209 0.154 143  -0.014  1.0000
 Young Unpleasant - Parkinson Pleasant      1.92005 0.308 143   6.242  <.0001
 Young Unpleasant - Elder Pleasant          1.90676 0.309 143   6.163  <.0001
 Young Unpleasant - Young Pleasant          0.22887 0.171 143   1.340  0.9173
 Parkinson Neutral - Elder Neutral         -0.63247 0.287 143  -2.204  0.4091
 Parkinson Neutral - Young Neutral         -2.37185 0.281 143  -8.432  <.0001
 Parkinson Neutral - Parkinson Pleasant    -0.44970 0.169 143  -2.668  0.1691
 Parkinson Neutral - Elder Pleasant        -0.46299 0.307 143  -1.506  0.8509
 Parkinson Neutral - Young Pleasant        -2.14089 0.300 143  -7.127  <.0001
 Elder Neutral - Young Neutral             -1.73938 0.283 143  -6.150  <.0001
 Elder Neutral - Parkinson Pleasant         0.18277 0.307 143   0.595  0.9996
 Elder Neutral - Elder Pleasant             0.16948 0.170 143   0.995  0.9858
 Elder Neutral - Young Pleasant            -1.50842 0.302 143  -4.997  0.0001
 Young Neutral - Parkinson Pleasant         1.92215 0.302 143   6.374  <.0001
 Young Neutral - Elder Pleasant             1.90886 0.303 143   6.291  <.0001
 Young Neutral - Young Pleasant             0.23096 0.164 143   1.412  0.8915
 Parkinson Pleasant - Elder Pleasant       -0.01329 0.326 143  -0.041  1.0000
 Parkinson Pleasant - Young Pleasant       -1.69118 0.319 143  -5.293  <.0001
 Elder Pleasant - Young Pleasant           -1.67789 0.321 143  -5.223  <.0001

P value adjustment: tukey method for comparing a family of 9 estimates 

____________________________________________________________________________________________________

5 Electrodermal Activity

Resultados muuuuuy tentativos por la calidad errática de los registros

5.1 Mean Phasic Component (log10)

options(width = 100)
log10_ave_phasic_eda_rep_anova = aov_ez("ID", "log10_ave_phasic_eda", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 27 ID(s), which were removed before analysis:
EP_202, EP_204, EP_205, EP_207, EP_208, EP_209, EP_217, EP_219, EP_221, EP_223, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- log10_ave_phasic_eda_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        32    47    41
  Neutral           32    47    41
  Pleasant          32    47    41
log10_ave_phasic_eda_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_ave_phasic_eda, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_ave_phasic_eda_rain))

log10_ave_phasic_eda_afex_plot <-
  afex_plot(
    log10_ave_phasic_eda_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_ave_phasic_eda_afex_plot))

nice(log10_ave_phasic_eda_rep_anova)
Anova Table (Type 3 tests)

Response: log10_ave_phasic_eda
      Effect           df  MSE         F  ges p.value
1      Group       2, 117 1.30    3.47 * .047    .034
2       Task 1.96, 229.77 0.13 74.83 *** .096   <.001
3 Group:Task 3.93, 229.77 0.13      1.21 .003    .306
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_ave_phasic_eda_rep_anova)
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Parkinson -0.931 0.1165 117   -1.161   -0.700
 Elder     -0.923 0.0961 117   -1.113   -0.733
 Young     -0.592 0.1029 117   -0.796   -0.388

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast          estimate    SE  df t.ratio p.value
 Parkinson - Elder -0.00758 0.151 117  -0.050  0.9986
 Parkinson - Young -0.33867 0.155 117  -2.179  0.0790
 Elder - Young     -0.33109 0.141 117  -2.351  0.0528

Results are averaged over the levels of: Task 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant -0.532 0.0569 117   -0.645   -0.419
 Neutral    -1.109 0.0722 117   -1.252   -0.966
 Pleasant   -0.804 0.0700 117   -0.943   -0.666

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral     0.577 0.0478 117  12.056  <.0001
 Unpleasant - Pleasant    0.273 0.0440 117   6.190  <.0001
 Neutral - Pleasant      -0.304 0.0495 117  -6.150  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

5.2 Number of SCR Peaks (log10)

options(width = 100)
log10_scr_peaks_number_rep_anova <- aov_ez("ID", "log10_scr_peaks_number", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 27 ID(s), which were removed before analysis:
EP_202, EP_204, EP_205, EP_207, EP_208, EP_209, EP_217, EP_219, EP_221, EP_223, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data                   <- log10_scr_peaks_number_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        32    47    41
  Neutral           32    47    41
  Pleasant          32    47    41
log10_scr_peaks_number_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_scr_peaks_number, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_scr_peaks_number_rain))

log10_scr_peaks_number_afex_plot <-
  afex_plot(
    log10_scr_peaks_number_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_scr_peaks_number_afex_plot))

nice(log10_scr_peaks_number_rep_anova)
Anova Table (Type 3 tests)

Response: log10_scr_peaks_number
      Effect           df  MSE    F  ges p.value
1      Group       2, 117 0.07 0.47 .004    .626
2       Task 1.77, 207.47 0.05 1.07 .005    .338
3 Group:Task 3.55, 207.47 0.05 1.19 .011    .316
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_scr_peaks_number_rep_anova)

5.3 Mean SCR Amplitude (log10)

options(width = 100)
log10_scr_mean_amplitude_rep_anova <- aov_ez("ID", "log10_scr_mean_amplitude", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 28 ID(s), which were removed before analysis:
EP_202, EP_204, EP_205, EP_207, EP_208, EP_209, EP_217, EP_219, EP_221, EP_223, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  
Contrasts set to contr.sum for the following variables: Group
rep_anova_data                     <- log10_scr_mean_amplitude_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Parkinson Elder Young
  Unpleasant        32    46    41
  Neutral           32    46    41
  Pleasant          32    46    41
log10_scr_mean_amplitude_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_scr_mean_amplitude, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_scr_mean_amplitude_rain))

log10_scr_mean_amplitude_afex_plot <-
  afex_plot(
    log10_scr_mean_amplitude_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_scr_mean_amplitude_afex_plot))

nice(log10_scr_mean_amplitude_rep_anova)
Anova Table (Type 3 tests)

Response: log10_scr_mean_amplitude
      Effect           df  MSE         F  ges p.value
1      Group       2, 116 1.60      1.72 .024    .183
2       Task 1.86, 215.25 0.18 43.70 *** .062   <.001
3 Group:Task 3.71, 215.25 0.18      1.68 .005    .161
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_scr_mean_amplitude_rep_anova)
$emmeans
 Task       emmean     SE  df lower.CL upper.CL
 Unpleasant  -4.22 0.0701 116    -4.36    -4.08
 Neutral     -4.73 0.0779 116    -4.88    -4.57
 Pleasant    -4.45 0.0756 116    -4.60    -4.30

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE  df t.ratio p.value
 Unpleasant - Neutral     0.506 0.0591 116   8.550  <.0001
 Unpleasant - Pleasant    0.223 0.0463 116   4.823  <.0001
 Neutral - Pleasant      -0.283 0.0564 116  -5.011  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
LS0tCnRpdGxlOiAiUG9zdHVyYWwgU3RhYmlsaXR5IGFuZCBFbW90aW9ucyIKYXV0aG9yOiAiQWx2YXJvIFJpdmVyYS1SZWkiCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGhpZ2hsaWdodDogdGFuZ28KICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0aGVtZTogY2VydWxlYW4KICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6CiAgICAgIGNvbGxhcHNlZDogbm8KICAgICAgc21vb3RoX3Njcm9sbDogbm8KICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwpzdWJ0aXRsZTogUGFya2luc29uLCBFbGRlciAmIFlvdW5nIGdyb3VwcwotLS0KCmBgYHtyIENsZWFuIGFuZCBMb2FkIExpYnJhcmllc30KY2F0KCJcMDE0IikgICAgICMgY2xlYW4gdGVybWluYWwKcm0obGlzdCA9IGxzKCkpICMgY2xlYW4gd29ya3NwYWNlCnRyeShkZXYub2ZmKCksIHNpbGVudCA9IFRSVUUpICMgY2xvc2UgYWxsIHBsb3RzCmxpYnJhcnkoYWZleCkKbGlicmFyeShlbW1lYW5zKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoZ2dyaWRnZXMpCmxpYnJhcnkoZ2dkaXN0KQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KHJlc2hhcGUyKQpsaWJyYXJ5KEdHYWxseSkKbGlicmFyeShmb3JjYXRzKQpgYGAKCmBgYHtyIFNldCBEZWZhdWx0c30KdGhlbWVfc2V0KAogIHRoZW1lX21pbmltYWwoKQopCmFfcG9zdGVyaW9yaSA8LSBmdW5jdGlvbihhZmV4X2Fvdiwgc2lnX2xldmVsID0gLjA1KSB7CiAgZmFjdG9ycyAgPC0gYXMubGlzdChyb3duYW1lcyhhZmV4X2FvdiRhbm92YV90YWJsZSkpCiAgZm9yIChqIGluIDE6bGVuZ3RoKGZhY3RvcnMpKSB7CiAgICBpZiAoZ3JlcGwoIjoiLCBmYWN0b3JzW1tqXV0pKSB7CiAgICAgIGZhY3RvcnNbW2pdXSA8LSB1bmxpc3Qoc3Ryc3BsaXQoZmFjdG9yc1tbal1dLCAiOiIpKQogICAgfQogIH0KICBwX3ZhbHVlcyA8LSBhZmV4X2FvdiRhbm92YV90YWJsZSRgUHIoPkYpYAogIGZvciAoaSBpbiAxOmxlbmd0aChwX3ZhbHVlcykpIHsKICAgIGlmIChwX3ZhbHVlc1tpXSA8PSBzaWdfbGV2ZWwpIHsKICAgICAgcHJpbnQoZW1tZWFucyhhZmV4X2FvdiwgZmFjdG9yc1tbaV1dLCBjb250ciA9ICJwYWlyd2lzZSIpKQogICAgICBjYXQocmVwKCJfIiwgMTAwKSwgJ1xuJywgc2VwID0gIiIpCiAgICB9CiAgfQp9CmBgYAoKYGBge3IgTG9hZCBEYXRhfQpkYXRhX2RpciAgICAgICA8LSBwYXN0ZSgnLi4nLCAnZGF0YScsICBzZXAgPSAnLycpCmVtb19kYXRhX25hbWUgIDwtIHBhc3RlKGRhdGFfZGlyLCAnZW1vX2RhdGFfY2xlYW4uY3N2Jywgc2VwPScvJykKZW1vX2RhdGFfY2xlYW4gPC0gcmVhZC5jc3YoZW1vX2RhdGFfbmFtZSwgaGVhZGVyID0gVFJVRSkKZW1vX2RhdGFfY2xlYW4gPC0gZW1vX2RhdGFfY2xlYW5bKGVtb19kYXRhX2NsZWFuJEdyb3VwID09ICdFbGRlcicgfCBlbW9fZGF0YV9jbGVhbiRHcm91cCA9PSAnUGFya2luc29uJyB8IGVtb19kYXRhX2NsZWFuJEdyb3VwID09ICdZb3VuZycpLCBdCmVtb19kYXRhX2NsZWFuJEdyb3VwICAgIDwtIGZhY3RvcihlbW9fZGF0YV9jbGVhbiRHcm91cCwgbGV2ZWxzID0gYygiUGFya2luc29uIiwgIkVsZGVyIiwgIllvdW5nIikpCmVtb19kYXRhX2NsZWFuJFRhc2sgPC0gZmFjdG9yKGVtb19kYXRhX2NsZWFuJFRhc2ssIGxldmVscyA9IGMoIlVucGxlYXNhbnQiLCAiTmV1dHJhbCIsICJQbGVhc2FudCIpKQplbW9fZGF0YV9jbGVhbiRFbW90aW9uICA8LSBmYWN0b3IoZW1vX2RhdGFfY2xlYW4kRW1vdGlvbikKZW1vX2RhdGFfY2xlYW4kSUQgICAgICAgPC0gZmFjdG9yKGVtb19kYXRhX2NsZWFuJElEKQplbW9fZGF0YV9jbGVhbiRudW1fSUQgICA8LSBmYWN0b3IoZW1vX2RhdGFfY2xlYW4kbnVtX0lEKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9hcmVhICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRhcmVhKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9heGlzMSA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRheGlzMSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfYXhpczIgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kYXhpczIpCmVtb19kYXRhX2NsZWFuJGxvZzEwX21kaXN0IDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJG1kaXN0KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9ybXYgICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRybXYpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3Jtc3ggIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHJtc3gpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3Jtc3kgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHJtc3kpCmVtb19kYXRhX2NsZWFuJGxvZzEwX01QRnggIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJE1QRngpCmVtb19kYXRhX2NsZWFuJGxvZzEwX01QRnkgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJE1QRnkpCmVtb19kYXRhX2NsZWFuJGxvZzEwX1BFQUt4IDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJFBFQUt4KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9QRUFLeSA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRQRUFLeSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfRjUweCAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kRjUweCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfRjUweSAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kRjUweSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfRjk1eCAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kRjk1eCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfRjk1eSAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kRjk1eSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfc2FtcGVuX3ggPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kc2FtcGVuX3gpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3NhbXBlbl95IDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHNhbXBlbl95KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9yTVNTRCAgICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRyTVNTRCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfaHJ2X3Jtc3NkX25rMiAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kaHJ2X3Jtc3NkX25rMikKZW1vX2RhdGFfY2xlYW4kbG9nMTBfYXZlX3BoYXNpY19lZGEgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kYXZlX3BoYXNpY19lZGEpCmVtb19kYXRhX2NsZWFuJHNjcl9wZWFrc19udW1iZXIgICAgIDwtIGlmZWxzZShpcy5uYShlbW9fZGF0YV9jbGVhbiRsb2cxMF9hdmVfcGhhc2ljX2VkYSksIE5BLCBlbW9fZGF0YV9jbGVhbiRzY3JfcGVha3NfbnVtYmVyKQplbW9fZGF0YV9jbGVhbiRzY3JfbWVhbl9hbXBsaXR1ZGUgICA8LSBpZmVsc2UoaXMubmEoZW1vX2RhdGFfY2xlYW4kbG9nMTBfYXZlX3BoYXNpY19lZGEpLCBOQSwgZW1vX2RhdGFfY2xlYW4kc2NyX21lYW5fYW1wbGl0dWRlKQplbW9fZGF0YV9jbGVhbiRycnZfcm1zc2RbZW1vX2RhdGFfY2xlYW4kcnJ2X3Jtc3NkID4gNDUwMF0gPC0gTkEKZW1vX2RhdGFfY2xlYW4kbG9nMTBfc2NyX3BlYWtzX251bWJlciAgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHNjcl9wZWFrc19udW1iZXIpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZSA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRzY3JfbWVhbl9hbXBsaXR1ZGUpCmVtb19kYXRhX2NsZWFuW3NhcHBseShlbW9fZGF0YV9jbGVhbiwgaXMuaW5maW5pdGUpXSA8LSBOQQpgYGAKCiMgR2VuZXJhbCBEZXNjcmlwdGlvbgpgYGB7ciBnZW5lcmFsLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKc3VtbWFyeShlbW9fZGF0YV9jbGVhbikKYGBgCgojIyBUaW1lLWRpc3RhbmNlIHBhcmFtZXRlcnMKYGBge3IgdGltZV9kaXN0YW5jZSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnRpbWVfZGlzdGFuY2UgPC0gYygnbG9nMTBfYXJlYScsICdsb2cxMF9heGlzMScsICdsb2cxMF9heGlzMicsICdsb2cxMF9tZGlzdCcsICdsb2cxMF9ybXYnLCAnbG9nMTBfcm1zeCcsICdsb2cxMF9ybXN5JykKdGltZV9kaXN0YW5jZV9wYWlycyA8LSBnZ3BhaXJzKGVtb19kYXRhX2NsZWFuLAogICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgPSB0aW1lX2Rpc3RhbmNlLAogICAgICAgICAgICAgICAgICAgICAgIGFlcyhjb2xvdXIgPSBHcm91cCwgYWxwaGEgPSAuMjUpLAogICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgbG93ZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKCJwb2ludHMiKSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQodGltZV9kaXN0YW5jZV9wYWlycykpCnN1bW1hcnkoZW1vX2RhdGFfY2xlYW5bdGltZV9kaXN0YW5jZV0pCmBgYAoKIyMgRnJlcXVlbmN5IHBhcmFtZXRlcnMKYGBge3IgZnJlcXVlbmN5LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKZnJlcXVlbmN5IDwtIGMoJ2xvZzEwX01QRngnLCAnbG9nMTBfTVBGeScsICdsb2cxMF9QRUFLeCcsICdsb2cxMF9QRUFLeScsICdsb2cxMF9GNTB4JywgJ2xvZzEwX0Y1MHknLCAnbG9nMTBfRjk1eCcsICdsb2cxMF9GOTV5JykKZnJlcXVlbmN5X3BhaXJzIDwtIGdncGFpcnMoZW1vX2RhdGFfY2xlYW4sCiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IGZyZXF1ZW5jeSwKICAgICAgICAgICAgICAgICAgICAgICBhZXMoY29sb3VyID0gR3JvdXAsIGFscGhhID0gLjI1KSwKICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gbGlzdChjb250aW51b3VzID0gd3JhcCgicG9pbnRzIikpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGZyZXF1ZW5jeV9wYWlycykpCnN1bW1hcnkoZW1vX2RhdGFfY2xlYW5bZnJlcXVlbmN5XSkKYGBgCgojIyBFbnRyb3B5CmBgYHtyIGVudHJvcHksIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQplbnRyb3B5IDwtIGMoJ2ZvcndhcmRfbW92JywgJ2xvZzEwX3NhbXBlbl94JywgJ2xvZzEwX3NhbXBlbl95JywgJ3NhbXBlbl9yZXN1bF92ZWN0JywgJ3NhbXBlbl9waGlfcmFkJywgJ3NhbXBlbl9kZWx0YV9waGknKQplbnRyb3B5X3BhaXJzIDwtIGdncGFpcnMoZW1vX2RhdGFfY2xlYW4sCiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IGVudHJvcHksCiAgICAgICAgICAgICAgICAgICAgICAgYWVzKGNvbG91ciA9IEdyb3VwLCBhbHBoYSA9IC4yNSksCiAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IHdyYXAoInBvaW50cyIpKSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChlbnRyb3B5X3BhaXJzKSkKc3VtbWFyeShlbW9fZGF0YV9jbGVhbltlbnRyb3B5XSkKYGBgCgojIENsYXNzaWMgQ2VudGVyIG9mIFByZXNzdXJlCjYwIHNlY29uZHMKCiMjIEFyZWEgKGxvZzEwKQpgYGB7ciBBcmVhLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKYXJlYV9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9hcmVhIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhIDwtIGFyZWFfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQphcmVhX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9hcmVhLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGFyZWFfcmFpbikpCiMgYXJlYV9ncm91cF9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBmY3RfcmV2KEdyb3VwKSwgeCA9IGxvZzEwX2FyZWEsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKIyAgIGdndGl0bGUoIkFyZWEiKSArCiMgICB5bGFiKCJHcm91cCIpICsKIyAgIHN0YXRfaGFsZmV5ZSgKIyAgICAgdHJpbSAgID0gRkFMU0UsCiMgICAgIGFkanVzdCA9IC43NSwKIyAgICAgLndpZHRoID0gMCwKIyAgICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiMgICAgIGFscGhhICA9IC40LAojICAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwojICAgZ2VvbV9ib3hwbG90KHdpZHRoID0gLjE1LCBhbHBoYSA9IC4yLCBvdXRsaWVyLnNoYXBlID0gTkEpICsKIyAgIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkgKwojICAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdub25lJykKIyBzdXBwcmVzc1dhcm5pbmdzKHByaW50KGFyZWFfZ3JvdXBfcmFpbikpCiMgYXJlYV90YXNrX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9hcmVhLCBjb2xvciA9IFRhc2ssIGZpbGwgPSBUYXNrKSkgKwojICAgZ2d0aXRsZSgiQXJlYSIpICsKIyAgIHlsYWIoIlRhc2siKSArCiMgICBzdGF0X2hhbGZleWUoCiMgICAgIHRyaW0gICA9IEZBTFNFLAojICAgICBhZGp1c3QgPSAuNzUsCiMgICAgIC53aWR0aCA9IDAsCiMgICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAojICAgICBhbHBoYSAgPSAuNCwKIyAgICAgcG9pbnRfY29sb3VyID0gTkEpICsKIyAgIGdlb21fYm94cGxvdCh3aWR0aCA9IC4xNSwgYWxwaGEgPSAuMiwgb3V0bGllci5zaGFwZSA9IE5BKSArCiMgICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpICsKIyAgIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0nbm9uZScpCiMgc3VwcHJlc3NXYXJuaW5ncyhwcmludChhcmVhX3Rhc2tfcmFpbikpCmFyZWFfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgYXJlYV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChhcmVhX2FmZXhfcGxvdCkpCm5pY2UoYXJlYV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShhcmVhX3JlcF9hbm92YSkKYGBgCgojIyBFbGxpcHNlIE1ham9yIEF4aXMgKGxvZzEwKQpgYGB7ciBsb2cxMF9heGlzMSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX2F4aXMxX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX2F4aXMxIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICA8LSBsb2cxMF9heGlzMV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmxvZzEwX2F4aXMxX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9heGlzMSwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9heGlzMV9yYWluKSkKbG9nMTBfYXhpczFfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfYXhpczFfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfYXhpczFfYWZleF9wbG90KSkKbmljZShsb2cxMF9heGlzMV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9heGlzMV9yZXBfYW5vdmEpCmBgYAoKIyMgRWxsaXBzZSBNaW5vciBBeGlzIChsb2cxMCkKYGBge3IgbG9nMTBfYXhpczIsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9heGlzMl9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9heGlzMiIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgPC0gbG9nMTBfYXhpczJfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9heGlzMl9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfYXhpczIsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfYXhpczJfcmFpbikpCmxvZzEwX2F4aXMyX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX2F4aXMyX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2F4aXMyX2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfYXhpczJfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfYXhpczJfcmVwX2Fub3ZhKQpgYGAKCiMjIE1lYW4gRGlzdGFuY2UgKGxvZzEwKQpgYGB7ciBtZGlzdCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCm1kaXN0X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX21kaXN0IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICA8LSBtZGlzdF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCm1kaXN0X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9tZGlzdCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChtZGlzdF9yYWluKSkKbWRpc3RfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbWRpc3RfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQobWRpc3RfYWZleF9wbG90KSkKbmljZShtZGlzdF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShtZGlzdF9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBNZWFuIFZlbG9jaXR5IChsb2cxMCkKYGBge3Igcm12LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcm12X3JlcF9hbm92YSAgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9ybXYiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgPC0gcm12X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKcm12X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9ybXYsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQocm12X3JhaW4pKQpybXZfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcm12X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtdl9hZmV4X3Bsb3QpKQpuaWNlKHJtdl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShybXZfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBTcXVhcmUgWCAobG9nMTApCmBgYHtyIHJtc3gsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpybXN4X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX3Jtc3giLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgPC0gcm1zeF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnJtc3hfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX3Jtc3gsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQocm1zeF9yYWluKSkKcm1zeF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBybXN4X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtc3hfYWZleF9wbG90KSkKbmljZShybXN4X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJtc3hfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBTcXVhcmUgWSAobG9nMTApCmBgYHtyIHJtc3ksIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpybXN5X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX3Jtc3kiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgPC0gcm1zeV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnJtc3lfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX3Jtc3ksIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQocm1zeV9yYWluKSkKcm1zeV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBybXN5X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtc3lfYWZleF9wbG90KSkKbmljZShybXN5X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJtc3lfcmVwX2Fub3ZhKQpgYGAKCiMjIE1lYW4gUG93ZXIgRnJlcXVlbmN5IFggKGxvZzEwKQpgYGB7ciBNUEZ4LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKTVBGeF9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9NUEZ4IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhIDwtIE1QRnhfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpNUEZ4X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9NUEZ4LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KE1QRnhfcmFpbikpCk1QRnhfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgTVBGeF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChNUEZ4X2FmZXhfcGxvdCkpCm5pY2UoTVBGeF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShNUEZ4X3JlcF9hbm92YSkKYGBgCgojIyBNZWFuIFBvd2VyIEZyZXF1ZW5jeSBZIChsb2cxMCkKYGBge3IgTVBGeSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCk1QRnlfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfTVBGeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSA8LSBNUEZ5X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKTVBGeV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfTVBGeSwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChNUEZ5X3JhaW4pKQpNUEZ5X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIE1QRnlfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoTVBGeV9hZmV4X3Bsb3QpKQpuaWNlKE1QRnlfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoTVBGeV9yZXBfYW5vdmEpCmBgYAoKIyMgRm9yd2FyZCBNb3ZlbWVudApgYGB7ciBmb3J3YXJkX21vdiwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmZvcndhcmRfbW92X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImZvcndhcmRfbW92IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICA8LSBmb3J3YXJkX21vdl9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmZvcndhcmRfbW92X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBmb3J3YXJkX21vdiwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChmb3J3YXJkX21vdl9yYWluKSkKZm9yd2FyZF9tb3ZfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoZm9yd2FyZF9tb3ZfYWZleF9wbG90KSkKbmljZShmb3J3YXJkX21vdl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShmb3J3YXJkX21vdl9yZXBfYW5vdmEpCmBgYAoKIyBFbnRyb3B5IGFuZCBDZW50ZXIgb2YgUHJlc3N1cmUKIyMgU2FtcGxlIEVudHJvcHkgWCAobG9nMTApCmBgYHtyIHNhbXBlbl94LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfc2FtcGVuX3hfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfc2FtcGVuX3giLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgICAgIDwtIGxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfc2FtcGVuX3hfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX3NhbXBlbl94LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3NhbXBlbl94X3JhaW4pKQpsb2cxMF9zYW1wZW5feF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zYW1wZW5feF9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSkKYGBgCgojIyBTYW1wbGUgRW50cm9weSBZIChsb2cxMCkKYGBge3Igc2FtcGVuX3ksIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9zYW1wZW5feV9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9zYW1wZW5feSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgICAgPC0gbG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9zYW1wZW5feV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfc2FtcGVuX3ksIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfc2FtcGVuX3lfcmFpbikpCmxvZzEwX3NhbXBlbl95X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3NhbXBlbl95X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3NhbXBlbl95X2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhKQpgYGAKCiMjIEFuZ2xlIFNhbXBsZSBFbnRyb3B5CmBgYHtyIHNhbXBlbl9waGlfcmFkLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKc2FtcGVuX3BoaV9yYWRfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAic2FtcGVuX3BoaV9yYWQiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgICAgIDwtIHNhbXBlbl9waGlfcmFkX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKc2FtcGVuX3BoaV9yYWRfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHNhbXBlbl9waGlfcmFkLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHNhbXBlbl9waGlfcmFkX3JhaW4pKQpzYW1wZW5fcGhpX3JhZF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChzYW1wZW5fcGhpX3JhZF9hZmV4X3Bsb3QpKQpuaWNlKHNhbXBlbl9waGlfcmFkX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHNhbXBlbl9waGlfcmFkX3JlcF9hbm92YSkKYGBgCgojIyBSZXN1bHRhbnQgVmVjdG9yIFNhbXBsZSBFbnRyb3B5CmBgYHtyIHNhbXBlbl9yZXN1bF92ZWN0LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKc2FtcGVuX3Jlc3VsX3ZlY3RfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAic2FtcGVuX3Jlc3VsX3ZlY3QiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgICAgICAgIDwtIHNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKc2FtcGVuX3Jlc3VsX3ZlY3RfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHNhbXBlbl9yZXN1bF92ZWN0LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHNhbXBlbl9yZXN1bF92ZWN0X3JhaW4pKQpzYW1wZW5fcmVzdWxfdmVjdF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChzYW1wZW5fcmVzdWxfdmVjdF9hZmV4X3Bsb3QpKQpuaWNlKHNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSkKYGBgCgojIyBBbmdsZSBDaGFuZ2UgU2FtcGxlIEVudHJvcHkKYGBge3Igc2FtcGVuX2RlbHRhX3BoaSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAic2FtcGVuX2RlbHRhX3BoaSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgICAgICA8LSBzYW1wZW5fZGVsdGFfcGhpX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKc2FtcGVuX2RlbHRhX3BoaV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gc2FtcGVuX2RlbHRhX3BoaSwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChzYW1wZW5fZGVsdGFfcGhpX3JhaW4pKQpzYW1wZW5fZGVsdGFfcGhpX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoc2FtcGVuX2RlbHRhX3BoaV9hZmV4X3Bsb3QpKQpuaWNlKHNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhKQphX3Bvc3Rlcmlvcmkoc2FtcGVuX2RlbHRhX3BoaV9yZXBfYW5vdmEpCmBgYAoKIyBIZWFydCBBY3Rpdml0eQojIyBIZWFydCBSYXRlCmBgYHtyIGhlYXJ0X3JhdGUsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpoZWFydF9yYXRlX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImhlYXJ0X3JhdGUiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgPC0gaGVhcnRfcmF0ZV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmhlYXJ0X3JhdGVfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGhlYXJ0X3JhdGUsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoaGVhcnRfcmF0ZV9yYWluKSkKaGVhcnRfcmF0ZV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBoZWFydF9yYXRlX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGhlYXJ0X3JhdGVfYWZleF9wbG90KSkKbmljZShoZWFydF9yYXRlX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGhlYXJ0X3JhdGVfcmVwX2Fub3ZhKQpgYGAKCiMjIEhlYXJ0IFJhdGUsIE5ldXJvS2l0MiBtZXRob2QKYGBge3IgaGVhcnRfcmF0ZV9uazIsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpoZWFydF9yYXRlX25rMl9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJoZWFydF9yYXRlX25rMiIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICA8LSBoZWFydF9yYXRlX25rMl9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmhlYXJ0X3JhdGVfbmsyX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBoZWFydF9yYXRlX25rMiwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChoZWFydF9yYXRlX25rMl9yYWluKSkKaGVhcnRfcmF0ZV9uazJfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgaGVhcnRfcmF0ZV9uazJfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoaGVhcnRfcmF0ZV9uazJfYWZleF9wbG90KSkKbmljZShoZWFydF9yYXRlX25rMl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShoZWFydF9yYXRlX25rMl9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBNZWFuIFNxdWFyZSBvZiB0aGUgU3VjY2Vzc2l2ZSBEaWZmZXJlbmNlcyAobG9nMTApCmBgYHtyIHJNU1NELCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKck1TU0RfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfck1TU0QiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgIDwtIHJNU1NEX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfck1TU0RfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX3JNU1NELCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3JNU1NEX3JhaW4pKQpyTVNTRF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICByTVNTRF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChyTVNTRF9hZmV4X3Bsb3QpKQpuaWNlKHJNU1NEX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJNU1NEX3JlcF9hbm92YSkKYGBgCgojIyBSb290IE1lYW4gU3F1YXJlIG9mIHRoZSBTdWNjZXNzaXZlIERpZmZlcmVuY2VzIChsb2cxMCksIE5ldXJvS2l0MiBtZXRob2QKYGBge3IgbG9nMTBfaHJ2X3Jtc3NkX25rMiwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX2hydl9ybXNzZF9uazJfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfaHJ2X3Jtc3NkX25rMiIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgPC0gbG9nMTBfaHJ2X3Jtc3NkX25rMl9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmxvZzEwX2hydl9ybXNzZF9uazJfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX2hydl9ybXNzZF9uazIsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfaHJ2X3Jtc3NkX25rMl9yYWluKSkKbG9nMTBfaHJ2X3Jtc3NkX25rMl9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9ocnZfcm1zc2RfbmsyX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2hydl9ybXNzZF9uazJfYWZleF9wbG90KSkKbmljZShsb2cxMF9ocnZfcm1zc2RfbmsyX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX2hydl9ybXNzZF9uazJfcmVwX2Fub3ZhKQpgYGAKCiMjIEVDRy1EZXJpdmVkIFJlc3BpcmF0aW9uCmBgYHtyIHJzcF9yYXRlLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcnNwX3JhdGVfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAicnNwX3JhdGUiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgIDwtIHJzcF9yYXRlX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKcnNwX3JhdGVfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHJzcF9yYXRlLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJzcF9yYXRlX3JhaW4pKQpyc3BfcmF0ZV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICByc3BfcmF0ZV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChyc3BfcmF0ZV9hZmV4X3Bsb3QpKQpuaWNlKHJzcF9yYXRlX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJzcF9yYXRlX3JlcF9hbm92YSkKYGBgCgojIyBSb290IG1lYW4gc3F1YXJlIG9mIHN1Y2Nlc3NpdmUgZGlmZmVyZW5jZXMgb2YgdGhlIGJyZWF0aC10by1icmVhdGggaW50ZXJ2YWxzCmBgYHtyIHJydl9ybXNzZCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJydl9ybXNzZF9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJycnZfcm1zc2QiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICA8LSBycnZfcm1zc2RfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpycnZfcm1zc2RfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHJydl9ybXNzZCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChycnZfcm1zc2RfcmFpbikpCnJydl9ybXNzZF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBycnZfcm1zc2RfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQocnJ2X3Jtc3NkX2FmZXhfcGxvdCkpCm5pY2UocnJ2X3Jtc3NkX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJydl9ybXNzZF9yZXBfYW5vdmEpCmBgYAoKIyMgUmVzcGlyYXRvcnkgU2ludXMgQXJyaHl0aG1pYSwgUlNBIChQb3JnZXMtQm9ocmVyIGFsZ29yaXRobSkKYGBge3IgcnNhX3BvcmdlcywgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJzYV9wb3JnZXNfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAicnNhX3BvcmdlcyIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICA8LSByc2FfcG9yZ2VzX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKcnNhX3Bvcmdlc19yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gcnNhX3BvcmdlcywgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChyc2FfcG9yZ2VzX3JhaW4pKQpyc2FfcG9yZ2VzX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHJzYV9wb3JnZXNfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQocnNhX3Bvcmdlc19hZmV4X3Bsb3QpKQpuaWNlKHJzYV9wb3JnZXNfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkocnNhX3Bvcmdlc19yZXBfYW5vdmEpCmBgYAoKIyBFbGVjdHJvZGVybWFsIEFjdGl2aXR5ClJlc3VsdGFkb3MgbXV1dXV1eSB0ZW50YXRpdm9zIHBvciBsYSBjYWxpZGFkIGVycsOhdGljYSBkZSBsb3MgcmVnaXN0cm9zCgojIyBNZWFuIFBoYXNpYyBDb21wb25lbnQgKGxvZzEwKQpgYGB7ciBhdmVfcGhhc2ljX2VkYSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfYXZlX3BoYXNpY19lZGEiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgPC0gbG9nMTBfYXZlX3BoYXNpY19lZGFfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9hdmVfcGhhc2ljX2VkYV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfYXZlX3BoYXNpY19lZGEsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfYXZlX3BoYXNpY19lZGFfcmFpbikpCmxvZzEwX2F2ZV9waGFzaWNfZWRhX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2F2ZV9waGFzaWNfZWRhX2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfYXZlX3BoYXNpY19lZGFfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfYXZlX3BoYXNpY19lZGFfcmVwX2Fub3ZhKQpgYGAKCiMjIE51bWJlciBvZiBTQ1IgUGVha3MgKGxvZzEwKQpgYGB7ciBzY3JfcGVha3NfbnVtYmVyLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfc2NyX3BlYWtzX251bWJlcl9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9zY3JfcGVha3NfbnVtYmVyIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICAgICAgICAgICAgIDwtIGxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9zY3JfcGVha3NfbnVtYmVyX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9zY3JfcGVha3NfbnVtYmVyLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmFpbikpCmxvZzEwX3Njcl9wZWFrc19udW1iZXJfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfc2NyX3BlYWtzX251bWJlcl9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zY3JfcGVha3NfbnVtYmVyX2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfc2NyX3BlYWtzX251bWJlcl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9zY3JfcGVha3NfbnVtYmVyX3JlcF9hbm92YSkKYGBgCgojIyBNZWFuIFNDUiBBbXBsaXR1ZGUgKGxvZzEwKQpgYGB7ciBzY3JfbWVhbl9hbXBsaXR1ZGUsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGVfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICAgICAgICAgICAgICAgPC0gbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGUsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JhaW4pKQpsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGVfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGVfcmVwX2Fub3ZhKQpgYGAK