library(tidyverse)
library(dplyr)
library(agricolae)
df = read.csv("Dataset.csv", stringsAsFactors = FALSE)
#df = read.csv("Database-Labim.csv")

############# SIMPLE CODE
## Separa em 12 dataframes por tipo de tratamento
T1 <- filter(df, str_detect(TRATAMENTO, "T1R"))
T2 <- filter(df, str_detect(TRATAMENTO, "T2R"))
T3 <- filter(df, str_detect(TRATAMENTO, "T3R"))
T4 <- filter(df, str_detect(TRATAMENTO, "T4R"))
T5 <- filter(df, str_detect(TRATAMENTO, "T5R"))
T6 <- filter(df, str_detect(TRATAMENTO, "T6R"))
T7 <- filter(df, str_detect(TRATAMENTO, "T7R"))
T8 <- filter(df, str_detect(TRATAMENTO, "T8R"))
T9 <- filter(df, str_detect(TRATAMENTO, "T9R"))
T10 <- filter(df, str_detect(TRATAMENTO, "T10R"))
T11 <- filter(df, str_detect(TRATAMENTO, "T11R"))
T12 <- filter(df, str_detect(TRATAMENTO, "T12R"))
#############RENAME TREATMENT #######################
#Diseases
T1$TRATAMENTO = 'T1'
T2$TRATAMENTO = 'T2'
T3$TRATAMENTO = 'T3'
T4$TRATAMENTO = 'T4'
T5$TRATAMENTO = 'T5'
T6$TRATAMENTO = 'T6'
T7$TRATAMENTO = 'T7'
T8$TRATAMENTO = 'T8'
T9$TRATAMENTO = 'T9'
T10$TRATAMENTO = 'T10'
T11$TRATAMENTO = 'T11'
T12$TRATAMENTO = 'T12'

####################################################
########## Create new dataframes in easy style for statistical analysis
df1 <- bind_rows(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12)
############################################################################################
### DIPLOCARPON - incidência    
df1 %>% 
  ggplot(aes(TRATAMENTO, DIPLOCARPON.In)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)


#################### KRUSKAL WALLIS #######################
 kruskal.test(DIPLOCARPON.In~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  DIPLOCARPON.In by TRATAMENTO
Kruskal-Wallis chi-squared = 44.447, df = 11, p-value = 6.069e-06
 pairwise.wilcox.test(df1$DIPLOCARPON.In, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$DIPLOCARPON.In and df1$TRATAMENTO 

    T1     T10    T11    T12    T2     T3     T4     T5     T6     T7     T8    
T10 0.9576 -      -      -      -      -      -      -      -      -      -     
T11 0.1761 0.1288 -      -      -      -      -      -      -      -      -     
T12 0.0483 0.0421 0.5610 -      -      -      -      -      -      -      -     
T2  0.3931 0.3817 0.0483 0.0115 -      -      -      -      -      -      -     
T3  0.6903 0.6135 0.0423 0.0106 0.6176 -      -      -      -      -      -     
T4  0.4214 0.3817 0.4214 0.1369 0.1288 0.1538 -      -      -      -      -     
T5  0.0261 0.0134 0.4531 0.9270 0.0067 0.0052 0.1045 -      -      -      -     
T6  0.3082 0.3054 0.7310 0.3817 0.0774 0.1288 0.7621 0.2599 -      -      -     
T7  0.0483 0.0483 0.3817 0.6008 0.0106 0.0139 0.1708 0.8078 0.3212 -      -     
T8  0.2266 0.2151 0.6903 0.3212 0.0483 0.0573 0.6980 0.2051 0.9445 0.3169 -     
T9  0.0134 0.0115 0.2047 0.3169 0.0052 0.0053 0.0483 0.4477 0.1538 0.7640 0.1105

P value adjustment method: BH 
############################################################
### DIPLOCARPON - severidade    
df1 %>% 
  ggplot(aes(TRATAMENTO, DIPLOCARPON.Sev)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)


#################### KRUSKAL WALLIS #######################
 kruskal.test(DIPLOCARPON.Sev~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  DIPLOCARPON.Sev by TRATAMENTO
Kruskal-Wallis chi-squared = 29.032, df = 11, p-value = 0.002244
 pairwise.wilcox.test(df1$DIPLOCARPON.Sev, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$DIPLOCARPON.Sev and df1$TRATAMENTO 

    T1    T10   T11   T12   T2    T3    T4    T5    T6    T7    T8   
T10 0.425 -     -     -     -     -     -     -     -     -     -    
T11 0.864 0.627 -     -     -     -     -     -     -     -     -    
T12 0.915 0.562 0.946 -     -     -     -     -     -     -     -    
T2  0.339 0.905 0.511 0.456 -     -     -     -     -     -     -    
T3  0.281 0.864 0.456 0.381 0.961 -     -     -     -     -     -    
T4  0.905 0.375 0.783 0.862 0.302 0.245 -     -     -     -     -    
T5  0.663 0.286 0.624 0.638 0.215 0.171 0.779 -     -     -     -    
T6  0.375 0.171 0.372 0.375 0.129 0.079 0.456 0.734 -     -     -    
T7  0.171 0.057 0.171 0.171 0.045 0.045 0.171 0.306 0.456 -     -    
T8  0.663 0.274 0.599 0.635 0.195 0.171 0.779 0.986 0.698 0.286 -    
T9  0.171 0.065 0.171 0.171 0.047 0.045 0.201 0.372 0.562 0.915 0.339

P value adjustment method: BH 
###########################################################
### MICOSFAERELA - incidência   
df1 %>% 
  ggplot(aes(TRATAMENTO, MICOSFAERELA.In)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)


#################### KRUSKAL WALLIS #######################
 kruskal.test(MICOSFAERELA.In~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  MICOSFAERELA.In by TRATAMENTO
Kruskal-Wallis chi-squared = 31.855, df = 11, p-value = 0.0008047
 pairwise.wilcox.test(df1$MICOSFAERELA.In, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$MICOSFAERELA.In and df1$TRATAMENTO 

    T1    T10   T11   T12   T2    T3    T4    T5    T6    T7    T8   
T10 0.117 -     -     -     -     -     -     -     -     -     -    
T11 0.777 0.113 -     -     -     -     -     -     -     -     -    
T12 0.727 0.440 0.617 -     -     -     -     -     -     -     -    
T2  0.748 0.384 0.634 0.920 -     -     -     -     -     -     -    
T3  0.634 0.048 0.781 0.440 0.442 -     -     -     -     -     -    
T4  0.048 0.730 0.048 0.208 0.168 0.036 -     -     -     -     -    
T5  0.048 0.519 0.048 0.117 0.105 0.030 0.777 -     -     -     -    
T6  0.105 0.781 0.097 0.311 0.267 0.048 0.916 0.714 -     -     -    
T7  0.113 0.919 0.105 0.440 0.384 0.048 0.647 0.493 0.769 -     -    
T8  0.270 0.769 0.208 0.617 0.546 0.105 0.493 0.343 0.623 0.777 -    
T9  0.208 0.777 0.158 0.546 0.493 0.097 0.519 0.384 0.641 0.787 0.919

P value adjustment method: BH 
############################################################
### MICOSFAERELA - severidade   
df1 %>% 
  ggplot(aes(TRATAMENTO, MICOSFAERELA.Sev)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)


#################### KRUSKAL WALLIS #######################
 kruskal.test(MICOSFAERELA.Sev~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  MICOSFAERELA.Sev by TRATAMENTO
Kruskal-Wallis chi-squared = 33.97, df = 11, p-value = 0.0003658
 pairwise.wilcox.test(df1$MICOSFAERELA.Sev, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$MICOSFAERELA.Sev and df1$TRATAMENTO 

    T1    T10   T11   T12   T2    T3    T4    T5    T6    T7    T8   
T10 0.175 -     -     -     -     -     -     -     -     -     -    
T11 0.627 0.095 -     -     -     -     -     -     -     -     -    
T12 0.693 0.423 0.454 -     -     -     -     -     -     -     -    
T2  0.515 0.537 0.315 0.814 -     -     -     -     -     -     -    
T3  0.423 0.034 0.814 0.306 0.205 -     -     -     -     -     -    
T4  0.034 0.515 0.026 0.165 0.236 0.012 -     -     -     -     -    
T5  0.034 0.478 0.022 0.155 0.207 0.012 0.965 -     -     -     -    
T6  0.065 0.701 0.034 0.243 0.315 0.014 0.779 0.739 -     -     -    
T7  0.271 0.814 0.156 0.537 0.693 0.067 0.404 0.372 0.546 -     -    
T8  0.376 0.693 0.236 0.693 0.814 0.136 0.306 0.290 0.423 0.814 -    
T9  0.320 0.716 0.205 0.663 0.804 0.097 0.315 0.306 0.450 0.852 0.949

P value adjustment method: BH 
############################################################
### ANTRACNOSE - incidência 
df1 %>% 
  ggplot(aes(TRATAMENTO, ANTRACNOSE.In)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)


#################### KRUSKAL WALLIS #######################
 kruskal.test(ANTRACNOSE.In~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  ANTRACNOSE.In by TRATAMENTO
Kruskal-Wallis chi-squared = 19.235, df = 11, p-value = 0.057
 pairwise.wilcox.test(df1$ANTRACNOSE.In, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$ANTRACNOSE.In and df1$TRATAMENTO 

    T1    T10   T11   T12   T2    T3    T4    T5    T6    T7    T8   
T10 0.437 -     -     -     -     -     -     -     -     -     -    
T11 0.089 0.625 -     -     -     -     -     -     -     -     -    
T12 0.163 0.809 0.809 -     -     -     -     -     -     -     -    
T2  0.559 0.854 0.403 0.559 -     -     -     -     -     -     -    
T3  0.559 0.854 0.475 0.625 0.972 -     -     -     -     -     -    
T4  0.089 0.559 0.932 0.809 0.403 0.403 -     -     -     -     -    
T5  0.089 0.559 0.873 0.774 0.403 0.403 0.972 -     -     -     -    
T6  0.089 0.559 0.972 0.809 0.403 0.403 0.972 0.972 -     -     -    
T7  0.163 0.809 0.854 0.972 0.559 0.559 0.851 0.809 0.809 -     -    
T8  0.125 0.809 0.854 0.972 0.559 0.559 0.809 0.809 0.809 0.992 -    
T9  0.125 0.809 0.854 0.972 0.559 0.559 0.809 0.809 0.809 0.972 0.972

P value adjustment method: BH 
############################################################
### ANTRACNOSE - severidade 
df1 %>% 
  ggplot(aes(TRATAMENTO, ANTRACNOSE.Sev)) +
  geom_jitter(size=3, width = .1)+
  geom_boxplot(size=1)



#################### KRUSKAL WALLIS #######################
 kruskal.test(ANTRACNOSE.Sev~TRATAMENTO,df1)

    Kruskal-Wallis rank sum test

data:  ANTRACNOSE.Sev by TRATAMENTO
Kruskal-Wallis chi-squared = 6.7746, df = 11, p-value = 0.817
 pairwise.wilcox.test(df1$ANTRACNOSE.Sev, df1$TRATAMENTO, p.adjust.method = "BH")

    Pairwise comparisons using Wilcoxon rank sum test 

data:  df1$ANTRACNOSE.Sev and df1$TRATAMENTO 

    T1   T10  T11  T12  T2   T3   T4   T5   T6   T7   T8  
T10 0.95 -    -    -    -    -    -    -    -    -    -   
T11 0.95 1.00 -    -    -    -    -    -    -    -    -   
T12 0.95 1.00 1.00 -    -    -    -    -    -    -    -   
T2  0.95 1.00 1.00 1.00 -    -    -    -    -    -    -   
T3  0.95 1.00 1.00 1.00 1.00 -    -    -    -    -    -   
T4  0.95 0.95 0.95 0.95 0.95 0.95 -    -    -    -    -   
T5  0.95 0.95 0.99 0.95 0.95 0.95 1.00 -    -    -    -   
T6  0.95 0.95 0.95 0.95 0.95 0.95 1.00 1.00 -    -    -   
T7  0.95 1.00 1.00 1.00 1.00 1.00 0.95 0.95 0.95 -    -   
T8  0.95 0.95 0.95 0.95 0.95 0.95 1.00 1.00 1.00 0.95 -   
T9  0.95 1.00 1.00 1.00 1.00 1.00 0.95 0.99 0.95 1.00 0.95

P value adjustment method: BH 
############################################################
LS0tCnRpdGxlOiAiQW7DoWxpc2UgcG9yIERvZW7Dp2FzIC0gS3J1c2thbCBXYWxsaXMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGFncmljb2xhZSkKYGBgCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0gCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkgCmBgYAoKYGBge3J9CmRmID0gcmVhZC5jc3YoIkRhdGFzZXQuY3N2Iiwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQojZGYgPSByZWFkLmNzdigiRGF0YWJhc2UtTGFiaW0uY3N2IikKCiMjIyMjIyMjIyMjIyMgU0lNUExFIENPREUKIyMgU2VwYXJhIGVtIDEyIGRhdGFmcmFtZXMgcG9yIHRpcG8gZGUgdHJhdGFtZW50bwpUMSA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQxUiIpKQpUMiA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQyUiIpKQpUMyA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQzUiIpKQpUNCA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ0UiIpKQpUNSA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ1UiIpKQpUNiA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ2UiIpKQpUNyA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ3UiIpKQpUOCA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ4UiIpKQpUOSA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQ5UiIpKQpUMTAgPC0gZmlsdGVyKGRmLCBzdHJfZGV0ZWN0KFRSQVRBTUVOVE8sICJUMTBSIikpClQxMSA8LSBmaWx0ZXIoZGYsIHN0cl9kZXRlY3QoVFJBVEFNRU5UTywgIlQxMVIiKSkKVDEyIDwtIGZpbHRlcihkZiwgc3RyX2RldGVjdChUUkFUQU1FTlRPLCAiVDEyUiIpKQpgYGAKCgpgYGB7cn0KIyMjIyMjIyMjIyMjI1JFTkFNRSBUUkVBVE1FTlQgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKI0Rpc2Vhc2VzClQxJFRSQVRBTUVOVE8gPSAnVDEnClQyJFRSQVRBTUVOVE8gPSAnVDInClQzJFRSQVRBTUVOVE8gPSAnVDMnClQ0JFRSQVRBTUVOVE8gPSAnVDQnClQ1JFRSQVRBTUVOVE8gPSAnVDUnClQ2JFRSQVRBTUVOVE8gPSAnVDYnClQ3JFRSQVRBTUVOVE8gPSAnVDcnClQ4JFRSQVRBTUVOVE8gPSAnVDgnClQ5JFRSQVRBTUVOVE8gPSAnVDknClQxMCRUUkFUQU1FTlRPID0gJ1QxMCcKVDExJFRSQVRBTUVOVE8gPSAnVDExJwpUMTIkVFJBVEFNRU5UTyA9ICdUMTInCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpgYGAKCmBgYHtyfQojIyMjIyMjIyMjIENyZWF0ZSBuZXcgZGF0YWZyYW1lcyBpbiBlYXN5IHN0eWxlIGZvciBzdGF0aXN0aWNhbCBhbmFseXNpcwpkZjEgPC0gYmluZF9yb3dzKFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpgYGAKCmBgYHtyfQojIyMgRElQTE9DQVJQT04gLSBpbmNpZMOqbmNpYQkKZGYxICU+JSAKICBnZ3Bsb3QoYWVzKFRSQVRBTUVOVE8sIERJUExPQ0FSUE9OLkluKSkgKwogIGdlb21faml0dGVyKHNpemU9Mywgd2lkdGggPSAuMSkrCiAgZ2VvbV9ib3hwbG90KHNpemU9MSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIEtSVVNLQUwgV0FMTElTICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBrcnVza2FsLnRlc3QoRElQTE9DQVJQT04uSW5+VFJBVEFNRU5UTyxkZjEpCiBwYWlyd2lzZS53aWxjb3gudGVzdChkZjEkRElQTE9DQVJQT04uSW4sIGRmMSRUUkFUQU1FTlRPLCBwLmFkanVzdC5tZXRob2QgPSAiQkgiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmBgYApgYGB7cn0KIyMjIERJUExPQ0FSUE9OIC0gc2V2ZXJpZGFkZQkKZGYxICU+JSAKICBnZ3Bsb3QoYWVzKFRSQVRBTUVOVE8sIERJUExPQ0FSUE9OLlNldikpICsKICBnZW9tX2ppdHRlcihzaXplPTMsIHdpZHRoID0gLjEpKwogIGdlb21fYm94cGxvdChzaXplPTEpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyBLUlVTS0FMIFdBTExJUyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoga3J1c2thbC50ZXN0KERJUExPQ0FSUE9OLlNldn5UUkFUQU1FTlRPLGRmMSkKIHBhaXJ3aXNlLndpbGNveC50ZXN0KGRmMSRESVBMT0NBUlBPTi5TZXYsIGRmMSRUUkFUQU1FTlRPLCBwLmFkanVzdC5tZXRob2QgPSAiQkgiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpgYGAKCmBgYHtyfQojIyMgTUlDT1NGQUVSRUxBIC0gaW5jaWTDqm5jaWEJCmRmMSAlPiUgCiAgZ2dwbG90KGFlcyhUUkFUQU1FTlRPLCBNSUNPU0ZBRVJFTEEuSW4pKSArCiAgZ2VvbV9qaXR0ZXIoc2l6ZT0zLCB3aWR0aCA9IC4xKSsKICBnZW9tX2JveHBsb3Qoc2l6ZT0xKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMgS1JVU0tBTCBXQUxMSVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGtydXNrYWwudGVzdChNSUNPU0ZBRVJFTEEuSW5+VFJBVEFNRU5UTyxkZjEpCiBwYWlyd2lzZS53aWxjb3gudGVzdChkZjEkTUlDT1NGQUVSRUxBLkluLCBkZjEkVFJBVEFNRU5UTywgcC5hZGp1c3QubWV0aG9kID0gIkJIIikKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpgYGAKCmBgYHtyfQojIyMgTUlDT1NGQUVSRUxBIC0gc2V2ZXJpZGFkZQkKZGYxICU+JSAKICBnZ3Bsb3QoYWVzKFRSQVRBTUVOVE8sIE1JQ09TRkFFUkVMQS5TZXYpKSArCiAgZ2VvbV9qaXR0ZXIoc2l6ZT0zLCB3aWR0aCA9IC4xKSsKICBnZW9tX2JveHBsb3Qoc2l6ZT0xKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMgS1JVU0tBTCBXQUxMSVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGtydXNrYWwudGVzdChNSUNPU0ZBRVJFTEEuU2V2flRSQVRBTUVOVE8sZGYxKQogcGFpcndpc2Uud2lsY294LnRlc3QoZGYxJE1JQ09TRkFFUkVMQS5TZXYsIGRmMSRUUkFUQU1FTlRPLCBwLmFkanVzdC5tZXRob2QgPSAiQkgiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKYGBgCgpgYGB7cn0KIyMjIEFOVFJBQ05PU0UgLSBpbmNpZMOqbmNpYQkKZGYxICU+JSAKICBnZ3Bsb3QoYWVzKFRSQVRBTUVOVE8sIEFOVFJBQ05PU0UuSW4pKSArCiAgZ2VvbV9qaXR0ZXIoc2l6ZT0zLCB3aWR0aCA9IC4xKSsKICBnZW9tX2JveHBsb3Qoc2l6ZT0xKQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMgS1JVU0tBTCBXQUxMSVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGtydXNrYWwudGVzdChBTlRSQUNOT1NFLkluflRSQVRBTUVOVE8sZGYxKQogcGFpcndpc2Uud2lsY294LnRlc3QoZGYxJEFOVFJBQ05PU0UuSW4sIGRmMSRUUkFUQU1FTlRPLCBwLmFkanVzdC5tZXRob2QgPSAiQkgiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKYGBgCgpgYGB7cn0KIyMjIEFOVFJBQ05PU0UgLSBzZXZlcmlkYWRlCQpkZjEgJT4lIAogIGdncGxvdChhZXMoVFJBVEFNRU5UTywgQU5UUkFDTk9TRS5TZXYpKSArCiAgZ2VvbV9qaXR0ZXIoc2l6ZT0zLCB3aWR0aCA9IC4xKSsKICBnZW9tX2JveHBsb3Qoc2l6ZT0xKQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIEtSVVNLQUwgV0FMTElTICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBrcnVza2FsLnRlc3QoQU5UUkFDTk9TRS5TZXZ+VFJBVEFNRU5UTyxkZjEpCiBwYWlyd2lzZS53aWxjb3gudGVzdChkZjEkQU5UUkFDTk9TRS5TZXYsIGRmMSRUUkFUQU1FTlRPLCBwLmFkanVzdC5tZXRob2QgPSAiQkgiKQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKYGBgCgo=